Refactored the antagHUD to work better with the new antagonist system.

This commit is contained in:
Zuhayr
2015-09-05 18:40:32 +09:30
parent df3a2f3c9c
commit 90c9d31782
18 changed files with 26 additions and 31 deletions

View File

@@ -8,6 +8,7 @@ var/datum/antagonist/xenos/borer/borers
bantype = "Borer" bantype = "Borer"
welcome_text = "Use your Infest power to crawl into the ear of a host and fuse with their brain. You can only take control temporarily, and at risk of hurting your host, so be clever and careful; your host is encouraged to help you however they can. Talk to your fellow borers with :x." welcome_text = "Use your Infest power to crawl into the ear of a host and fuse with their brain. You can only take control temporarily, and at risk of hurting your host, so be clever and careful; your host is encouraged to help you however they can. Talk to your fellow borers with :x."
antag_indicator = "brainworm" antag_indicator = "brainworm"
antaghud_indicator = "hudborer"
faction_role_text = "Borer Thrall" faction_role_text = "Borer Thrall"
faction_descriptor = "Unity" faction_descriptor = "Unity"

View File

@@ -9,6 +9,7 @@ var/datum/antagonist/xenos/xenomorphs
bantype = "Xenomorph" bantype = "Xenomorph"
flags = ANTAG_OVERRIDE_MOB | ANTAG_RANDSPAWN | ANTAG_OVERRIDE_JOB | ANTAG_VOTABLE flags = ANTAG_OVERRIDE_MOB | ANTAG_RANDSPAWN | ANTAG_OVERRIDE_JOB | ANTAG_VOTABLE
welcome_text = "Hiss! You are a larval alien. Hide and bide your time until you are ready to evolve." welcome_text = "Hiss! You are a larval alien. Hide and bide your time until you are ready to evolve."
antaghud_indicator = "hudalien"
hard_cap = 5 hard_cap = 5
hard_cap_round = 8 hard_cap_round = 8

View File

@@ -19,6 +19,7 @@
var/role_text_plural = "Traitors" // As above but plural. var/role_text_plural = "Traitors" // As above but plural.
// Visual references. // Visual references.
var/antaghud_indicator = "hudsyndicate" // Used by the ghost antagHUD.
var/antag_indicator // icon_state for icons/mob/mob.dm visual indicator. var/antag_indicator // icon_state for icons/mob/mob.dm visual indicator.
var/faction_indicator // See antag_indicator, but for factionalized people only. var/faction_indicator // See antag_indicator, but for factionalized people only.
var/faction_invisible // Can members of the faction identify other antagonists? var/faction_invisible // Can members of the faction identify other antagonists?
@@ -76,6 +77,11 @@
role_text_plural = role_text role_text_plural = role_text
if(config.protect_roles_from_antagonist) if(config.protect_roles_from_antagonist)
restricted_jobs |= protected_jobs restricted_jobs |= protected_jobs
if(antaghud_indicator)
if(!hud_icon_reference)
hud_icon_reference = list()
if(role_text) hud_icon_reference[role_text] = antaghud_indicator
if(faction_role_text) hud_icon_reference[faction_role_text] = antaghud_indicator
/datum/antagonist/proc/tick() /datum/antagonist/proc/tick()
return 1 return 1

View File

@@ -9,6 +9,7 @@ var/datum/antagonist/deathsquad/deathsquad
landmark_id = "Commando" landmark_id = "Commando"
flags = ANTAG_OVERRIDE_JOB | ANTAG_OVERRIDE_MOB | ANTAG_HAS_NUKE | ANTAG_HAS_LEADER flags = ANTAG_OVERRIDE_JOB | ANTAG_OVERRIDE_MOB | ANTAG_HAS_NUKE | ANTAG_HAS_LEADER
default_access = list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage) default_access = list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
antaghud_indicator = "huddeathsquad"
hard_cap = 4 hard_cap = 4
hard_cap_round = 8 hard_cap_round = 8

View File

