Files
Bubberstation/code/game/objects/effects/effect_system/effects_water.dm
SkyratBot f193b48051 [MIRROR] fixes penetrator rounds phasing through vehicles [MDB IGNORE] (#8657)
* fixes penetrator rounds phasing through vehicles (#61907)

When I gave vehicles the PASSMACHINE flag in #61793 I forgot that penetrator rounds existed leading to them completely ignoring mechs. This time I created a new flag for vehicles, added it to water particle effects, and excluded it from the penetrator rounds.

Additionally this flag has been added to the heretic's phasing ability.

* fixes penetrator rounds phasing through vehicles

Co-authored-by: Invalid <51190031+InvalidArgument3@users.noreply.github.com>
2021-10-07 13:26:48 +01:00

59 lines
1.6 KiB
Plaintext

//WATER EFFECTS
/obj/effect/particle_effect/water
name = "water"
icon_state = "extinguish"
pass_flags = PASSTABLE | PASSMACHINE | PASSSTRUCTURE | PASSGRILLE | PASSBLOB | PASSVEHICLE
var/life = 15
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
/obj/effect/particle_effect/water/Initialize(mapload)
. = ..()
QDEL_IN(src, 70)
/obj/effect/particle_effect/water/Move(turf/newloc)
if (--src.life < 1)
qdel(src)
return FALSE
return ..()
/obj/effect/particle_effect/water/Bump(atom/A)
if(reagents)
reagents.expose(A)
if(A.reagents)
A.reagents.expose_temperature(-25)
return ..()
/////////////////////////////////////////////
// GENERIC STEAM SPREAD SYSTEM
//Usage: set_up(number of bits of steam, use North/South/East/West only, spawn location)
// The attach(atom/atom) proc is optional, and can be called to attach the effect
// to something, like a smoking beaker, so then you can just call start() and the steam
// will always spawn at the items location, even if it's moved.
/* Example:
*var/datum/effect_system/steam_spread/steam = new /datum/effect_system/steam_spread() -- creates new system
*steam.set_up(5, 0, mob.loc) -- sets up variables
*OPTIONAL: steam.attach(mob)
*steam.start() -- spawns the effect
*/
/////////////////////////////////////////////
/obj/effect/particle_effect/steam
name = "steam"
icon_state = "extinguish"
density = FALSE
/obj/effect/particle_effect/steam/Initialize(mapload)
. = ..()
QDEL_IN(src, 20)
/datum/effect_system/steam_spread
effect_type = /obj/effect/particle_effect/steam
/obj/effect/particle_effect/water/Bump(atom/A)
if(A.reagents && reagents)
A.reagents.expose_temperature(reagents.chem_temp)