atmospheric retention fields (ports https://github.com/BeeStation/BeeStation-Hornet/pull/11550) - #2876
atmospheric retention fields (ports https://github.com/BeeStation/BeeStation-Hornet/pull/11550)#2876Pockets-byte wants to merge 34 commits into
Conversation
|
self-assigning this so I get reminded to look at it when it is done. |
…wer failure, maps them onto the whisp
|
ready for review! |
There was a problem hiding this comment.
phew
preliminary review.
will go over it again deeper once things mentioned here are handled (some functionality I know doesn't work right but I don't want to debug that deeper while other issues might be having domino effects)
EDIT:
OH right and the attribution in the changelog should probably just be usernames as opposed to a link since I don't know if the changelog generator would take that well.
| for(var/b in shield.affecting_areas) | ||
| var/area/area2 = b |
There was a problem hiding this comment.
likewise, typecast in the for itself. Also preferably use a more descriptive name than area2.
There was a problem hiding this comment.
area2 is used in the reference I used, I don't actually know what this does, I can guess but uh- the atmos stuff works by being directly copied from firelock handling
| /obj/machinery/shieldwall/atmos/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir, armour_penetration = 0) | ||
| . = ..() | ||
| if(damage_type == BRUTE || damage_type == BURN) | ||
| drain_power(damage_amount*1000) |
There was a problem hiding this comment.
likewise (as with comment about passive buffer drain), will collapse immediately at the smallest damage (though that may be intentional in this case)
There was a problem hiding this comment.
it is- for example if we add an emag behavior to make it switch to a hardshield I don't want it to be as strong as the shieldwall
takes about 4-3 hits with an ion saber to down.
| if(interaction_flags_atom & INTERACT_ATOM_NO_FINGERPRINT_INTERACT) | ||
| add_hiddenprint(user) | ||
| else | ||
| if(istype(mover, /obj/item/projectile)) | ||
| return prob(10) | ||
| add_fingerprint(user) | ||
| if(interaction_flags_atom & INTERACT_ATOM_UI_INTERACT) | ||
| return ui_interact(user) |
There was a problem hiding this comment.
these are unneeded, except for a generic add_fingerprint(user) call (since you know what state the flags are in here)
AAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAAa
…into barrier-fields
About The Pull Request
ports bee's port of shiptest's holofields. (BeeStation/BeeStation-Hornet#11550)
sprites are from tg's atmospheric force fields. (tgstation/tgstation#91055)
Why It's Good For The Game
Solgov gets force-field barriers, so you can experience staring past the glowing blue shield into where the rest of the ship used to be.
also slapstick comedy when you lose power and all the fancy tech suddenly fails you.
as long as power is maintained they're a flat upgrade to firelocks. they allow people to pass but not gasses or fire.
Testing Photographs and Procedure
Screenshots&Videos
Put screenshots and videos here with an empty line between the screenshots and the
<details>tags.Changelog
🆑 Tsar-Salat mc-oofert
add: Added new atmospheric barrier firelocks
code: shieldwalls are now machinery/power
/:cl: