From 61e888cd2bd019a921fd4958b76d9b8c6561206a Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 10 Jan 2019 14:40:24 -0800 Subject: [PATCH 01/11] adjusts experimental KA --- code/modules/projectiles/guns/energy/kinetic_accelerator.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 18eb7a6c17e..89acad55c7c 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -142,11 +142,10 @@ /obj/item/gun/energy/kinetic_accelerator/experimental name = "experimental kinetic accelerator" - desc = "A modified, far more dangerous version of the proto-kinetic accelerator, with half the cooldown and twice the modkit space of the standard version." + desc = "A modified version of the proto-kinetic accelerator, with twice the modkit space of the standard version." icon_state = "kineticgun_h" item_state = "kineticgun_h" origin_tech = "combat=5;powerstorage=3;engineering=5" - overheat_time = 8 max_mod_capacity = 200 //Casing From e06b8f39cc1b01cc8830cc7d65339daeaced7aa0 Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 10 Jan 2019 14:42:36 -0800 Subject: [PATCH 02/11] adds hand labeller to trader default items --- code/datums/outfits/outfit_admin.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm index 0f650e2bd0d..5dcf5d0b247 100644 --- a/code/datums/outfits/outfit_admin.dm +++ b/code/datums/outfits/outfit_admin.dm @@ -708,7 +708,8 @@ id = /obj/item/card/id/supply pda = /obj/item/pda backpack_contents = list( - /obj/item/storage/box/survival = 1 + /obj/item/storage/box/survival = 1, + /obj/item/hand_labeler = 1 ) /datum/outfit/admin/sol_trader/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) From 787aee9655cd331a03265f7fbcf1a499db439fef Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 10 Jan 2019 15:16:59 -0800 Subject: [PATCH 03/11] replace trade objectives with 15 plasma bars & 10,000c --- code/game/gamemodes/objective.dm | 51 ++++--------------- .../game/objects/effects/spawners/lootdrop.dm | 5 +- code/modules/events/traders.dm | 19 +++---- 3 files changed, 18 insertions(+), 57 deletions(-) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 51fc6ed8030..a50d3efac6a 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -724,51 +724,18 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu if(vox_total_kills > vox_allowed_kills) return 0 return 1 -// Traders -/datum/objective/trade // Yes, I know there's no check_completion. The objectives exist only to tell the traders what to get. -/datum/objective/trade/proc/choose_target(var/station) +// Traders +// These objectives have no check_completion, they exist only to tell Sol Traders what to aim for. + +/datum/objective/trade/proc/choose_target() return -/datum/objective/trade/stock // Stock or spare parts. - var/target_rating = 1 -/datum/objective/trade/stock/choose_target(var/station) - var/itemname - switch(rand(1,8)) - if(1) - target = /obj/item/stock_parts/cell - target_amount = 10 - target_rating = 3 - itemname = "ten high-capacity power cells" - if(2) - target = /obj/item/stock_parts/manipulator - target_amount = 20 - itemname = "twenty micro manipulators" - if(3) - target = /obj/item/stock_parts/matter_bin - target_amount = 20 - itemname = "twenty matter bins" - if(4) - target = /obj/item/stock_parts/micro_laser - target_amount = 15 - itemname = "fifteen micro-lasers" - if(5) - target = /obj/item/stock_parts/capacitor - target_amount = 15 - itemname = "fifteen capacitors" - if(6) - target = /obj/item/stock_parts/subspace/filter - target_amount = 4 - itemname = "four hyperwave filters" - if(7) - target = /obj/item/solar_assembly - target_amount = 10 - itemname = "ten solar panel assemblies" - if(8) - target = /obj/item/flash - target_amount = 6 - itemname = "six flashes" - explanation_text = "We are running low on spare parts. Trade for [itemname]." +/datum/objective/trade/plasma/choose_target() + explanation_text = "Acquire at least 15 sheets of plasma through trade." + +/datum/objective/trade/credits/choose_target() + explanation_text = "Acquire at least 10,000 credits through trade." //wizard diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index ce9becd5a6e..6cd5572782c 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -192,23 +192,20 @@ /obj/item/clothing/under/psyjump = 50 ) - /obj/effect/spawner/lootdrop/trade_sol/minerals name = "2. minerals" lootdoubles = 1 loot = list( // Common stuff you get from mining which isn't already present on the station + // Note that plasma and derived hybrid materials are NOT included in this list because plasma is the trader's objective! /obj/item/stack/sheet/mineral/silver = 50, /obj/item/stack/sheet/mineral/gold = 50, - /obj/item/stack/sheet/mineral/plasma = 50, /obj/item/stack/sheet/mineral/uranium = 50, /obj/item/stack/sheet/mineral/diamond = 50, /obj/item/stack/sheet/mineral/titanium = 50, /obj/item/stack/sheet/plasteel = 50, // Hybrid stuff you could in theory get from mining - /obj/item/stack/sheet/plasmaglass = 50, - /obj/item/stack/sheet/plasmarglass = 50, /obj/item/stack/sheet/titaniumglass = 50, // Rare stuff you can't get from mining diff --git a/code/modules/events/traders.dm b/code/modules/events/traders.dm index 2d198200422..5ca48bfa589 100644 --- a/code/modules/events/traders.dm +++ b/code/modules/events/traders.dm @@ -55,17 +55,14 @@ var/global/list/unused_trade_stations = list("sol") show_objectives(M.mind) /datum/event/traders/proc/forge_trader_objectives() - var/i = 1 - var/max_objectives = pick(2, 2, 2, 2, 3, 3, 3, 4) var/list/objs = list() - var/list/goals = list("stockparts") - while(i<= max_objectives) - var/goal = pick(goals) - var/datum/objective/trade/O - if(goal == "stockparts") - O = new /datum/objective/trade/stock(station) - O.choose_target() - objs += O - i++ + var/datum/objective/trade/plasma/P = new /datum/objective/trade/plasma + P.choose_target() + objs += P + + var/datum/objective/trade/credits/C = new /datum/objective/trade/credits + C.choose_target() + objs += C + return objs From 51279caafdd18137e42114d0aa9d239115a8e807 Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 10 Jan 2019 15:19:41 -0800 Subject: [PATCH 04/11] adds healgland, cycler shotgun, enforcers, oxytank --- .../game/objects/effects/spawners/lootdrop.dm | 7 +++++- .../objects/items/weapons/storage/boxes.dm | 22 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 6cd5572782c..769a0e8a296 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -276,6 +276,7 @@ // Surgery /obj/item/scalpel/laser/manager = 100, /obj/item/organ/internal/heart/gland/ventcrawling = 50, + /obj/item/organ/internal/heart/gland/heals = 50, // Genetics Research (should really be under science, but I was stuck for items to put in medical) /obj/item/dnainjector/regenerate = 50, // regeneration @@ -300,15 +301,19 @@ /obj/item/clothing/mask/gas/sechailer/swat = 50, // Ranged weapons + /obj/item/storage/box/enforcer_rubber = 50, + /obj/item/storage/box/enforcer_lethal = 50, /obj/item/gun/projectile/shotgun/automatic/combat = 50, // combat shotgun, between riot and bulldog in robustness. Not illegal, can be obtained from cargo. + /obj/item/gun/projectile/shotgun/automatic/dual_tube = 50, // cycler shotgun, not normally available to crew ) /obj/effect/spawner/lootdrop/trade_sol/eng name = "7. eng gear" - lootcount = 3 loot = list( /obj/item/storage/belt/utility/chief/full = 25, /obj/item/rcd/combat = 25, + /obj/item/tank/emergency_oxygen/double/full = 25, + ) /obj/effect/spawner/lootdrop/trade_sol/largeitem diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index d8d748efb99..516b0fa79c5 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -680,6 +680,28 @@ new /obj/item/clothing/head/syndicatefake(src) new /obj/item/clothing/suit/syndicatefake(src) +/obj/item/storage/box/enforcer_rubber + name = "enforcer pistol kit (rubber)" + desc = "A box marked with pictures of an enforcer pistol, two ammo clips, and the word 'NON-LETHAL'." + icon_state = "box_ert" + +/obj/item/storage/box/enforcer_rubber/New() + ..() + new /obj/item/gun/projectile/automatic/pistol/enforcer(src) // loaded with rubber by default + new /obj/item/ammo_box/magazine/enforcer(src) + new /obj/item/ammo_box/magazine/enforcer(src) + +/obj/item/storage/box/enforcer_lethal + name = "enforcer pistol kit (lethal)" + desc = "A box marked with pictures of an enforcer pistol, two ammo clips, and the word 'LETHAL'." + icon_state = "box_ert" + +/obj/item/storage/box/enforcer_lethal/New() + ..() + new /obj/item/gun/projectile/automatic/pistol/enforcer/lethal(src) + new /obj/item/ammo_box/magazine/enforcer/lethal(src) + new /obj/item/ammo_box/magazine/enforcer/lethal(src) + /obj/item/storage/box/mousetraps name = "box of Pest-B-Gon mousetraps" desc = "WARNING: Keep out of reach of children." From 520d880140ab186ba327b89d2a292fc456f8b757 Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 10 Jan 2019 15:20:08 -0800 Subject: [PATCH 05/11] makes 9mm rubber ammo clip say its rubber --- code/modules/projectiles/ammunition/magazines.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index 89eab0ca882..f4500c7ce6d 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -221,7 +221,7 @@ multiple_sprites = 1 /obj/item/ammo_box/magazine/enforcer - name = "handgun magazine (9mm)" + name = "handgun magazine (9mm rubber)" icon_state = "enforcer" ammo_type = /obj/item/ammo_casing/rubber9mm max_ammo = 8 @@ -250,6 +250,7 @@ return 0 /obj/item/ammo_box/magazine/enforcer/lethal + name = "handgun magazine (9mm)" ammo_type = /obj/item/ammo_casing/c9mm /obj/item/ammo_box/magazine/wt550m9 From dd2808313e89307d61716d813f73191364299202 Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 10 Jan 2019 15:36:12 -0800 Subject: [PATCH 06/11] adds bluespace rpd, removes strange object --- code/game/objects/effects/spawners/lootdrop.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 769a0e8a296..9b94715ad18 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -256,7 +256,6 @@ /obj/item/autoimplanter = 50, // Research / Experimentor - /obj/item/relic = 150, // strange object /obj/item/paper/researchnotes = 150, // papers that give random R&D levels // Xenobio @@ -312,8 +311,8 @@ loot = list( /obj/item/storage/belt/utility/chief/full = 25, /obj/item/rcd/combat = 25, + /obj/item/rpd/bluespace = 25, /obj/item/tank/emergency_oxygen/double/full = 25, - ) /obj/effect/spawner/lootdrop/trade_sol/largeitem From e69c74259aa46704ff7e8ea9f53e2ffef87fa222 Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 10 Jan 2019 16:01:46 -0800 Subject: [PATCH 07/11] adds BoH/nvmeson/matscanner/thermals, moves speed potion --- code/game/objects/effects/spawners/lootdrop.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 9b94715ad18..068b2ef363e 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -261,7 +261,6 @@ // Xenobio /obj/item/slimepotion/sentience = 50, // Low-value, but we want to encourage getting more players back in the round. /obj/item/slimepotion/transference = 50, - /obj/item/slimepotion/speed = 50, ) /obj/effect/spawner/lootdrop/trade_sol/med @@ -298,6 +297,7 @@ // Utility /obj/item/storage/belt/military/assault = 50, /obj/item/clothing/mask/gas/sechailer/swat = 50, + /obj/item/clothing/glasses/thermal = 50, // see heat-source mobs through walls. Less powerful than already-available xray. // Ranged weapons /obj/item/storage/box/enforcer_rubber = 50, @@ -313,6 +313,10 @@ /obj/item/rcd/combat = 25, /obj/item/rpd/bluespace = 25, /obj/item/tank/emergency_oxygen/double/full = 25, + /obj/item/slimepotion/speed = 25, + /obj/item/storage/backpack/holding = 25, + /obj/item/clothing/glasses/meson/night = 25, // NV mesons + /obj/item/clothing/glasses/material = 25, // shows objects, but not mobs, through walls ) /obj/effect/spawner/lootdrop/trade_sol/largeitem From 28ae61ee2cfc0144c7a1f466ea8a9b1ad697c9c0 Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 10 Jan 2019 17:24:55 -0800 Subject: [PATCH 08/11] +talisman, -midgitSE, +cluster grenades, -goliathhide, +KAmodkit, +bartenderkit, +chefkit, -bananade --- .../game/objects/effects/spawners/lootdrop.dm | 31 ++++++++++++------- .../items/weapons/grenades/clusterbuster.dm | 2 +- .../objects/items/weapons/storage/boxes.dm | 28 +++++++++++++++++ 3 files changed, 49 insertions(+), 12 deletions(-) diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 068b2ef363e..057c52a2a4c 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -189,7 +189,9 @@ /obj/item/soap/syndie = 50, /obj/item/lighter/zippo/gonzofist = 50, /obj/item/stack/nanopaste = 50, - /obj/item/clothing/under/psyjump = 50 + /obj/item/clothing/under/psyjump = 50, + /obj/item/immortality_talisman = 50, + /obj/item/grenade/clusterbuster/smoke = 50 ) /obj/effect/spawner/lootdrop/trade_sol/minerals @@ -213,8 +215,7 @@ /obj/item/stack/sheet/mineral/bananium = 50, /obj/item/stack/sheet/wood = 50, /obj/item/stack/sheet/plastic = 50, - /obj/item/stack/sheet/mineral/sandstone = 50, - + /obj/item/stack/sheet/mineral/sandstone = 50 ) /obj/effect/spawner/lootdrop/trade_sol/minerals/New() @@ -241,7 +242,7 @@ /obj/item/gun/projectile/automatic/toy/pistol/enforcer = 50, /obj/item/gun/projectile/shotgun/toy = 50, /obj/item/gun/projectile/shotgun/toy/crossbow = 50, - /obj/item/gun/projectile/shotgun/toy/tommygun = 50, + /obj/item/gun/projectile/shotgun/toy/tommygun = 50 ) @@ -260,7 +261,7 @@ // Xenobio /obj/item/slimepotion/sentience = 50, // Low-value, but we want to encourage getting more players back in the round. - /obj/item/slimepotion/transference = 50, + /obj/item/slimepotion/transference = 50 ) /obj/effect/spawner/lootdrop/trade_sol/med @@ -279,12 +280,11 @@ // Genetics Research (should really be under science, but I was stuck for items to put in medical) /obj/item/dnainjector/regenerate = 50, // regeneration /obj/item/dnainjector/nobreath = 50, - /obj/item/dnainjector/midgit = 50, /obj/item/dnainjector/telemut = 50, // Virology /obj/item/reagent_containers/glass/bottle/regeneration = 50, - /obj/item/reagent_containers/glass/bottle/sensory_restoration = 50, + /obj/item/reagent_containers/glass/bottle/sensory_restoration = 50 ) /obj/effect/spawner/lootdrop/trade_sol/sec @@ -304,6 +304,10 @@ /obj/item/storage/box/enforcer_lethal = 50, /obj/item/gun/projectile/shotgun/automatic/combat = 50, // combat shotgun, between riot and bulldog in robustness. Not illegal, can be obtained from cargo. /obj/item/gun/projectile/shotgun/automatic/dual_tube = 50, // cycler shotgun, not normally available to crew + + // Cluster grenades + /obj/item/grenade/clusterbuster = 50, // cluster flashbang + /obj/item/grenade/clusterbuster/teargas = 50 ) /obj/effect/spawner/lootdrop/trade_sol/eng @@ -317,6 +321,7 @@ /obj/item/storage/backpack/holding = 25, /obj/item/clothing/glasses/meson/night = 25, // NV mesons /obj/item/clothing/glasses/material = 25, // shows objects, but not mobs, through walls + /obj/item/grenade/clusterbuster/metalfoam = 25 // cluster metal foam grenade ) /obj/effect/spawner/lootdrop/trade_sol/largeitem @@ -324,7 +329,7 @@ lootcount = 1 loot = list( /obj/machinery/disco = 20, - /obj/mecha/combat/durand/old = 20, + /obj/mecha/combat/durand/old = 20 ) /obj/effect/spawner/lootdrop/trade_sol/vehicle @@ -353,18 +358,22 @@ // Mining /obj/item/mining_voucher = 100, /obj/item/pickaxe/drill/jackhammer = 100, - /obj/item/stack/sheet/animalhide/goliath_hide = 100, /obj/item/gun/energy/kinetic_accelerator/experimental = 100, + /obj/item/borg/upgrade/modkit/aoe/turfs/andmobs = 100, // Botanist /obj/item/seeds/random/labelled = 100, // Clown - /obj/item/grenade/bananade = 100, + /obj/item/grenade/clusterbuster/honk = 100, /obj/item/bikehorn/golden = 100, + // Bartender + /obj/item/storage/box/bartender_rare_ingredients_kit = 100, - // It would be nice to also have items for other service jobs: Bartender, Mime, Chef, Librarian, Chaplain, etc + // Chef + /obj/item/storage/box/chef_rare_ingredients_kit = 100 + // It would be nice to also have items for other service jobs: Mime, Librarian, Chaplain, etc ) diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.dm b/code/game/objects/items/weapons/grenades/clusterbuster.dm index 46cc71f257d..09822143a34 100644 --- a/code/game/objects/items/weapons/grenades/clusterbuster.dm +++ b/code/game/objects/items/weapons/grenades/clusterbuster.dm @@ -104,7 +104,7 @@ payload = /obj/item/grenade/chem_grenade/cleaner /obj/item/grenade/clusterbuster/teargas - name = "Oignon Grenade" + name = "Oignon Teargas Grenade" payload = /obj/item/grenade/chem_grenade/teargas /obj/item/grenade/clusterbuster/facid diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 516b0fa79c5..1ca94de01dc 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -702,6 +702,34 @@ new /obj/item/ammo_box/magazine/enforcer/lethal(src) new /obj/item/ammo_box/magazine/enforcer/lethal(src) +/obj/item/storage/box/bartender_rare_ingredients_kit + name = "bartender rare reagents kit" + desc = "A box intended for experienced bartenders." + +/obj/item/storage/box/bartender_rare_ingredients_kit/New() + ..() + var/list/reagent_list = list("sacid", "radium", "ether", "methamphetamine", "plasma", "gold", "silver", "capsaicin", "psilocybin") + for(var/reag in reagent_list) + var/obj/item/reagent_containers/glass/bottle/B = new(src) + B.reagents.add_reagent(reag, 30) + B.name = "[reag] bottle" + +/obj/item/storage/box/chef_rare_ingredients_kit + name = "chef rare reagents kit" + desc = "A box intended for experienced chefs." + +/obj/item/storage/box/chef_rare_ingredients_kit/New() + ..() + new /obj/item/reagent_containers/food/condiment/soysauce(src) + new /obj/item/reagent_containers/food/condiment/enzyme(src) + new /obj/item/reagent_containers/food/condiment/pack/hotsauce(src) + new /obj/item/kitchen/knife/butcher(src) + var/list/reagent_list = list("msg", "triple_citrus", "salglu_solution", "nutriment", "gravy", "honey", "vitfro") + for(var/reag in reagent_list) + var/obj/item/reagent_containers/glass/bottle/B = new(src) + B.reagents.add_reagent(reag, 30) + B.name = "[reag] bottle" + /obj/item/storage/box/mousetraps name = "box of Pest-B-Gon mousetraps" desc = "WARNING: Keep out of reach of children." From f77e85810e881bc07844fd3f2a46fb8cdb20775f Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 10 Jan 2019 17:43:56 -0800 Subject: [PATCH 09/11] enable event, but make it fail with msg on red+ alert --- code/modules/events/event_container.dm | 2 +- code/modules/events/traders.dm | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index abe41483bc6..f56f43193b3 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -194,7 +194,7 @@ var/list/event_last_fired = list() new /datum/event_meta(EVENT_LEVEL_MAJOR, "Meteor Wave", /datum/event/meteor_wave, 0, list(ASSIGNMENT_ENGINEER = 5), 1), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Abductor Visit", /datum/event/abductor, 80, is_one_shot = 1), new /datum/event_meta/alien(EVENT_LEVEL_MAJOR, "Alien Infestation", /datum/event/alien_infestation, 0, list(ASSIGNMENT_SECURITY = 15), 1), - new /datum/event_meta(EVENT_LEVEL_MAJOR, "Traders", /datum/event/traders, 0, is_one_shot = 1), + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Traders", /datum/event/traders, 15, is_one_shot = 1), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Terror Spiders", /datum/event/spider_terror, 0, list(ASSIGNMENT_SECURITY = 15), is_one_shot = 1), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Slaughter Demon", /datum/event/spawn_slaughter, 15, is_one_shot = 1), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Floor Cluwne", /datum/event/spawn_floor_cluwne, 15, is_one_shot = 1) diff --git a/code/modules/events/traders.dm b/code/modules/events/traders.dm index 5ca48bfa589..1a76f3d3597 100644 --- a/code/modules/events/traders.dm +++ b/code/modules/events/traders.dm @@ -16,6 +16,10 @@ var/global/list/unused_trade_stations = list("sol") /datum/event/traders/start() if(!station) // If there are no unused stations, just no. return + if(seclevel2num(get_security_level()) >= SEC_LEVEL_RED) + event_announcement.Announce("A trading shuttle from Jupiter Station has been denied docking permission due to the heightened security alert aboard [station_name()].", "Trader Shuttle Docking Request Refused") + return + var/list/spawnlocs = list() for(var/obj/effect/landmark/landmark in GLOB.landmarks_list) if(landmark.name == "traderstart_[station]") @@ -44,7 +48,9 @@ var/global/list/unused_trade_stations = list("sol") M.mind.objectives += trader_objectives greet_trader(M) success_spawn = 1 - if(!success_spawn) + if(success_spawn) + event_announcement.Announce("A trading shuttle from Jupiter Station has been granted docking permission at [station_name()] arrivals port 4.", "Trader Shuttle Docking Request Accepted") + else unused_trade_stations += station // Return the station to the list of usable stations. /datum/event/traders/proc/greet_trader(var/mob/living/carbon/human/M) From 3cfce8eca5808e4932c9ce43c8f2bb6028041384 Mon Sep 17 00:00:00 2001 From: Kyep Date: Thu, 10 Jan 2019 19:42:30 -0800 Subject: [PATCH 10/11] trader event static weight 180, based on convo with neca --- code/modules/events/event_container.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index f56f43193b3..6cc12faf1b4 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -194,7 +194,7 @@ var/list/event_last_fired = list() new /datum/event_meta(EVENT_LEVEL_MAJOR, "Meteor Wave", /datum/event/meteor_wave, 0, list(ASSIGNMENT_ENGINEER = 5), 1), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Abductor Visit", /datum/event/abductor, 80, is_one_shot = 1), new /datum/event_meta/alien(EVENT_LEVEL_MAJOR, "Alien Infestation", /datum/event/alien_infestation, 0, list(ASSIGNMENT_SECURITY = 15), 1), - new /datum/event_meta(EVENT_LEVEL_MAJOR, "Traders", /datum/event/traders, 15, is_one_shot = 1), + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Traders", /datum/event/traders, 180, is_one_shot = 1), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Terror Spiders", /datum/event/spider_terror, 0, list(ASSIGNMENT_SECURITY = 15), is_one_shot = 1), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Slaughter Demon", /datum/event/spawn_slaughter, 15, is_one_shot = 1), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Floor Cluwne", /datum/event/spawn_floor_cluwne, 15, is_one_shot = 1) From a39a0df1f9b12949b6de05059637d819fe1ac169 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 12 Jan 2019 15:22:29 -0800 Subject: [PATCH 11/11] limit traders spawned to 2 --- code/modules/events/traders.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/events/traders.dm b/code/modules/events/traders.dm index 1a76f3d3597..2b49bd51bfc 100644 --- a/code/modules/events/traders.dm +++ b/code/modules/events/traders.dm @@ -6,7 +6,7 @@ var/global/list/unused_trade_stations = list("sol") /datum/event/traders var/success_spawn = 0 var/station = null - var/spawn_count = 3 + var/spawn_count = 2 var/list/trader_objectives = list() /datum/event/traders/setup() @@ -39,6 +39,7 @@ var/global/list/unused_trade_stations = list("sol") var/turf/picked_loc = spawnlocs[index] index++ var/mob/C = pick_n_take(candidates) + spawn_count-- if(C) GLOB.respawnable_list -= C.client var/mob/living/carbon/human/M = new /mob/living/carbon/human(picked_loc)