A dynamic rework: target threat levels (#11515)
* Starting a replacement of how threat works. * no, we do it this way * Added threat levels to jobs * Added threat to... a lot. * Updated for traitor classes. * Fixed errors, except for one. It's consistently giving me "maximum number of internal arrays exceeded (65535)". I have no idea what could be causing this. * Added type annotation to GetJob. * This one I should change though * wow how'd that happen * spammable means low threat * Made story threat have initial threat level on average * Made somet rulesets force if they won the vote * ) * Gave EVERY job threat, added a config for it. * Rebalanced some numbers * Update code/game/gamemodes/dynamic/dynamic_storytellers.dm Co-Authored-By: Ghom <42542238+Ghommie@users.noreply.github.com> * Removes mush threat * Makes devil threat scale with form * reviewing reviewer's review of reviewer * Gutlunches can be friendly spawned, so no * Also made forced-friendly mobs not count Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
This commit is contained in:
@@ -121,7 +121,8 @@
|
||||
|
||||
var/activeFor = 0 //How long the event has existed. You don't need to change this.
|
||||
var/current_players = 0 //Amount of of alive, non-AFK human players on server at the time of event start
|
||||
var/fakeable = TRUE //Can be faked by fake news event.
|
||||
var/threat = 0
|
||||
var/fakeable = TRUE //Can be faked by fake news event.
|
||||
|
||||
//Called first before processing.
|
||||
//Allows you to setup your event, such as randomly
|
||||
@@ -161,7 +162,9 @@
|
||||
/datum/round_event/proc/end()
|
||||
return
|
||||
|
||||
|
||||
// Returns threat; used for dynamic. Used for custom stuff, just returns the threat var by default.
|
||||
/datum/round_event/proc/threat()
|
||||
return threat
|
||||
|
||||
//Do not override this proc, instead use the appropiate procs.
|
||||
//This proc will handle the calls to the appropiate procs.
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"How do I vore people?",
|
||||
"ERP?",
|
||||
"Not epic bros...")
|
||||
threat = 5
|
||||
|
||||
|
||||
/datum/round_event/brand_intelligence/announce(fake)
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
startWhen = 6
|
||||
endWhen = 66
|
||||
announceWhen = 1
|
||||
threat = 15
|
||||
var/list/wave_type
|
||||
var/wave_name = "normal"
|
||||
var/direction
|
||||
@@ -88,8 +89,10 @@
|
||||
max_occurrences = 3
|
||||
earliest_start = 35 MINUTES
|
||||
|
||||
|
||||
/datum/round_event/meteor_wave/threatening
|
||||
wave_name = "threatening"
|
||||
threat = 25
|
||||
|
||||
/datum/round_event_control/meteor_wave/catastrophic
|
||||
name = "Meteor Wave: Catastrophic"
|
||||
@@ -101,6 +104,7 @@
|
||||
|
||||
/datum/round_event/meteor_wave/catastrophic
|
||||
wave_name = "catastrophic"
|
||||
threat = 35
|
||||
|
||||
#undef SINGULO_BEACON_DISTURBANCE
|
||||
#undef SINGULO_BEACON_MAX_DISTURBANCE
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
/datum/round_event/pirates
|
||||
startWhen = 60 //2 minutes to answer
|
||||
var/datum/comm_message/threat
|
||||
var/datum/comm_message/threat_message
|
||||
var/payoff = 0
|
||||
var/paid_off = FALSE
|
||||
var/ship_name = "Space Privateers Association"
|
||||
@@ -28,16 +28,16 @@
|
||||
priority_announce("A report has been downloaded and printed out at all communications consoles.", "Incoming Classified Message", "commandreport") // CITADEL EDIT metabreak
|
||||
if(fake)
|
||||
return
|
||||
threat = new
|
||||
threat_message = new
|
||||
payoff = round(SSshuttle.points * 0.80)
|
||||
threat.title = "Business proposition"
|
||||
threat.content = "This is [ship_name]. Pay up [payoff] credits or you'll walk the plank."
|
||||
threat.possible_answers = list("We'll pay.","No way.")
|
||||
threat.answer_callback = CALLBACK(src,.proc/answered)
|
||||
SScommunications.send_message(threat,unique = TRUE)
|
||||
threat_message.title = "Business proposition"
|
||||
threat_message.content = "This is [ship_name]. Pay up [payoff] credits or you'll walk the plank."
|
||||
threat_message.possible_answers = list("We'll pay.","No way.")
|
||||
threat_message.answer_callback = CALLBACK(src,.proc/answered)
|
||||
SScommunications.send_message(threat_message,unique = TRUE)
|
||||
|
||||
/datum/round_event/pirates/proc/answered()
|
||||
if(threat && threat.answered == 1)
|
||||
if(threat_message && threat_message.answered == 1)
|
||||
if(SSshuttle.points >= payoff)
|
||||
SSshuttle.points -= payoff
|
||||
priority_announce("Thanks for the credits, landlubbers.",sender_override = ship_name)
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
icon_dead = "magicarp_dead"
|
||||
icon_gib = "magicarp_gib"
|
||||
ranged = 1
|
||||
threat = 4
|
||||
retreat_distance = 2
|
||||
minimum_distance = 0 //Between shots they can and will close in to nash
|
||||
projectiletype = /obj/item/projectile/magic
|
||||
@@ -51,6 +52,7 @@
|
||||
color = "#00FFFF"
|
||||
maxHealth = 75
|
||||
health = 75
|
||||
threat = 7
|
||||
|
||||
/mob/living/simple_animal/hostile/carp/ranged/chaos/Shoot()
|
||||
projectiletype = pick(allowed_projectile_types)
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
var/list/stored_name
|
||||
var/list/stored_species
|
||||
var/list/stored_dna
|
||||
threat = 10
|
||||
|
||||
/datum/round_event/wizard/race/setup()
|
||||
stored_name = list()
|
||||
@@ -56,4 +57,4 @@
|
||||
H.set_species(stored_species[H])
|
||||
H.real_name = stored_name[H]
|
||||
H.dna.unique_enzymes = stored_dna[H]
|
||||
to_chat(H, "<span class='notice'>You feel back to your normal self again.</span>")
|
||||
to_chat(H, "<span class='notice'>You feel back to your normal self again.</span>")
|
||||
|
||||
Reference in New Issue
Block a user