Added swarmers, portal storm, wormholes to dynamic.

This commit is contained in:
Putnam
2020-03-10 23:21:47 -07:00
parent 0d66a40e55
commit 621ea62d64
4 changed files with 51 additions and 3 deletions

View File

@@ -2,6 +2,7 @@
ruletype = "Event" ruletype = "Event"
var/typepath // typepath of the event var/typepath // typepath of the event
var/triggering var/triggering
var/earliest_start = 20 MINUTES
/datum/dynamic_ruleset/event/get_blackbox_info() /datum/dynamic_ruleset/event/get_blackbox_info()
var/list/ruleset_data = list() var/list/ruleset_data = list()
@@ -25,8 +26,10 @@
return E return E
/datum/dynamic_ruleset/event/ready(forced = FALSE) // same as midround cause we're still using enemy system /datum/dynamic_ruleset/event/ready(forced = FALSE)
if (!forced) if (!forced)
if(earliest_start >= world.time-SSticker.round_start_time)
return FALSE
var/job_check = 0 var/job_check = 0
if (enemy_roles.len > 0) if (enemy_roles.len > 0)
for (var/mob/M in mode.current_players[CURRENT_LIVING_PLAYERS]) for (var/mob/M in mode.current_players[CURRENT_LIVING_PLAYERS])
@@ -56,6 +59,7 @@
required_enemies = list(2,2,1,1,0,0,0,0,0,0) required_enemies = list(2,2,1,1,0,0,0,0,0,0)
weight = 5 weight = 5
cost = 10 cost = 10
earliest_start = 30 MINUTES
blocking_rules = list(/datum/dynamic_ruleset/roundstart/nuclear,/datum/dynamic_ruleset/midround/from_ghosts/nuclear) blocking_rules = list(/datum/dynamic_ruleset/roundstart/nuclear,/datum/dynamic_ruleset/midround/from_ghosts/nuclear)
requirements = list(70,60,50,50,40,40,40,30,20,15) requirements = list(70,60,50,50,40,40,40,30,20,15)
property_weights = list("story_potential" = 1, "trust" = 1, "chaos" = 1) property_weights = list("story_potential" = 1, "trust" = 1, "chaos" = 1)
@@ -157,17 +161,18 @@
required_enemies = list(3,3,3,3,3,3,3,3,3,3) required_enemies = list(3,3,3,3,3,3,3,3,3,3)
cost = 15 cost = 15
weight = 3 weight = 3
earliest_start = 25 MINUTES
repeatable_weight_decrease = 2 repeatable_weight_decrease = 2
requirements = list(60,50,40,30,30,30,30,30,30,30) requirements = list(60,50,40,30,30,30,30,30,30,30)
high_population_requirement = 30 high_population_requirement = 30
property_weights = list("extended" = -2) property_weights = list("extended" = -2)
/datum/dynamic_ruleset/event/meteor_wave/ready() /datum/dynamic_ruleset/event/meteor_wave/ready()
if(mode.threat_level > 40 && mode.threat >= 25 && prob(20)) if(world.time-SSticker.round_start_time > 35 MINUTES && mode.threat_level > 40 && mode.threat >= 25 && prob(20))
name = "Meteor Wave: Threatening" name = "Meteor Wave: Threatening"
cost = 25 cost = 25
typepath = /datum/round_event/meteor_wave/threatening typepath = /datum/round_event/meteor_wave/threatening
else if(mode.threat_level > 50 && mode.threat >= 40 && prob(30)) else if(world.time-SSticker.round_start_time > 45 MINUTES && mode.threat_level > 50 && mode.threat >= 40 && prob(30))
name = "Meteor Wave: Catastrophic" name = "Meteor Wave: Catastrophic"
cost = 40 cost = 40
typepath = /datum/round_event/meteor_wave/catastrophic typepath = /datum/round_event/meteor_wave/catastrophic
@@ -280,6 +285,7 @@
cost = 4 cost = 4
requirements = list(10,10,10,10,10,10,10,10,10,10) requirements = list(10,10,10,10,10,10,10,10,10,10)
high_population_requirement = 10 high_population_requirement = 10
earliest_start = 10 MINUTES
repeatable = TRUE repeatable = TRUE
property_weights = list("extended" = 1) property_weights = list("extended" = 1)
@@ -324,6 +330,7 @@
requirements = list(5,5,5,5,5,5,5,5,5,5) requirements = list(5,5,5,5,5,5,5,5,5,5)
high_population_requirement = 5 high_population_requirement = 5
repeatable = TRUE repeatable = TRUE
earliest_start = 0 MINUTES
property_weights = list("extended" = 1) property_weights = list("extended" = 1)
always_max_weight = TRUE always_max_weight = TRUE
@@ -381,3 +388,41 @@
requirements = list(5,5,5,5,5,5,5,5,5,5) requirements = list(5,5,5,5,5,5,5,5,5,5)
high_population_requirement = 5 high_population_requirement = 5
property_weights = list("extended" = 1,"chaos" = 1) property_weights = list("extended" = 1,"chaos" = 1)
/datum/dynamic_ruleset/event/portal_storm_syndicate
name = "Portal Storm"
config_tag = "portal_storm"
typepath = /datum/round_event/portal_storm/syndicate_shocktroop
cost = 10
weight = 1
enemy_roles = list("Head of Security","Security Officer","AI","Captain","Shaft Miner")
required_enemies = list(2,2,2,2,2,2,2,2,2,2)
requirements = list(101,101,101,30,30,30,30,30,30,30)
high_population_requirement = 30
earliest_start = 30 MINUTES
property_weights = list("teamwork" = 1,"chaos" = 1, "extended" = -1)
/datum/dynamic_ruleset/event/wormholes
name = "Wormholes"
config_tag = "wormhole"
typepath = /datum/round_event/wormholes
cost = 3
weight = 4
enemy_roles = list("AI","Medical Doctor","Station Engineer","Head of Personnel","Captain")
required_enemies = list(2,2,2,2,2,2,2,2,2,2)
requirements = list(5,5,5,5,5,5,5,5,5,5)
high_population_requirement = 5
property_weights = list("extended" = 1)
/datum/dynamic_ruleset/event/swarmers
name = "Swarmers"
config_tag = "swarmer"
typepath = /datum/round_event/spawn_swarmer
cost = 10
weight = 1
earliest_start = 30 MINUTES
enemy_roles = list("AI","Security Officer","Head of Security","Captain","Station Engineer","Atmos Technician","Chief Engineer")
required_enemies = list(4,4,4,4,3,3,2,2,1,1)
requirements = list(101,101,101,101,101,101,101,101,101,101)
high_population_requirement = 5
property_weights = list("extended" = -2)

View File

@@ -5,6 +5,7 @@
max_occurrences = 0 max_occurrences = 0
earliest_start = 30 MINUTES earliest_start = 30 MINUTES
min_players = 15 min_players = 15
gamemode_blacklist = list("dynamic")
/datum/round_event/spawn_swarmer /datum/round_event/spawn_swarmer

View File

@@ -4,6 +4,7 @@
weight = 2 weight = 2
min_players = 15 min_players = 15
earliest_start = 30 MINUTES earliest_start = 30 MINUTES
gamemode_blacklist = list("dynamic")
/datum/round_event/portal_storm/syndicate_shocktroop /datum/round_event/portal_storm/syndicate_shocktroop
boss_types = list(/mob/living/simple_animal/hostile/syndicate/melee/space/stormtrooper = 2) boss_types = list(/mob/living/simple_animal/hostile/syndicate/melee/space/stormtrooper = 2)

View File

@@ -4,6 +4,7 @@
max_occurrences = 3 max_occurrences = 3
weight = 2 weight = 2
min_players = 2 min_players = 2
gamemode_blacklist = list("dynamic")
/datum/round_event/wormholes /datum/round_event/wormholes