mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Refactored the antagHUD to work better with the new antagonist system.
This commit is contained in:
@@ -8,6 +8,7 @@ var/datum/antagonist/xenos/borer/borers
|
||||
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."
|
||||
antag_indicator = "brainworm"
|
||||
antaghud_indicator = "hudborer"
|
||||
|
||||
faction_role_text = "Borer Thrall"
|
||||
faction_descriptor = "Unity"
|
||||
|
||||
@@ -9,6 +9,7 @@ var/datum/antagonist/xenos/xenomorphs
|
||||
bantype = "Xenomorph"
|
||||
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."
|
||||
antaghud_indicator = "hudalien"
|
||||
|
||||
hard_cap = 5
|
||||
hard_cap_round = 8
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
var/role_text_plural = "Traitors" // As above but plural.
|
||||
|
||||
// Visual references.
|
||||
var/antaghud_indicator = "hudsyndicate" // Used by the ghost antagHUD.
|
||||
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_invisible // Can members of the faction identify other antagonists?
|
||||
@@ -76,6 +77,11 @@
|
||||
role_text_plural = role_text
|
||||
if(config.protect_roles_from_antagonist)
|
||||
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()
|
||||
return 1
|
||||
|
||||
@@ -9,6 +9,7 @@ var/datum/antagonist/deathsquad/deathsquad
|
||||
landmark_id = "Commando"
|
||||
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)
|
||||
antaghud_indicator = "huddeathsquad"
|
||||
|
||||
hard_cap = 4
|
||||
hard_cap_round = 8
|
||||
|
||||
@@ -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."
|
||||
landmark_id = "Response Team"
|
||||
flags = ANTAG_OVERRIDE_JOB | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER | ANTAG_CHOOSE_NAME
|
||||
antaghud_indicator = "hudloyalist"
|
||||
|
||||
hard_cap = 5
|
||||
hard_cap_round = 7
|
||||
|
||||
@@ -12,6 +12,7 @@ var/datum/antagonist/mercenary/mercs
|
||||
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
|
||||
id_type = /obj/item/weapon/card/id/syndicate
|
||||
antaghud_indicator = "hudoperative"
|
||||
|
||||
hard_cap = 4
|
||||
hard_cap_round = 8
|
||||
|
||||
@@ -9,6 +9,7 @@ var/datum/antagonist/ninja/ninjas
|
||||
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>"
|
||||
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_target = 1
|
||||
|
||||
@@ -10,6 +10,7 @@ var/datum/antagonist/raider/raiders
|
||||
landmark_id = "voxstart"
|
||||
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
|
||||
antaghud_indicator = "hudmutineer"
|
||||
|
||||
hard_cap = 6
|
||||
hard_cap_round = 10
|
||||
|
||||
@@ -9,6 +9,7 @@ var/datum/antagonist/wizard/wizards
|
||||
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."
|
||||
flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE
|
||||
antaghud_indicator = "hudwizard"
|
||||
|
||||
hard_cap = 1
|
||||
hard_cap_round = 3
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
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."
|
||||
flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE
|
||||
antaghud_indicator = "hudchangeling"
|
||||
|
||||
/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]"
|
||||
|
||||
@@ -26,6 +26,7 @@ var/datum/antagonist/cultist/cult
|
||||
hard_cap_round = 6
|
||||
initial_spawn_req = 4
|
||||
initial_spawn_target = 6
|
||||
antaghud_indicator = "hudcultist"
|
||||
|
||||
var/allow_narsie = 1
|
||||
var/datum/mind/sacrifice_target
|
||||
|
||||
@@ -13,6 +13,7 @@ var/datum/antagonist/loyalists/loyalists
|
||||
loss_text = "The heads of staff did not stop the revolution!"
|
||||
victory_feedback_tag = "win - rev heads killed"
|
||||
loss_feedback_tag = "loss - heads killed"
|
||||
antaghud_indicator = "hudloyalist"
|
||||
flags = 0
|
||||
|
||||
hard_cap = 2
|
||||
|
||||
@@ -14,6 +14,7 @@ var/datum/antagonist/revolutionary/revs
|
||||
victory_feedback_tag = "win - heads killed"
|
||||
loss_feedback_tag = "loss - rev heads killed"
|
||||
flags = ANTAG_SUSPICIOUS | ANTAG_VOTABLE
|
||||
antaghud_indicator = "hudrevolutionary"
|
||||
|
||||
hard_cap = 2
|
||||
hard_cap_round = 4
|
||||
|
||||
@@ -15,7 +15,7 @@ var/datum/antagonist/rogue_ai/malf
|
||||
hard_cap_round = 1
|
||||
initial_spawn_req = 1
|
||||
initial_spawn_target = 1
|
||||
|
||||
antaghud_indicator = "hudmalai"
|
||||
|
||||
/datum/antagonist/rogue_ai/New()
|
||||
..()
|
||||
|
||||
@@ -12,6 +12,7 @@ var/global/list/processing_power_items = 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/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.
|
||||
var/list/restricted_camera_networks = list("thunder","ERT","NUKE","Secret")
|
||||
|
||||
@@ -123,7 +123,7 @@ Works together with spawning an observer, noted above.
|
||||
if(antagHUD)
|
||||
var/list/target_list = list()
|
||||
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
|
||||
if(target_list.len)
|
||||
assess_targets(target_list, src)
|
||||
|
||||
@@ -1679,35 +1679,11 @@
|
||||
if (BITTEST(hud_updateflag, SPECIALROLE_HUD))
|
||||
var/image/holder = hud_list[SPECIALROLE_HUD]
|
||||
holder.icon_state = "hudblank"
|
||||
if(mind)
|
||||
|
||||
// TODO: Update to new antagonist system.
|
||||
switch(mind.special_role)
|
||||
if("traitor","Mercenary")
|
||||
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"
|
||||
|
||||
if(mind && mind.special_role)
|
||||
if(hud_icon_reference[mind.special_role])
|
||||
holder.icon_state = hud_icon_reference[mind.special_role]
|
||||
else
|
||||
holder.icon_state = "hudsyndicate"
|
||||
hud_list[SPECIALROLE_HUD] = holder
|
||||
hud_updateflag = 0
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Reference in New Issue
Block a user