mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 04:26:03 +01:00
>datum/event and datum/event_control were renamed to datum/round_event and datum/round_event_control. This is because datum/event was already used by a different/more-general event queue system (used primarily on mechas)
Removed overriding of event values via feeding in an associative list into datum/round_event/New(). Instead you can do basic initializations (i.e. feed it constants) by doing new /datum/round_event{variablename=5;}(). This method is handled well by the compiler (it's the same method the maps use), so it will detect unrecognized variablenames etc.
More complex initializations for post setup() stuff can be done by accessing variables directly Event.variablename = whatever;
round_events now have a processing variable, which effectively pauses them.
This commit is contained in:
+30
-28
@@ -1614,11 +1614,7 @@
|
||||
|
||||
else if(href_list["secretsfun"])
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/list/overrides = list()
|
||||
if(alert(usr, "Would you like to alert the crew?", "Alert", "Yes", "No") == "No")
|
||||
overrides["announceWhen"] = -1
|
||||
|
||||
var/datum/round_event/E
|
||||
var/ok = 0
|
||||
switch(href_list["secretsfun"])
|
||||
if("monkey")
|
||||
@@ -1647,7 +1643,7 @@
|
||||
feedback_add_details("admin_secrets_fun_used","TriAI")
|
||||
if("gravity")
|
||||
alert("WIP - event unavailable")
|
||||
/* new /datum/event/weightless(overrides)
|
||||
/* E = new /datum/round_event/weightless()
|
||||
log_admin("[key_name(usr)] triggered a gravity-failure event.", 1)
|
||||
message_admins("\blue [key_name_admin(usr)] triggered a gravity-failure event.", 1)
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
@@ -1796,44 +1792,44 @@
|
||||
if("wave")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","MW")
|
||||
new /datum/event/meteor_wave(overrides)
|
||||
E = new /datum/round_event/meteor_wave()
|
||||
|
||||
if("gravanomalies")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","GA")
|
||||
new /datum/event/gravitational_anomaly(overrides)
|
||||
E = new /datum/round_event/gravitational_anomaly()
|
||||
|
||||
if("timeanomalies") //dear god this code was awful :P Still needs further optimisation
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","STA")
|
||||
new /datum/event/wormholes(overrides)
|
||||
E = new /datum/round_event/wormholes()
|
||||
|
||||
if("goblob")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","BL")
|
||||
message_admins("[key_name_admin(usr)] has spawned blob", 1)
|
||||
new /datum/event/blob(overrides)
|
||||
E = new /datum/round_event/blob()
|
||||
if("aliens")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","AL")
|
||||
message_admins("[key_name_admin(usr)] has spawned aliens", 1)
|
||||
new /datum/event/alien_infestation(overrides)
|
||||
E = new /datum/round_event/alien_infestation()
|
||||
if("alien_silent") //replaces the spawn_xeno verb
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","ALS")
|
||||
create_xeno()
|
||||
if("spiders")
|
||||
new /datum/event/spider_infestation(overrides)
|
||||
E = new /datum/round_event/spider_infestation()
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SL")
|
||||
message_admins("[key_name_admin(usr)] has spawned spiders", 1)
|
||||
if("bluespaceanomaly")
|
||||
new /datum/event/bluespace_anomaly(overrides)
|
||||
E = new /datum/round_event/bluespace_anomaly()
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","BA")
|
||||
message_admins("[key_name_admin(usr)] has triggered a bluespace anomaly", 1)
|
||||
if("comms_blackout")
|
||||
new /datum/event/communications_blackout(overrides)
|
||||
E = new /datum/round_event/communications_blackout()
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","CB")
|
||||
message_admins("[key_name_admin(usr)] triggered a communications blackout.", 1)
|
||||
@@ -1841,9 +1837,9 @@
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SN")
|
||||
message_admins("[key_name_admin(usr)] has sent in a space ninja", 1)
|
||||
new /datum/event/ninja(list(overrides))
|
||||
E = new /datum/round_event/ninja()
|
||||
if("carp")
|
||||
new /datum/event/carp_migration(overrides)
|
||||
E = new /datum/round_event/carp_migration()
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","C")
|
||||
message_admins("[key_name_admin(usr)] has spawned carp.", 1)
|
||||
@@ -1851,29 +1847,27 @@
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","R")
|
||||
message_admins("[key_name_admin(usr)] has has irradiated the station", 1)
|
||||
new /datum/event/radiation_storm(overrides)
|
||||
E = new /datum/round_event/radiation_storm()
|
||||
if("immovable")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","IR")
|
||||
message_admins("[key_name_admin(usr)] has sent an immovable rod to the station", 1)
|
||||
new /datum/event/immovable_rod(overrides)
|
||||
E = new /datum/round_event/immovable_rod()
|
||||
if("prison_break")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","PB")
|
||||
message_admins("[key_name_admin(usr)] has allowed a prison break", 1)
|
||||
new /datum/event/prison_break(overrides)
|
||||
E = new /datum/round_event/prison_break()
|
||||
if("lightsout")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","LO")
|
||||
message_admins("[key_name_admin(usr)] has broke a lot of lights", 1)
|
||||
overrides["lightsoutAmount"]=2
|
||||
new /datum/event/electrical_storm(overrides)
|
||||
E = new /datum/round_event/electrical_storm{lightsoutAmount=2}()
|
||||
if("blackout")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","BO")
|
||||
message_admins("[key_name_admin(usr)] broke all lights", 1)
|
||||
overrides["lightsoutAmount"]=0
|
||||
new /datum/event/electrical_storm(overrides)
|
||||
E = new /datum/round_event/electrical_storm{lightsoutAmount=0}()
|
||||
if("whiteout")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","WO")
|
||||
@@ -1955,10 +1949,12 @@
|
||||
if("Make Your Own")
|
||||
AdminCreateVirus(usr.client)
|
||||
if("Random")
|
||||
new /datum/event/disease_outbreak(overrides)
|
||||
E = new /datum/round_event/disease_outbreak()
|
||||
if("Choose")
|
||||
overrides["virus_type"] = input("Choose the virus to spread", "BIOHAZARD") as null|anything in typesof(/datum/disease)
|
||||
new /datum/event/disease_outbreak(overrides)
|
||||
var/virus = input("Choose the virus to spread", "BIOHAZARD") as null|anything in typesof(/datum/disease)
|
||||
E = new /datum/round_event/disease_outbreak{}()
|
||||
var/datum/round_event/disease_outbreak/DO = E
|
||||
DO.virus_type = virus
|
||||
if("retardify")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","RET")
|
||||
@@ -1986,17 +1982,23 @@
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","I")
|
||||
message_admins("[key_name_admin(usr)] triggered an ion storm")
|
||||
new /datum/event/ion_storm(overrides)
|
||||
E = new /datum/round_event/ion_storm()
|
||||
if("spacevines")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","K")
|
||||
message_admins("[key_name_admin(usr)] has spawned spacevines", 1)
|
||||
new /datum/event/spacevine(overrides)
|
||||
E = new /datum/round_event/spacevine()
|
||||
if("onlyone")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","OO")
|
||||
usr.client.only_one()
|
||||
// message_admins("[key_name_admin(usr)] has triggered a battle to the death (only one)")
|
||||
if(E)
|
||||
E.processing = 0
|
||||
if(E.announceWhen>0)
|
||||
if(alert(usr, "Would you like to alert the crew?", "Alert", "Yes", "No") == "No")
|
||||
E.announceWhen = -1
|
||||
E.processing = 1
|
||||
if(usr)
|
||||
log_admin("[key_name(usr)] used secret [href_list["secretsfun"]]")
|
||||
if (ok)
|
||||
|
||||
@@ -306,11 +306,11 @@ client/proc/one_click_antag()
|
||||
|
||||
|
||||
/datum/admins/proc/makeAliens()
|
||||
new /datum/event/alien_infestation(list("spawncount"=3))
|
||||
new /datum/round_event/alien_infestation{spawncount=3}()
|
||||
return 1
|
||||
|
||||
/datum/admins/proc/makeSpaceNinja()
|
||||
new /datum/event/ninja()
|
||||
new /datum/round_event/ninja()
|
||||
return 1
|
||||
|
||||
/* DEATH SQUADS
|
||||
|
||||
@@ -192,7 +192,7 @@ proc/cmd_admin_mute(whom, mute_type, automute = 0)
|
||||
command_alert("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert")
|
||||
world << sound('sound/AI/ionstorm.ogg')
|
||||
|
||||
new /datum/event/ion_storm(list("botEmagChance"=0))
|
||||
new /datum/round_event/ion_storm{botEmagChance=0}()
|
||||
feedback_add_details("admin_verb","ION") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user