Merge pull request #4997 from Citadel-Station-13/upstream-merge-34567
[MIRROR] Fixes Revs & Clockcultists being valid for mindswap
This commit is contained in:
@@ -52,7 +52,7 @@
|
||||
team.pick_meeting_area()
|
||||
team.forge_brother_objectives()
|
||||
for(var/datum/mind/M in team.members)
|
||||
M.add_antag_datum(ANTAG_DATUM_BROTHER, team)
|
||||
M.add_antag_datum(/datum/antagonist/brother, team)
|
||||
team.update_name()
|
||||
brother_teams += pre_brother_teams
|
||||
return ..()
|
||||
|
||||
@@ -45,7 +45,7 @@ Credit where due:
|
||||
///////////
|
||||
|
||||
/proc/is_servant_of_ratvar(mob/M)
|
||||
return istype(M) && M.mind && M.mind.has_antag_datum(ANTAG_DATUM_CLOCKCULT)
|
||||
return istype(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/clockcult)
|
||||
|
||||
/proc/is_eligible_servant(mob/M)
|
||||
if(!istype(M))
|
||||
@@ -68,9 +68,9 @@ Credit where due:
|
||||
/proc/add_servant_of_ratvar(mob/L, silent = FALSE, create_team = TRUE)
|
||||
if(!L || !L.mind)
|
||||
return
|
||||
var/update_type = ANTAG_DATUM_CLOCKCULT
|
||||
var/update_type = /datum/antagonist/clockcult
|
||||
if(silent)
|
||||
update_type = ANTAG_DATUM_CLOCKCULT_SILENT
|
||||
update_type = /datum/antagonist/clockcult/silent
|
||||
var/datum/antagonist/clockcult/C = new update_type(L.mind)
|
||||
C.make_team = create_team
|
||||
C.show_in_roundend = create_team //tutorial scarabs begone
|
||||
@@ -106,7 +106,7 @@ Credit where due:
|
||||
/proc/remove_servant_of_ratvar(mob/L, silent = FALSE)
|
||||
if(!L || !L.mind)
|
||||
return
|
||||
var/datum/antagonist/clockcult/clock_datum = L.mind.has_antag_datum(ANTAG_DATUM_CLOCKCULT)
|
||||
var/datum/antagonist/clockcult/clock_datum = L.mind.has_antag_datum(/datum/antagonist/clockcult)
|
||||
if(!clock_datum)
|
||||
return FALSE
|
||||
clock_datum.silent = silent
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
var/list/datum/mind/cult = list()
|
||||
|
||||
/proc/iscultist(mob/living/M)
|
||||
return istype(M) && M.mind && M.mind.has_antag_datum(ANTAG_DATUM_CULT)
|
||||
return istype(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/cult)
|
||||
|
||||
/datum/team/cult/proc/is_sacrifice_target(datum/mind/mind)
|
||||
for(var/datum/objective/sacrifice/sac_objective in objectives)
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
/datum/game_mode/proc/remove_cultist(datum/mind/cult_mind, silent, stun)
|
||||
if(cult_mind.current)
|
||||
var/datum/antagonist/cult/cult_datum = cult_mind.has_antag_datum(ANTAG_DATUM_CULT)
|
||||
var/datum/antagonist/cult/cult_datum = cult_mind.has_antag_datum(/datum/antagonist/cult)
|
||||
if(!cult_datum)
|
||||
return FALSE
|
||||
cult_datum.silent = silent
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
user.whisper(html_decode(message))
|
||||
var/title = "Acolyte"
|
||||
var/span = "cult italic"
|
||||
if(user.mind && user.mind.has_antag_datum(ANTAG_DATUM_CULT_MASTER))
|
||||
if(user.mind && user.mind.has_antag_datum(/datum/antagonist/cult/master))
|
||||
span = "cultlarge"
|
||||
if(ishuman(user))
|
||||
title = "Master"
|
||||
@@ -141,7 +141,7 @@
|
||||
return FALSE
|
||||
team.cult_mastered = TRUE
|
||||
SSticker.mode.remove_cultist(Nominee.mind, TRUE)
|
||||
Nominee.mind.add_antag_datum(ANTAG_DATUM_CULT_MASTER)
|
||||
Nominee.mind.add_antag_datum(/datum/antagonist/cult/master)
|
||||
for(var/datum/mind/B in team.members)
|
||||
if(B.current)
|
||||
for(var/datum/action/innate/cult/mastervote/vote in B.current.actions)
|
||||
@@ -151,7 +151,7 @@
|
||||
return TRUE
|
||||
|
||||
/datum/action/innate/cult/master/IsAvailable()
|
||||
if(!owner.mind || !owner.mind.has_antag_datum(ANTAG_DATUM_CULT_MASTER) || GLOB.cult_narsie)
|
||||
if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master) || GLOB.cult_narsie)
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
..()
|
||||
|
||||
/datum/action/innate/cult/master/cultmark/IsAvailable()
|
||||
if(!owner.mind || !owner.mind.has_antag_datum(ANTAG_DATUM_CULT_MASTER))
|
||||
if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master))
|
||||
return FALSE
|
||||
if(cooldown > world.time)
|
||||
if(!CM.active)
|
||||
@@ -329,7 +329,7 @@
|
||||
..()
|
||||
|
||||
/datum/action/innate/cult/master/pulse/IsAvailable()
|
||||
if(!owner.mind || !owner.mind.has_antag_datum(ANTAG_DATUM_CULT_MASTER))
|
||||
if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master))
|
||||
return FALSE
|
||||
if(cooldown > world.time)
|
||||
if(!PM.active)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/mob/living/proc/check_devil_bane_multiplier(obj/item/weapon, mob/living/attacker)
|
||||
var/datum/antagonist/devil/devilInfo = mind.has_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
var/datum/antagonist/devil/devilInfo = mind.has_antag_datum(/datum/antagonist/devil)
|
||||
switch(devilInfo.bane)
|
||||
if(BANE_WHITECLOTHES)
|
||||
if(ishuman(attacker))
|
||||
|
||||
@@ -64,18 +64,18 @@
|
||||
add_devil_objectives(devil,2)
|
||||
|
||||
/proc/is_devil(mob/living/M)
|
||||
return M && M.mind && M.mind.has_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
return M && M.mind && M.mind.has_antag_datum(/datum/antagonist/devil)
|
||||
|
||||
/proc/add_devil(mob/living/L, ascendable = FALSE)
|
||||
if(!L || !L.mind)
|
||||
return FALSE
|
||||
var/datum/antagonist/devil/devil_datum = L.mind.add_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
var/datum/antagonist/devil/devil_datum = L.mind.add_antag_datum(/datum/antagonist/devil)
|
||||
devil_datum.ascendable = ascendable
|
||||
return devil_datum
|
||||
|
||||
/proc/remove_devil(mob/living/L)
|
||||
if(!L || !L.mind)
|
||||
return FALSE
|
||||
var/datum/antagonist/devil_datum = L.mind.has_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
var/datum/antagonist/devil_datum = L.mind.has_antag_datum(/datum/antagonist/devil)
|
||||
devil_datum.on_removal()
|
||||
return TRUE
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
/datum/objective/devil/soulquantity/check_completion()
|
||||
var/count = 0
|
||||
var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil)
|
||||
var/list/souls = devilDatum.soulsOwned
|
||||
for(var/S in souls) //Just a sanity check.
|
||||
var/datum/mind/L = S
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
/datum/objective/devil/soulquality/check_completion()
|
||||
var/count = 0
|
||||
var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil)
|
||||
var/list/souls = devilDatum.soulsOwned
|
||||
for(var/S in souls)
|
||||
var/datum/mind/L = S
|
||||
@@ -92,19 +92,19 @@
|
||||
/datum/objective/devil/outsell/New()
|
||||
|
||||
/datum/objective/devil/outsell/update_explanation_text()
|
||||
var/datum/antagonist/devil/opponent = target.has_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
var/datum/antagonist/devil/opponent = target.has_antag_datum(/datum/antagonist/devil)
|
||||
explanation_text = "Purchase and retain control over more souls than [opponent.truename], known to mortals as [target.name], the [target.assigned_role]."
|
||||
|
||||
/datum/objective/devil/outsell/check_completion()
|
||||
var/selfcount = 0
|
||||
var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil)
|
||||
var/list/souls = devilDatum.soulsOwned
|
||||
for(var/S in souls)
|
||||
var/datum/mind/L = S
|
||||
if(L.soulOwner == owner)
|
||||
selfcount++
|
||||
var/targetcount = 0
|
||||
devilDatum = target.has_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
devilDatum = target.has_antag_datum(/datum/antagonist/devil)
|
||||
souls = devilDatum.soulsOwned
|
||||
for(var/S in souls)
|
||||
var/datum/mind/L = S
|
||||
|
||||
@@ -44,13 +44,13 @@
|
||||
icon_state = "arch_devil"
|
||||
|
||||
/mob/living/carbon/true_devil/proc/set_name()
|
||||
var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(/datum/antagonist/devil)
|
||||
name = devilinfo.truename
|
||||
real_name = name
|
||||
|
||||
/mob/living/carbon/true_devil/Login()
|
||||
..()
|
||||
var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(ANTAG_DATUM_DEVIL)
|
||||
var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(/datum/antagonist/devil)
|
||||
devilinfo.greet()
|
||||
mind.announce_objectives()
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
stat = DEAD
|
||||
..(gibbed)
|
||||
drop_all_held_items()
|
||||
INVOKE_ASYNC(mind.has_antag_datum(ANTAG_DATUM_DEVIL), /datum/antagonist/devil/proc/beginResurrectionCheck, src)
|
||||
INVOKE_ASYNC(mind.has_antag_datum(/datum/antagonist/devil), /datum/antagonist/devil/proc/beginResurrectionCheck, src)
|
||||
|
||||
|
||||
/mob/living/carbon/true_devil/examine(mob/user)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
ears = /obj/item/device/radio/headset/abductor
|
||||
|
||||
/datum/outfit/abductor/proc/link_to_console(mob/living/carbon/human/H, team_number)
|
||||
var/datum/antagonist/abductor/A = H.mind.has_antag_datum(ANTAG_DATUM_ABDUCTOR)
|
||||
var/datum/antagonist/abductor/A = H.mind.has_antag_datum(/datum/antagonist/abductor)
|
||||
if(!team_number && A)
|
||||
team_number = A.team.team_number
|
||||
if(!team_number)
|
||||
|
||||
@@ -108,25 +108,25 @@
|
||||
/proc/add_monkey_leader(datum/mind/monkey_mind)
|
||||
if(is_monkey_leader(monkey_mind))
|
||||
return FALSE
|
||||
var/datum/antagonist/monkey/leader/M = monkey_mind.add_antag_datum(ANTAG_DATUM_MONKEY_LEADER)
|
||||
var/datum/antagonist/monkey/leader/M = monkey_mind.add_antag_datum(/datum/antagonist/monkey/leader)
|
||||
return M
|
||||
|
||||
/proc/add_monkey(datum/mind/monkey_mind)
|
||||
if(is_monkey(monkey_mind))
|
||||
return FALSE
|
||||
var/datum/antagonist/monkey/M = monkey_mind.add_antag_datum(ANTAG_DATUM_MONKEY)
|
||||
var/datum/antagonist/monkey/M = monkey_mind.add_antag_datum(/datum/antagonist/monkey)
|
||||
return M
|
||||
|
||||
/proc/remove_monkey(datum/mind/monkey_mind)
|
||||
if(!is_monkey(monkey_mind))
|
||||
return FALSE
|
||||
var/datum/antagonist/monkey/M = monkey_mind.has_antag_datum(ANTAG_DATUM_MONKEY)
|
||||
var/datum/antagonist/monkey/M = monkey_mind.has_antag_datum(/datum/antagonist/monkey)
|
||||
M.on_removal()
|
||||
return TRUE
|
||||
|
||||
/proc/is_monkey_leader(datum/mind/monkey_mind)
|
||||
return monkey_mind && monkey_mind.has_antag_datum(ANTAG_DATUM_MONKEY_LEADER)
|
||||
return monkey_mind && monkey_mind.has_antag_datum(/datum/antagonist/monkey/leader)
|
||||
|
||||
/proc/is_monkey(datum/mind/monkey_mind)
|
||||
return monkey_mind && (monkey_mind.has_antag_datum(ANTAG_DATUM_MONKEY) || is_monkey_leader(monkey_mind))
|
||||
return monkey_mind && (monkey_mind.has_antag_datum(/datum/antagonist/monkey) || is_monkey_leader(monkey_mind))
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
traitors_possible = 10 //hard limit on traitors if scaling is turned off
|
||||
num_modifier = 4 // Four additional traitors
|
||||
antag_datum = ANTAG_DATUM_IAA
|
||||
antag_datum = /datum/antagonist/traitor/internal_affairs
|
||||
|
||||
announce_text = "There are Nanotrasen Internal Affairs Agents trying to kill each other!\n\
|
||||
<span class='danger'>IAA</span>: Eliminate your targets and protect yourself!\n\
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
var/list/datum/mind/pre_traitors = list()
|
||||
var/traitors_possible = 4 //hard limit on traitors if scaling is turned off
|
||||
var/num_modifier = 0 // Used for gamemodes, that are a child of traitor, that need more than the usual.
|
||||
var/antag_datum = ANTAG_DATUM_TRAITOR //what type of antag to create
|
||||
var/antag_datum = /datum/antagonist/traitor //what type of antag to create
|
||||
var/traitors_required = TRUE //Will allow no traitors
|
||||
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
for(var/datum/mind/wizard in wizards)
|
||||
if(isliving(wizard.current) && wizard.current.stat!=DEAD)
|
||||
return FALSE
|
||||
|
||||
|
||||
for(var/obj/item/phylactery/P in GLOB.poi_list) //TODO : IsProperlyDead()
|
||||
if(P.mind && P.mind.has_antag_datum(/datum/antagonist/wizard))
|
||||
return FALSE
|
||||
@@ -55,7 +55,7 @@
|
||||
if(SSevents.wizardmode) //If summon events was active, turn it off
|
||||
SSevents.toggleWizardmode()
|
||||
SSevents.resetFrequency()
|
||||
|
||||
|
||||
return TRUE
|
||||
|
||||
/datum/game_mode/wizard/set_round_result()
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
if(..())
|
||||
var/obj/machinery/abductor/console/console
|
||||
if(ishuman(target))
|
||||
var/datum/antagonist/abductor/A = target.mind.has_antag_datum(ANTAG_DATUM_ABDUCTOR)
|
||||
var/datum/antagonist/abductor/A = target.mind.has_antag_datum(/datum/antagonist/abductor)
|
||||
if(A)
|
||||
console = get_abductor_console(A.team.team_number)
|
||||
home = console.pad
|
||||
|
||||
Reference in New Issue
Block a user