Merge pull request #13550 from Incoming5643/new_wizard_meta_just_look_for_the_people_who_arent_fucked_up

Apprentice clean up / bugfixes
This commit is contained in:
Razharas
2015-12-11 22:50:46 +03:00
9 changed files with 30 additions and 14 deletions
+1 -1
View File
@@ -364,7 +364,7 @@
if (ticker.mode.config_tag=="wizard")
text = uppertext(text)
text = "<i><b>[text]</b></i>: "
if (src in ticker.mode.wizards)
if ((src in ticker.mode.wizards) || (src in ticker.mode.apprentices))
text += "<b>YES</b>|<a href='?src=\ref[src];wizard=clear'>no</a>"
text += "<br><a href='?src=\ref[src];wizard=lair'>To lair</a>, <a href='?src=\ref[src];common=undress'>undress</a>, <a href='?src=\ref[src];wizard=dressup'>dress up</a>, <a href='?src=\ref[src];wizard=name'>let choose name</a>."
if (objectives.len==0)
+9 -9
View File
@@ -92,6 +92,15 @@
var/wizard_name_first = pick(wizard_first)
var/wizard_name_second = pick(wizard_second)
var/randomname = "[wizard_name_first] [wizard_name_second]"
var/datum/objective/protect/new_objective = new /datum/objective/protect
new_objective.owner = M:mind
new_objective:target = usr:mind
new_objective.explanation_text = "Protect [usr.real_name], the wizard."
M.mind.objectives += new_objective
ticker.mode.apprentices += M.mind
M.mind.special_role = "apprentice"
ticker.mode.update_wiz_icons_added(M.mind)
M << sound('sound/effects/magic.ogg')
var/newname = copytext(sanitize(input(M, "You are the wizard's apprentice. Would you like to change your name to something else?", "Name change", randomname) as null|text),1,MAX_NAME_LEN)
if (!newname)
newname = randomname
@@ -99,15 +108,6 @@
M.real_name = newname
M.name = newname
M.dna.update_dna_identity()
var/datum/objective/protect/new_objective = new /datum/objective/protect
new_objective.owner = M:mind
new_objective:target = usr:mind
new_objective.explanation_text = "Protect [usr.real_name], the wizard."
M.mind.objectives += new_objective
ticker.mode.traitors += M.mind
M.mind.special_role = "apprentice"
ticker.mode.update_wiz_icons_added(M.mind)
M << sound('sound/effects/magic.ogg')
/obj/item/weapon/antag_spawner/contract/equip_antag(mob/target)
target.equip_to_slot_or_del(new /obj/item/device/radio/headset(target), slot_ears)
+1
View File
@@ -1,5 +1,6 @@
/datum/game_mode
var/list/datum/mind/wizards = list()
var/list/datum/mind/apprentices = list()
/datum/game_mode/wizard
name = "wizard"
+12
View File
@@ -431,6 +431,18 @@
dat += "<tr><td><i>Wizard not found!</i></td></tr>"
dat += "</table>"
if(ticker.mode.apprentices.len > 0)
dat += "<br><table cellspacing=5><tr><td><B>Apprentice</B></td><td></td><td></td></tr>"
for(var/datum/mind/apprentice in ticker.mode.apprentices)
var/mob/M = apprentice.current
if(M)
dat += "<tr><td><a href='?_src_=holder;adminplayeropts=\ref[M]'>[M.real_name]</a>[M.client ? "" : " <i>(ghost)</i>"][M.stat == 2 ? " <b><font color=red>(DEAD)</font></b>" : ""]</td>"
dat += "<td><A href='?priv_msg=[M.ckey]'>PM</A></td>"
dat += "<td><A HREF='?_src_=holder;traitor=\ref[M]'>Show Objective</A></td></tr>"
else
dat += "<tr><td><i>Apprentice not found!</i></td></tr>"
dat += "</table>"
if(ticker.mode.cult.len)
dat += "<br><table cellspacing=5><tr><td><B>Cultists</B></td><td></td></tr>"
for(var/datum/mind/N in ticker.mode.cult)
+1 -1
View File
@@ -37,7 +37,7 @@
for(var/mob/living/carbon/human/H in living_mob_list)
if(ruins_spaceworthiness && (H.z != 1 || istype(H.loc, /turf/space))) continue //#savetheminers
if(ruins_wizard_loadout && H.mind && H.mind in ticker.mode.wizards) continue
if(ruins_wizard_loadout && H.mind && ((H.mind in ticker.mode.wizards) || (H.mind in ticker.mode.apprentices))) continue
if(item_set == "catgirls2015") //Wizard code means never having to say you're sorry
H.gender = FEMALE
var/list/slots = list(H.wear_suit, H.shoes, H.head, H.wear_mask, H.r_hand, H.gloves, H.ears) //add new slots as needed to back
+1 -1
View File
@@ -35,7 +35,7 @@
I.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/turf_teleport/blink(null))
I.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/ethereal_jaunt(null))
ticker.mode.traitors += I.mind
ticker.mode.apprentices += I.mind
I.mind.special_role = "imposter"
var/datum/objective/protect/protect_objective = new /datum/objective/protect
+1 -1
View File
@@ -15,7 +15,7 @@
continue
var/quality = rand(-5,5)
if(quality > 0)
I.name = "[pick(prefixespositive)] [I.name] of [pick(suffixes)] plus [quality]"
I.name = "[pick(prefixespositive)] [I.name] of [pick(suffixes)] +[quality]"
else if(quality < 0)
I.name = "[pick(prefixesnegative)] [I.name] of [pick(suffixes)] [quality]"
else
+1 -1
View File
@@ -77,7 +77,7 @@
var/list/mobs = list()
for(var/mob/living/carbon/human/H in living_mob_list)
if(!H.stat || !H.mind || H.mind in ticker.mode.wizards) continue //the wizard(s) are spared on this one
if(!H.stat || !H.mind || (H.mind in ticker.mode.wizards) || (H.mind in ticker.mode.apprentices)) continue //the wizard(s) are spared on this one
mobs += H
if(!mobs) return
+3
View File
@@ -310,6 +310,9 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
if("wizard")
if(M.mind in ticker.mode.wizards)
return 2
if("apprentice")
if(M.mind in ticker.mode.apprentices)
return 2
if("monkey")
if(M.viruses && (locate(/datum/disease/transformation/jungle_fever) in M.viruses))
return 2