@@ -10,6 +10,7 @@ var/datum/antagonist/ert/ert
leader_welcome_text = "As leader of the Emergency Response Team, you answer only to CentComm, and have authority to override the Captain where it is necessary to achieve your mission goals. It is recommended that you attempt to cooperate with the captain where possible, however." leader_welcome_text = "As leader of the Emergency Response Team, you answer only to CentComm, and have authority to override the Captain where it is necessary to achieve your mission goals. It is recommended that you attempt to cooperate with the captain where possible, however."
landmark_id = "Response Team" landmark_id = "Response Team"
flags = ANTAG_OVERRIDE_JOB | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER | ANTAG_CHOOSE_NAME flags = ANTAG_OVERRIDE_JOB | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER | ANTAG_CHOOSE_NAME
antaghud_indicator = "hudloyalist"
hard_cap = 5 hard_cap = 5
hard_cap_round = 7 hard_cap_round = 7

View File

@@ -12,6 +12,7 @@ var/datum/antagonist/mercenary/mercs
welcome_text = "To speak on the strike team's private channel use :t." welcome_text = "To speak on the strike team's private channel use :t."
flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_HAS_NUKE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_HAS_NUKE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER
id_type = /obj/item/weapon/card/id/syndicate id_type = /obj/item/weapon/card/id/syndicate
antaghud_indicator = "hudoperative"
hard_cap = 4 hard_cap = 4
hard_cap_round = 8 hard_cap_round = 8

View File

@@ -9,6 +9,7 @@ var/datum/antagonist/ninja/ninjas
landmark_id = "ninjastart" landmark_id = "ninjastart"
welcome_text = "You are an elite mercenary assassin of the Spider Clan. You have a variety of abilities at your disposal, thanks to your nano-enhanced cyber armor.</span>" welcome_text = "You are an elite mercenary assassin of the Spider Clan. You have a variety of abilities at your disposal, thanks to your nano-enhanced cyber armor.</span>"
flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_RANDSPAWN | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_RANDSPAWN | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE
antaghud_indicator = "hudninja"
initial_spawn_req = 1 initial_spawn_req = 1
initial_spawn_target = 1 initial_spawn_target = 1

View File

@@ -10,6 +10,7 @@ var/datum/antagonist/raider/raiders
landmark_id = "voxstart" landmark_id = "voxstart"
welcome_text = "Use :H to talk on your encrypted channel." welcome_text = "Use :H to talk on your encrypted channel."
flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER
antaghud_indicator = "hudmutineer"
hard_cap = 6 hard_cap = 6
hard_cap_round = 10 hard_cap_round = 10

View File

@@ -9,6 +9,7 @@ var/datum/antagonist/wizard/wizards
landmark_id = "wizard" landmark_id = "wizard"
welcome_text = "You will find a list of available spells in your spell book. Choose your magic arsenal carefully.<br>In your pockets you will find a teleport scroll. Use it as needed." welcome_text = "You will find a list of available spells in your spell book. Choose your magic arsenal carefully.<br>In your pockets you will find a teleport scroll. Use it as needed."
flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE
antaghud_indicator = "hudwizard"
hard_cap = 1 hard_cap = 1
hard_cap_round = 3 hard_cap_round = 3

View File

@@ -9,6 +9,7 @@
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain") protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain")
welcome_text = "Use say \":g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb them." welcome_text = "Use say \":g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb them."
flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE
antaghud_indicator = "hudchangeling"
/datum/antagonist/changeling/get_special_objective_text(var/datum/mind/player) /datum/antagonist/changeling/get_special_objective_text(var/datum/mind/player)
return "<br><b>Changeling ID:</b> [player.changeling.changelingID].<br><b>Genomes Absorbed:</b> [player.changeling.absorbedcount]" return "<br><b>Changeling ID:</b> [player.changeling.changelingID].<br><b>Genomes Absorbed:</b> [player.changeling.absorbedcount]"

View File

@@ -26,6 +26,7 @@ var/datum/antagonist/cultist/cult
hard_cap_round = 6 hard_cap_round = 6
initial_spawn_req = 4 initial_spawn_req = 4
initial_spawn_target = 6 initial_spawn_target = 6
antaghud_indicator = "hudcultist"
var/allow_narsie = 1 var/allow_narsie = 1
var/datum/mind/sacrifice_target var/datum/mind/sacrifice_target

View File

@@ -13,6 +13,7 @@ var/datum/antagonist/loyalists/loyalists
loss_text = "The heads of staff did not stop the revolution!" loss_text = "The heads of staff did not stop the revolution!"
victory_feedback_tag = "win - rev heads killed" victory_feedback_tag = "win - rev heads killed"
loss_feedback_tag = "loss - heads killed" loss_feedback_tag = "loss - heads killed"
antaghud_indicator = "hudloyalist"
flags = 0 flags = 0
hard_cap = 2 hard_cap = 2

