Response Team Stats (#6796)

This commit is contained in:
Werner
2019-08-02 01:41:19 +02:00
committed by GitHub
parent 5fff97019f
commit cf4f66dfcd
3 changed files with 92 additions and 21 deletions

View File

@@ -4,24 +4,35 @@
name = "Response Team"
wait = 1800 //Fire only every 3 minutes - Not more often needed for now
var/ert_progression_chance = 0
var/progression_chance = 0
var/percentage_antagonists = 0
var/percentage_dead = 0
var/can_call_ert = TRUE
var/ert_type = "NanoTrasen Response Team" //what ert type will be deployed
var/send_emergency_team = 0
var/ert_type = "NT-ERT" //what ert type will be deployed
var/send_emergency_team = 0
var/ert_count = 0
var/pg_green = 0
var/pg_yellow = 0
var/pg_red = 0
var/pg_delta = 0
/datum/controller/subsystem/responseteam/Recover()
ert_progression_chance = SSresponseteam.ert_progression_chance
progression_chance = SSresponseteam.progression_chance
can_call_ert = SSresponseteam.can_call_ert
ert_type = SSresponseteam.ert_type
send_emergency_team = SSresponseteam.send_emergency_team
pg_green = SSresponseteam.pg_green
pg_yellow = SSresponseteam.pg_yellow
pg_red = SSresponseteam.pg_red
pg_delta = SSresponseteam.pg_delta
/datum/controller/subsystem/responseteam/New()
NEW_SS_GLOBAL(SSresponseteam)
feedback_set("responseteam_count",0)
/datum/controller/subsystem/responseteam/stat_entry()
var/out = "PC:[ert_progression_chance] "
var/out = "PGC:[progression_chance] "
out += "BC:[config.ert_base_chance]\n"
out += "PA:[percentage_antagonists] "
out += "PAF:[config.ert_scaling_factor_antag]\n"
@@ -52,23 +63,30 @@
switch(get_security_level())
if("green")
ert_progression_chance += config.ert_green_inc
progression_chance += config.ert_green_inc
pg_green += config.ert_green_inc
if("blue")
ert_progression_chance += config.ert_yellow_inc
progression_chance += config.ert_yellow_inc
pg_yellow += config.ert_yellow_inc
if("red")
ert_progression_chance += config.ert_blue_inc
progression_chance += config.ert_blue_inc
pg_red += config.ert_red_inc
if("delta")
ert_progression_chance += config.ert_green_inc
progression_chance += config.ert_delta_inc
pg_delta += config.ert_delta_inc
else
ert_progression_chance += 1
progression_chance += 1
/datum/controller/subsystem/responseteam/proc/trigger_armed_response_team(var/forced_choice = FALSE)
if(!can_call_ert && !forced_choice)
return
if(send_emergency_team)
return
ert_count++
feedback_inc("responseteam_count")
var/ert_chance = ert_progression_chance + config.ert_base_chance // Is incremented by fire.
var/ert_chance = progression_chance + config.ert_base_chance // Is incremented by fire.
ert_chance += config.ert_scaling_factor_dead*percentage_dead // the more people are dead, the higher the chance
ert_chance += config.ert_scaling_factor_antag*percentage_antagonists // the more antagonists, the higher the chance
ert_chance *= config.ert_scaling_factor
@@ -79,17 +97,28 @@
if(forced_choice)
ert_type = forced_choice
else if(!forced_choice && !prob(ert_chance))
ert_type = "Tau Ceti Foreign Legion"
ert_type = "TCFL"
feedback_set("responseteam[ert_count]",world.time)
feedback_add_details("responseteam[ert_count]","BC:[config.ert_base_chance]")
feedback_add_details("responseteam[ert_count]","PGC:[progression_chance]")
feedback_add_details("responseteam[ert_count]","PGG:[pg_green]")
feedback_add_details("responseteam[ert_count]","PGY:[pg_yellow]")
feedback_add_details("responseteam[ert_count]","PGR:[pg_red]")
feedback_add_details("responseteam[ert_count]","PGD:[pg_delta]")
feedback_add_details("responseteam[ert_count]","PA:[percentage_antagonists]")
feedback_add_details("responseteam[ert_count]","PAF:[config.ert_scaling_factor_antag]")
feedback_add_details("responseteam[ert_count]","PD:[percentage_dead]")
feedback_add_details("responseteam[ert_count]","PDF:[config.ert_scaling_factor_dead]")
feedback_add_details("responseteam[ert_count]","SF:[config.ert_scaling_factor]")
feedback_add_details("responseteam[ert_count]","RT:[ert_type]")
can_call_ert = FALSE // Only one call per round, gentleman.
send_emergency_team = 1
feedback_set("ert_called",ert_chance)
feedback_set_details("ert_called",ert_type)
sleep(600 * 5)
send_emergency_team = 0 // Can no longer join the ERT.
ert_type = "NanoTrasen Response Team"
ert_type = "NT-ERT"
/client/proc/response_team()
@@ -113,7 +142,7 @@
if("No")
return
var/choice = input("Select the response team type","Response team selection") as null|anything in list("NanoTrasen Response Team", "Tau Ceti Foreign Legion")
var/choice = input("Select the response team type","Response team selection") as null|anything in list("NT-ERT", "TCFL")
if(!choice)
choice = FALSE
@@ -122,11 +151,11 @@
to_chat(usr, "<span class='danger'>Looks like somebody beat you to it!</span>")
return
message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team.", 1)
log_admin("[key_name(usr)] used Dispatch Response Team.",admin_key=key_name(usr))
message_admins("[key_name_admin(usr)] is dispatching a Response Team: [choice].", 1)
log_admin("[key_name(usr)] used Dispatch Response Team: [choice].",admin_key=key_name(usr))
SSresponseteam.trigger_armed_response_team(choice)
client/verb/JoinResponseTeam()
/client/verb/JoinResponseTeam()
set name = "Join Response Team"
set category = "IC"
@@ -147,7 +176,7 @@ client/verb/JoinResponseTeam()
switch(SSresponseteam.ert_type)
if("Tau Ceti Foreign Legion")
if("TCFL")
if(legion.current_antagonists.len >= legion.hard_cap)
to_chat(usr, "The emergency response team is already full!")
return