-
Notifications
You must be signed in to change notification settings - Fork 840
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generator mist #17245
base: master
Are you sure you want to change the base?
Generator mist #17245
Conversation
… longer takes geothermal corruption into account
/obj/machinery/mist_origin | ||
name = "" | ||
resistance_flags = RESIST_ALL|PROJECTILE_IMMUNE|DROPSHIP_IMMUNE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this a machine and not an effect
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Effects don't have process()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
update: moving it to an effect because processing can be moved to gamemode process
if(!(length(GLOB.humans_by_zlevel["2"]) > 0.2 * length(GLOB.alive_human_list_faction[FACTION_TERRAGOV]))) | ||
return |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hardcoded turf z, can you make this based on traits for upcoming multiz stuff
SSpoints.add_tactical_psy_points(hivenumber, points_generated*0.25) | ||
|
||
/obj/machinery/mist_origin/Destroy() | ||
GLOB.total_bluespace_generators-- //Remove bluespace generator from psy-gen equation, since we're no longer producing points |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems confusion to have this be affected by a mist
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree but I couldn't think of a better name
resistance_flags = RESIST_ALL|PROJECTILE_IMMUNE|DROPSHIP_IMMUNE | ||
icon = 'icons/effects/weather_effects.dmi' | ||
icon_state = "light_ash" | ||
color = "#7f16c5" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Define for color?
Phone review fyi |
@@ -455,7 +388,8 @@ GLOBAL_VAR_INIT(active_bluespace_generators, 0) | |||
current_apc.emp_act(2) | |||
|
|||
addtimer(CALLBACK(src, PROC_REF(trigger_alarms)), 3 SECONDS) | |||
addtimer(CALLBACK(src, PROC_REF(finish_meltdown)), 60 SECONDS) | |||
addtimer(CALLBACK(src, PROC_REF(finish_meltdown)), 55 SECONDS) | |||
QDEL_IN(src, 56 SECONDS) //Destroy generator after big explosion happens |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this even a separate timer? can't this just be in finish meltdown?
corruption_on = TRUE | ||
start_processing() | ||
|
||
/obj/machinery/power/geothermal/tbg/proc/corrupt(hivenumber) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
autodoc. Also new proc definitions go after existing ones, you have them all over the place throughout this file.
if(corrupted && corruption_on) | ||
if(!GLOB.total_bluespace_generators) //Prevent division by 0 | ||
return PROCESS_KILL | ||
if((length(GLOB.humans_by_zlevel["2"]) > 0.2 * length(GLOB.alive_human_list_faction[FACTION_TERRAGOV]))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
check by ground z level, or for that matter just use src's z?
if(GLOB.total_bluespace_generators) //Avoid dividing by 0 | ||
var/points_generated = GENERATOR_PSYCH_POINT_OUTPUT / GLOB.total_bluespace_generators | ||
SSpoints.add_strategic_psy_points(hivenumber, points_generated) | ||
SSpoints.add_tactical_psy_points(hivenumber, points_generated*0.25) | ||
|
||
/obj/machinery/mist_origin/Destroy() | ||
GLOB.total_bluespace_generators-- //Remove bluespace generator from psy-gen equation, since we're no longer producing points |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not just have the gamemode itself generate the points based on the glob? This seems kinda fucky
) | ||
AddElement(/datum/element/connect_loc, connections) | ||
|
||
/// Psychic mist is difficult to breathe in, even with a mask on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is uh, incorrect isn't it? You are early returning if they have smoke protection, so a mask does in fact completely negate this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
About The Pull Request
Completion of #16889 because it got merged early
Adds psychic mist, which the thermo-bluespace generator emits when it explodes, serving as having "re-corrupted" the generators to keep generating strategic/tactical points for the hive
Psychic mist emits in a 12 tile radius circle around where the generator exploded. Walking through it will cause your character to cough and drain stamina (robots are not affected)
Geothermals can no longer be corrupted, bluespace generators are now solely responsible for psy gen
^If this is bad I can instead move psy gen to a xeno subsystem
Why It's Good For The Game
This was supposed to be part of the original PR
Also funny mist is spooky
Changelog
🆑
add: Thermo-bluespace generator now emits a psychic mist when destroyed, continuing to produce strategic/tactical points at the same rate as before the generator was destroyed
add: Psychic mist causes coughing when humans (not robots) walk through it, draining stamina
fix: Geothermal generators are no longer treated as thermo-bluespace generators by psy calculations
remove: Geothermal generators can no longer be corrupted
/:cl: