diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index 7ddcc93e4c71..d461054b4a78 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -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" + 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" + +/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." diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 250b67b2a024..0b82fae38d8d 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -126,7 +126,7 @@ robust_searching = 1 var/dwarf_mob = FALSE var/mob/living/carbon/human/stored_mob - + var/snow_legion = FALSE /mob/living/simple_animal/hostile/asteroid/hivelord/legion/random/Initialize(mapload) . = ..() if(prob(5)) @@ -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" @@ -200,8 +200,9 @@ 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 @@ -212,6 +213,8 @@ icon_living = "snowlegion_head" icon_aggro = "snowlegion_head" icon_dead = "snowlegion_head" + snow_legion = TRUE + /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/Life(seconds_per_tick = SSMOBS_DT, times_fired) if(isturf(loc)) @@ -225,6 +228,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) + L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow(H.loc) else L = new(H.loc) visible_message(span_warning("[L] staggers to [L.p_their()] feet!")) @@ -234,6 +239,8 @@ H.forceMove(L) qdel(src) + + //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 diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index e779a3f2e0b7..4a70998bec42 100755 Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