mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-14 01:24:21 +01:00
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:
+1
-1
@@ -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)
|
||||
|
||||
@@ -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,5 +1,6 @@
|
||||
/datum/game_mode
|
||||
var/list/datum/mind/wizards = list()
|
||||
var/list/datum/mind/apprentices = list()
|
||||
|
||||
/datum/game_mode/wizard
|
||||
name = "wizard"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user