View File

@@ -14,6 +14,7 @@ var/datum/antagonist/revolutionary/revs
victory_feedback_tag = "win - heads killed" victory_feedback_tag = "win - heads killed"
loss_feedback_tag = "loss - rev heads killed" loss_feedback_tag = "loss - rev heads killed"
flags = ANTAG_SUSPICIOUS | ANTAG_VOTABLE flags = ANTAG_SUSPICIOUS | ANTAG_VOTABLE
antaghud_indicator = "hudrevolutionary"
hard_cap = 2 hard_cap = 2
hard_cap_round = 4 hard_cap_round = 4

View File

@@ -15,7 +15,7 @@ var/datum/antagonist/rogue_ai/malf
hard_cap_round = 1 hard_cap_round = 1
initial_spawn_req = 1 initial_spawn_req = 1
initial_spawn_target = 1 initial_spawn_target = 1
antaghud_indicator = "hudmalai"
/datum/antagonist/rogue_ai/New() /datum/antagonist/rogue_ai/New()
..() ..()

View File

@@ -12,6 +12,7 @@ var/global/list/processing_power_items = list()
var/global/list/active_diseases = list() var/global/list/active_diseases = list()
var/global/list/med_hud_users = list() // List of all entities using a medical HUD. var/global/list/med_hud_users = list() // List of all entities using a medical HUD.
var/global/list/sec_hud_users = list() // List of all entities using a security HUD. var/global/list/sec_hud_users = list() // List of all entities using a security HUD.
var/global/list/hud_icon_reference = list()
// Those networks can only be accessed by pre-existing terminals. AIs and new terminals can't use them. // Those networks can only be accessed by pre-existing terminals. AIs and new terminals can't use them.
var/list/restricted_camera_networks = list("thunder","ERT","NUKE","Secret") var/list/restricted_camera_networks = list("thunder","ERT","NUKE","Secret")

View File

@@ -123,7 +123,7 @@ Works together with spawning an observer, noted above.
if(antagHUD) if(antagHUD)
var/list/target_list = list() var/list/target_list = list()
for(var/mob/living/target in oview(src, 14)) for(var/mob/living/target in oview(src, 14))
if(target.mind&&(target.mind.special_role||issilicon(target)) ) if(target.mind && target.mind.special_role)
target_list += target target_list += target
if(target_list.len) if(target_list.len)
assess_targets(target_list, src) assess_targets(target_list, src)

View File

@@ -1679,35 +1679,11 @@
if (BITTEST(hud_updateflag, SPECIALROLE_HUD)) if (BITTEST(hud_updateflag, SPECIALROLE_HUD))
var/image/holder = hud_list[SPECIALROLE_HUD] var/image/holder = hud_list[SPECIALROLE_HUD]
holder.icon_state = "hudblank" holder.icon_state = "hudblank"
if(mind) if(mind && mind.special_role)
if(hud_icon_reference[mind.special_role])
// TODO: Update to new antagonist system. holder.icon_state = hud_icon_reference[mind.special_role]
switch(mind.special_role) else
if("traitor","Mercenary") holder.icon_state = "hudsyndicate"
holder.icon_state = "hudsyndicate"
if("Revolutionary")
holder.icon_state = "hudrevolutionary"
if("Head Revolutionary")
holder.icon_state = "hudheadrevolutionary"
if("Cultist")
holder.icon_state = "hudcultist"
if("Changeling")
holder.icon_state = "hudchangeling"
if("Wizard","Fake Wizard")
holder.icon_state = "hudwizard"
if("Death Commando")
holder.icon_state = "huddeathsquad"
if("Ninja")
holder.icon_state = "hudninja"
if("head_loyalist")
holder.icon_state = "hudloyalist"
if("loyalist")
holder.icon_state = "hudloyalist"
if("head_mutineer")
holder.icon_state = "hudmutineer"
if("mutineer")
holder.icon_state = "hudmutineer"
hud_list[SPECIALROLE_HUD] = holder hud_list[SPECIALROLE_HUD] = holder
hud_updateflag = 0 hud_updateflag = 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB