Fixes clockwork sigil candidate runtime, cleans up some jobban checks with defines (#5304)

This commit is contained in:
CitadelStationBot
2018-02-05 04:23:09 -06:00
committed by Poojawa
parent 03b33075e5
commit 9e229691cc
73 changed files with 196 additions and 214 deletions

View File

@@ -8,7 +8,7 @@
icon = 'icons/mob/alien.dmi'
gender = FEMALE //All xenos are girls!!
dna = null
faction = list("alien")
faction = list(ROLE_ALIEN)
ventcrawler = VENTCRAWLER_ALWAYS
sight = SEE_MOBS
see_in_dark = 4

View File

@@ -112,10 +112,10 @@
/obj/item/organ/alien/hivenode/Insert(mob/living/carbon/M, special = 0)
..()
M.faction |= "alien"
M.faction |= ROLE_ALIEN
/obj/item/organ/alien/hivenode/Remove(mob/living/carbon/M, special = 0)
M.faction -= "alien"
M.faction -= ROLE_ALIEN
..()
//When the alien queen dies, all aliens suffer a penalty as punishment for failing to protect her.

View File

@@ -46,7 +46,7 @@
connected_ai = null
if(mind)
if(!mind.special_role)
mind.special_role = "traitor"
mind.special_role = ROLE_TRAITOR
mind.add_antag_datum(/datum/antagonist/auto_custom) // ????

View File

@@ -826,7 +826,7 @@
/mob/living/silicon/robot/modules/syndicate
icon_state = "syndie_bloodhound"
faction = list("syndicate")
faction = list(ROLE_SYNDICATE)
bubble_icon = "syndibot"
req_access = list(ACCESS_SYNDICATE)
lawupdate = FALSE

View File

@@ -118,11 +118,7 @@
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they were a syndicate cyborg.")
return
var/ai_is_antag = 0
if(connected_ai && connected_ai.mind)
if(connected_ai.mind.special_role)
ai_is_antag = (connected_ai.mind.special_role == "traitor")
if(ai_is_antag)
if(connected_ai && connected_ai.mind && connected_ai.mind.has_antag_datum(/datum/antagonist/traitor))
to_chat(src, "<span class='danger'>ALERT: Foreign software execution prevented.</span>")
to_chat(connected_ai, "<span class='danger'>ALERT: Cyborg unit \[[src]] successfully defended against subversion.</span>")
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they were slaved to traitor AI [connected_ai].")

View File

@@ -18,7 +18,7 @@
health = 30
maxHealth = 120 //If you murder other drones and cannibalize them you can get much stronger
initial_language_holder = /datum/language_holder/drone/syndicate
faction = list("syndicate")
faction = list(ROLE_SYNDICATE)
speak_emote = list("hisses")
bubble_icon = "syndibot"
heavy_emp_damage = 10

View File

@@ -418,16 +418,15 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
var/mob/living/simple_animal/hostile/guardian/G = input(src, "Pick the guardian you wish to reset", "Guardian Reset") as null|anything in guardians
if(G)
to_chat(src, "<span class='holoparasite'>You attempt to reset <font color=\"[G.namedatum.colour]\"><b>[G.real_name]</b></font>'s personality...</span>")
var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as [src.real_name]'s [G.real_name]?", "pAI", null, FALSE, 100)
var/mob/dead/observer/new_stand = null
if(candidates.len)
new_stand = pick(candidates)
var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as [src.real_name]'s [G.real_name]?", ROLE_PAI, null, FALSE, 100)
if(LAZYLEN(candidates))
var/client/C = pick(candidates)
to_chat(G, "<span class='holoparasite'>Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.</span>")
to_chat(src, "<span class='holoparasite bold'>Your <font color=\"[G.namedatum.colour]\">[G.real_name]</font> has been successfully reset.</span>")
message_admins("[key_name_admin(new_stand)] has taken control of ([key_name_admin(G)])")
message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(G)])")
G.ghostize(0)
G.setthemename(G.namedatum.theme) //give it a new color, to show it's a new person
G.key = new_stand.key
G.key = C.key
G.reset = 1
switch(G.namedatum.theme)
if("tech")
@@ -494,11 +493,10 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
used = TRUE
to_chat(user, "[use_message]")
var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the [mob_name] of [user.real_name]?", ROLE_PAI, null, FALSE, 100, POLL_IGNORE_HOLOPARASITE)
var/mob/dead/observer/theghost = null
if(candidates.len)
theghost = pick(candidates)
spawn_guardian(user, theghost.key)
if(LAZYLEN(candidates))
var/client/C = pick(candidates)
spawn_guardian(user, C.key)
else
to_chat(user, "[failure_message]")
used = FALSE

View File

@@ -26,7 +26,7 @@
attack_sound = 'sound/weapons/bladeslice.ogg'
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
unsuitable_atmos_damage = 15
faction = list("alien")
faction = list(ROLE_ALIEN)
status_flags = CANPUSH
minbodytemp = 0
see_in_dark = 8

View File

@@ -93,7 +93,7 @@
gender = FEMALE
speak_emote = list("squeaks")
gold_core_spawnable = NO_SPAWN
faction = list("syndicate")
faction = list(ROLE_SYNDICATE)
AIStatus = AI_OFF
#undef REGENERATION_DELAY

View File

@@ -41,7 +41,7 @@
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier)
atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
unsuitable_atmos_damage = 15
faction = list("syndicate")
faction = list(ROLE_SYNDICATE)
check_friendly_fire = 1
status_flags = CANPUSH
del_on_death = 1
@@ -169,7 +169,7 @@
environment_smash = ENVIRONMENT_SMASH_NONE
attacktext = "cuts"
attack_sound = 'sound/weapons/bladeslice.ogg'
faction = list("syndicate")
faction = list(ROLE_SYNDICATE)
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
mob_size = MOB_SIZE_TINY

View File

@@ -21,7 +21,7 @@
a_intent = INTENT_HARM
atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
unsuitable_atmos_damage = 15
faction = list("wizard")
faction = list(ROLE_WIZARD)
status_flags = CANPUSH
retreat_distance = 3 //out of fireball range

View File

@@ -55,7 +55,7 @@
icon_state = "syndbeacon"
spawn_text = "warps in from"
mob_type = /mob/living/simple_animal/hostile/syndicate/ranged
faction = list("syndicate")
faction = list(ROLE_SYNDICATE)
/mob/living/simple_animal/hostile/spawner/skeleton
name = "bone pit"

View File

@@ -449,15 +449,14 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
var/datum/antagonist/A = M.mind.has_antag_datum(/datum/antagonist/)
if(A)
poll_message = "[poll_message] Status:[A.name]."
var/list/mob/dead/observer/candidates = pollCandidatesForMob(poll_message, "pAI", null, FALSE, 100, M)
var/mob/dead/observer/theghost = null
var/list/mob/dead/observer/candidates = pollCandidatesForMob(poll_message, ROLE_PAI, null, FALSE, 100, M)
if(candidates.len)
theghost = pick(candidates)
if(LAZYLEN(candidates))
var/client/C = pick(candidates)
to_chat(M, "Your mob has been taken over by a ghost!")
message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(M)])")
message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(M)])")
M.ghostize(0)
M.key = theghost.key
M.key = C.key
return TRUE
else
to_chat(M, "There were no ghosts willing to take control.")