mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-21 03:55:05 +01:00
Changes Dark Priest to Hunter
This commit is contained in:
+43
-30
@@ -1797,8 +1797,8 @@
|
||||
ptypes += "Mutagen Cookie"
|
||||
ptypes += "Hellwater Cookie"
|
||||
ptypes += "Assassin"
|
||||
ptypes += "Priest"
|
||||
ptypes += "Lynch"
|
||||
ptypes += "Hunter"
|
||||
ptypes += "Crew Traitor"
|
||||
var/punishment = input(owner, "How would you like to smite [M]?", "Its good to be baaaad...", "") as null|anything in ptypes
|
||||
if(!(punishment in ptypes))
|
||||
return
|
||||
@@ -1856,47 +1856,60 @@
|
||||
H.drop_l_hand()
|
||||
H.equip_to_slot_or_del(evilcookie, slot_l_hand)
|
||||
logmsg = "a hellwater cookie."
|
||||
if("Priest")
|
||||
logmsg = "priest."
|
||||
if("Hunter")
|
||||
logmsg = "hunter."
|
||||
H.mutations |= NOCLONE
|
||||
message_admins("[key_name_admin(owner)] is sending a dark priest to assassinate [key_name_admin(M)]...")
|
||||
var/list/candidates = pollCandidates("Do you want to play as a murderous dark priest?")
|
||||
var/admin_outfits = subtypesof(/datum/outfit/admin)
|
||||
var/hunter_outfits = list()
|
||||
for(var/type in admin_outfits)
|
||||
var/datum/outfit/admin/O = type
|
||||
var/is_hunter_outfit = initial(O.is_hunter_outfit)
|
||||
if(is_hunter_outfit)
|
||||
hunter_outfits[initial(O.name)] = type
|
||||
var/dresscode = input("Select hunter type", "Contract Killers") as null|anything in hunter_outfits
|
||||
if(isnull(dresscode))
|
||||
return
|
||||
var/datum/outfit/O = hunter_outfits[dresscode]
|
||||
message_admins("[key_name_admin(owner)] is sending a dark hunter ([dresscode]) to assassinate [key_name_admin(M)]...")
|
||||
var/list/candidates = pollCandidates("Play as a murderous [dresscode]?")
|
||||
if(!candidates.len)
|
||||
to_chat(usr, "ERROR: Could not create priest. No valid candidates.")
|
||||
to_chat(usr, "ERROR: Could not create dark hunter. No valid candidates.")
|
||||
return
|
||||
var/mob/C = pick(candidates)
|
||||
var/key_of_priest = C.key
|
||||
if(!key_of_priest)
|
||||
to_chat(usr, "ERROR: Could not create priest. Could not pick key.")
|
||||
var/key_of_hunter = C.key
|
||||
if(!key_of_hunter)
|
||||
to_chat(usr, "ERROR: Could not create dark hunter. Could not pick key.")
|
||||
return
|
||||
var/datum/mind/priest_mind = new /datum/mind(key_of_priest)
|
||||
priest_mind.active = 1
|
||||
var/mob/living/carbon/human/priest_mob = new /mob/living/carbon/human(pick(latejoin))
|
||||
priest_mind.transfer_to(priest_mob)
|
||||
var/datum/outfit/admin/dark_priest/O = new /datum/outfit/admin/dark_priest
|
||||
priest_mob.equipOutfit(O, FALSE)
|
||||
var/obj/item/weapon/pinpointer/advpinpointer/N = new /obj/item/weapon/pinpointer/advpinpointer(priest_mob)
|
||||
priest_mob.equip_to_slot_or_del(N, slot_r_store)
|
||||
var/datum/mind/hunter_mind = new /datum/mind(key_of_hunter)
|
||||
hunter_mind.active = 1
|
||||
var/mob/living/carbon/human/hunter_mob = new /mob/living/carbon/human(pick(latejoin))
|
||||
hunter_mind.transfer_to(hunter_mob)
|
||||
hunter_mob.equipOutfit(O, FALSE)
|
||||
var/obj/item/weapon/pinpointer/advpinpointer/N = new /obj/item/weapon/pinpointer/advpinpointer(hunter_mob)
|
||||
hunter_mob.equip_to_slot_or_del(N, slot_in_backpack)
|
||||
N.active = 1
|
||||
N.mode = 2
|
||||
N.target = H
|
||||
N.point_at(N.target)
|
||||
N.flags |= NODROP
|
||||
if(!locate(/obj/item/weapon/implant/dust, hunter_mob))
|
||||
var/obj/item/weapon/implant/dust/D = new /obj/item/weapon/implant/dust(hunter_mob)
|
||||
D.implant(hunter_mob)
|
||||
var/datum/objective/assassinate/kill_objective = new
|
||||
kill_objective.owner = priest_mind
|
||||
kill_objective.owner = hunter_mind
|
||||
kill_objective.target = H.mind
|
||||
kill_objective.explanation_text = "Murder [H.real_name], the [H.mind.assigned_role], in the name of the dark gods."
|
||||
priest_mind.objectives += kill_objective
|
||||
ticker.mode.traitors |= priest_mob.mind
|
||||
to_chat(priest_mob, "<span class='danger'>ATTENTION:</span> You are now a dark priest!")
|
||||
to_chat(priest_mob, "<B>Goal: <span class='danger'>MURDER [H.real_name]</span>, currently in [get_area(H.loc)], in the name of the dark gods. </B>");
|
||||
to_chat(priest_mob, "<B>The gods will prevent their revival.</B>");
|
||||
priest_mob.mind.special_role = SPECIAL_ROLE_TRAITOR
|
||||
kill_objective.explanation_text = "Kill [H.real_name], the [H.mind.assigned_role]."
|
||||
hunter_mind.objectives += kill_objective
|
||||
ticker.mode.traitors |= hunter_mob.mind
|
||||
to_chat(hunter_mob, "<span class='danger'>ATTENTION:</span> You are now on a mission!")
|
||||
to_chat(hunter_mob, "<B>Goal: <span class='danger'>MURDER [H.real_name]</span>, currently in [get_area(H.loc)]. </B>");
|
||||
to_chat(hunter_mob, "<B>If you kill them, they cannot be revived.</B>");
|
||||
hunter_mob.mind.special_role = SPECIAL_ROLE_TRAITOR
|
||||
var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_TRAITOR]
|
||||
tatorhud.join_hud(priest_mob)
|
||||
ticker.mode.set_antag_hud(priest_mob, "hudsyndicate")
|
||||
if("Assassin")
|
||||
logmsg = "assassin."
|
||||
tatorhud.join_hud(hunter_mob)
|
||||
ticker.mode.set_antag_hud(hunter_mob, "hudsyndicate")
|
||||
if("Crew Traitor")
|
||||
logmsg = "crew traitor."
|
||||
var/list/possible_traitors = list()
|
||||
for(var/mob/living/player in living_mob_list)
|
||||
if(player.client && player.mind && !player.mind.special_role && player.stat != DEAD && player != H)
|
||||
|
||||
Reference in New Issue
Block a user