Bleeding edgy refresh (#303)
* not code stuff * other things * global vars, defines, helpers * onclick hud stuff, orphans, world.dm * controllers and datums * game folder * everything not client/mobs in modules * client folder * stage 1 mob stuff * simple animal things * silicons * carbon things * ayylmaos and monkeys * hyoomahn * icons n shit * sprite fixes * compile fixes * some fixes I cherrypicked. * qdel fixes * forgot brain refractors
This commit is contained in:
+100
-65
@@ -36,7 +36,6 @@
|
||||
var/active = 0
|
||||
|
||||
var/memory
|
||||
var/attack_log
|
||||
|
||||
var/assigned_role
|
||||
var/special_role
|
||||
@@ -69,6 +68,9 @@
|
||||
src.key = key
|
||||
soulOwner = src
|
||||
|
||||
/datum/mind/Destroy()
|
||||
ticker.minds -= src
|
||||
return ..()
|
||||
|
||||
/datum/mind/proc/transfer_to(mob/new_character, var/force_key_move = 0)
|
||||
if(current) // remove ourself from our old body's mind variable
|
||||
@@ -228,11 +230,12 @@
|
||||
|
||||
enslaved_to = creator
|
||||
|
||||
current.faction = creator.faction.Copy()
|
||||
current.faction |= creator.faction
|
||||
creator.faction |= current.faction
|
||||
|
||||
if(creator.mind.special_role)
|
||||
message_admins("[key_name_admin(current)](<A HREF='?_src_=holder;adminmoreinfo=\ref[current]'>?</A>) has been created by [key_name_admin(creator)](<A HREF='?_src_=holder;adminmoreinfo=\ref[creator]'>?</A>), an antagonist.")
|
||||
current << "<span class='userdanger'>Despite your creators current allegiances, your true master remains [creator.real_name]. If their loyalities change, so do yours. This will never change unless your creator's body is destroyed.</span>"
|
||||
to_chat(current, "<span class='userdanger'>Despite your creators current allegiances, your true master remains [creator.real_name]. If their loyalities change, so do yours. This will never change unless your creator's body is destroyed.</span>")
|
||||
|
||||
/datum/mind/proc/show_memory(mob/recipient, window=1)
|
||||
if(!recipient)
|
||||
@@ -248,8 +251,8 @@
|
||||
|
||||
if(window)
|
||||
recipient << browse(output,"window=memory")
|
||||
else
|
||||
recipient << "<i>[output]</i>"
|
||||
else if(objectives.len || memory)
|
||||
to_chat(recipient, "<i>[output]</i>")
|
||||
|
||||
/datum/mind/proc/edit_memory()
|
||||
if(!ticker || !ticker.mode)
|
||||
@@ -542,11 +545,14 @@
|
||||
text = uppertext(text)
|
||||
text = "<i><b>[text]</b></i>: "
|
||||
if(src in ticker.mode.devils)
|
||||
text += "<b>DEVIL</b>|sintouched|<a href='?src=\ref[src];devil=clear'>human</a>"
|
||||
if(devilinfo && !devilinfo.ascendable)
|
||||
text += "<b>DEVIL</b>|<a href='?src=\ref[src];devil=ascendable_devil'>Ascendable Devil</a>|sintouched|<a href='?src=\ref[src];devil=clear'>human</a>"
|
||||
else
|
||||
text += "<a href='?src=\ref[src];devil=devil'>DEVIL</a>|<b>ASCENDABLE DEVIL</b>|sintouched|<a href='?src=\ref[src];devil=clear'>human</a>"
|
||||
else if(src in ticker.mode.sintouched)
|
||||
text += "devil|<b>SINTOUCHED</b>|<a href='?src=\ref[src];devil=clear'>human</a>"
|
||||
text += "devil|Ascendable Devil|<b>SINTOUCHED</b>|<a href='?src=\ref[src];devil=clear'>human</a>"
|
||||
else
|
||||
text += "<a href='?src=\ref[src];devil=devil'>devil</a>|<a href='?src=\ref[src];devil=sintouched'>sintouched</a>|<b>HUMAN</b>"
|
||||
text += "<a href='?src=\ref[src];devil=devil'>devil</a>|<a href='?src=\ref[src];devil=ascendable_devil'>Ascendable Devil</a>|<a href='?src=\ref[src];devil=sintouched'>sintouched</a>|<b>HUMAN</b>"
|
||||
|
||||
if(current && current.client && (ROLE_DEVIL in current.client.prefs.be_special))
|
||||
text += "|Enabled in Prefs"
|
||||
@@ -695,7 +701,7 @@
|
||||
new_objective.owner = src
|
||||
new_objective.update_explanation_text()
|
||||
else
|
||||
usr << "No active AIs with minds"
|
||||
to_chat(usr, "No active AIs with minds")
|
||||
|
||||
if ("prevent")
|
||||
new_objective = new /datum/objective/block
|
||||
@@ -793,16 +799,16 @@
|
||||
switch(href_list["revolution"])
|
||||
if("clear")
|
||||
remove_rev()
|
||||
current << "<span class='userdanger'>You have been brainwashed! You are no longer a revolutionary!</span>"
|
||||
to_chat(current, "<span class='userdanger'>You have been brainwashed! You are no longer a revolutionary!</span>")
|
||||
message_admins("[key_name_admin(usr)] has de-rev'ed [current].")
|
||||
log_admin("[key_name(usr)] has de-rev'ed [current].")
|
||||
if("rev")
|
||||
if(src in ticker.mode.head_revolutionaries)
|
||||
ticker.mode.head_revolutionaries -= src
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
current << "<span class='userdanger'>Revolution has been disappointed of your leader traits! You are a regular revolutionary now!</span>"
|
||||
to_chat(current, "<span class='userdanger'>Revolution has been disappointed of your leader traits! You are a regular revolutionary now!</span>")
|
||||
else if(!(src in ticker.mode.revolutionaries))
|
||||
current << "<span class='danger'><FONT size = 3> You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</FONT></span>"
|
||||
to_chat(current, "<span class='danger'><FONT size = 3> You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</FONT></span>")
|
||||
else
|
||||
return
|
||||
ticker.mode.revolutionaries += src
|
||||
@@ -815,9 +821,9 @@
|
||||
if(src in ticker.mode.revolutionaries)
|
||||
ticker.mode.revolutionaries -= src
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
current << "<span class='userdanger'>You have proved your devotion to revoltion! Yea are a head revolutionary now!</span>"
|
||||
to_chat(current, "<span class='userdanger'>You have proved your devotion to revoltion! Yea are a head revolutionary now!</span>")
|
||||
else if(!(src in ticker.mode.head_revolutionaries))
|
||||
current << "<span class='userdanger'>You are a member of the revolutionaries' leadership now!</span>"
|
||||
to_chat(current, "<span class='userdanger'>You are a member of the revolutionaries' leadership now!</span>")
|
||||
else
|
||||
return
|
||||
if (ticker.mode.head_revolutionaries.len>0)
|
||||
@@ -840,24 +846,24 @@
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_revolutionary_objectives(src)
|
||||
ticker.mode.greet_revolutionary(src,0)
|
||||
usr << "<span class='notice'>The objectives for revolution have been generated and shown to [key]</span>"
|
||||
to_chat(usr, "<span class='notice'>The objectives for revolution have been generated and shown to [key]</span>")
|
||||
|
||||
if("flash")
|
||||
if (!ticker.mode.equip_revolutionary(current))
|
||||
usr << "<span class='danger'>Spawning flash failed!</span>"
|
||||
to_chat(usr, "<span class='danger'>Spawning flash failed!</span>")
|
||||
|
||||
if("takeflash")
|
||||
var/list/L = current.get_contents()
|
||||
var/obj/item/device/assembly/flash/flash = locate() in L
|
||||
if (!flash)
|
||||
usr << "<span class='danger'>Deleting flash failed!</span>"
|
||||
to_chat(usr, "<span class='danger'>Deleting flash failed!</span>")
|
||||
qdel(flash)
|
||||
|
||||
if("repairflash")
|
||||
var/list/L = current.get_contents()
|
||||
var/obj/item/device/assembly/flash/flash = locate() in L
|
||||
if (!flash)
|
||||
usr << "<span class='danger'>Repairing flash failed!</span>"
|
||||
to_chat(usr, "<span class='danger'>Repairing flash failed!</span>")
|
||||
else
|
||||
flash.crit_fail = 0
|
||||
flash.update_icon()
|
||||
@@ -876,11 +882,11 @@
|
||||
if("equip")
|
||||
switch(ticker.mode.equip_gang(current,gang_datum))
|
||||
if(1)
|
||||
usr << "<span class='warning'>Unable to equip territory spraycan!</span>"
|
||||
to_chat(usr, "<span class='warning'>Unable to equip territory spraycan!</span>")
|
||||
if(2)
|
||||
usr << "<span class='warning'>Unable to equip recruitment pen and spraycan!</span>"
|
||||
to_chat(usr, "<span class='warning'>Unable to equip recruitment pen and spraycan!</span>")
|
||||
if(3)
|
||||
usr << "<span class='warning'>Unable to equip gangtool, pen, and spraycan!</span>"
|
||||
to_chat(usr, "<span class='warning'>Unable to equip gangtool, pen, and spraycan!</span>")
|
||||
|
||||
if("takeequip")
|
||||
var/list/L = current.get_contents()
|
||||
@@ -912,7 +918,7 @@
|
||||
gang_datum = G
|
||||
special_role = "[G.name] Gang Boss"
|
||||
G.add_gang_hud(src)
|
||||
current << "<FONT size=3 color=red><B>You are a [G.name] Gang Boss!</B></FONT>"
|
||||
to_chat(current, "<FONT size=3 color=red><B>You are a [G.name] Gang Boss!</B></FONT>")
|
||||
message_admins("[key_name_admin(usr)] has added [current] to the [G.name] Gang leadership.")
|
||||
log_admin("[key_name(usr)] has added [current] to the [G.name] Gang leadership.")
|
||||
ticker.mode.forge_gang_objectives(src)
|
||||
@@ -944,11 +950,11 @@
|
||||
log_admin("[key_name(usr)] has cult'ed [current].")
|
||||
if("tome")
|
||||
if (!ticker.mode.equip_cultist(current,1))
|
||||
usr << "<span class='danger'>Spawning tome failed!</span>"
|
||||
to_chat(usr, "<span class='danger'>Spawning tome failed!</span>")
|
||||
|
||||
if("amulet")
|
||||
if (!ticker.mode.equip_cultist(current))
|
||||
usr << "<span class='danger'>Spawning amulet failed!</span>"
|
||||
to_chat(usr, "<span class='danger'>Spawning amulet failed!</span>")
|
||||
|
||||
else if(href_list["clockcult"])
|
||||
switch(href_list["clockcult"])
|
||||
@@ -963,15 +969,15 @@
|
||||
log_admin("[key_name(usr)] has made [current] into a servant of Ratvar.")
|
||||
if("slab")
|
||||
if(!ticker.mode.equip_servant(current))
|
||||
usr << "<span class='warning'>Failed to outfit [current] with a slab!</span>"
|
||||
to_chat(usr, "<span class='warning'>Failed to outfit [current] with a slab!</span>")
|
||||
else
|
||||
usr << "<span class='notice'>Successfully gave [current] a clockwork slab!</span>"
|
||||
to_chat(usr, "<span class='notice'>Successfully gave [current] a clockwork slab!</span>")
|
||||
|
||||
else if (href_list["wizard"])
|
||||
switch(href_list["wizard"])
|
||||
if("clear")
|
||||
remove_wizard()
|
||||
current << "<span class='userdanger'>You have been brainwashed! You are no longer a wizard!</span>"
|
||||
to_chat(current, "<span class='userdanger'>You have been brainwashed! You are no longer a wizard!</span>")
|
||||
log_admin("[key_name(usr)] has de-wizard'ed [current].")
|
||||
ticker.mode.update_wiz_icons_removed(src)
|
||||
if("wizard")
|
||||
@@ -979,7 +985,7 @@
|
||||
ticker.mode.wizards += src
|
||||
special_role = "Wizard"
|
||||
//ticker.mode.learn_basic_spells(current)
|
||||
current << "<span class='boldannounce'>You are the Space Wizard!</span>"
|
||||
to_chat(current, "<span class='boldannounce'>You are the Space Wizard!</span>")
|
||||
message_admins("[key_name_admin(usr)] has wizard'ed [current].")
|
||||
log_admin("[key_name(usr)] has wizard'ed [current].")
|
||||
ticker.mode.update_wiz_icons_added(src)
|
||||
@@ -991,13 +997,13 @@
|
||||
ticker.mode.name_wizard(current)
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_wizard_objectives(src)
|
||||
usr << "<span class='notice'>The objectives for wizard [key] have been generated. You can edit them and anounce manually.</span>"
|
||||
to_chat(usr, "<span class='notice'>The objectives for wizard [key] have been generated. You can edit them and anounce manually.</span>")
|
||||
|
||||
else if (href_list["changeling"])
|
||||
switch(href_list["changeling"])
|
||||
if("clear")
|
||||
remove_changeling()
|
||||
current << "<span class='userdanger'>You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!</span>"
|
||||
to_chat(current, "<span class='userdanger'>You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!</span>")
|
||||
message_admins("[key_name_admin(usr)] has de-changeling'ed [current].")
|
||||
log_admin("[key_name(usr)] has de-changeling'ed [current].")
|
||||
if("changeling")
|
||||
@@ -1005,17 +1011,17 @@
|
||||
ticker.mode.changelings += src
|
||||
current.make_changeling()
|
||||
special_role = "Changeling"
|
||||
current << "<span class='boldannounce'>Your powers are awoken. A flash of memory returns to us...we are [changeling.changelingID], a changeling!</span>"
|
||||
to_chat(current, "<span class='boldannounce'>Your powers are awoken. A flash of memory returns to us...we are [changeling.changelingID], a changeling!</span>")
|
||||
message_admins("[key_name_admin(usr)] has changeling'ed [current].")
|
||||
log_admin("[key_name(usr)] has changeling'ed [current].")
|
||||
ticker.mode.update_changeling_icons_added(src)
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_changeling_objectives(src)
|
||||
usr << "<span class='notice'>The objectives for changeling [key] have been generated. You can edit them and anounce manually.</span>"
|
||||
to_chat(usr, "<span class='notice'>The objectives for changeling [key] have been generated. You can edit them and anounce manually.</span>")
|
||||
|
||||
if("initialdna")
|
||||
if( !changeling || !changeling.stored_profiles.len || !istype(current, /mob/living/carbon))
|
||||
usr << "<span class='danger'>Resetting DNA failed!</span>"
|
||||
to_chat(usr, "<span class='danger'>Resetting DNA failed!</span>")
|
||||
else
|
||||
var/mob/living/carbon/C = current
|
||||
changeling.first_prof.dna.transfer_identity(C, transfer_SE=1)
|
||||
@@ -1027,7 +1033,7 @@
|
||||
switch(href_list["nuclear"])
|
||||
if("clear")
|
||||
remove_nukeop()
|
||||
current << "<span class='userdanger'>You have been brainwashed! You are no longer a syndicate operative!</span>"
|
||||
to_chat(current, "<span class='userdanger'>You have been brainwashed! You are no longer a syndicate operative!</span>")
|
||||
message_admins("[key_name_admin(usr)] has de-nuke op'ed [current].")
|
||||
log_admin("[key_name(usr)] has de-nuke op'ed [current].")
|
||||
if("nuclear")
|
||||
@@ -1040,7 +1046,7 @@
|
||||
current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]"
|
||||
special_role = "Syndicate"
|
||||
assigned_role = "Syndicate"
|
||||
current << "<span class='notice'>You are a [syndicate_name()] agent!</span>"
|
||||
to_chat(current, "<span class='notice'>You are a [syndicate_name()] agent!</span>")
|
||||
ticker.mode.forge_syndicate_objectives(src)
|
||||
ticker.mode.greet_syndicate(src)
|
||||
message_admins("[key_name_admin(usr)] has nuke op'ed [current].")
|
||||
@@ -1060,7 +1066,7 @@
|
||||
qdel(H.w_uniform)
|
||||
|
||||
if (!ticker.mode.equip_syndicate(current))
|
||||
usr << "<span class='danger'>Equipping a syndicate failed!</span>"
|
||||
to_chat(usr, "<span class='danger'>Equipping a syndicate failed!</span>")
|
||||
if("tellcode")
|
||||
var/code
|
||||
for (var/obj/machinery/nuclearbomb/bombue in machines)
|
||||
@@ -1069,15 +1075,15 @@
|
||||
break
|
||||
if (code)
|
||||
store_memory("<B>Syndicate Nuclear Bomb Code</B>: [code]", 0, 0)
|
||||
current << "The nuclear authorization code is: <B>[code]</B>"
|
||||
to_chat(current, "The nuclear authorization code is: <B>[code]</B>")
|
||||
else
|
||||
usr << "<span class='danger'>No valid nuke found!</span>"
|
||||
to_chat(usr, "<span class='danger'>No valid nuke found!</span>")
|
||||
|
||||
else if (href_list["traitor"])
|
||||
switch(href_list["traitor"])
|
||||
if("clear")
|
||||
remove_traitor()
|
||||
current << "<span class='userdanger'>You have been brainwashed! You are no longer a traitor!</span>"
|
||||
to_chat(current, "<span class='userdanger'>You have been brainwashed! You are no longer a traitor!</span>")
|
||||
message_admins("[key_name_admin(usr)] has de-traitor'ed [current].")
|
||||
log_admin("[key_name(usr)] has de-traitor'ed [current].")
|
||||
ticker.mode.update_traitor_icons_removed(src)
|
||||
@@ -1086,7 +1092,7 @@
|
||||
if(!(src in ticker.mode.traitors))
|
||||
ticker.mode.traitors += src
|
||||
special_role = "traitor"
|
||||
current << "<span class='boldannounce'>You are a traitor!</span>"
|
||||
to_chat(current, "<span class='boldannounce'>You are a traitor!</span>")
|
||||
message_admins("[key_name_admin(usr)] has traitor'ed [current].")
|
||||
log_admin("[key_name(usr)] has traitor'ed [current].")
|
||||
if(isAI(current))
|
||||
@@ -1096,7 +1102,7 @@
|
||||
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_traitor_objectives(src)
|
||||
usr << "<span class='notice'>The objectives for traitor [key] have been generated. You can edit them and anounce manually.</span>"
|
||||
to_chat(usr, "<span class='notice'>The objectives for traitor [key] have been generated. You can edit them and anounce manually.</span>")
|
||||
|
||||
else if(href_list["devil"])
|
||||
switch(href_list["devil"])
|
||||
@@ -1106,15 +1112,20 @@
|
||||
if(devilinfo)
|
||||
devilinfo.regress_blood_lizard()
|
||||
else
|
||||
usr << "<span class='warning'>Something went wrong with removing the devil, we were unable to find an attached devilinfo.</span>."
|
||||
to_chat(usr, "<span class='warning'>Something went wrong with removing the devil, we were unable to find an attached devilinfo.</span>.")
|
||||
ticker.mode.devils -= src
|
||||
special_role = null
|
||||
current << "<span class='userdanger'>Your infernal link has been severed! You are no longer a devil!</span>"
|
||||
to_chat(current, "<span class='userdanger'>Your infernal link has been severed! You are no longer a devil!</span>")
|
||||
RemoveSpell(/obj/effect/proc_holder/spell/targeted/infernal_jaunt)
|
||||
RemoveSpell(/obj/effect/proc_holder/spell/aimed/fireball/hellish)
|
||||
RemoveSpell(/obj/effect/proc_holder/spell/targeted/summon_contract)
|
||||
RemoveSpell(/obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork)
|
||||
RemoveSpell(/obj/effect/proc_holder/spell/targeted/conjure_item/violin)
|
||||
RemoveSpell(/obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork/greater)
|
||||
RemoveSpell(/obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork/ascended)
|
||||
RemoveSpell(/obj/effect/proc_holder/spell/targeted/summon_dancefloor)
|
||||
RemoveSpell(/obj/effect/proc_holder/spell/targeted/sintouch)
|
||||
RemoveSpell(/obj/effect/proc_holder/spell/targeted/sintouch/ascended)
|
||||
message_admins("[key_name_admin(usr)] has de-devil'ed [current].")
|
||||
devilinfo = null
|
||||
if(issilicon(current))
|
||||
@@ -1126,15 +1137,39 @@
|
||||
message_admins("[key_name_admin(usr)] has de-sintouch'ed [current].")
|
||||
log_admin("[key_name(usr)] has de-sintouch'ed [current].")
|
||||
if("devil")
|
||||
if(devilinfo)
|
||||
devilinfo.ascendable = FALSE
|
||||
message_admins("[key_name_admin(usr)] has made [current] unable to ascend as a devil.")
|
||||
log_admin("[key_name_admin(usr)] has made [current] unable to ascend as a devil.")
|
||||
return
|
||||
if(!ishuman(current) && !iscyborg(current))
|
||||
usr << "<span class='warning'>This only works on humans and cyborgs!</span>"
|
||||
return
|
||||
ticker.mode.devils += src
|
||||
special_role = "devil"
|
||||
ticker.mode.finalize_devil(src)
|
||||
ticker.mode.finalize_devil(src, FALSE)
|
||||
ticker.mode.add_devil_objectives(src, 2)
|
||||
announceDevilLaws()
|
||||
announce_objectives()
|
||||
message_admins("[key_name_admin(usr)] has devil'ed [current].")
|
||||
log_admin("[key_name(usr)] has devil'ed [current].")
|
||||
if("ascendable_devil")
|
||||
if(devilinfo)
|
||||
devilinfo.ascendable = TRUE
|
||||
message_admins("[key_name_admin(usr)] has made [current] able to ascend as a devil.")
|
||||
log_admin("[key_name_admin(usr)] has made [current] able to ascend as a devil.")
|
||||
return
|
||||
if(!ishuman(current) && !iscyborg(current))
|
||||
to_chat(usr, "<span class='warning'>This only works on humans and cyborgs!</span>")
|
||||
return
|
||||
ticker.mode.devils += src
|
||||
special_role = "devil"
|
||||
ticker.mode.finalize_devil(src, TRUE)
|
||||
ticker.mode.add_devil_objectives(src, 2)
|
||||
announceDevilLaws()
|
||||
announce_objectives()
|
||||
message_admins("[key_name_admin(usr)] has devil'ed [current]. The devil has been marked as ascendable.")
|
||||
log_admin("[key_name(usr)] has devil'ed [current]. The devil has been marked as ascendable.")
|
||||
if("sintouched")
|
||||
if(ishuman(current))
|
||||
ticker.mode.sintouched += src
|
||||
@@ -1142,17 +1177,17 @@
|
||||
H.influenceSin()
|
||||
message_admins("[key_name_admin(usr)] has sintouch'ed [current].")
|
||||
else
|
||||
usr << "<span class='warning'>This only works on humans!</span>"
|
||||
to_chat(usr, "<span class='warning'>This only works on humans!</span>")
|
||||
return
|
||||
|
||||
else if(href_list["abductor"])
|
||||
switch(href_list["abductor"])
|
||||
if("clear")
|
||||
usr << "Not implemented yet. Sorry!"
|
||||
to_chat(usr, "Not implemented yet. Sorry!")
|
||||
//ticker.mode.update_abductor_icons_removed(src)
|
||||
if("abductor")
|
||||
if(!ishuman(current))
|
||||
usr << "<span class='warning'>This only works on humans!</span>"
|
||||
to_chat(usr, "<span class='warning'>This only works on humans!</span>")
|
||||
return
|
||||
make_Abductor()
|
||||
log_admin("[key_name(usr)] turned [current] into abductor.")
|
||||
@@ -1182,7 +1217,7 @@
|
||||
src = null
|
||||
M = H.monkeyize()
|
||||
src = M.mind
|
||||
//world << "DEBUG: \"healthy\": M=[M], M.mind=[M.mind], src=[src]!"
|
||||
//to_chat(world, "DEBUG: \"healthy\": M=[M], M.mind=[M.mind], src=[src]!")
|
||||
else if (istype(M) && length(M.viruses))
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
D.cure(0)
|
||||
@@ -1252,7 +1287,7 @@
|
||||
log_admin("[key_name(usr)] changed [current]'s telecrystal count to [crystals].")
|
||||
if("uplink")
|
||||
if(!ticker.mode.equip_traitor(current, !(src in ticker.mode.traitors)))
|
||||
usr << "<span class='danger'>Equipping a syndicate failed!</span>"
|
||||
to_chat(usr, "<span class='danger'>Equipping a syndicate failed!</span>")
|
||||
log_admin("[key_name(usr)] attempted to give [current] an uplink.")
|
||||
|
||||
else if (href_list["obj_announce"])
|
||||
@@ -1262,10 +1297,10 @@
|
||||
|
||||
/datum/mind/proc/announce_objectives()
|
||||
var/obj_count = 1
|
||||
current << "<span class='notice'>Your current objectives:</span>"
|
||||
to_chat(current, "<span class='notice'>Your current objectives:</span>")
|
||||
for(var/objective in objectives)
|
||||
var/datum/objective/O = objective
|
||||
current << "<B>Objective #[obj_count]</B>: [O.explanation_text]"
|
||||
to_chat(current, "<B>Objective #[obj_count]</B>: [O.explanation_text]")
|
||||
obj_count++
|
||||
|
||||
/datum/mind/proc/find_syndicate_uplink()
|
||||
@@ -1316,14 +1351,14 @@
|
||||
|
||||
if (nuke_code)
|
||||
store_memory("<B>Syndicate Nuclear Bomb Code</B>: [nuke_code]", 0, 0)
|
||||
current << "The nuclear authorization code is: <B>[nuke_code]</B>"
|
||||
to_chat(current, "The nuclear authorization code is: <B>[nuke_code]</B>")
|
||||
else
|
||||
var/obj/machinery/nuclearbomb/nuke = locate("syndienuke") in nuke_list
|
||||
if(nuke)
|
||||
store_memory("<B>Syndicate Nuclear Bomb Code</B>: [nuke.r_code]", 0, 0)
|
||||
current << "The nuclear authorization code is: <B>nuke.r_code</B>"
|
||||
to_chat(current, "The nuclear authorization code is: <B>nuke.r_code</B>")
|
||||
else
|
||||
current << "You were not provided with a nuclear code. Trying asking your team leader or contacting syndicate command.</B>"
|
||||
to_chat(current, "You were not provided with a nuclear code. Trying asking your team leader or contacting syndicate command.</B>")
|
||||
|
||||
if (leader)
|
||||
ticker.mode.prepare_syndicate_leader(src,nuke_code)
|
||||
@@ -1346,7 +1381,7 @@
|
||||
assigned_role = "Wizard"
|
||||
if(!wizardstart.len)
|
||||
current.loc = pick(latejoin)
|
||||
current << "HOT INSERTION, GO GO GO"
|
||||
to_chat(current, "HOT INSERTION, GO GO GO")
|
||||
else
|
||||
current.loc = pick(wizardstart)
|
||||
|
||||
@@ -1360,20 +1395,20 @@
|
||||
if(!(src in ticker.mode.cult))
|
||||
ticker.mode.add_cultist(src,FALSE)
|
||||
special_role = "Cultist"
|
||||
current << "<font color=\"purple\"><b><i>You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie.</b></i></font>"
|
||||
current << "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>"
|
||||
to_chat(current, "<font color=\"purple\"><b><i>You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie.</b></i></font>")
|
||||
to_chat(current, "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>")
|
||||
var/datum/game_mode/cult/cult = ticker.mode
|
||||
|
||||
if (istype(cult))
|
||||
cult.memorize_cult_objectives(src)
|
||||
else
|
||||
var/explanation = "Summon Nar-Sie via the use of the appropriate rune (Hell join self). It will only work if nine cultists stand on and around it."
|
||||
current << "<B>Objective #1</B>: [explanation]"
|
||||
to_chat(current, "<B>Objective #1</B>: [explanation]")
|
||||
memory += "<B>Objective #1</B>: [explanation]<BR>"
|
||||
|
||||
var/mob/living/carbon/human/H = current
|
||||
if (!ticker.mode.equip_cultist(current))
|
||||
H << "Spawning an amulet from your Master failed."
|
||||
to_chat(H, "Spawning an amulet from your Master failed.")
|
||||
|
||||
/datum/mind/proc/make_Rev()
|
||||
if (ticker.mode.head_revolutionaries.len>0)
|
||||
@@ -1468,13 +1503,14 @@
|
||||
S.action.Grant(current)
|
||||
|
||||
//To remove a specific spell from a mind
|
||||
/datum/mind/proc/RemoveSpell(var/obj/effect/proc_holder/spell/spell)
|
||||
if(!spell) return
|
||||
/datum/mind/proc/RemoveSpell(obj/effect/proc_holder/spell/spell)
|
||||
if(!spell)
|
||||
return
|
||||
for(var/X in spell_list)
|
||||
var/obj/effect/proc_holder/spell/S = X
|
||||
if(istype(S, spell))
|
||||
qdel(S)
|
||||
spell_list -= S
|
||||
qdel(S)
|
||||
|
||||
/datum/mind/proc/transfer_actions(mob/living/new_character)
|
||||
if(current && current.actions)
|
||||
@@ -1513,7 +1549,7 @@
|
||||
mind_initialize() //updates the mind (or creates and initializes one if one doesn't exist)
|
||||
mind.active = 1 //indicates that the mind is currently synced with a client
|
||||
|
||||
/mob/new_player/sync_mind()
|
||||
/mob/dead/new_player/sync_mind()
|
||||
return
|
||||
|
||||
/mob/dead/observer/sync_mind()
|
||||
@@ -1529,8 +1565,7 @@
|
||||
if(ticker)
|
||||
ticker.minds += mind
|
||||
else
|
||||
spawn(0)
|
||||
throw EXCEPTION("mind_initialize(): No ticker ready")
|
||||
stack_trace("mind_initialize(): No ticker ready")
|
||||
if(!mind.name)
|
||||
mind.name = real_name
|
||||
mind.current = src
|
||||
|
||||
Reference in New Issue
Block a user