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