mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 21:40:55 +01:00
IPC battery rework, ion rifle nerf, surge damage. (#10245)
- EMPs no longer deal permanent damage. Instead, they deal a temporary kind of damage called surge damage, that lasts for 10 seconds at maximum. - Surge damage makes mechanical or assisted limbs count as broken and nonfunctional. - Surge damage has special interactions with the mechanical heart and eyes. - EMP damage is no longer randomized. It is now much more consistent. - IPC battery is no longer represented as nutrition. Instead, the microbattery organ contains a super-capacity cell that is used for all their actions. This is represented with a new HUD icon. - Hardsuits can now be charged in robot chargers if you are wearing them. - Ion bolts now have a hit sound. - Removed the ion rifle lethal mode. - The ion rifle now has four shots.
This commit is contained in:
@@ -121,6 +121,7 @@
|
||||
if(istype(owner) && (toxin_type in owner.chem_effects))
|
||||
take_damage(owner.chem_effects[toxin_type] * 0.1 * PROCESS_ACCURACY, prob(1))
|
||||
handle_regeneration()
|
||||
tick_surge_damage() //Yes, this is intentional.
|
||||
|
||||
/obj/item/organ/internal/proc/handle_regeneration()
|
||||
if(!damage || BP_IS_ROBOTIC(src) || !owner || owner.chem_effects[CE_TOXIN] || owner.is_asystole())
|
||||
|
||||
@@ -54,6 +54,12 @@
|
||||
if(is_broken())
|
||||
owner.eye_blind = 20
|
||||
|
||||
/obj/item/organ/internal/eyes/do_surge_effects()
|
||||
owner.overlay_fullscreen("noise", /obj/screen/fullscreen/flash/noise)
|
||||
|
||||
/obj/item/organ/internal/eyes/clear_surge_effects()
|
||||
owner.clear_fullscreen("noise")
|
||||
|
||||
/obj/item/organ/internal/eyes/robotize()
|
||||
..()
|
||||
verbs |= /obj/item/organ/internal/eyes/proc/change_eye_color
|
||||
|
||||
@@ -194,6 +194,12 @@
|
||||
|
||||
return pulse > PULSE_NONE || BP_IS_ROBOTIC(src) || (owner.status_flags & FAKEDEATH)
|
||||
|
||||
/obj/item/organ/internal/heart/do_surge_effects()
|
||||
var/obj/item/organ/external/E = owner.organs_by_name[parent_organ]
|
||||
if(prob(surge_damage))
|
||||
owner.custom_pain(SPAN_DANGER("Your [E.name] stings horribly!"), 15, FALSE, E)
|
||||
sound_to(owner, sound('sound/effects/singlebeat.ogg', 0, 0, 0, 100))
|
||||
|
||||
/obj/item/organ/internal/heart/listen()
|
||||
if(BP_IS_ROBOTIC(src) && is_working())
|
||||
if(is_bruised())
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
/obj/item/organ/internal/lungs/process()
|
||||
..()
|
||||
|
||||
if(!owner)
|
||||
if(!owner || owner.stat == DEAD)
|
||||
return
|
||||
|
||||
if(germ_level > INFECTION_LEVEL_ONE)
|
||||
|
||||
Reference in New Issue
Block a user