Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Snow Legions will now properly infect dead mobs + New snow legion regenerative cores #22715

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions code/modules/mining/equipment/regenerative_core.dm
Original file line number Diff line number Diff line change
Expand Up @@ -157,3 +157,33 @@
/obj/item/organ/regenerative_core/legion/preserved(implanted = 0)
..()
desc = "[src] has been stabilized. It is preserved, allowing you to use it to heal completely without danger of decay."


// Snow Legion Core

/obj/item/organ/regenerative_core/legion/snow
desc = "A strangely hard snowball that crackles with power. It can be used to heal quickly, but it will rapidly decay into uselessness. Radiation found in active space installments may slow its healing effects."
icon_state = "slegion_soul"

/obj/item/organ/regenerative_core/legion/snow/Initialize(mapload)
. = ..()
update_appearance(UPDATE_ICON)

/obj/item/organ/regenerative_core/legion/snow/update_icon_state()
. = ..()
icon_state = inert ? "slegion_soul_inert" : "slegion_soul"
N3D6 marked this conversation as resolved.
Show resolved Hide resolved
for(var/datum/action/A as anything in actions)
A.build_all_button_icons()

/obj/item/organ/regenerative_core/snow/update_overlays()
. = ..()
if(!inert && !preserved)
. += "slegion_soul_crackle"
N3D6 marked this conversation as resolved.
Show resolved Hide resolved

/obj/item/organ/regenerative_core/legion/snow/go_inert()
..()
desc = "[src] has become inert. It has decayed, and is completely useless."

/obj/item/organ/regenerative_core/legion/snow/preserved(implanted = 0)
..()
desc = "[src] has been stabilized. It is preserved, allowing you to use it to heal completely without danger of decay."
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@
robust_searching = 1
var/dwarf_mob = FALSE
var/mob/living/carbon/human/stored_mob

var/snow_legion = FALSE
N3D6 marked this conversation as resolved.
Show resolved Hide resolved
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/random/Initialize(mapload)
. = ..()
if(prob(5))
Expand Down Expand Up @@ -189,7 +189,7 @@
stat_attack = UNCONSCIOUS
robust_searching = 1
var/can_infest_dead = FALSE

var/snow_legion = FALSE
// Snow Legion
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow
name = "snow legion"
Expand All @@ -200,8 +200,10 @@
icon_aggro = "snowlegion_alive"
icon_dead = "snowlegion"
crusher_loot = /obj/item/crusher_trophy/legion_skull
loot = list(/obj/item/organ/regenerative_core/legion)
loot = list(/obj/item/organ/regenerative_core/legion/snow)
brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/snow
snow_legion = TRUE


// Snow Legion skull
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/snow
Expand All @@ -212,6 +214,8 @@
icon_living = "snowlegion_head"
icon_aggro = "snowlegion_head"
icon_dead = "snowlegion_head"
snow_legion = TRUE
can_infest_dead = TRUE
N3D6 marked this conversation as resolved.
Show resolved Hide resolved

/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/Life(seconds_per_tick = SSMOBS_DT, times_fired)
if(isturf(loc))
Expand All @@ -225,6 +229,8 @@
var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L
if(H.dna.check_mutation(DWARFISM)) //dwarf legions aren't just fluff!
L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf(H.loc)
else if(snow_legion)
N3D6 marked this conversation as resolved.
Show resolved Hide resolved
L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow(H.loc)
else
L = new(H.loc)
N3D6 marked this conversation as resolved.
Show resolved Hide resolved
visible_message(span_warning("[L] staggers to [L.p_their()] feet!"))
Expand All @@ -234,6 +240,8 @@
H.forceMove(L)
qdel(src)


N3D6 marked this conversation as resolved.
Show resolved Hide resolved

//Advanced Legion is slightly tougher to kill and can raise corpses (revive other legions)
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/advanced
stat_attack = DEAD
Expand Down
Binary file modified icons/obj/surgery.dmi
Binary file not shown.
Loading