Lavaland Update Part 2: Mobs

This commit is contained in:
Fox McCloud
2019-09-07 02:26:31 -04:00
parent 006d00c9ee
commit 0119d350b4
35 changed files with 253 additions and 170 deletions
@@ -9,8 +9,8 @@
/obj/item/hivelordstabilizer/afterattack(obj/item/organ/internal/M, mob/user)
. = ..()
var/obj/item/organ/internal/hivelord_core/C = M
if(!istype(C, /obj/item/organ/internal/hivelord_core))
var/obj/item/organ/internal/regenerative_core/C = M
if(!istype(C, /obj/item/organ/internal/regenerative_core))
to_chat(user, "<span class='warning'>The stabilizer only works on certain types of monster organs, generally regenerative in nature.</span>")
return ..()
@@ -19,8 +19,8 @@
qdel(src)
/************************Hivelord core*******************/
/obj/item/organ/internal/hivelord_core
name = "hivelord remains"
/obj/item/organ/internal/regenerative_core
name = "regenerative core"
desc = "All that remains of a hivelord. It can be used to help keep your body going, but it will rapidly decay into uselessness."
icon_state = "roro core 2"
flags = NOBLUDGEON
@@ -30,15 +30,15 @@
var/inert = 0
var/preserved = 0
/obj/item/organ/internal/hivelord_core/New()
..()
/obj/item/organ/internal/regenerative_core/Initialize(mapload)
. = ..()
addtimer(CALLBACK(src, .proc/inert_check), 2400)
/obj/item/organ/internal/hivelord_core/proc/inert_check()
/obj/item/organ/internal/regenerative_core/proc/inert_check()
if(!preserved)
go_inert()
/obj/item/organ/internal/hivelord_core/proc/preserved(implanted = 0)
/obj/item/organ/internal/regenerative_core/proc/preserved(implanted = 0)
inert = FALSE
preserved = TRUE
update_icon()
@@ -48,27 +48,27 @@
else
feedback_add_details("hivelord_core", "[type]|stabilizer")
/obj/item/organ/internal/hivelord_core/proc/go_inert()
/obj/item/organ/internal/regenerative_core/proc/go_inert()
inert = TRUE
name = "decayed regenerative core"
desc = "All that remains of a hivelord. It has decayed, and is completely useless."
feedback_add_details("hivelord_core", "[src.type]|inert")
update_icon()
/obj/item/organ/internal/hivelord_core/ui_action_click()
/obj/item/organ/internal/regenerative_core/ui_action_click()
if(inert)
to_chat(owner, "<span class='notice'>[src] breaks down as it tries to activate.</span>")
else
owner.revive()
qdel(src)
/obj/item/organ/internal/hivelord_core/on_life()
/obj/item/organ/internal/regenerative_core/on_life()
..()
if(owner.health < HEALTH_THRESHOLD_CRIT)
ui_action_click()
///Handles applying the core, logging and status/mood events.
/obj/item/organ/internal/hivelord_core/proc/applyto(atom/target, mob/user)
/obj/item/organ/internal/regenerative_core/proc/applyto(atom/target, mob/user)
if(ishuman(target))
var/mob/living/carbon/human/H = target
if(inert)
@@ -88,40 +88,39 @@
user.drop_item()
qdel(src)
/obj/item/organ/internal/hivelord_core/afterattack(atom/target, mob/user, proximity_flag)
/obj/item/organ/internal/regenerative_core/afterattack(atom/target, mob/user, proximity_flag)
. = ..()
if(proximity_flag)
applyto(target, user)
/obj/item/organ/internal/hivelord_core/attack_self(mob/user)
/obj/item/organ/internal/regenerative_core/attack_self(mob/user)
applyto(user, user)
/obj/item/organ/internal/hivelord_core/insert(mob/living/carbon/M, special = 0)
/obj/item/organ/internal/regenerative_core/insert(mob/living/carbon/M, special = 0)
..()
if(!preserved && !inert)
preserved(TRUE)
owner.visible_message("<span class='notice'>[src] stabilizes as it's inserted.</span>")
/obj/item/organ/internal/hivelord_core/remove(mob/living/carbon/M, special = 0)
/obj/item/organ/internal/regenerative_core/remove(mob/living/carbon/M, special = 0)
if(!inert && !special)
owner.visible_message("<span class='notice'>[src] rapidly decays as it's removed.</span>")
go_inert()
return ..()
/obj/item/organ/internal/hivelord_core/prepare_eat()
/obj/item/organ/internal/regenerative_core/prepare_eat()
return null
/*************************Legion core********************/
/obj/item/organ/internal/hivelord_core/legion
name = "legion's soul"
/obj/item/organ/internal/regenerative_core/legion
desc = "A strange rock that crackles with power. It can be used to heal completely, but it will rapidly decay into uselessness."
icon_state = "legion_soul"
/obj/item/organ/internal/hivelord_core/legion/New()
..()
/obj/item/organ/internal/regenerative_core/legion/Initialize(mapload)
. = ..()
update_icon()
/obj/item/organ/internal/hivelord_core/legion/update_icon()
/obj/item/organ/internal/regenerative_core/legion/update_icon()
icon_state = inert ? "legion_soul_inert" : "legion_soul"
cut_overlays()
if(!inert && !preserved)
@@ -130,10 +129,10 @@
var/datum/action/A = X
A.UpdateButtonIcon()
/obj/item/organ/internal/hivelord_core/legion/go_inert()
/obj/item/organ/internal/regenerative_core/legion/go_inert()
..()
desc = "[src] has become inert. It has decayed, and is completely useless."
/obj/item/organ/internal/hivelord_core/legion/preserved(implanted = 0)
/obj/item/organ/internal/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."
+1 -1
View File
@@ -219,7 +219,7 @@
var/drop_location = drop_location()
switch(selection)
if("Survival Capsule and Explorer's Webbing")
new /obj/item/storage/belt/mining(drop_location)
new /obj/item/storage/belt/mining/vendor(drop_location)
if("Resonator Kit")
new /obj/item/extinguisher/mini(drop_location)
new /obj/item/resonator(drop_location)