Datum antag wizard.

This commit is contained in:
AnturK
2017-10-11 12:23:26 +02:00
committed by CitadelStationBot
parent 6b10a53724
commit 5be4669924
19 changed files with 664 additions and 308 deletions
+1 -1
View File
@@ -40,7 +40,7 @@
for(var/mob/living/carbon/human/H in GLOB.living_mob_list)
if(ruins_spaceworthiness && !(H.z in GLOB.station_z_levels) || isspaceturf(H.loc) || isplasmaman(H))
continue //#savetheminers
if(ruins_wizard_loadout && H.mind && ((H.mind in SSticker.mode.wizards) || (H.mind in SSticker.mode.apprentices)))
if(ruins_wizard_loadout && iswizard(H))
continue
if(item_set == "catgirls2015") //Wizard code means never having to say you're sorry
H.gender = FEMALE
+11 -28
View File
@@ -24,35 +24,18 @@
I.name = I.dna.real_name
I.updateappearance(mutcolor_update=1)
I.domutcheck()
if(W.ears)
I.equip_to_slot_or_del(new W.ears.type, slot_ears)
if(W.w_uniform)
I.equip_to_slot_or_del(new W.w_uniform.type , slot_w_uniform)
if(W.shoes)
I.equip_to_slot_or_del(new W.shoes.type, slot_shoes)
if(W.wear_suit)
I.equip_to_slot_or_del(new W.wear_suit.type, slot_wear_suit)
if(W.head)
I.equip_to_slot_or_del(new W.head.type, slot_head)
if(W.back)
I.equip_to_slot_or_del(new W.back.type, slot_back)
I.key = C.key
//Operation: Fuck off and scare people
I.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/area_teleport/teleport(null))
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))
var/datum/antagonist/wizard/master = M.has_antag_datum(/datum/antagonist/wizard)
if(!master.wiz_team)
master.create_wiz_team()
var/datum/antagonist/wizard/apprentice/imposter = new(I.mind)
imposter.master = M
imposter.wiz_team = master.wiz_team
master.wiz_team += imposter
I.mind.add_antag_datum(imposter)
//Remove if possible
SSticker.mode.apprentices += I.mind
I.mind.special_role = "imposter"
var/datum/objective/protect/protect_objective = new /datum/objective/protect
protect_objective.owner = I.mind
protect_objective.target = W.mind
protect_objective.explanation_text = "Protect [W.real_name], the wizard."
I.mind.objectives += protect_objective
SSticker.mode.update_wiz_icons_added(I.mind)
I.log_message("<font color='red'>Is an imposter!</font>", INDIVIDUAL_ATTACK_LOG)
to_chat(I, "<B>You are an imposter! Trick and confuse the crew to misdirect malice from your handsome original!</B>")
//
I.log_message("<font color='red'>Is an imposter!</font>", INDIVIDUAL_ATTACK_LOG) //?
SEND_SOUND(I, sound('sound/effects/magic.ogg'))
+1 -1
View File
@@ -82,7 +82,7 @@
var/list/mobs = list()
for(var/mob/living/carbon/human/H in GLOB.living_mob_list)
if(H.stat || !H.mind || (H.mind in SSticker.mode.wizards) || (H.mind in SSticker.mode.apprentices))
if(H.stat || !H.mind || iswizard(H))
continue //the wizard(s) are spared on this one
mobs += H