Merge pull request #3984 from Citadel-Station-13/upstream-merge-32188
[MIRROR] JSON feedback
This commit is contained in:
@@ -114,19 +114,19 @@
|
||||
for(var/datum/objective/objective in team.objectives)
|
||||
if(objective.check_completion())
|
||||
text += "<br><B>Objective #[objective_count]</B>: [objective.explanation_text] <font color='green'><B>Success!</B></font> [istype(objective, /datum/objective/crew) ? "<font color='grey'>(Optional)</font>" : ""]"
|
||||
SSblackbox.add_details("traitor_objective","[objective.type]|SUCCESS")
|
||||
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[objective.type]", "SUCCESS"))
|
||||
else
|
||||
text += "<br><B>Objective #[objective_count]</B>: [objective.explanation_text] <font color='red'>Fail.</font> [istype(objective, /datum/objective/crew) ? "<font color='grey'>(Optional)</font>" : ""]"
|
||||
SSblackbox.add_details("traitor_objective","[objective.type]|FAIL")
|
||||
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[objective.type]", "FAIL"))
|
||||
if(!(istype(objective, /datum/objective/crew)))
|
||||
win = FALSE
|
||||
objective_count++
|
||||
if(win)
|
||||
text += "<br><font color='green'><B>The blood brothers were successful!</B></font>"
|
||||
SSblackbox.add_details("brother_success","SUCCESS")
|
||||
SSblackbox.record_feedback("tally", "brother_success", 1, "SUCCESS")
|
||||
else
|
||||
text += "<br><font color='red'><B>The blood brothers have failed!</B></font>"
|
||||
SSblackbox.add_details("brother_success","FAIL")
|
||||
SSblackbox.record_feedback("tally", "brother_success", 1, "FAIL")
|
||||
text += "<br>"
|
||||
to_chat(world, text)
|
||||
|
||||
|
||||
@@ -115,20 +115,20 @@ GLOBAL_VAR(changeling_team_objective_type) //If this is not null, we hand our th
|
||||
for(var/datum/objective/objective in changeling.objectives)
|
||||
if(objective.check_completion())
|
||||
text += "<br><b>Objective #[count]</b>: [objective.explanation_text] <font color='green'><b>Success!</b></font> [istype(objective, /datum/objective/crew) ? "<font color='grey'>(Optional)</font>" : ""]"
|
||||
SSblackbox.add_details("changeling_objective","[objective.type]|SUCCESS")
|
||||
SSblackbox.record_feedback("nested tally", "changeling_objective", 1, list("[objective.type]", "SUCCESS"))
|
||||
else
|
||||
text += "<br><b>Objective #[count]</b>: [objective.explanation_text] <span class='danger'>Fail.</span> [istype(objective, /datum/objective/crew) ? "<font color='grey'>(Optional)</font>" : ""]"
|
||||
SSblackbox.add_details("changeling_objective","[objective.type]|FAIL")
|
||||
SSblackbox.record_feedback("nested tally", "changeling_objective", 1, list("[objective.type]", "FAIL"))
|
||||
if(!(istype(objective, /datum/objective/crew)))
|
||||
changelingwin = 0
|
||||
count++
|
||||
|
||||
if(changelingwin)
|
||||
text += "<br><font color='green'><b>The changeling was successful!</b></font>"
|
||||
SSblackbox.add_details("changeling_success","SUCCESS")
|
||||
SSblackbox.record_feedback("tally", "changeling_success", 1, "SUCCESS")
|
||||
else
|
||||
text += "<br><span class='boldannounce'>The changeling has failed.</span>"
|
||||
SSblackbox.add_details("changeling_success","FAIL")
|
||||
SSblackbox.record_feedback("tally", "changeling_success", 1, "FAIL")
|
||||
text += "<br>"
|
||||
|
||||
to_chat(world, text)
|
||||
@@ -174,4 +174,4 @@ GLOBAL_VAR(changeling_team_objective_type) //If this is not null, we hand our th
|
||||
if(equip)
|
||||
user.equip_to_slot_or_del(C, GLOB.slot2slot[slot])
|
||||
|
||||
user.regenerate_icons()
|
||||
user.regenerate_icons()
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
/obj/effect/proc_holder/changeling/proc/on_purchase(mob/user, is_respec)
|
||||
if(!is_respec)
|
||||
SSblackbox.add_details("changeling_power_purchase",name)
|
||||
SSblackbox.record_feedback("tally", "changeling_power_purchase", 1, name)
|
||||
|
||||
/obj/effect/proc_holder/changeling/proc/on_refund(mob/user)
|
||||
return
|
||||
@@ -35,7 +35,7 @@
|
||||
return
|
||||
var/datum/antagonist/changeling/c = user.mind.has_antag_datum(/datum/antagonist/changeling)
|
||||
if(sting_action(user, target))
|
||||
SSblackbox.add_details("changeling_powers",name)
|
||||
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
|
||||
sting_feedback(user, target)
|
||||
c.chem_charges -= chemical_cost
|
||||
|
||||
|
||||
@@ -41,13 +41,13 @@
|
||||
to_chat(target, "<span class='userdanger'>You feel a sharp stabbing pain!</span>")
|
||||
target.take_overall_damage(40)
|
||||
|
||||
SSblackbox.add_details("changeling_powers","Absorb DNA|[i]")
|
||||
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("Absorb DNA", "[i]"))
|
||||
if(!do_mob(user, target, 150))
|
||||
to_chat(user, "<span class='warning'>Our absorption of [target] has been interrupted!</span>")
|
||||
changeling.isabsorbing = 0
|
||||
return
|
||||
|
||||
SSblackbox.add_details("changeling_powers","Absorb DNA|4")
|
||||
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("Absorb DNA", "4"))
|
||||
user.visible_message("<span class='danger'>[user] sucks the fluids from [target]!</span>", "<span class='notice'>We have absorbed [target].</span>")
|
||||
to_chat(target, "<span class='userdanger'>You are absorbed by the changeling!</span>")
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
to_chat(target, "<font color=#800040><span class='boldannounce'>You can now communicate in the changeling hivemind, say \":g message\" to communicate!</span>")
|
||||
target.reagents.add_reagent("salbutamol", 40) // So they don't choke to death while you interrogate them
|
||||
sleep(1800)
|
||||
SSblackbox.add_details("changeling_powers","Hivemind Link|[i]")
|
||||
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]", "[i]"))
|
||||
if(!do_mob(user, target, 20))
|
||||
to_chat(user, "<span class='warning'>Our link with [target] has ended!</span>")
|
||||
changeling.islinking = 0
|
||||
|
||||
@@ -66,7 +66,7 @@ Applications: 8 servants, 3 caches, and 100 CV
|
||||
else
|
||||
successful = TRUE
|
||||
if(slab && !slab.no_cost && !GLOB.ratvar_awakens) //if the slab exists and isn't debug and ratvar isn't up, log the scripture as being used
|
||||
SSblackbox.add_details("clockcult_scripture_recited", name)
|
||||
SSblackbox.record_feedback("tally", "clockcult_scripture_recited", 1, name)
|
||||
if(slab)
|
||||
slab.busy = null
|
||||
post_recital()
|
||||
|
||||
@@ -237,27 +237,27 @@
|
||||
if("survive")
|
||||
if(!check_survive())
|
||||
explanation = "Make sure at least [acolytes_needed] acolytes escape on the shuttle. ([acolytes_survived] escaped) <span class='greenannounce'>Success!</span>"
|
||||
SSblackbox.add_details("cult_objective","cult_survive|SUCCESS|[acolytes_needed]")
|
||||
SSblackbox.record_feedback("nested tally", "cult_objective", 1, list("cult_survive", "SUCCESS"))
|
||||
SSticker.news_report = CULT_ESCAPE
|
||||
else
|
||||
explanation = "Make sure at least [acolytes_needed] acolytes escape on the shuttle. ([acolytes_survived] escaped) <span class='boldannounce'>Fail.</span>"
|
||||
SSblackbox.add_details("cult_objective","cult_survive|FAIL|[acolytes_needed]")
|
||||
SSblackbox.record_feedback("nested tally", "cult_objective", 1, list("cult_survive", "FAIL"))
|
||||
SSticker.news_report = CULT_FAILURE
|
||||
if("sacrifice")
|
||||
if(GLOB.sac_complete)
|
||||
explanation = "Sacrifice [GLOB.sac_mind], the [GLOB.sac_mind.assigned_role]. <span class='greenannounce'>Success!</span>"
|
||||
SSblackbox.add_details("cult_objective","cult_sacrifice|SUCCESS")
|
||||
SSblackbox.record_feedback("nested tally", "cult_objective", 1, list("cult_sacrifice", "SUCCESS"))
|
||||
else
|
||||
explanation = "Sacrifice [GLOB.sac_mind], the [GLOB.sac_mind.assigned_role]. <span class='boldannounce'>Fail.</span>"
|
||||
SSblackbox.add_details("cult_objective","cult_sacrifice|FAIL")
|
||||
SSblackbox.record_feedback("nested tally", "cult_objective", 1, list("cult_sacrifice", "FAIL"))
|
||||
if("eldergod")
|
||||
if(!eldergod)
|
||||
explanation = "Summon Nar-Sie. The summoning can only be accomplished in [english_list(GLOB.summon_spots)].<span class='greenannounce'>Success!</span>"
|
||||
SSblackbox.add_details("cult_objective","cult_narsie|SUCCESS")
|
||||
SSblackbox.record_feedback("nested tally", "cult_objective", 1, list("cult_narsie", "SUCCESS"))
|
||||
SSticker.news_report = CULT_SUMMON
|
||||
else
|
||||
explanation = "Summon Nar-Sie. The summoning can only be accomplished in [english_list(GLOB.summon_spots)]<span class='boldannounce'>Fail.</span>"
|
||||
SSblackbox.add_details("cult_objective","cult_narsie|FAIL")
|
||||
SSblackbox.record_feedback("nested tally", "cult_objective", 1, list("cult_narsie", "FAIL"))
|
||||
SSticker.news_report = CULT_FAILURE
|
||||
|
||||
text += "<br><B>Objective #[obj_count]</B>: [explanation]"
|
||||
@@ -297,18 +297,18 @@
|
||||
if(GLOB.sac_mind)
|
||||
if(GLOB.sac_complete)
|
||||
explanation = "Sacrifice [GLOB.sac_mind], the [GLOB.sac_mind.assigned_role]. <span class='greenannounce'>Success!</span>"
|
||||
SSblackbox.add_details("cult_objective","cult_sacrifice|SUCCESS")
|
||||
SSblackbox.record_feedback("nested tally", "cult_objective", 1, list("cult_sacrifice", "SUCCESS"))
|
||||
else
|
||||
explanation = "Sacrifice [GLOB.sac_mind], the [GLOB.sac_mind.assigned_role]. <span class='boldannounce'>Fail.</span>"
|
||||
SSblackbox.add_details("cult_objective","cult_sacrifice|FAIL")
|
||||
SSblackbox.record_feedback("nested tally", "cult_objective", 1, list("cult_sacrifice", "FAIL"))
|
||||
if("eldergod")
|
||||
if(!eldergod)
|
||||
explanation = "Summon Nar-Sie. <span class='greenannounce'>Success!</span>"
|
||||
SSblackbox.add_details("cult_objective","cult_narsie|SUCCESS")
|
||||
SSblackbox.record_feedback("nested tally", "cult_objective", 1, list("cult_narsie", "SUCCESS"))
|
||||
SSticker.news_report = CULT_SUMMON
|
||||
else
|
||||
explanation = "Summon Nar-Sie. <span class='boldannounce'>Fail.</span>"
|
||||
SSblackbox.add_details("cult_objective","cult_narsie|FAIL")
|
||||
SSblackbox.record_feedback("nested tally", "cult_objective", 1, list("cult_narsie", "FAIL"))
|
||||
SSticker.news_report = CULT_FAILURE
|
||||
text += "<br><B>Objective #[obj_count]</B>: [explanation]"
|
||||
to_chat(world, text)
|
||||
|
||||
@@ -246,7 +246,7 @@ This file contains the arcane tome files.
|
||||
var/obj/effect/rune/R = new rune_to_scribe(Turf, chosen_keyword)
|
||||
R.add_mob_blood(user)
|
||||
to_chat(user, "<span class='cult'>The [lowertext(R.cultist_name)] rune [R.cultist_desc]</span>")
|
||||
SSblackbox.add_details("cult_runes_scribed", R.cultist_name)
|
||||
SSblackbox.record_feedback("tally", "cult_runes_scribed", 1, R.cultist_name)
|
||||
|
||||
/obj/item/tome/proc/check_rune_turf(turf/T, mob/user)
|
||||
if(isspaceturf(T))
|
||||
|
||||
@@ -266,18 +266,19 @@
|
||||
if(isobserver(M))
|
||||
ghosts++
|
||||
|
||||
if(clients > 0)
|
||||
SSblackbox.set_val("round_end_clients",clients)
|
||||
if(ghosts > 0)
|
||||
SSblackbox.set_val("round_end_ghosts",ghosts)
|
||||
if(surviving_humans > 0)
|
||||
SSblackbox.set_val("survived_human",surviving_humans)
|
||||
if(surviving_total > 0)
|
||||
SSblackbox.set_val("survived_total",surviving_total)
|
||||
if(escaped_humans > 0)
|
||||
SSblackbox.set_val("escaped_human",escaped_humans)
|
||||
if(escaped_total > 0)
|
||||
SSblackbox.set_val("escaped_total",escaped_total)
|
||||
if(clients)
|
||||
SSblackbox.record_feedback("nested tally", "round_end_stats", clients, list("clients"))
|
||||
if(ghosts)
|
||||
SSblackbox.record_feedback("nested tally", "round_end_stats", ghosts, list("ghosts"))
|
||||
if(surviving_humans)
|
||||
SSblackbox.record_feedback("nested tally", "round_end_stats", surviving_humans, list("survivors", "human"))
|
||||
if(surviving_total)
|
||||
SSblackbox.record_feedback("nested tally", "round_end_stats", surviving_total, list("survivors", "total"))
|
||||
if(escaped_humans)
|
||||
SSblackbox.record_feedback("nested tally", "round_end_stats", escaped_humans, list("escapees", "human"))
|
||||
if(escaped_total)
|
||||
SSblackbox.record_feedback("nested tally", "round_end_stats", escaped_total, list("escapees", "total"))
|
||||
|
||||
send2irc("Server", "Round just ended.")
|
||||
if(cult.len && !istype(SSticker.mode, /datum/game_mode/cult))
|
||||
datum_cult_completion()
|
||||
|
||||
@@ -59,7 +59,8 @@
|
||||
U.hidden_uplink.telecrystals = CHALLENGE_TELECRYSTALS
|
||||
U.hidden_uplink.set_gamemode(/datum/game_mode/nuclear)
|
||||
CONFIG_SET(number/shuttle_refuel_delay, max(CONFIG_GET(number/shuttle_refuel_delay), CHALLENGE_SHUTTLE_DELAY))
|
||||
SSblackbox.set_val("nuclear_challenge_mode",1)
|
||||
SSblackbox.record_feedback("amount", "nuclear_challenge_mode", 1)
|
||||
|
||||
qdel(src)
|
||||
|
||||
/obj/item/device/nuclear_challenge/proc/check_allowed(mob/living/user)
|
||||
|
||||
@@ -115,10 +115,10 @@
|
||||
for(var/datum/objective/objective in traitor.objectives)
|
||||
if(objective.check_completion())
|
||||
objectives += "<br><B>Objective #[count]</B>: [objective.explanation_text] <font color='green'><B>Success!</B></font> [istype(objective, /datum/objective/crew) ? "<font color='grey'>(Optional)</font>" : ""]"
|
||||
SSblackbox.add_details("traitor_objective","[objective.type]|SUCCESS")
|
||||
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[objective.type]", "SUCCESS"))
|
||||
else
|
||||
objectives += "<br><B>Objective #[count]</B>: [objective.explanation_text] <font color='red'>Fail.</font> [istype(objective, /datum/objective/crew) ? "<font color='grey'>(Optional)</font>" : ""]"
|
||||
SSblackbox.add_details("traitor_objective","[objective.type]|FAIL")
|
||||
SSblackbox.record_feedback("nested tally", "traitor_objective", 1, list("[objective.type]", "FAIL"))
|
||||
if(!(istype(objective, /datum/objective/crew)))
|
||||
traitorwin = FALSE
|
||||
count++
|
||||
@@ -140,10 +140,10 @@
|
||||
|
||||
if(traitorwin)
|
||||
text += "<br><font color='green'><B>The [special_role_text] was successful!</B></font>"
|
||||
SSblackbox.add_details("traitor_success","SUCCESS")
|
||||
SSblackbox.record_feedback("tally", "traitor_success", 1, "SUCCESS")
|
||||
else
|
||||
text += "<br><font color='red'><B>The [special_role_text] has failed!</B></font>"
|
||||
SSblackbox.add_details("traitor_success","FAIL")
|
||||
SSblackbox.record_feedback("tally", "traitor_success", 1, "FAIL")
|
||||
SEND_SOUND(traitor.current, 'sound/ambience/ambifailure.ogg')
|
||||
|
||||
text += "<br>"
|
||||
|
||||
@@ -57,10 +57,10 @@
|
||||
aspell.name = "Instant [aspell.name]"
|
||||
if(aspell.spell_level >= aspell.level_max)
|
||||
to_chat(user, "<span class='notice'>This spell cannot be strengthened any further.</span>")
|
||||
SSblackbox.add_details("wizard_spell_improved", "[name]|[aspell.level]")
|
||||
SSblackbox.record_feedback("nested tally", "wizard_spell_improved", 1, list("[name]", "[aspell.level]"))
|
||||
return 1
|
||||
//No same spell found - just learn it
|
||||
SSblackbox.add_details("wizard_spell_learned", name)
|
||||
SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name)
|
||||
user.mind.AddSpell(S)
|
||||
to_chat(user, "<span class='notice'>You have learned [S.name].</span>")
|
||||
return 1
|
||||
@@ -265,7 +265,7 @@
|
||||
|
||||
/datum/spellbook_entry/item/Buy(mob/living/carbon/human/user,obj/item/spellbook/book)
|
||||
new item_path(get_turf(user))
|
||||
SSblackbox.add_details("wizard_spell_learned", name)
|
||||
SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name)
|
||||
return 1
|
||||
|
||||
/datum/spellbook_entry/item/GetInfo()
|
||||
@@ -464,7 +464,7 @@
|
||||
return TRUE
|
||||
|
||||
/datum/spellbook_entry/summon/ghosts/Buy(mob/living/carbon/human/user, obj/item/spellbook/book)
|
||||
SSblackbox.add_details("wizard_spell_learned", name)
|
||||
SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name)
|
||||
new /datum/round_event/wizard/ghost()
|
||||
active = TRUE
|
||||
to_chat(user, "<span class='notice'>You have cast summon ghosts!</span>")
|
||||
@@ -481,7 +481,7 @@
|
||||
return !CONFIG_GET(flag/no_summon_guns)
|
||||
|
||||
/datum/spellbook_entry/summon/guns/Buy(mob/living/carbon/human/user,obj/item/spellbook/book)
|
||||
SSblackbox.add_details("wizard_spell_learned", name)
|
||||
SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name)
|
||||
rightandwrong(0, user, 25)
|
||||
active = 1
|
||||
playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1)
|
||||
@@ -498,7 +498,7 @@
|
||||
return !CONFIG_GET(flag/no_summon_magic)
|
||||
|
||||
/datum/spellbook_entry/summon/magic/Buy(mob/living/carbon/human/user,obj/item/spellbook/book)
|
||||
SSblackbox.add_details("wizard_spell_learned", name)
|
||||
SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name)
|
||||
rightandwrong(1, user, 25)
|
||||
active = 1
|
||||
playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1)
|
||||
@@ -516,7 +516,7 @@
|
||||
return !CONFIG_GET(flag/no_summon_events)
|
||||
|
||||
/datum/spellbook_entry/summon/events/Buy(mob/living/carbon/human/user,obj/item/spellbook/book)
|
||||
SSblackbox.add_details("wizard_spell_learned", name)
|
||||
SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name)
|
||||
summonevents()
|
||||
times++
|
||||
playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1)
|
||||
|
||||
@@ -91,20 +91,20 @@
|
||||
for(var/datum/objective/objective in wizard.objectives)
|
||||
if(objective.check_completion())
|
||||
text += "<br><B>Objective #[count]</B>: [objective.explanation_text] <font color='green'><B>Success!</B></font> [istype(objective, /datum/objective/crew) ? "<font color='grey'>(Optional)</font>" : ""]"
|
||||
SSblackbox.add_details("wizard_objective","[objective.type]|SUCCESS")
|
||||
SSblackbox.record_feedback("nested tally", "wizard_objective", 1, list("[objective.type]", "SUCCESS"))
|
||||
else
|
||||
text += "<br><B>Objective #[count]</B>: [objective.explanation_text] <font color='red'>Fail.</font> [istype(objective, /datum/objective/crew) ? "<font color='grey'>(Optional)</font>" : ""]"
|
||||
SSblackbox.add_details("wizard_objective","[objective.type]|FAIL")
|
||||
SSblackbox.record_feedback("nested tally", "wizard_objective", 1, list("[objective.type]", "FAIL"))
|
||||
if(!(istype(objective, /datum/objective/crew)))
|
||||
wizardwin = 0
|
||||
count++
|
||||
|
||||
if(wizard.current && wizard.current.stat!=2 && wizardwin)
|
||||
text += "<br><font color='green'><B>The wizard was successful!</B></font>"
|
||||
SSblackbox.add_details("wizard_success","SUCCESS")
|
||||
SSblackbox.record_feedback("tally", "wizard_success", 1, "SUCCESS")
|
||||
else
|
||||
text += "<br><font color='red'><B>The wizard has failed!</B></font>"
|
||||
SSblackbox.add_details("wizard_success","FAIL")
|
||||
SSblackbox.record_feedback("tally", "wizard_success", 1, "FAIL")
|
||||
if(wizard.spell_list.len>0)
|
||||
text += "<br><B>[wizard.name] used the following spells: </B>"
|
||||
var/i = 1
|
||||
|
||||
@@ -229,7 +229,6 @@
|
||||
playsound(loc, 'sound/arcade/win.ogg', 50, 1, extrarange = -3, falloff = 10)
|
||||
|
||||
if(emagged)
|
||||
SSblackbox.inc("arcade_win_emagged")
|
||||
new /obj/effect/spawner/newbomb/timer/syndicate(loc)
|
||||
new /obj/item/clothing/head/collectable/petehat(loc)
|
||||
message_admins("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.")
|
||||
@@ -237,8 +236,9 @@
|
||||
Reset()
|
||||
emagged = FALSE
|
||||
else
|
||||
SSblackbox.inc("arcade_win_normal")
|
||||
prizevend()
|
||||
SSblackbox.record_feedback("nested tally", "arcade_results", 1, list("win", (emagged ? "emagged":"normal")))
|
||||
|
||||
|
||||
else if (emagged && (turtle >= 4))
|
||||
var/boomamt = rand(5,10)
|
||||
@@ -259,10 +259,8 @@
|
||||
temp = "You have been drained! GAME OVER"
|
||||
playsound(loc, 'sound/arcade/lose.ogg', 50, 1, extrarange = -3, falloff = 10)
|
||||
if(emagged)
|
||||
SSblackbox.inc("arcade_loss_mana_emagged")
|
||||
usr.gib()
|
||||
else
|
||||
SSblackbox.inc("arcade_loss_mana_normal")
|
||||
SSblackbox.record_feedback("nested tally", "arcade_results", 1, list("loss", "mana", (emagged ? "emagged":"normal")))
|
||||
|
||||
else if ((enemy_hp <= 10) && (enemy_mp > 4))
|
||||
temp = "[enemy_name] heals for 4 health!"
|
||||
@@ -281,10 +279,8 @@
|
||||
temp = "You have been crushed! GAME OVER"
|
||||
playsound(loc, 'sound/arcade/lose.ogg', 50, 1, extrarange = -3, falloff = 10)
|
||||
if(emagged)
|
||||
SSblackbox.inc("arcade_loss_hp_emagged")
|
||||
usr.gib()
|
||||
else
|
||||
SSblackbox.inc("arcade_loss_hp_normal")
|
||||
SSblackbox.record_feedback("nested tally", "arcade_results", 1, list("loss", "hp", (emagged ? "emagged":"normal")))
|
||||
|
||||
blocked = FALSE
|
||||
return
|
||||
|
||||
@@ -115,11 +115,6 @@
|
||||
//Only notify the admins if an actual change happened
|
||||
log_game("[key_name(usr)] has changed the security level to [get_security_level()].")
|
||||
message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].")
|
||||
switch(GLOB.security_level)
|
||||
if(SEC_LEVEL_GREEN)
|
||||
SSblackbox.inc("alert_comms_green",1)
|
||||
if(SEC_LEVEL_BLUE)
|
||||
SSblackbox.inc("alert_comms_blue",1)
|
||||
tmp_alertlevel = 0
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>You are not authorized to do this!</span>")
|
||||
@@ -178,7 +173,7 @@
|
||||
SSshuttle.points -= S.credit_cost
|
||||
minor_announce("[usr.name] has purchased [S.name] for [S.credit_cost] credits." , "Shuttle Purchase")
|
||||
message_admins("[key_name_admin(usr)] purchased [S.name].")
|
||||
SSblackbox.add_details("shuttle_purchase", S.name)
|
||||
SSblackbox.record_feedback("text", "shuttle_purchase", 1, "[S.name]")
|
||||
else
|
||||
to_chat(usr, "Something went wrong! The shuttle exchange system seems to be down.")
|
||||
else
|
||||
@@ -387,11 +382,6 @@
|
||||
//Only notify the admins if an actual change happened
|
||||
log_game("[key_name(usr)] has changed the security level to [get_security_level()].")
|
||||
message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].")
|
||||
switch(GLOB.security_level)
|
||||
if(SEC_LEVEL_GREEN)
|
||||
SSblackbox.inc("alert_comms_green",1)
|
||||
if(SEC_LEVEL_BLUE)
|
||||
SSblackbox.inc("alert_comms_blue",1)
|
||||
tmp_alertlevel = 0
|
||||
aistate = STATE_DEFAULT
|
||||
if("ai-changeseclevel")
|
||||
|
||||
@@ -533,7 +533,7 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
if(choice=="Confirm")
|
||||
scan_user(usr)
|
||||
GLOB.news_network.CreateFeedChannel(channel_name, scanned_user, c_locked)
|
||||
SSblackbox.inc("newscaster_channels",1)
|
||||
SSblackbox.record_feedback("text", "newscaster_channels", 1, "[channel_name]")
|
||||
screen=5
|
||||
updateUsrDialog()
|
||||
else if(href_list["set_channel_receiving"])
|
||||
@@ -556,7 +556,7 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
screen=6
|
||||
else
|
||||
GLOB.news_network.SubmitArticle("<font face=\"[PEN_FONT]\">[parsemarkdown(msg, usr)]</font>", scanned_user, channel_name, photo, 0, allow_comments)
|
||||
SSblackbox.inc("newscaster_stories",1)
|
||||
SSblackbox.record_feedback("amount", "newscaster_stories", 1)
|
||||
screen=4
|
||||
msg = ""
|
||||
updateUsrDialog()
|
||||
@@ -846,7 +846,7 @@ GLOBAL_LIST_EMPTY(allCasters)
|
||||
return
|
||||
|
||||
/obj/machinery/newscaster/proc/print_paper()
|
||||
SSblackbox.inc("newscaster_newspapers_printed",1)
|
||||
SSblackbox.record_feedback("amount", "newspapers_printed", 1)
|
||||
var/obj/item/newspaper/NEWSPAPER = new /obj/item/newspaper
|
||||
for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels)
|
||||
NEWSPAPER.news_content += FC
|
||||
|
||||
@@ -142,9 +142,7 @@
|
||||
|
||||
if(length(receive))
|
||||
// --- This following recording is intended for research and feedback in the use of department radio channels ---
|
||||
|
||||
var/blackbox_msg = "[AM] [AM.say_quote(message, spans)]"
|
||||
SSblackbox.LogBroadcast(blackbox_msg, freq)
|
||||
SSblackbox.LogBroadcast(freq)
|
||||
|
||||
sleep(50)
|
||||
if(!QDELETED(virt)) //It could happen to YOU
|
||||
|
||||
@@ -510,7 +510,7 @@
|
||||
if(icon_vend) //Show the vending animation if needed
|
||||
flick(icon_vend,src)
|
||||
new R.product_path(get_turf(src))
|
||||
SSblackbox.add_details("vending_machine_usage","[type]|[R.product_path]")
|
||||
SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[R.product_path]"))
|
||||
vend_ready = 1
|
||||
return
|
||||
|
||||
|
||||
@@ -304,13 +304,6 @@
|
||||
holder.icon_state = "ripley14"
|
||||
return TRUE
|
||||
|
||||
/datum/construction/reversible/mecha/ripley/spawn_mecha_result()
|
||||
..()
|
||||
SSblackbox.inc("mecha_ripley_created",1)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/datum/construction/mecha/gygax_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/gygax_torso), //1
|
||||
list("key"=/obj/item/mecha_parts/part/gygax_left_arm), //2
|
||||
@@ -617,11 +610,6 @@
|
||||
holder.icon_state = "gygax20"
|
||||
return TRUE
|
||||
|
||||
/datum/construction/reversible/mecha/gygax/spawn_mecha_result()
|
||||
..()
|
||||
SSblackbox.inc("mecha_gygax_created",1)
|
||||
return
|
||||
|
||||
/datum/construction/mecha/firefighter_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/ripley_torso), //1
|
||||
list("key"=/obj/item/mecha_parts/part/ripley_left_arm), //2
|
||||
@@ -866,13 +854,6 @@
|
||||
holder.icon_state = "fireripley15"
|
||||
return TRUE
|
||||
|
||||
/datum/construction/reversible/mecha/firefighter/spawn_mecha_result()
|
||||
..()
|
||||
SSblackbox.inc("mecha_firefighter_created",1)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/datum/construction/mecha/honker_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/honker_torso), //1
|
||||
list("key"=/obj/item/mecha_parts/part/honker_left_arm), //2
|
||||
@@ -953,10 +934,6 @@
|
||||
qdel(used_atom)
|
||||
return TRUE
|
||||
|
||||
/datum/construction/mecha/honker/spawn_mecha_result()
|
||||
..()
|
||||
SSblackbox.inc("mecha_honker_created",1)
|
||||
|
||||
/datum/construction/mecha/durand_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/durand_torso), //1
|
||||
list("key"=/obj/item/mecha_parts/part/durand_left_arm), //2
|
||||
@@ -1264,10 +1241,6 @@
|
||||
holder.icon_state = "durand20"
|
||||
return TRUE
|
||||
|
||||
/datum/construction/reversible/mecha/durand/spawn_mecha_result()
|
||||
..()
|
||||
SSblackbox.inc("mecha_durand_created",1)
|
||||
|
||||
//PHAZON
|
||||
|
||||
/datum/construction/mecha/phazon_chassis
|
||||
@@ -1620,10 +1593,6 @@
|
||||
spawn_mecha_result()
|
||||
return TRUE
|
||||
|
||||
/datum/construction/reversible/mecha/phazon/spawn_mecha_result()
|
||||
..()
|
||||
SSblackbox.inc("mecha_phazon_created",1)
|
||||
|
||||
//ODYSSEUS
|
||||
|
||||
/datum/construction/mecha/odysseus_chassis
|
||||
@@ -1857,7 +1826,3 @@
|
||||
user.visible_message("[user] unfastens the external armor layer.", "<span class='notice'>You unfasten the external armor layer.</span>")
|
||||
holder.icon_state = "odysseus14"
|
||||
return TRUE
|
||||
|
||||
/datum/construction/reversible/mecha/odysseus/spawn_mecha_result()
|
||||
..()
|
||||
SSblackbox.inc("mecha_odysseus_created",1)
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
if(response_timer_id)
|
||||
to_chat(user, "You're still waiting for approval from your employers about your proposed name change, it'd be best to wait for now.")
|
||||
return
|
||||
|
||||
|
||||
if(!new_name)
|
||||
return
|
||||
log_game("[key_name(user)] has proposed to name the station as \
|
||||
@@ -85,7 +85,7 @@
|
||||
name = "station charter for [station_name()]"
|
||||
desc = "An official document entrusting the governance of \
|
||||
[station_name()] and surrounding space to Captain [uname]."
|
||||
SSblackbox.set_details("station_renames","[station_name()]")
|
||||
SSblackbox.record_feedback("text", "station_renames", 1, "[station_name()]")
|
||||
if(!unlimited_uses)
|
||||
used = TRUE
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
log_game("[ukey] has renamed the planet as [station_name()].")
|
||||
name = "banner of [station_name()]"
|
||||
desc = "The banner bears the official coat of arms of Nanotrasen, signifying that [station_name()] has been claimed by Captain [uname] in the name of the company."
|
||||
SSblackbox.set_details("station_renames","[station_name()]")
|
||||
SSblackbox.record_feedback("text", "station_renames", 1, "[station_name()]")
|
||||
if(!unlimited_uses)
|
||||
used = TRUE
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
if(do_mob(user, C, 30) && (C.get_num_arms() >= 2 || C.get_arm_ignore()))
|
||||
apply_cuffs(C,user)
|
||||
to_chat(user, "<span class='notice'>You handcuff [C].</span>")
|
||||
SSblackbox.add_details("handcuffs","[type]")
|
||||
SSblackbox.record_feedback("tally", "handcuffs", 1, type)
|
||||
|
||||
add_logs(user, C, "handcuffed")
|
||||
else
|
||||
@@ -298,7 +298,7 @@
|
||||
C.legcuffed = src
|
||||
src.loc = C
|
||||
C.update_inv_legcuffed()
|
||||
SSblackbox.add_details("handcuffs","[type]")
|
||||
SSblackbox.record_feedback("tally", "handcuffs", 1, type)
|
||||
else if(isanimal(L))
|
||||
var/mob/living/simple_animal/SA = L
|
||||
if(SA.mob_size > MOB_SIZE_TINY)
|
||||
@@ -359,7 +359,7 @@
|
||||
C.legcuffed = src
|
||||
src.loc = C
|
||||
C.update_inv_legcuffed()
|
||||
SSblackbox.add_details("handcuffs","[type]")
|
||||
SSblackbox.record_feedback("tally", "handcuffs", 1, type)
|
||||
to_chat(C, "<span class='userdanger'>\The [src] ensnares you!</span>")
|
||||
C.Knockdown(knockdown)
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
SSreligion.holy_weapon_type = holy_weapon.type
|
||||
|
||||
SSblackbox.set_details("chaplain_weapon","[choice]")
|
||||
SSblackbox.record_feedback("tally", "chaplain_weapon", 1, "[choice]")
|
||||
|
||||
if(holy_weapon)
|
||||
holy_weapon.reskinned = TRUE
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
if(src.l_arm && src.r_arm)
|
||||
if(src.l_leg && src.r_leg)
|
||||
if(src.chest && src.head)
|
||||
SSblackbox.inc("cyborg_frames_built",1)
|
||||
SSblackbox.record_feedback("amount", "cyborg_frames_built", 1)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -234,9 +234,7 @@
|
||||
qdel(O.mmi)
|
||||
O.mmi = W //and give the real mmi to the borg.
|
||||
O.updatename()
|
||||
|
||||
SSblackbox.inc("cyborg_birth",1)
|
||||
|
||||
SSblackbox.record_feedback("amount", "cyborg_birth", 1)
|
||||
forceMove(O)
|
||||
O.robot_suit = src
|
||||
|
||||
@@ -335,4 +333,3 @@
|
||||
|
||||
add_fingerprint(usr)
|
||||
Interact(usr)
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
SSreligion.bible_icon_state = B.icon_state
|
||||
SSreligion.bible_item_state = B.item_state
|
||||
|
||||
SSblackbox.set_details("religion_book","[biblename]")
|
||||
SSblackbox.record_feedback("text", "religion_book", 1, "[biblename]")
|
||||
usr << browse(null, "window=editicon")
|
||||
|
||||
/obj/item/storage/book/bible/proc/bless(mob/living/carbon/human/H, mob/living/user)
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
|
||||
if(brain.force_replace_ai_name)
|
||||
A.fully_replace_character_name(A.name, brain.replacement_ai_name())
|
||||
SSblackbox.inc("cyborg_ais_created",1)
|
||||
SSblackbox.record_feedback("amount", "ais_created", 1)
|
||||
qdel(src)
|
||||
else
|
||||
state = AI_READY_CORE
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
if(ismineralturf(src))
|
||||
to_chat(user, "<span class='notice'>You finish cutting into the rock.</span>")
|
||||
gets_drilled(user)
|
||||
SSblackbox.add_details("pick_used_mining","[P.type]")
|
||||
SSblackbox.record_feedback("tally", "pick_used_mining", 1, P.type)
|
||||
else
|
||||
return attack_hand(user)
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
var/i
|
||||
for(i in 1 to mineralAmt)
|
||||
new mineralType(src)
|
||||
SSblackbox.add_details("ore_mined",mineralType)
|
||||
SSblackbox.record_feedback("tally", "ore_mined", 1, mineralType)
|
||||
for(var/obj/effect/temp_visual/mining_overlay/M in src)
|
||||
qdel(M)
|
||||
ChangeTurf(turf_type, FALSE, defer_change)
|
||||
|
||||
Reference in New Issue
Block a user