From f7d712be007096e047a41c06e16ded2f11eebdb5 Mon Sep 17 00:00:00 2001 From: TeDGamer Date: Sat, 22 Apr 2023 19:38:52 -0400 Subject: [PATCH 01/15] Processes neurotoxin for unconscious people --- code/datums/effects/neurotoxin.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/effects/neurotoxin.dm b/code/datums/effects/neurotoxin.dm index 0405c87bec8b..ae3158ebb06b 100644 --- a/code/datums/effects/neurotoxin.dm +++ b/code/datums/effects/neurotoxin.dm @@ -36,7 +36,7 @@ var/mob/living/carbon/affected_mob = affected_atom if(!.) return FALSE - if(affected_mob.stat) + if(affected_mob.stat == DEAD) return // General effects affected_mob.apply_stamina_damage(stam_dam) From 7cc127207ae5a7d93bf568ebf7999bac6bdefda1 Mon Sep 17 00:00:00 2001 From: TeDGamer Date: Sat, 22 Apr 2023 19:40:47 -0400 Subject: [PATCH 02/15] Add last damage data for neurotoxin --- code/datums/effects/neurotoxin.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/datums/effects/neurotoxin.dm b/code/datums/effects/neurotoxin.dm index ae3158ebb06b..59749e8df203 100644 --- a/code/datums/effects/neurotoxin.dm +++ b/code/datums/effects/neurotoxin.dm @@ -39,6 +39,7 @@ if(affected_mob.stat == DEAD) return // General effects + affected_mob.last_damage_data = cause_data affected_mob.apply_stamina_damage(stam_dam) affected_mob.make_dizzy(12) From 380ec8adff5247332f6fecbeae1a0fdd65153cbb Mon Sep 17 00:00:00 2001 From: TeDGamer Date: Sat, 22 Apr 2023 19:43:05 -0400 Subject: [PATCH 03/15] Handle cause data in parent datum effects --- code/datums/effects/neurotoxin.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/datums/effects/neurotoxin.dm b/code/datums/effects/neurotoxin.dm index 59749e8df203..373d07d5dbc1 100644 --- a/code/datums/effects/neurotoxin.dm +++ b/code/datums/effects/neurotoxin.dm @@ -21,9 +21,8 @@ /// Stamina damage per tick. Major balance number. var/stam_dam = 7 -/datum/effects/neurotoxin/New(atom/thing) - ..(thing) - cause_data = create_cause_data("neurotoxic gas") +/datum/effects/neurotoxin/New(atom/thing, mob/from = null) + ..(thing, from, "neurotoxic gas") /datum/effects/neurotoxin/validate_atom(atom/thing) if(isxeno(thing) || isobj(thing)) From a585ede707bc2197539d429ed485102136fa903e Mon Sep 17 00:00:00 2001 From: TeDGamer Date: Sat, 22 Apr 2023 19:44:42 -0400 Subject: [PATCH 04/15] Set boiler as owner of neuro effect for tail stabs --- .../living/carbon/xenomorph/abilities/boiler/boiler_powers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm index 957fc3fe337d..3b95a3ba2e94 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm @@ -353,7 +353,7 @@ else if(stabbing_xeno.ammo == GLOB.ammo_list[/datum/ammo/xeno/boiler_gas]) var/datum/effects/neurotoxin/neuro_effect = locate() in carbon_target.effects_list if(!neuro_effect) - neuro_effect = new /datum/effects/neurotoxin(carbon_target) + neuro_effect = new /datum/effects/neurotoxin(carbon_target, owner) neuro_effect.duration += 16 to_chat(carbon_target,SPAN_HIGHDANGER("You are injected with something from [stabbing_xeno]'s tailstab!")) else From 48e63c9f793d03fdf6459c3220247b9ec6352bc3 Mon Sep 17 00:00:00 2001 From: TeDGamer Date: Wed, 3 May 2023 18:23:09 -0400 Subject: [PATCH 05/15] Fix bombard's cause data --- code/modules/projectiles/ammo_datums.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/ammo_datums.dm b/code/modules/projectiles/ammo_datums.dm index 05a4256efb49..d2a54f543f96 100644 --- a/code/modules/projectiles/ammo_datums.dm +++ b/code/modules/projectiles/ammo_datums.dm @@ -2763,9 +2763,10 @@ /datum/ammo/xeno/boiler_gas/proc/drop_nade(turf/turf, obj/item/projectile/proj) var/lifetime_mult = 1.0 + var/datum/cause_data if(isboiler(proj.firer)) - smoke_system.cause_data = proj.weapon_cause_data - smoke_system.set_up(smokerange, 0, turf) + cause_data = proj.weapon_cause_data + smoke_system.set_up(smokerange, 0, turf, new_cause_data = cause_data) smoke_system.lifetime = 12 * lifetime_mult smoke_system.start() turf.visible_message(SPAN_DANGER("A glob of acid lands with a splat and explodes into noxious fumes!")) From e457ff18557c9d3dab6a4191238c92f46d91876b Mon Sep 17 00:00:00 2001 From: TeDGamer Date: Wed, 3 May 2023 18:30:51 -0400 Subject: [PATCH 06/15] Adds unused cause_data for now in child proc of set_up --- code/game/objects/effects/effect_system/chemsmoke.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/effects/effect_system/chemsmoke.dm b/code/game/objects/effects/effect_system/chemsmoke.dm index 8ecdb2c07db9..30c654372dbb 100644 --- a/code/game/objects/effects/effect_system/chemsmoke.dm +++ b/code/game/objects/effects/effect_system/chemsmoke.dm @@ -40,7 +40,7 @@ // Culls the selected turfs to a (roughly) circle shape, then calls smokeFlow() to make // sure the smoke can actually path to the turfs. This culls any turfs it can't reach. //------------------------------------------ -/datum/effect_system/smoke_spread/chem/set_up(datum/reagents/carry = null, n = 10, c = 0, loca, direct) +/datum/effect_system/smoke_spread/chem/set_up(datum/reagents/carry = null, n = 10, c = 0, loca, direct, datum/cause_data/new_cause_data) range = n * 0.3 cardinals = c carry.copy_to(chemholder, carry.total_volume) From 5433d362cca470c8babd5dc2ceb07d94117cfb69 Mon Sep 17 00:00:00 2001 From: TeDGamer Date: Wed, 3 May 2023 18:31:05 -0400 Subject: [PATCH 07/15] Fix acid shroud gas --- .../living/carbon/xenomorph/abilities/boiler/boiler_powers.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm index 3b95a3ba2e94..58e6d8113396 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm @@ -139,7 +139,8 @@ spicy_gas = new /datum/effect_system/smoke_spread/xeno_weaken else CRASH("Globber has unknown ammo [xeno.ammo]! Oh no!") - spicy_gas.set_up(1, 0, get_turf(xeno), null, 6) + var/datum/cause_data/cause_data = create_cause_data("acid_shroud gas", owner) + spicy_gas.set_up(1, 0, get_turf(xeno), null, 6, new_cause_data = cause_data) spicy_gas.start() to_chat(xeno, SPAN_XENOHIGHDANGER("You dump your acid through your pores, creating a shroud of gas!")) for (var/action_type in action_types_to_cd) From 7e3fe4a21a5cc9702caf72c2470a2429fe4bb1a1 Mon Sep 17 00:00:00 2001 From: TeDGamer Date: Wed, 3 May 2023 18:40:54 -0400 Subject: [PATCH 08/15] Fix death cause name --- code/datums/effects/neurotoxin.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/effects/neurotoxin.dm b/code/datums/effects/neurotoxin.dm index 373d07d5dbc1..99da7a9ebf32 100644 --- a/code/datums/effects/neurotoxin.dm +++ b/code/datums/effects/neurotoxin.dm @@ -22,7 +22,7 @@ var/stam_dam = 7 /datum/effects/neurotoxin/New(atom/thing, mob/from = null) - ..(thing, from, "neurotoxic gas") + ..(thing, from, "neurotoxin") /datum/effects/neurotoxin/validate_atom(atom/thing) if(isxeno(thing) || isobj(thing)) From 399b5a24ee58102d3a886d7285035460320416a3 Mon Sep 17 00:00:00 2001 From: TeDGamer Date: Wed, 3 May 2023 18:46:07 -0400 Subject: [PATCH 09/15] Use effect name --- code/datums/effects/neurotoxin.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/effects/neurotoxin.dm b/code/datums/effects/neurotoxin.dm index 99da7a9ebf32..836fccf49ca3 100644 --- a/code/datums/effects/neurotoxin.dm +++ b/code/datums/effects/neurotoxin.dm @@ -22,7 +22,7 @@ var/stam_dam = 7 /datum/effects/neurotoxin/New(atom/thing, mob/from = null) - ..(thing, from, "neurotoxin") + ..(thing, from, effect_name) /datum/effects/neurotoxin/validate_atom(atom/thing) if(isxeno(thing) || isobj(thing)) From 3da1ea63ed81ba56e7709f77364fa582f6b80df2 Mon Sep 17 00:00:00 2001 From: TeDGamer Date: Mon, 15 May 2023 17:03:22 -0400 Subject: [PATCH 10/15] Setup cause data for chem smoke similar to regular smoke spread --- code/game/objects/effects/effect_system/chemsmoke.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/effects/effect_system/chemsmoke.dm b/code/game/objects/effects/effect_system/chemsmoke.dm index 30c654372dbb..c2323c32c934 100644 --- a/code/game/objects/effects/effect_system/chemsmoke.dm +++ b/code/game/objects/effects/effect_system/chemsmoke.dm @@ -41,6 +41,7 @@ // sure the smoke can actually path to the turfs. This culls any turfs it can't reach. //------------------------------------------ /datum/effect_system/smoke_spread/chem/set_up(datum/reagents/carry = null, n = 10, c = 0, loca, direct, datum/cause_data/new_cause_data) + cause_data = istype(new_cause_data) ? new_cause_data : cause_data range = n * 0.3 cardinals = c carry.copy_to(chemholder, carry.total_volume) From b5d25e83634081235aa47a1a374e94b7f64296b4 Mon Sep 17 00:00:00 2001 From: Drulikar Date: Fri, 9 Jun 2023 03:33:18 -0700 Subject: [PATCH 11/15] More boiler cause_data fixes --- .../abilities/boiler/boiler_powers.dm | 20 +++++++++---------- .../xenomorph/abilities/general_powers.dm | 2 +- code/modules/projectiles/ammo_datums.dm | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm index ed931097c691..58cfd6a9ad56 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm @@ -139,7 +139,7 @@ spicy_gas = new /datum/effect_system/smoke_spread/xeno_weaken else CRASH("Globber has unknown ammo [xeno.ammo]! Oh no!") - var/datum/cause_data/cause_data = create_cause_data("acid_shroud gas", owner) + var/datum/cause_data/cause_data = create_cause_data("acid shroud gas", owner) spicy_gas.set_up(1, 0, get_turf(xeno), null, 6, new_cause_data = cause_data) spicy_gas.start() to_chat(xeno, SPAN_XENOHIGHDANGER("You dump your acid through your pores, creating a shroud of gas!")) @@ -167,7 +167,7 @@ if(!actually_moving) return - var/obj/effect/particle_effect/smoke/S = new /obj/effect/particle_effect/smoke/xeno_burn(get_turf(mover), 1, create_cause_data(initial(mover.caste_type), mover)) + var/obj/effect/particle_effect/smoke/S = new /obj/effect/particle_effect/smoke/xeno_burn(get_turf(mover), 1, create_cause_data("dumped acid gas", mover)) S.time_to_live = 3 S.spread_speed = 1000000 @@ -284,27 +284,27 @@ apply_cooldown() return ..() -/datum/action/xeno_action/activable/acid_shotgun/use_ability(atom/A) - var/mob/living/carbon/xenomorph/X = owner - if (!istype(X)) +/datum/action/xeno_action/activable/acid_shotgun/use_ability(atom/target) + var/mob/living/carbon/xenomorph/xeno = owner + if (!istype(xeno)) return if (!action_cooldown_check()) return - if(!A || A.layer >= FLY_LAYER || !isturf(X.loc) || !X.check_state()) + if(!target || target.layer >= FLY_LAYER || !isturf(xeno.loc) || !xeno.check_state()) return - X.visible_message(SPAN_XENOWARNING("The [X] fires a blast of acid at [A]!"), SPAN_XENOWARNING("You fire a blast of acid at [A]!")) + xeno.visible_message(SPAN_XENOWARNING("The [xeno] fires a blast of acid at [target]!"), SPAN_XENOWARNING("You fire a blast of acid at [target]!")) - var/turf/target = locate(A.x, A.y, A.z) - var/obj/item/projectile/P = new /obj/item/projectile(X.loc, create_cause_data(initial(X.caste_type), X)) + var/turf/target_turf = locate(target.x, target.y, target.z) + var/obj/item/projectile/P = new /obj/item/projectile(xeno.loc, create_cause_data("acid shotgun", xeno)) var/datum/ammo/ammoDatum = new ammo_type() P.generate_bullet(ammoDatum) - P.fire_at(target, X, X, ammoDatum.max_range, ammoDatum.shell_speed) + P.fire_at(target_turf, xeno, xeno, ammoDatum.max_range, ammoDatum.shell_speed) apply_cooldown() return ..() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm index dd9051ab0279..cf0ed46ccb38 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm @@ -761,7 +761,7 @@ playsound(xeno.loc, sound_to_play, 25, 1) - var/obj/item/projectile/Proj = new (current_turf, create_cause_data(initial(xeno.caste_type), xeno)) + var/obj/item/projectile/Proj = new (current_turf, create_cause_data(xeno.ammo.name, xeno)) Proj.generate_bullet(xeno.ammo) Proj.permutated += xeno Proj.def_zone = xeno.get_limbzone_target() diff --git a/code/modules/projectiles/ammo_datums.dm b/code/modules/projectiles/ammo_datums.dm index d2a54f543f96..d8b158485501 100644 --- a/code/modules/projectiles/ammo_datums.dm +++ b/code/modules/projectiles/ammo_datums.dm @@ -2740,7 +2740,7 @@ return var/datum/effects/neurotoxin/neuro_effect = locate() in moob.effects_list if(!neuro_effect) - neuro_effect = new /datum/effects/neurotoxin(moob) + neuro_effect = new /datum/effects/neurotoxin(moob, proj.firer) neuro_effect.duration += 5 moob.apply_effect(3, DAZE) to_chat(moob, SPAN_HIGHDANGER("Neurotoxic liquid spreads all over you and immediately soaks into your pores and orifices! Oh fuck!")) // Fucked up but have a chance to escape rather than being game-ended From b9408f0dcda2a5ab9a8e9798b17990e45f5d12f2 Mon Sep 17 00:00:00 2001 From: Drulikar Date: Fri, 9 Jun 2023 06:02:40 -0700 Subject: [PATCH 12/15] Fix IFF gas for boiler gibbing --- code/game/objects/effects/effect_system/smoke.dm | 16 ++++++++-------- .../modules/mob/living/carbon/xenomorph/death.dm | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm index a02069087412..194412b63b1c 100644 --- a/code/game/objects/effects/effect_system/smoke.dm +++ b/code/game/objects/effects/effect_system/smoke.dm @@ -283,14 +283,14 @@ var/gas_damage = 20 /obj/effect/particle_effect/smoke/xeno_burn/Initialize(mapload, amount, datum/cause_data/cause_data) - var/mob/living/carbon/xenomorph/xeno = cause_data?.resolve_mob() - if (istype(xeno) && xeno.hivenumber) - hivenumber = xeno.hivenumber - - set_hive_data(src, hivenumber) - - . = ..() - + if(istype(cause_data)) + var/datum/ui_state/hive_state/cause_data_hive_state = GLOB.hive_state[cause_data.faction] + var/new_hive_number = cause_data_hive_state?.hivenumber + if(new_hive_number) + hivenumber = new_hive_number + set_hive_data(src, new_hive_number) + + return ..() /obj/effect/particle_effect/smoke/xeno_burn/apply_smoke_effect(turf/T) ..() diff --git a/code/modules/mob/living/carbon/xenomorph/death.dm b/code/modules/mob/living/carbon/xenomorph/death.dm index ce3f55700753..a9ad4a722cd8 100644 --- a/code/modules/mob/living/carbon/xenomorph/death.dm +++ b/code/modules/mob/living/carbon/xenomorph/death.dm @@ -134,10 +134,10 @@ switch(caste.caste_type) //This will need to be changed later, when we have proper xeno pathing. Might do it on caste or something. if(XENO_CASTE_BOILER) - var/mob/living/carbon/xenomorph/boiler/B = src + var/mob/living/carbon/xenomorph/boiler/src_boiler = src visible_message(SPAN_DANGER("[src] begins to bulge grotesquely, and explodes in a cloud of corrosive gas!")) - B.smoke.set_up(2, 0, get_turf(src)) - B.smoke.start() + src_boiler.smoke.set_up(2, 0, get_turf(src), new_cause_data = src_boiler.smoke.cause_data) + src_boiler.smoke.start() remains.icon_state = "gibbed-a-corpse" if(XENO_CASTE_RUNNER) remains.icon_state = "gibbed-a-corpse-runner" From 7ade69a21a44d34f1cdef065ee9c0f5f6364eb7c Mon Sep 17 00:00:00 2001 From: Drulikar Date: Fri, 9 Jun 2023 06:31:08 -0700 Subject: [PATCH 13/15] Fix var names --- .../xenomorph/abilities/boiler/boiler_powers.dm | 14 ++++++-------- .../carbon/xenomorph/abilities/general_powers.dm | 10 +++++----- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm index 58cfd6a9ad56..ea37eb942e67 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm @@ -167,9 +167,9 @@ if(!actually_moving) return - var/obj/effect/particle_effect/smoke/S = new /obj/effect/particle_effect/smoke/xeno_burn(get_turf(mover), 1, create_cause_data("dumped acid gas", mover)) - S.time_to_live = 3 - S.spread_speed = 1000000 + var/obj/effect/particle_effect/smoke/smoke_effect = new /obj/effect/particle_effect/smoke/xeno_burn(get_turf(mover), 1, create_cause_data("dumped acid gas", mover)) + smoke_effect.time_to_live = 3 + smoke_effect.spread_speed = 1000000 /datum/action/xeno_action/onclick/dump_acid/remove_from() remove_speed_buff() @@ -298,13 +298,11 @@ xeno.visible_message(SPAN_XENOWARNING("The [xeno] fires a blast of acid at [target]!"), SPAN_XENOWARNING("You fire a blast of acid at [target]!")) var/turf/target_turf = locate(target.x, target.y, target.z) - var/obj/item/projectile/P = new /obj/item/projectile(xeno.loc, create_cause_data("acid shotgun", xeno)) - + var/obj/item/projectile/proj = new /obj/item/projectile(xeno.loc, create_cause_data("acid shotgun", xeno)) var/datum/ammo/ammoDatum = new ammo_type() - P.generate_bullet(ammoDatum) - - P.fire_at(target_turf, xeno, xeno, ammoDatum.max_range, ammoDatum.shell_speed) + proj.generate_bullet(ammoDatum) + proj.fire_at(target_turf, xeno, xeno, ammoDatum.max_range, ammoDatum.shell_speed) apply_cooldown() return ..() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm index cf0ed46ccb38..692fa31c72e7 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm @@ -760,12 +760,12 @@ SPAN_XENOWARNING("You spit a [xeno.ammo.name] at [atom]!") ) playsound(xeno.loc, sound_to_play, 25, 1) + var/obj/item/projectile/proj = new (current_turf, create_cause_data(xeno.ammo.name, xeno)) + proj.generate_bullet(xeno.ammo) + proj.permutated += xeno + proj.def_zone = xeno.get_limbzone_target() + proj.fire_at(spit_target, xeno, xeno, xeno.ammo.max_range, xeno.ammo.shell_speed) - var/obj/item/projectile/Proj = new (current_turf, create_cause_data(xeno.ammo.name, xeno)) - Proj.generate_bullet(xeno.ammo) - Proj.permutated += xeno - Proj.def_zone = xeno.get_limbzone_target() - Proj.fire_at(spit_target, xeno, xeno, xeno.ammo.max_range, xeno.ammo.shell_speed) spitting = FALSE SEND_SIGNAL(xeno, COMSIG_XENO_POST_SPIT) From 91e7e2b8b5ea306a33936c8ee9acea8a1761c480 Mon Sep 17 00:00:00 2001 From: Drathek <76988376+Drulikar@users.noreply.github.com> Date: Sun, 18 Jun 2023 03:24:02 -0700 Subject: [PATCH 14/15] EXPERIMENTAL: Apply suggestions from code review Co-authored-by: harryob --- code/datums/effects/neurotoxin.dm | 4 +++- .../carbon/xenomorph/abilities/boiler/boiler_powers.dm | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/code/datums/effects/neurotoxin.dm b/code/datums/effects/neurotoxin.dm index 836fccf49ca3..051e1622e1cb 100644 --- a/code/datums/effects/neurotoxin.dm +++ b/code/datums/effects/neurotoxin.dm @@ -22,7 +22,9 @@ var/stam_dam = 7 /datum/effects/neurotoxin/New(atom/thing, mob/from = null) - ..(thing, from, effect_name) + . = ..() + + cause_data = create_cause_data(effect_name) /datum/effects/neurotoxin/validate_atom(atom/thing) if(isxeno(thing) || isobj(thing)) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm index ea37eb942e67..dff6c82efbf8 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm @@ -167,7 +167,7 @@ if(!actually_moving) return - var/obj/effect/particle_effect/smoke/smoke_effect = new /obj/effect/particle_effect/smoke/xeno_burn(get_turf(mover), 1, create_cause_data("dumped acid gas", mover)) + var/obj/effect/particle_effect/smoke/xeno_burn/smoke_effect = new(get_turf(mover), 1, create_cause_data("dumped acid gas", mover)) smoke_effect.time_to_live = 3 smoke_effect.spread_speed = 1000000 @@ -298,7 +298,7 @@ xeno.visible_message(SPAN_XENOWARNING("The [xeno] fires a blast of acid at [target]!"), SPAN_XENOWARNING("You fire a blast of acid at [target]!")) var/turf/target_turf = locate(target.x, target.y, target.z) - var/obj/item/projectile/proj = new /obj/item/projectile(xeno.loc, create_cause_data("acid shotgun", xeno)) + var/obj/item/projectile/proj = new(xeno.loc, create_cause_data("acid shotgun", xeno)) var/datum/ammo/ammoDatum = new ammo_type() proj.generate_bullet(ammoDatum) @@ -346,7 +346,7 @@ else if(stabbing_xeno.ammo == GLOB.ammo_list[/datum/ammo/xeno/boiler_gas]) var/datum/effects/neurotoxin/neuro_effect = locate() in carbon_target.effects_list if(!neuro_effect) - neuro_effect = new /datum/effects/neurotoxin(carbon_target, owner) + neuro_effect = new(carbon_target, owner) neuro_effect.duration += 16 to_chat(carbon_target,SPAN_HIGHDANGER("You are injected with something from [stabbing_xeno]'s tailstab!")) else From 1e445d86c9760f9c0ac95143515ddb67514ac236 Mon Sep 17 00:00:00 2001 From: Drulikar Date: Sun, 18 Jun 2023 04:00:37 -0700 Subject: [PATCH 15/15] More neuro cause_data fixes --- code/datums/effects/neurotoxin.dm | 4 +--- code/game/objects/effects/effect_system/smoke.dm | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/code/datums/effects/neurotoxin.dm b/code/datums/effects/neurotoxin.dm index 051e1622e1cb..836fccf49ca3 100644 --- a/code/datums/effects/neurotoxin.dm +++ b/code/datums/effects/neurotoxin.dm @@ -22,9 +22,7 @@ var/stam_dam = 7 /datum/effects/neurotoxin/New(atom/thing, mob/from = null) - . = ..() - - cause_data = create_cause_data(effect_name) + ..(thing, from, effect_name) /datum/effects/neurotoxin/validate_atom(atom/thing) if(isxeno(thing) || isobj(thing)) diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm index 194412b63b1c..9f7a9c8143c7 100644 --- a/code/game/objects/effects/effect_system/smoke.dm +++ b/code/game/objects/effects/effect_system/smoke.dm @@ -387,7 +387,7 @@ if(!issynth(moob)) var/datum/effects/neurotoxin/neuro_effect = locate() in moob.effects_list if(!neuro_effect) - neuro_effect = new /datum/effects/neurotoxin(moob) + neuro_effect = new(moob, cause_data.resolve_mob()) neuro_effect.strength = effect_amt neuro_effect.duration += neuro_dose if(moob.coughedtime != 1 && !moob.stat) //Coughing/gasping