diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 0c711435ec04..d307da1097d5 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -364,12 +364,12 @@ icon = 'icons/obj/projectiles.dmi' icon_state = "radiation_anomaly" density = TRUE - var/has_effect = TRUE //For goat spawning + var/spawn_goat = TRUE //For goat spawning /obj/effect/anomaly/radiation/anomalyEffect() ..() - for(var/i = 1 to 10) - fire_nuclear_particle_wimpy() + for(var/i = 1 to 15) + fire_nuclear_particle() radiation_pulse(src, 500, 5) /obj/effect/anomaly/radiation/proc/makegoat() @@ -384,21 +384,21 @@ /obj/effect/anomaly/radiation/detonate() INVOKE_ASYNC(src, .proc/rad_Spin) - has_effect = FALSE //Don't want rad anomaly to keep spamming rad goat + spawn_goat = FALSE //Don't want rad anomaly to keep spamming rad goat /obj/effect/anomaly/radiation/proc/rad_Spin() radiation_pulse(src, 5000, 7) var/turf/T = get_turf(src) for(var/i=1 to 100) var/angle = i * 10 - T.fire_nuclear_particle_wimpy(angle) + T.fire_nuclear_particle(angle) sleep(0.7) /obj/effect/anomaly/radiation/process() anomalyEffect() if(death_time < world.time) if(loc) - if(has_effect) + if(spawn_goat) INVOKE_ASYNC(src, .proc/makegoat) detonate() addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, src), 150) diff --git a/code/modules/projectiles/projectile/energy/nuclear_particle.dm b/code/modules/projectiles/projectile/energy/nuclear_particle.dm index 032b5d46cd7d..cc60c8d85b45 100644 --- a/code/modules/projectiles/projectile/energy/nuclear_particle.dm +++ b/code/modules/projectiles/projectile/energy/nuclear_particle.dm @@ -28,11 +28,3 @@ /atom/proc/fire_nuclear_particle(angle = rand(0,360)) //used by fusion to fire random nuclear particles. Fires one particle in a random direction. var/obj/item/projectile/energy/nuclear_particle/P = new /obj/item/projectile/energy/nuclear_particle(src) P.fire(angle) - -/obj/item/projectile/energy/nuclear_particle/wimpy - irradiate = 100 - damage = 2 - -/atom/proc/fire_nuclear_particle_wimpy(angle = rand(0,360)) - var/obj/item/projectile/energy/nuclear_particle/wimpy/P = new /obj/item/projectile/energy/nuclear_particle/wimpy(src) - P.fire(angle) diff --git a/code/modules/spells/spell_types/conjure.dm b/code/modules/spells/spell_types/conjure.dm index fcfd374e4dde..2c7ebbf8e4f8 100644 --- a/code/modules/spells/spell_types/conjure.dm +++ b/code/modules/spells/spell_types/conjure.dm @@ -146,7 +146,7 @@ . = ..() var/mob/living/simple_animal/hostile/retaliate/goat/radioactive/S = user var/obj/effect/anomaly/radiation/anomaly = new (S.loc, 150) - anomaly.has_effect = FALSE + anomaly.spawn_goat = FALSE playsound(S, 'sound/weapons/resonator_fire.ogg', 100, TRUE) S.visible_message(span_notice("You see \the radiation anomaly emerges from \the [S]."), span_notice("\The radiation anomaly emerges from your body.")) notify_ghosts("The Radioactive Goat has spawned a radiation anomaly!", source = anomaly, action = NOTIFY_ORBIT, flashwindow = FALSE, header = "Radiation Anomaly Spawned!") diff --git a/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm b/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm index 903cfd9c2ed6..d6b0c80b8825 100644 --- a/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm +++ b/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm @@ -267,7 +267,7 @@ adjust_charge - take a positive or negative value to adjust the charge level /datum/species/preternis/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H) // called before a projectile hit if(istype(P, /obj/item/projectile/energy/nuclear_particle)) - H.fire_nuclear_particle_wimpy() + H.fire_nuclear_particle() H.visible_message(span_danger("[P] deflects off of [H]!"), span_userdanger("[P] deflects off of you!")) return 1 return 0 diff --git a/yogstation/code/modules/mob/living/simple_animal/friendly/goats.dm b/yogstation/code/modules/mob/living/simple_animal/friendly/goats.dm index 72cc15e4e16e..c7dfa0b3495f 100644 --- a/yogstation/code/modules/mob/living/simple_animal/friendly/goats.dm +++ b/yogstation/code/modules/mob/living/simple_animal/friendly/goats.dm @@ -171,9 +171,11 @@ melee_damage_upper = 25 speed = -0.5 robust_searching = 1 + turns_per_move = 5 + dodging = 1 stat_attack = UNCONSCIOUS - health = 200 - maxHealth = 200 + health = 75 + maxHealth = 75 var/datum/action/innate/rad_goat/rad_switch var/rad_emit = TRUE @@ -182,13 +184,17 @@ AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/conjure/radiation_anomaly) ADD_TRAIT(src, TRAIT_RADIMMUNE, GENETIC_MUTATION) +/mob/living/simple_animal/hostile/retaliate/goat/radioactive/bullet_act(obj/item/projectile/P) + if(istype(P, /obj/item/projectile/energy/nuclear_particle)) + P.damage = 0 //No damaging goat + return ..() + /mob/living/simple_animal/hostile/retaliate/goat/radioactive/on_hit(obj/item/projectile/P) . = ..() if(istype(P, /obj/item/projectile/energy/nuclear_particle)) // abosrbs nuclear particle to heal - P.damage = 0 - adjustBruteLoss(-10) - adjustFireLoss(-10) + adjustBruteLoss(-1) + adjustFireLoss(-1) /mob/living/simple_animal/hostile/retaliate/goat/radioactive/Life() if(stat == CONSCIOUS)