Fixes and Upgrades Stabilized Gold Extracts (#38394)

* Fixes and Upgrades

* I Forgot To Sync This Whoops

* If You Say So
This commit is contained in:
fludd12
2018-06-10 22:03:55 -07:00
committed by Tad Hardesty
parent 0fdc645067
commit b2e9fe8728
2 changed files with 16 additions and 3 deletions
@@ -762,9 +762,11 @@ datum/status_effect/stabilized/blue/on_remove()
/datum/status_effect/stabilized/gold/tick()
var/obj/item/slimecross/stabilized/gold/linked = linked_extract
if(!familiar)
if(QDELETED(familiar))
familiar = new linked.mob_type(get_turf(owner.loc))
familiar.name = linked.mob_name
familiar.del_on_death = TRUE
familiar.copy_known_languages_from(owner, FALSE)
if(linked.saved_mind)
linked.saved_mind.transfer_to(familiar)
familiar.ckey = linked.saved_mind.key
@@ -98,6 +98,7 @@ Stabilized extracts:
colour = "gold"
var/mob_type
var/datum/mind/saved_mind
var/mob_name = "Familiar"
/obj/item/slimecross/stabilized/gold/proc/generate_mobtype()
var/static/list/mob_spawn_pets = list()
@@ -114,20 +115,30 @@ Stabilized extracts:
generate_mobtype()
/obj/item/slimecross/stabilized/gold/attack_self(mob/user)
var/choice = input(user, "Which do you want to reset?", "Familiar Adjustment") as null|anything in list("Familiar Species", "Familiar Sentience")
var/choice = input(user, "Which do you want to reset?", "Familiar Adjustment") as null|anything in list("Familiar Location", "Familiar Species", "Familiar Sentience", "Familiar Name")
if(!user.canUseTopic(src, BE_CLOSE))
return
if(isliving(user))
var/mob/living/L = user
if(L.has_status_effect(/datum/status_effect/stabilized/gold))
L.remove_status_effect(/datum/status_effect/stabilized/gold)
START_PROCESSING(SSobj, src)
if(choice == "Familiar Location")
to_chat(user, "<span class='notice'>You prod [src], and it shudders slightly.</span>")
START_PROCESSING(SSobj, src)
if(choice == "Familiar Species")
to_chat(user, "<span class='notice'>You squeeze [src], and a shape seems to shift around inside.</span>")
generate_mobtype()
START_PROCESSING(SSobj, src)
if(choice == "Familiar Sentience")
to_chat(user, "<span class='notice'>You poke [src], and it lets out a glowing pulse.</span>")
saved_mind = null
START_PROCESSING(SSobj, src)
if(choice == "Familiar Name")
var/newname = copytext(sanitize(input(user, "Would you like to change the name of [mob_name]", "Name change", mob_name) as null|text),1,MAX_NAME_LEN)
if(newname)
mob_name = newname
to_chat(user, "<span class='notice'>You speak softly into [src], and it shakes slightly in response.</span>")
START_PROCESSING(SSobj, src)
/obj/item/slimecross/stabilized/oil
colour = "oil"