diff --git a/baystation12.dme b/baystation12.dme
index 44058f1e3a..7b4ceead41 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -5,6 +5,50 @@
// END_INTERNALS
// BEGIN_FILE_DIR
#define FILE_DIR .
+#define FILE_DIR "code"
+#define FILE_DIR "code/TriDimension"
+#define FILE_DIR "code/WorkInProgress"
+#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
+#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle"
+#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust"
+#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter"
+#define FILE_DIR "code/WorkInProgress/Susan"
+#define FILE_DIR "html"
+#define FILE_DIR "icons"
+#define FILE_DIR "icons/48x48"
+#define FILE_DIR "icons/effects"
+#define FILE_DIR "icons/mecha"
+#define FILE_DIR "icons/misc"
+#define FILE_DIR "icons/mob"
+#define FILE_DIR "icons/mob/human_races"
+#define FILE_DIR "icons/obj"
+#define FILE_DIR "icons/obj/assemblies"
+#define FILE_DIR "icons/obj/atmospherics"
+#define FILE_DIR "icons/obj/clothing"
+#define FILE_DIR "icons/obj/doors"
+#define FILE_DIR "icons/obj/flora"
+#define FILE_DIR "icons/obj/machines"
+#define FILE_DIR "icons/obj/pipes"
+#define FILE_DIR "icons/pda_icons"
+#define FILE_DIR "icons/spideros_icons"
+#define FILE_DIR "icons/Testing"
+#define FILE_DIR "icons/turf"
+#define FILE_DIR "icons/vending_icons"
+#define FILE_DIR "sound"
+#define FILE_DIR "sound/AI"
+#define FILE_DIR "sound/ambience"
+#define FILE_DIR "sound/effects"
+#define FILE_DIR "sound/effects/wind"
+#define FILE_DIR "sound/hallucinations"
+#define FILE_DIR "sound/items"
+#define FILE_DIR "sound/machines"
+#define FILE_DIR "sound/mecha"
+#define FILE_DIR "sound/misc"
+#define FILE_DIR "sound/music"
+#define FILE_DIR "sound/piano"
+#define FILE_DIR "sound/violin"
+#define FILE_DIR "sound/voice"
+#define FILE_DIR "sound/weapons"
// END_FILE_DIR
// BEGIN_PREFERENCES
@@ -732,10 +776,10 @@
#include "code\modules\customitems\item_defines.dm"
#include "code\modules\customitems\item_spawning.dm"
#include "code\modules\destilery\main.dm"
-#include "code\modules\detectivework\detective_work.dm"
-#include "code\modules\detectivework\evidence.dm"
-#include "code\modules\detectivework\footprints_and_rag.dm"
-#include "code\modules\detectivework\scanner.dm"
+#include "code\modules\DetectiveWork\detective_work.dm"
+#include "code\modules\DetectiveWork\evidence.dm"
+#include "code\modules\DetectiveWork\footprints_and_rag.dm"
+#include "code\modules\DetectiveWork\scanner.dm"
#include "code\modules\events\alien_infestation.dm"
#include "code\modules\events\blob.dm"
#include "code\modules\events\brand_intelligence.dm"
diff --git a/code/WorkInProgress/Cael_Aislinn/Economy/Economy_Events.dm b/code/WorkInProgress/Cael_Aislinn/Economy/Economy_Events.dm
index a93a469029..76c8575593 100644
--- a/code/WorkInProgress/Cael_Aislinn/Economy/Economy_Events.dm
+++ b/code/WorkInProgress/Cael_Aislinn/Economy/Economy_Events.dm
@@ -80,13 +80,13 @@
if(MOURNING)
newMsg.body = "[pick("The popular","The well-liked","The eminent","The well-known")] [pick("professor","entertainer","singer","researcher","public servant","administrator","ship captain","\'REDACTED\'")], [pick( random_name(pick(MALE,FEMALE)), 40; "\'REDACTED\'" )] has [pick("passed away","committed suicide","been murdered","died in a freakish accident")] on [affected_dest.name] today. The entire planet is in mourning, and prices have dropped for industrial goods as worker morale drops."
if(CULT_CELL_REVEALED)
- newMsg.body = "A [pick("dastardly","blood-thirsty","villanous","crazed")] cult of [pick("The Elder Gods","Nar'sie","an apocalyptic sect","\'REDACTED\'")] has [pick("been discovered","been revealed","revealed themselves","gone public")] on [affected_dest.name] earlier today. Public morale has been shaken due to [pick("certain","several","one or two")] [pick("high-profile","well known","popular")] individuals [pick("performing \'REDACTED\'","claiming allegiance to the cult","swearing loyalty to the cult leader","promising to aid to the cult")] before those involved could be brought to justice. The editor reminds all personnel that supernatural myths will not be tolerated on NanoTrasen facilities."
+ newMsg.body = "A [pick("dastardly","blood-thirsty","villanous","crazed")] cult of [pick("The Elder Gods","Nar'sie","an apocalyptic sect","\'REDACTED\'")] has [pick("been discovered","been revealed","revealed themselves","gone public")] on [affected_dest.name] earlier today. Public morale has been shaken due to [pick("certain","several","one or two")] [pick("high-profile","well known","popular")] individuals [pick("performing \'REDACTED\' acts","claiming allegiance to the cult","swearing loyalty to the cult leader","promising to aid to the cult")] before those involved could be brought to justice. The editor reminds all personnel that supernatural myths will not be tolerated on NanoTrasen facilities."
if(SECURITY_BREACH)
newMsg.body = "There was [pick("a security breach in","an unauthorised access in","an attempted theft in","an anarchist attack in","violent sabotage of")] a [pick("high-security","restricted access","classified","\'REDACTED\'")] [pick("\'REDACTED\'","section","zone","area")] this morning. Security was tightened on [affected_dest.name] after the incident, and the editor reassures all NanoTrasen personnel that such lapses are rare."
if(ANIMAL_RIGHTS_RAID)
newMsg.body = "[pick("Militant animal rights activists","Members of the terrorist group Animal Rights Consortium","Members of the terrorist group \'REDACTED\'")] have [pick("launched a campaign of terror","unleashed a swathe of destruction","raided farms and pastures","forced entry to \'REDACTED\'")] on [affected_dest.name] earlier today, freeing numerous [pick("farm animals","animals","\'REDACTED\'")]. Prices for tame and breeding animals have spiked as a result."
if(FESTIVAL)
- newMsg.body = "A [pick("festival","week long celebration","day of revelry","planet-wide holiday")] has been delcared on [affected_dest.name] by [pick("Governor","Commissioner","General","Commandant","Administrator")] [random_name(pick(MALE,FEMALE))] to celebrate [pick("the birth of their [pick("son","daughter")]","coming of age of their [pick("son","daughter")]","the pacification of rogue military cell","the apprehension of a violent criminal who had been terrorising the planet")]. Massive stocks of food and meat have been bought driving up prices across the planet."
+ newMsg.body = "A [pick("festival","week long celebration","day of revelry","planet-wide holiday")] has been declared on [affected_dest.name] by [pick("Governor","Commissioner","General","Commandant","Administrator")] [random_name(pick(MALE,FEMALE))] to celebrate [pick("the birth of their [pick("son","daughter")]","coming of age of their [pick("son","daughter")]","the pacification of rogue military cell","the apprehension of a violent criminal who had been terrorising the planet")]. Massive stocks of food and meat have been bought driving up prices across the planet."
for(var/datum/feed_channel/FC in news_network.network_channels)
if(FC.channel_name == "Tau Ceti Daily")
diff --git a/code/game/gamemodes/events/VirusEpidemic.dm b/code/game/gamemodes/events/VirusEpidemic.dm
index f2d9f77aeb..72c7b91203 100644
--- a/code/game/gamemodes/events/VirusEpidemic.dm
+++ b/code/game/gamemodes/events/VirusEpidemic.dm
@@ -78,4 +78,3 @@
Tick()
ActiveFor = Lifetime //killme
-
diff --git a/code/game/gamemodes/events/holidays/Other.dm b/code/game/gamemodes/events/holidays/Other.dm
index b520bbe342..74b47506aa 100644
--- a/code/game/gamemodes/events/holidays/Other.dm
+++ b/code/game/gamemodes/events/holidays/Other.dm
@@ -6,5 +6,5 @@
if(!config.allow_random_events) return
Show2Group4Delay(ScreenText(null,"
GAME OVER"),null,150)
for(var/i=1,i<=4,i++)
- event()
+ spawn_dynamic_event()
sleep(50)
\ No newline at end of file
diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm
index 6bf06ceeb0..ca4f9d2463 100644
--- a/code/game/gamemodes/events/space_ninja.dm
+++ b/code/game/gamemodes/events/space_ninja.dm
@@ -90,7 +90,7 @@ I decided to scrap round-specific objectives since keeping track of them would r
When I already created about 4 new objectives, this doesn't seem terribly important or needed.
*/
-/var/global/toggle_space_ninja = 1//If ninjas can spawn or not.
+/var/global/toggle_space_ninja = 0//If ninjas can spawn or not.
/var/global/sent_ninja_to_station = 0//If a ninja is already on the station.
var/ninja_selection_id = 1
@@ -165,8 +165,15 @@ Malf AIs/silicons aren't added. Monkeys aren't added. Messes with objective comp
if(!candidates.len) return
candidates = shuffle(candidates)//Incorporating Donkie's list shuffle
- candidate_mob = pick(candidates)
- ninja_key = candidate_mob.ckey
+ while(!ninja_key && candidates.len)
+ candidate_mob = pick(candidates)
+ if(sd_Alert(candidate_mob, "Would you like to spawn as a space ninja?", buttons = list("Yes","No"), duration = 150) == "Yes")
+ ninja_key = candidate_mob.ckey
+ else
+ candidates.Remove(candidate_mob)
+
+ if(!ninja_key)
+ return
if(!candidate_mob)
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index 27a1505636..d357740a6f 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -83,7 +83,7 @@
/obj/effect/spider/eggcluster/process()
amount_grown += rand(0,2)
if(amount_grown >= 100)
- var/num = rand(3,12)
+ var/num = rand(6,24)
for(var/i=0, i[src] dies!")
- del(src)
+ icon_state = "greenshatter"
/obj/effect/spider/spiderling/healthcheck()
if(health <= 0)
diff --git a/code/modules/events/alien_infestation.dm b/code/modules/events/alien_infestation.dm
index 3be305abaf..7c25f4dd71 100644
--- a/code/modules/events/alien_infestation.dm
+++ b/code/modules/events/alien_infestation.dm
@@ -1,3 +1,5 @@
+/var/global/sent_aliens_to_station = 0
+
/datum/event/alien_infestation
announceWhen = 400
oneShot = 1
@@ -9,6 +11,7 @@
/datum/event/alien_infestation/setup()
announceWhen = rand(announceWhen, announceWhen + 50)
spawncount = rand(1, 2)
+ sent_aliens_to_station = 1
/datum/event/alien_infestation/announce()
if(successSpawn)
@@ -35,4 +38,4 @@
candidates -= candidate
vents -= vent
spawncount--
- successSpawn = 1
\ No newline at end of file
+ successSpawn = 1
diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm
index 628bb9ffec..1ec0982fa0 100644
--- a/code/modules/events/blob.dm
+++ b/code/modules/events/blob.dm
@@ -6,8 +6,8 @@
/datum/event/blob/announce()
- command_alert("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert")
- world << sound('sound/AI/outbreak5.ogg')
+ command_alert("Confirmed outbreak of level 7 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert")
+ world << sound('sound/AI/outbreak7.ogg')
/datum/event/blob/start()
diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm
index 926548e49b..ae0ca74a00 100644
--- a/code/modules/events/carp_migration.dm
+++ b/code/modules/events/carp_migration.dm
@@ -12,4 +12,4 @@
/datum/event/carp_migration/start()
for(var/obj/effect/landmark/C in landmarks_list)
if(C.name == "carpspawn")
- new /mob/living/simple_animal/hostile/carp(C.loc)
\ No newline at end of file
+ new /mob/living/simple_animal/hostile/carp(C.loc)
diff --git a/code/modules/events/event.dm b/code/modules/events/event.dm
index d2178ac5b5..059317070e 100644
--- a/code/modules/events/event.dm
+++ b/code/modules/events/event.dm
@@ -78,6 +78,6 @@
/datum/event/New()
setup()
events.Add(src)
- if(oneShot)
- potentialRandomEvents.Remove(type)
- ..()
\ No newline at end of file
+ /*if(oneShot)
+ potentialRandomEvents.Remove(type)*/
+ ..()
diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm
index 393ed9de8a..b2095712f6 100644
--- a/code/modules/events/event_manager.dm
+++ b/code/modules/events/event_manager.dm
@@ -1,31 +1,45 @@
var/list/allEvents = typesof(/datum/event) - /datum/event
-var/list/potentialRandomEvents = typesof(/datum/event) - /datum/event
+//var/list/potentialRandomEvents = typesof(/datum/event) - /datum/event - /datum/event/spider_infestation - /datum/event/alien_infestation
var/eventTimeLower = 15000 //15 minutes
-var/eventTimeUpper = 30000 //30 minutes
+var/eventTimeUpper = 30000 //45 minutes
var/scheduledEvent = null
//Currently unused. Needs an admin panel for messing with events.
-/proc/addPotentialEvent(var/type)
+/*/proc/addPotentialEvent(var/type)
potentialRandomEvents |= type
/proc/removePotentialEvent(var/type)
- potentialRandomEvents -= type
+ potentialRandomEvents -= type*/
/proc/checkEvent()
if(!scheduledEvent)
- scheduledEvent = world.timeofday + rand(eventTimeLower, eventTimeUpper)
+ //more players = more time between events, less players = less time between events
+ var/playercount_modifier = 0.5
+ switch(player_list.len)
+ if(0 to 10)
+ playercount_modifier = 1.2
+ if(11 to 15)
+ playercount_modifier = 1.1
+ if(16 to 20)
+ playercount_modifier = 1
+ if(21 to 25)
+ playercount_modifier = 0.9
+ if(26 to 100000)
+ playercount_modifier = 0.8
+ scheduledEvent = world.timeofday + rand(eventTimeLower, eventTimeUpper) * playercount_modifier
else if(world.timeofday > scheduledEvent)
- spawnEvent()
+ spawn_dynamic_event()
scheduledEvent = null
checkEvent()
-
+//unused, see proc/dynamic_event()
+/*
/proc/spawnEvent()
if(!config.allow_random_events)
return
@@ -37,6 +51,7 @@ var/scheduledEvent = null
//The event will add itself to the MC's event list
//and start working via the constructor.
new Type
+*/
/client/proc/forceEvent(var/type in allEvents)
set name = "Trigger Event (Debug Only)"
diff --git a/code/modules/events/prison_break.dm b/code/modules/events/prison_break.dm
index 82f3194a0c..c04af00af5 100644
--- a/code/modules/events/prison_break.dm
+++ b/code/modules/events/prison_break.dm
@@ -13,7 +13,7 @@
/datum/event/prison_break/announce()
if(prisonAreas && prisonAreas.len > 0)
- command_alert("Gr3y.T1d3 virus detected in [station_name()] imprisonment subroutines. Recommend station AI involvement.", "Security Alert")
+ command_alert("[pick("Gr3y.T1d3 virus","Malignant trojan","Syndicate malware")] detected in [station_name()] imprisonment subroutines. Recommend station AI involvement.", "Security Alert")
else
world.log << "ERROR: Could not initate grey-tide. Unable find prison or brig area."
kill()
@@ -29,14 +29,6 @@
for(var/obj/machinery/light/L in A)
L.flicker(10)
-
-/datum/event/prison_break/announce()
- if(prisonAreas && prisonAreas.len > 0)
- command_alert("Gr3y.T1d3 virus detected in [station_name()] imprisonment subroutines. Recommend station AI involvement.", "Security Alert")
- else
- world.log << "ERROR: Could not initate grey-tide. Unable find prison or brig area."
-
-
/datum/event/prison_break/tick()
if(activeFor == releaseWhen)
if(prisonAreas && prisonAreas.len > 0)
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index ee47cc0abb..99381288ad 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -1,5 +1,10 @@
+/var/global/spacevines_spawned = 0
+
+//not working: wait for fix in TG code
+
/datum/event/spacevine
oneShot = 1
/datum/event/spacevine/start()
- spacevine_infestation()
\ No newline at end of file
+ spacevine_infestation()
+ spacevines_spawned = 1
diff --git a/code/modules/events/spider_infestation.dm b/code/modules/events/spider_infestation.dm
index c578c94cf3..be89686991 100644
--- a/code/modules/events/spider_infestation.dm
+++ b/code/modules/events/spider_infestation.dm
@@ -1,3 +1,5 @@
+/var/global/sent_spiders_to_station = 0
+
/datum/event/spider_infestation
announceWhen = 400
oneShot = 1
@@ -7,7 +9,8 @@
/datum/event/spider_infestation/setup()
announceWhen = rand(announceWhen, announceWhen + 50)
- spawncount = rand(5, 8)
+ spawncount = rand(8, 12) //spiderlings only have a 50% chance to grow big and strong
+ sent_spiders_to_station = 0
/datum/event/spider_infestation/announce()
command_alert("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert")
diff --git a/code/modules/events/spontaneous_appendicitis.dm b/code/modules/events/spontaneous_appendicitis.dm
index feb6f797de..8a2b8133b4 100644
--- a/code/modules/events/spontaneous_appendicitis.dm
+++ b/code/modules/events/spontaneous_appendicitis.dm
@@ -10,4 +10,4 @@
D.holder = H
D.affected_mob = H
H.viruses += D
- break
\ No newline at end of file
+ break