From b887ecc3fcf16aa4f0686f994a32d65632e62874 Mon Sep 17 00:00:00 2001 From: ilyadobr <155672646+i1yadobr@users.noreply.github.com> Date: Wed, 19 Jun 2024 14:54:37 +0300 Subject: [PATCH] tweak(merchants): more goods, better price --- code/datums/trading/ai.dm | 151 +++--- code/datums/trading/armor.dm | 48 +- code/datums/trading/food.dm | 79 ++-- code/datums/trading/goods.dm | 441 ++++++++++-------- code/datums/trading/misc.dm | 157 ++++--- code/datums/trading/spacesuits.dm | 114 +++-- code/datums/trading/unique.dm | 75 +-- code/datums/trading/vox.dm | 32 +- code/datums/trading/weaponry.dm | 116 ++--- .../game/objects/items/storage/pill_bottle.dm | 66 ++- code/modules/Z_item_worth/materials.dm | 6 +- code/modules/Z_item_worth/reagents.dm | 38 +- code/modules/Z_item_worth/worths_list.dm | 339 ++++++++------ .../clothing/spacesuits/rig/suits/ert.dm | 36 ++ .../reagents/reagent_containers/hypospray.dm | 24 +- .../reagents/reagent_containers/pill.dm | 60 +++ icons/obj/syringe.dmi | Bin 4637 -> 5127 bytes 17 files changed, 1094 insertions(+), 688 deletions(-) diff --git a/code/datums/trading/ai.dm b/code/datums/trading/ai.dm index 7bac9ab1290..3d2e856f9c0 100644 --- a/code/datums/trading/ai.dm +++ b/code/datums/trading/ai.dm @@ -10,7 +10,7 @@ They sell generic supplies and ask for generic supplies. name = "AI" origin = "Trading Beacon" name_language = LANGUAGE_EAL - trade_flags = TRADER_MONEY|TRADER_GOODS + trade_flags = TRADER_MONEY|TRADER_WANTED_ONLY|TRADER_GOODS speech = list( TRADER_HAIL_GENERIC = "Greetings, I am MERCHANT, Artifical Intelligence onboard ORIGIN, tasked with trading goods in return for credits and supplies.", @@ -29,41 +29,38 @@ They sell generic supplies and ask for generic supplies. TRADER_BRIBE_FAILURE = "You have given me money to stay, however, I am a station. I do not leave.") - possible_wanted_items = list(/obj/item/device/ = TRADER_SUBTYPES_ONLY, - /obj/item/device/assembly = TRADER_BLACKLIST_ALL, - /obj/item/device/assembly_holder = TRADER_BLACKLIST_ALL, - /obj/item/device/encryptionkey/syndicate = TRADER_BLACKLIST, - /obj/item/tank/plasma/onetankbomb = TRADER_BLACKLIST, - /obj/item/device/radio = TRADER_BLACKLIST_ALL, - /obj/item/device/pda = TRADER_BLACKLIST_SUB + possible_wanted_items = list(/obj/item/device = TRADER_SUBTYPES_ONLY, + /obj/item/device/assembly = TRADER_BLACKLIST_ALL, + /obj/item/device/assembly_holder = TRADER_BLACKLIST_ALL, + /obj/item/device/encryptionkey/syndicate = TRADER_BLACKLIST, + /obj/item/device/radio = TRADER_BLACKLIST_ALL, + /obj/item/device/pda = TRADER_BLACKLIST_SUB ) - possible_trading_items = list(/obj/item/storage/bag = TRADER_SUBTYPES_ONLY, - /obj/item/storage/bag/cash/infinite = TRADER_BLACKLIST, - /obj/item/storage/backpack = TRADER_ALL, - /obj/item/storage/backpack/cultpack = TRADER_BLACKLIST, - /obj/item/storage/backpack/holding = TRADER_BLACKLIST, - /obj/item/storage/backpack/satchel/grey/withwallet = TRADER_BLACKLIST, - /obj/item/storage/backpack/satchel/syndie_kit = TRADER_BLACKLIST_ALL, - /obj/item/storage/backpack/chameleon = TRADER_BLACKLIST, - /obj/item/storage/backpack/ert = TRADER_BLACKLIST_ALL, - /obj/item/storage/backpack/dufflebag/syndie = TRADER_BLACKLIST_SUB, - /obj/item/storage/belt = TRADER_SUBTYPES_ONLY, - /obj/item/storage/belt/soulstone = TRADER_BLACKLIST_ALL, - /obj/item/storage/briefcase = TRADER_THIS_TYPE, - /obj/item/storage/fancy = TRADER_SUBTYPES_ONLY, - /obj/item/storage/laundry_basket = TRADER_THIS_TYPE, - /obj/item/storage/secure/briefcase = TRADER_THIS_TYPE, - /obj/item/storage/plants = TRADER_THIS_TYPE, - /obj/item/storage/ore = TRADER_THIS_TYPE, - /obj/item/storage/toolbox = TRADER_ALL, - /obj/item/storage/wallet = TRADER_THIS_TYPE, - /obj/item/storage/photo_album = TRADER_THIS_TYPE, - /obj/item/clothing/glasses = TRADER_SUBTYPES_ONLY, - /obj/item/clothing/glasses/hud = TRADER_BLACKLIST, - /obj/item/clothing/glasses/hud/standard/thermal/syndie = TRADER_BLACKLIST_ALL, - /obj/item/clothing/glasses/sunglasses/blindfold/tape = TRADER_BLACKLIST, - /obj/item/clothing/glasses/chameleon = TRADER_BLACKLIST + possible_trading_items = list(/obj/item/storage/bag = TRADER_SUBTYPES_ONLY, + /obj/item/storage/bag/cash/infinite = TRADER_BLACKLIST, + /obj/item/storage/backpack = TRADER_ALL, + /obj/item/storage/backpack/cultpack = TRADER_BLACKLIST, + /obj/item/storage/backpack/holding = TRADER_BLACKLIST, + /obj/item/storage/backpack/satchel/grey/withwallet = TRADER_BLACKLIST, + /obj/item/storage/backpack/satchel/syndie_kit = TRADER_BLACKLIST_ALL, + /obj/item/storage/backpack/chameleon = TRADER_BLACKLIST, + /obj/item/storage/belt = TRADER_SUBTYPES_ONLY, + /obj/item/storage/belt/soulstone = TRADER_BLACKLIST_ALL, + /obj/item/storage/briefcase = TRADER_THIS_TYPE, + /obj/item/storage/fancy = TRADER_SUBTYPES_ONLY, + /obj/item/storage/laundry_basket = TRADER_THIS_TYPE, + /obj/item/storage/secure/briefcase = TRADER_THIS_TYPE, + /obj/item/storage/plants = TRADER_THIS_TYPE, + /obj/item/storage/ore = TRADER_THIS_TYPE, + /obj/item/storage/toolbox = TRADER_ALL, + /obj/item/storage/wallet = TRADER_THIS_TYPE, + /obj/item/storage/photo_album = TRADER_THIS_TYPE, + /obj/item/clothing/glasses = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/glasses/hud = TRADER_BLACKLIST, + /obj/item/clothing/glasses/hud/standard/thermal/syndie = TRADER_BLACKLIST_ALL, + /obj/item/clothing/glasses/sunglasses/blindfold/tape = TRADER_BLACKLIST, + /obj/item/clothing/glasses/chameleon = TRADER_BLACKLIST ) insult_drop = 0 @@ -76,30 +73,72 @@ They sell generic supplies and ask for generic supplies. /datum/trader/ship/trading_beacon/mine origin = "Mining Beacon" - possible_trading_items = list(/obj/item/ore = TRADER_SUBTYPES_ONLY, - /obj/item/stack/material/uranium/ten = TRADER_THIS_TYPE, - /obj/item/stack/material/plasteel/fifty = TRADER_THIS_TYPE, - /obj/item/stack/material/steel/fifty = TRADER_THIS_TYPE, - /obj/item/stack/material/deuterium/fifty = TRADER_THIS_TYPE, - /obj/item/stack/material/diamond/ten = TRADER_THIS_TYPE, - /obj/item/stack/material/gold/ten = TRADER_THIS_TYPE, - /obj/item/stack/material/glass/fifty = TRADER_THIS_TYPE, - /obj/item/stack/material/glass/rplass/ten = TRADER_THIS_TYPE, - /obj/item/stack/material/glass/reinforced/fifty = TRADER_THIS_TYPE, - /obj/item/stack/material/marble/fifty = TRADER_THIS_TYPE, - /obj/item/stack/material/mhydrogen/ten = TRADER_THIS_TYPE, - /obj/item/stack/material/ocp/ten = TRADER_THIS_TYPE, - /obj/item/stack/material/osmium/ten = TRADER_THIS_TYPE, - /obj/item/stack/material/plasma/fifty = TRADER_THIS_TYPE, - /obj/item/stack/material/plastic/fifty = TRADER_THIS_TYPE, - /obj/item/stack/material/platinum/ten = TRADER_THIS_TYPE, - /obj/item/stack/material/sandstone/fifty = TRADER_THIS_TYPE, - /obj/item/stack/material/silver/ten = TRADER_THIS_TYPE, - /obj/item/stack/material/tritium/fifty = TRADER_THIS_TYPE, - /obj/item/stack/material/uranium/ten = TRADER_THIS_TYPE, - /obj/machinery/mining = TRADER_SUBTYPES_ONLY + possible_trading_items = list(/obj/item/ore = TRADER_SUBTYPES_ONLY, + /obj/item/stack/material/uranium/ten = TRADER_THIS_TYPE, + /obj/item/stack/material/plasteel/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/steel/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/deuterium/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/diamond/ten = TRADER_THIS_TYPE, + /obj/item/stack/material/gold/ten = TRADER_THIS_TYPE, + /obj/item/stack/material/glass/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/glass/rplass/ten = TRADER_THIS_TYPE, + /obj/item/stack/material/glass/rblack/ten = TRADER_THIS_TYPE, + /obj/item/stack/material/glass/reinforced/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/marble/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/mhydrogen/ten = TRADER_THIS_TYPE, + /obj/item/stack/material/ocp/ten = TRADER_THIS_TYPE, + /obj/item/stack/material/osmium/ten = TRADER_THIS_TYPE, + /obj/item/stack/material/plasma/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/plastic/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/platinum/ten = TRADER_THIS_TYPE, + /obj/item/stack/material/sandstone/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/silver/ten = TRADER_THIS_TYPE, + /obj/item/stack/material/tritium/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/uranium/ten = TRADER_THIS_TYPE, + /obj/item/pickaxe = TRADER_THIS_TYPE, + /obj/item/pickaxe/drill = TRADER_THIS_TYPE, + /obj/item/pickaxe/drill/adv = TRADER_THIS_TYPE, + /obj/item/pickaxe/jackhammer = TRADER_THIS_TYPE, + /obj/machinery/mining = TRADER_SUBTYPES_ONLY ) +/datum/trader/ship/trading_beacon/builder + origin = "Construction Beacon" + + possible_trading_items = list( + /obj/item/stack/material/darkwood/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/wood/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/glass/fifty = TRADER_THIS_TYPE, + /obj/item/stack/material/steel/fifty = TRADER_THIS_TYPE, + /obj/item/stack/tile/carpet/fifty = TRADER_THIS_TYPE, + /obj/item/stack/tile/carpetarcade/fifty = TRADER_THIS_TYPE, + /obj/item/stack/tile/carpetblue/fifty = TRADER_THIS_TYPE, + /obj/item/stack/tile/carpetblue2/fifty = TRADER_THIS_TYPE, + /obj/item/stack/tile/carpetgreen/fifty = TRADER_THIS_TYPE, + /obj/item/stack/tile/carpetoldred/fifty = TRADER_THIS_TYPE, + /obj/item/stack/tile/carpetorange/fifty = TRADER_THIS_TYPE, + /obj/item/stack/tile/carpetpurple/fifty = TRADER_THIS_TYPE, + /obj/item/stack/tile/carpetred/fifty = TRADER_THIS_TYPE, + /obj/item/stack/tile/linoleum/fifty = TRADER_THIS_TYPE, + /obj/item/bedsheet = TRADER_SUBTYPES_ONLY, + /obj/item/bedsheet/wiz = TRADER_BLACKLIST, + /obj/item/device/cable_painter = TRADER_THIS_TYPE, + /obj/item/device/floor_painter = TRADER_THIS_TYPE, + /obj/item/device/pipe_painter = TRADER_THIS_TYPE, + /obj/item/construction/rcd = TRADER_THIS_TYPE, + /obj/item/rcd_ammo = TRADER_ALL, + /obj/item/backwear/powered/rpd = TRADER_THIS_TYPE, + /obj/item/contraband/poster = TRADER_THIS_TYPE, + /obj/item/inflatable_dispenser = TRADER_THIS_TYPE, + /obj/item/storage/belt/utility = TRADER_THIS_TYPE, + /obj/item/storage/briefcase/inflatable = TRADER_THIS_TYPE, + /obj/item/clothing/suit/storage/hazardvest = TRADER_ALL, + /obj/item/clothing/gloves/thick = TRADER_THIS_TYPE, + /obj/item/clothing/gloves/insulated = TRADER_ALL, + /obj/item/clothing/head/hardhat = TRADER_ALL, + /obj/item/clothing/head/hardhat/atmos = TRADER_BLACKLIST, + /obj/item/clothing/shoes/workboots = TRADER_THIS_TYPE + ) ///datum/trader/ship/trading_beacon/manufacturing Removed because most of these things are immovable // origin = "Manifacturing Beacon" diff --git a/code/datums/trading/armor.dm b/code/datums/trading/armor.dm index 1e9ab6e960d..4ab66e58725 100644 --- a/code/datums/trading/armor.dm +++ b/code/datums/trading/armor.dm @@ -22,25 +22,31 @@ TRADER_BRIBE_FAILURE = "I have other customers to trade with.", TRADER_BRIBE_SUCCESS = "Yeah, maybe I'll stay for TIME more minutes.") - possible_trading_items = list(/obj/item/clothing/head/helmet = TRADER_THIS_TYPE, - /obj/item/clothing/head/helmet/ablative = TRADER_THIS_TYPE, - /obj/item/clothing/head/helmet/ballistic = TRADER_THIS_TYPE, - /obj/item/clothing/head/helmet/syndi = TRADER_THIS_TYPE, - /obj/item/clothing/head/helmet/nt = TRADER_ALL, - /obj/item/clothing/head/helmet/riot = TRADER_THIS_TYPE, - /obj/item/clothing/head/helmet/swat = TRADER_THIS_TYPE, - /obj/item/clothing/accessory/armguards = TRADER_ALL, - /obj/item/clothing/accessory/armor/helmcover = TRADER_SUBTYPES_ONLY, - /obj/item/clothing/accessory/armor/tag = TRADER_SUBTYPES_ONLY, - /obj/item/clothing/accessory/armorplate = TRADER_ALL, - /obj/item/clothing/accessory/legguards = TRADER_ALL, - /obj/item/clothing/accessory/storage/pouches = TRADER_ALL, - /obj/item/clothing/suit/armor/bulletproof = TRADER_THIS_TYPE, - /obj/item/clothing/suit/armor/hos = TRADER_ALL, - /obj/item/clothing/suit/armor/laserproof = TRADER_THIS_TYPE, - /obj/item/clothing/suit/armor/pcarrier = TRADER_THIS_TYPE, - /obj/item/clothing/suit/armor/reactive = TRADER_THIS_TYPE, - /obj/item/clothing/suit/armor/riot = TRADER_THIS_TYPE, - /obj/item/clothing/suit/armor/vest = TRADER_ALL, - /obj/item/clothing/suit/armor/vest/ert = TRADER_BLACKLIST_ALL + possible_trading_items = list(/obj/item/clothing/head/helmet = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/ablative = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/ballistic = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/syndi = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/nt = TRADER_ALL, + /obj/item/clothing/head/helmet/riot = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/swat = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/captain = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/ert = TRADER_ALL, + /obj/item/clothing/accessory/armguards = TRADER_ALL, + /obj/item/clothing/accessory/armor/helmcover = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/accessory/armor/tag = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/accessory/armorplate = TRADER_ALL, + /obj/item/clothing/accessory/legguards = TRADER_ALL, + /obj/item/clothing/accessory/storage/pouches = TRADER_ALL, + /obj/item/clothing/gloves/guards = TRADER_THIS_TYPE, + /obj/item/clothing/gloves/thick/swat = TRADER_THIS_TYPE, + /obj/item/clothing/suit/armor/bulletproof = TRADER_THIS_TYPE, + /obj/item/clothing/suit/armor/hos = TRADER_ALL, + /obj/item/clothing/suit/armor/laserproof = TRADER_THIS_TYPE, + /obj/item/clothing/suit/armor/pcarrier = TRADER_ALL, + /obj/item/clothing/suit/armor/pcarrier/light = TRADER_BLACKLIST_ALL, + /obj/item/clothing/suit/armor/pcarrier/medium = TRADER_BLACKLIST_ALL, + /obj/item/clothing/suit/armor/pcarrier/syndi = TRADER_BLACKLIST, + /obj/item/clothing/suit/armor/reactive = TRADER_THIS_TYPE, + /obj/item/clothing/suit/armor/riot = TRADER_THIS_TYPE, + /obj/item/clothing/suit/armor/vest = TRADER_ALL ) diff --git a/code/datums/trading/food.dm b/code/datums/trading/food.dm index 27243de4bcb..01e1c3499e2 100644 --- a/code/datums/trading/food.dm +++ b/code/datums/trading/food.dm @@ -41,14 +41,14 @@ possible_origins = list("888 Shanghai Kitchen", "Mr. Lee's Greater Hong Kong", "The House of the Venerable and Inscrutable Colonel", "Lucky Dragon") trade_flags = TRADER_MONEY possible_wanted_items = list() - possible_trading_items = list(/obj/item/reagent_containers/food/meatkabob = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/monkeysdelight = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/ricepudding = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/slice/xenomeatbread/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/soydope = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/stewedsoymeat = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/wingfangchu = TRADER_THIS_TYPE, - /obj/item/reagent_containers/vessel/dry_ramen = TRADER_THIS_TYPE + possible_trading_items = list(/obj/item/reagent_containers/food/meatkabob = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/monkeysdelight = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/ricepudding = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/slice/xenomeatbread/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/soydope = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/stewedsoymeat = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/wingfangchu = TRADER_THIS_TYPE, + /obj/item/reagent_containers/vessel/dry_ramen = TRADER_THIS_TYPE ) var/list/fortunes = list("Today it's up to you to create the peacefulness you long for.", @@ -115,20 +115,20 @@ TRADER_BRIBE_FAILURE = "Of course sir! ORIGIN is always here for you!" ) - possible_trading_items = list(/obj/item/reagent_containers/food = TRADER_SUBTYPES_ONLY, - /obj/item/reagent_containers/vessel/can = TRADER_SUBTYPES_ONLY, - /obj/item/reagent_containers/vessel/bottle = TRADER_SUBTYPES_ONLY, - /obj/item/reagent_containers/vessel/bottle/small = TRADER_BLACKLIST, - /obj/item/reagent_containers/vessel/bottle/chemical = TRADER_BLACKLIST_ALL, - /obj/item/reagent_containers/food/boiledmetroidcore = TRADER_BLACKLIST, - /obj/item/reagent_containers/food/checker = TRADER_BLACKLIST_ALL, - /obj/item/reagent_containers/food/fruit_slice = TRADER_BLACKLIST, - /obj/item/reagent_containers/food/slice = TRADER_BLACKLIST_ALL, - /obj/item/reagent_containers/food/grown = TRADER_BLACKLIST_ALL, - /obj/item/reagent_containers/food/human = TRADER_BLACKLIST_ALL, - /obj/item/reagent_containers/food/sliceable/braincake = TRADER_BLACKLIST, - /obj/item/reagent_containers/food/meat/human = TRADER_BLACKLIST, - /obj/item/reagent_containers/food/variable = TRADER_BLACKLIST_ALL + possible_trading_items = list(/obj/item/reagent_containers/food = TRADER_SUBTYPES_ONLY, + /obj/item/reagent_containers/vessel/can = TRADER_SUBTYPES_ONLY, + /obj/item/reagent_containers/vessel/bottle = TRADER_SUBTYPES_ONLY, + /obj/item/reagent_containers/vessel/bottle/small = TRADER_BLACKLIST, + /obj/item/reagent_containers/vessel/bottle/chemical = TRADER_BLACKLIST_ALL, + /obj/item/reagent_containers/food/boiledmetroidcore = TRADER_BLACKLIST, + /obj/item/reagent_containers/food/checker = TRADER_BLACKLIST_ALL, + /obj/item/reagent_containers/food/fruit_slice = TRADER_BLACKLIST, + /obj/item/reagent_containers/food/slice = TRADER_BLACKLIST_ALL, + /obj/item/reagent_containers/food/grown = TRADER_BLACKLIST_ALL, + /obj/item/reagent_containers/food/human = TRADER_BLACKLIST_ALL, + /obj/item/reagent_containers/food/sliceable/braincake = TRADER_BLACKLIST, + /obj/item/reagent_containers/food/meat/human = TRADER_BLACKLIST, + /obj/item/reagent_containers/food/variable = TRADER_BLACKLIST_ALL ) /datum/trader/ship/bakery @@ -155,20 +155,21 @@ TRADER_BRIBE_FAILURE = "Oh ho ho! I'd never think of taking ORIGIN on the road!" ) - possible_trading_items = list(/obj/item/reagent_containers/food/slice/birthdaycake/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/slice/carrotcake/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/slice/cheesecake/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/slice/chocolatecake/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/slice/lemoncake/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/slice/limecake/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/slice/orangecake/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/slice/plaincake/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/slice/pumpkinpie/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/slice/bananabread/filled = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/sliceable = TRADER_SUBTYPES_ONLY, - /obj/item/reagent_containers/food/sliceable/pizza = TRADER_BLACKLIST_ALL, - /obj/item/reagent_containers/food/sliceable/xenomeatbread = TRADER_BLACKLIST, - /obj/item/reagent_containers/food/sliceable/flatdough = TRADER_BLACKLIST, - /obj/item/reagent_containers/food/sliceable/braincake = TRADER_BLACKLIST, - /obj/item/reagent_containers/food/pie = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/applepie = TRADER_THIS_TYPE) + possible_trading_items = list(/obj/item/reagent_containers/food/slice/birthdaycake/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/slice/carrotcake/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/slice/cheesecake/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/slice/chocolatecake/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/slice/lemoncake/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/slice/limecake/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/slice/orangecake/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/slice/plaincake/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/slice/pumpkinpie/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/slice/bananabread/filled = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/sliceable = TRADER_SUBTYPES_ONLY, + /obj/item/reagent_containers/food/sliceable/pizza = TRADER_BLACKLIST_ALL, + /obj/item/reagent_containers/food/sliceable/xenomeatbread = TRADER_BLACKLIST, + /obj/item/reagent_containers/food/sliceable/flatdough = TRADER_BLACKLIST, + /obj/item/reagent_containers/food/sliceable/braincake = TRADER_BLACKLIST, + /obj/item/reagent_containers/food/pie = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/applepie = TRADER_THIS_TYPE + ) diff --git a/code/datums/trading/goods.dm b/code/datums/trading/goods.dm index d174eb78cff..edc8093a850 100644 --- a/code/datums/trading/goods.dm +++ b/code/datums/trading/goods.dm @@ -25,25 +25,26 @@ TRADER_BRIBE_SUCCESS = "You know what, I wasn't doing anything for TIME minutes anyways.", ) - possible_wanted_items = list(/obj/item/toy/figure/ert = TRADER_THIS_TYPE, - /obj/item/toy/prize/honk = TRADER_THIS_TYPE + possible_wanted_items = list(/obj/item/toy/figure/ert = TRADER_THIS_TYPE, + /obj/item/toy/prize/honk = TRADER_THIS_TYPE, + /obj/item/material/coin = TRADER_SUBTYPES_ONLY ) - possible_trading_items = list(/obj/item/toy/prize = TRADER_SUBTYPES_ONLY, - /obj/item/toy/prize/honk = TRADER_BLACKLIST, - /obj/item/toy/figure = TRADER_SUBTYPES_ONLY, - /obj/item/toy/figure/ert = TRADER_BLACKLIST, - /obj/item/toy/plushie = TRADER_SUBTYPES_ONLY, - /obj/item/toy/katana = TRADER_THIS_TYPE, - /obj/item/toy/sword = TRADER_THIS_TYPE, - /obj/item/toy/bosunwhistle = TRADER_THIS_TYPE, - /obj/item/board = TRADER_THIS_TYPE, - /obj/item/storage/box/checkers = TRADER_ALL, - /obj/item/deck = TRADER_SUBTYPES_ONLY, - /obj/item/pack = TRADER_SUBTYPES_ONLY, - /obj/item/dice = TRADER_ALL, - /obj/item/dice/d20/cursed = TRADER_BLACKLIST, - /obj/item/gun/launcher/money = TRADER_THIS_TYPE + possible_trading_items = list(/obj/item/toy/prize = TRADER_SUBTYPES_ONLY, + /obj/item/toy/prize/honk = TRADER_BLACKLIST, + /obj/item/toy/figure = TRADER_SUBTYPES_ONLY, + /obj/item/toy/figure/ert = TRADER_BLACKLIST, + /obj/item/toy/plushie = TRADER_SUBTYPES_ONLY, + /obj/item/toy/katana = TRADER_THIS_TYPE, + /obj/item/toy/sword = TRADER_THIS_TYPE, + /obj/item/toy/bosunwhistle = TRADER_THIS_TYPE, + /obj/item/board = TRADER_THIS_TYPE, + /obj/item/storage/box/checkers = TRADER_ALL, + /obj/item/deck = TRADER_SUBTYPES_ONLY, + /obj/item/pack = TRADER_SUBTYPES_ONLY, + /obj/item/dice = TRADER_ALL, + /obj/item/dice/d20/cursed = TRADER_BLACKLIST, + /obj/item/gun/launcher/money = TRADER_THIS_TYPE ) /datum/trader/ship/electronics @@ -71,32 +72,39 @@ TRADER_BRIBE_SUCCESS = "Why not! Glad to be here for a few more minutes.", ) - possible_trading_items = list(/obj/item/computer_hardware/battery_module = TRADER_SUBTYPES_ONLY, - /obj/item/circuitboard = TRADER_SUBTYPES_ONLY, - /obj/item/circuitboard/telecomms = TRADER_BLACKLIST, - /obj/item/circuitboard/unary_atmos = TRADER_BLACKLIST, - /obj/item/circuitboard/arcade = TRADER_BLACKLIST, - /obj/item/circuitboard/mecha = TRADER_BLACKLIST, - /obj/item/circuitboard/mecha/odysseus = TRADER_BLACKLIST, - /obj/item/circuitboard/mecha/honker = TRADER_BLACKLIST, - /obj/item/circuitboard/mecha/durand = TRADER_BLACKLIST, - /obj/item/circuitboard/mecha/gygax = TRADER_BLACKLIST, - /obj/item/circuitboard/mecha/ripley = TRADER_BLACKLIST, - /obj/item/circuitboard/broken = TRADER_BLACKLIST, - /obj/item/stack/cable_coil = TRADER_SUBTYPES_ONLY, - /obj/item/stack/cable_coil/cyborg = TRADER_BLACKLIST, - /obj/item/stack/cable_coil/random = TRADER_BLACKLIST, - /obj/item/stack/cable_coil/cut = TRADER_BLACKLIST, - /obj/item/airalarm_electronics = TRADER_THIS_TYPE, - /obj/item/airlock_electronics = TRADER_ALL, - /obj/item/cell = TRADER_THIS_TYPE, - /obj/item/cell/crap = TRADER_THIS_TYPE, - /obj/item/cell/high = TRADER_THIS_TYPE, - /obj/item/cell/super = TRADER_THIS_TYPE, - /obj/item/cell/hyper = TRADER_THIS_TYPE, - /obj/item/module = TRADER_SUBTYPES_ONLY, - /obj/item/tracker_electronics = TRADER_THIS_TYPE, - /obj/item/combotool/advtool = TRADER_THIS_TYPE + possible_trading_items = list(/obj/item/circuitboard = TRADER_SUBTYPES_ONLY, + /obj/item/circuitboard/telecomms = TRADER_BLACKLIST, + /obj/item/circuitboard/unary_atmos = TRADER_BLACKLIST, + /obj/item/circuitboard/arcade = TRADER_BLACKLIST, + /obj/item/circuitboard/mecha = TRADER_BLACKLIST, + /obj/item/circuitboard/mecha/odysseus = TRADER_BLACKLIST, + /obj/item/circuitboard/mecha/honker = TRADER_BLACKLIST, + /obj/item/circuitboard/mecha/durand = TRADER_BLACKLIST, + /obj/item/circuitboard/mecha/gygax = TRADER_BLACKLIST, + /obj/item/circuitboard/mecha/ripley = TRADER_BLACKLIST, + /obj/item/circuitboard/broken = TRADER_BLACKLIST, + /obj/item/stack/cable_coil = TRADER_SUBTYPES_ONLY, + /obj/item/stack/cable_coil/cyborg = TRADER_BLACKLIST, + /obj/item/stack/cable_coil/random = TRADER_BLACKLIST, + /obj/item/stack/cable_coil/cut = TRADER_BLACKLIST, + /obj/item/airalarm_electronics = TRADER_THIS_TYPE, + /obj/item/airlock_electronics = TRADER_ALL, + /obj/item/cell = TRADER_THIS_TYPE, + /obj/item/cell/crap = TRADER_THIS_TYPE, + /obj/item/cell/high = TRADER_THIS_TYPE, + /obj/item/cell/super = TRADER_THIS_TYPE, + /obj/item/cell/hyper = TRADER_THIS_TYPE, + /obj/item/module = TRADER_SUBTYPES_ONLY, + /obj/item/tracker_electronics = TRADER_THIS_TYPE, + /obj/item/combotool/advtool = TRADER_THIS_TYPE, + /obj/item/modular_computer/tablet/preset/custom_loadout/cheap = TRADER_THIS_TYPE, + /obj/item/modular_computer/laptop/preset/custom_loadout/cheap = TRADER_THIS_TYPE, + /obj/item/computer_hardware = TRADER_ALL, + /obj/item/computer_hardware/battery_module = TRADER_SUBTYPES_ONLY, + /obj/item/computer_hardware/hard_drive/portable = TRADER_BLACKLIST_ALL, + /obj/item/computer_hardware/hard_drive/cluster = TRADER_BLACKLIST, + /obj/item/computer_hardware/network_card/advanced = TRADER_BLACKLIST, + /obj/item/computer_hardware/processor_unit/photonic = TRADER_BLACKLIST ) @@ -127,41 +135,40 @@ TRADER_BRIBE_SUCCESS = "Hm.... sure! We'll have a few minutes of 'engine troubles'.", ) - possible_trading_items = list(/obj/item/clothing/under = TRADER_SUBTYPES_ONLY, - /obj/item/clothing/under/acj = TRADER_BLACKLIST, - /obj/item/clothing/under/assistantformal/bluespace_tech = TRADER_BLACKLIST, - /obj/item/clothing/under/chameleon = TRADER_BLACKLIST, - /obj/item/clothing/under/color = TRADER_BLACKLIST, - /obj/item/clothing/under/ert = TRADER_BLACKLIST, - /obj/item/clothing/under/gimmick = TRADER_BLACKLIST_ALL, - /obj/item/clothing/under/pj = TRADER_BLACKLIST, - /obj/item/clothing/under/rank = TRADER_BLACKLIST, - /obj/item/clothing/under/stripper = TRADER_BLACKLIST_ALL, - /obj/item/clothing/under/swimsuit = TRADER_BLACKLIST, - /obj/item/clothing/under/vox = TRADER_BLACKLIST_ALL, - /obj/item/clothing/under/wedding = TRADER_BLACKLIST, - /obj/item/clothing/under/monkey = TRADER_BLACKLIST, - /obj/item/clothing/suit = TRADER_SUBTYPES_ONLY, - /obj/item/clothing/suit/armor = TRADER_BLACKLIST_ALL, - /obj/item/clothing/suit/bio_suit = TRADER_BLACKLIST_ALL, - /obj/item/clothing/suit/fire = TRADER_BLACKLIST_ALL, - /obj/item/clothing/suit/lightrig = TRADER_BLACKLIST_ALL, - /obj/item/clothing/suit/poncho = TRADER_BLACKLIST, - /obj/item/clothing/suit/poncho/roles = TRADER_BLACKLIST, - /obj/item/clothing/suit/radiation = TRADER_BLACKLIST, - /obj/item/clothing/suit/bluetag = TRADER_BLACKLIST, - /obj/item/clothing/suit/redtag = TRADER_BLACKLIST, - /obj/item/clothing/suit/rubber = TRADER_BLACKLIST_ALL, - /obj/item/clothing/suit/security = TRADER_BLACKLIST, - /obj/item/clothing/suit/space = TRADER_BLACKLIST_ALL, - /obj/item/clothing/suit/storage = TRADER_BLACKLIST, - /obj/item/clothing/suit/storage/hooded = TRADER_BLACKLIST, - /obj/item/clothing/suit/storage/toggle = TRADER_BLACKLIST, - /obj/item/clothing/suit/straight_jacket = TRADER_BLACKLIST, - /obj/item/clothing/suit/stripper = TRADER_BLACKLIST_ALL, - /obj/item/clothing/suit/syndicatefake = TRADER_BLACKLIST, - /obj/item/clothing/suit/tajaran = TRADER_BLACKLIST, - /obj/item/clothing/suit/unathi = TRADER_BLACKLIST + possible_trading_items = list(/obj/item/clothing/under = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/under/acj = TRADER_BLACKLIST, + /obj/item/clothing/under/assistantformal/bluespace_tech = TRADER_BLACKLIST, + /obj/item/clothing/under/chameleon = TRADER_BLACKLIST, + /obj/item/clothing/under/color = TRADER_BLACKLIST, + /obj/item/clothing/under/gimmick = TRADER_BLACKLIST_ALL, + /obj/item/clothing/under/pj = TRADER_BLACKLIST, + /obj/item/clothing/under/rank = TRADER_BLACKLIST, + /obj/item/clothing/under/stripper = TRADER_BLACKLIST_ALL, + /obj/item/clothing/under/swimsuit = TRADER_BLACKLIST, + /obj/item/clothing/under/vox = TRADER_BLACKLIST_ALL, + /obj/item/clothing/under/wedding = TRADER_BLACKLIST, + /obj/item/clothing/under/monkey = TRADER_BLACKLIST, + /obj/item/clothing/suit = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/suit/armor = TRADER_BLACKLIST_ALL, + /obj/item/clothing/suit/bio_suit = TRADER_BLACKLIST_ALL, + /obj/item/clothing/suit/fire = TRADER_BLACKLIST_ALL, + /obj/item/clothing/suit/lightrig = TRADER_BLACKLIST_ALL, + /obj/item/clothing/suit/poncho = TRADER_BLACKLIST, + /obj/item/clothing/suit/poncho/roles = TRADER_BLACKLIST, + /obj/item/clothing/suit/radiation = TRADER_BLACKLIST, + /obj/item/clothing/suit/bluetag = TRADER_BLACKLIST, + /obj/item/clothing/suit/redtag = TRADER_BLACKLIST, + /obj/item/clothing/suit/rubber = TRADER_BLACKLIST_ALL, + /obj/item/clothing/suit/security = TRADER_BLACKLIST, + /obj/item/clothing/suit/space = TRADER_BLACKLIST_ALL, + /obj/item/clothing/suit/storage = TRADER_BLACKLIST, + /obj/item/clothing/suit/storage/hooded = TRADER_BLACKLIST, + /obj/item/clothing/suit/storage/toggle = TRADER_BLACKLIST, + /obj/item/clothing/suit/straight_jacket = TRADER_BLACKLIST, + /obj/item/clothing/suit/stripper = TRADER_BLACKLIST_ALL, + /obj/item/clothing/suit/syndicatefake = TRADER_BLACKLIST, + /obj/item/clothing/suit/tajaran = TRADER_BLACKLIST, + /obj/item/clothing/suit/unathi = TRADER_BLACKLIST ) /datum/trader/ship/clothingshop/New() @@ -169,47 +176,62 @@ speech[TRADER_HAIL_START + SPECIES_VOX] = "Well hello, sir! I don't believe we have any clothes that fit you... but you can still look!" -/datum/trader/ship/clothingshop/hatglovesaccessoriesboots - possible_origins = list("Baldie's Hats and Accessories", "The Right Fit", "Like a Glove", "Space Fashion") - possible_trading_items = list(/obj/item/clothing/accessory = TRADER_ALL, - /obj/item/clothing/accessory/badge = TRADER_BLACKLIST_ALL, - /obj/item/clothing/accessory/holster = TRADER_BLACKLIST_ALL, - /obj/item/clothing/accessory/medal = TRADER_BLACKLIST_ALL, - /obj/item/clothing/accessory/storage = TRADER_BLACKLIST_ALL, - /obj/item/clothing/gloves = TRADER_SUBTYPES_ONLY, - /obj/item/clothing/gloves/color/white/bluespace_tech = TRADER_BLACKLIST, - /obj/item/clothing/gloves/lightrig = TRADER_BLACKLIST_ALL, - /obj/item/clothing/gloves/rig = TRADER_BLACKLIST_ALL, - /obj/item/clothing/gloves/chameleon = TRADER_BLACKLIST, - /obj/item/clothing/head = TRADER_SUBTYPES_ONLY, - /obj/item/clothing/head/HoS/dermal = TRADER_BLACKLIST, - /obj/item/clothing/head/beret/deathsquad = TRADER_BLACKLIST, - /obj/item/clothing/head/bio_hood = TRADER_BLACKLIST_ALL, - /obj/item/clothing/head/bomb_hood = TRADER_BLACKLIST_ALL, - /obj/item/clothing/head/centhat = TRADER_BLACKLIST, - /obj/item/clothing/head/chameleon = TRADER_BLACKLIST, - /obj/item/clothing/head/collectable = TRADER_BLACKLIST, - /obj/item/clothing/head/culthood = TRADER_BLACKLIST_ALL, - /obj/item/clothing/head/helmet = TRADER_BLACKLIST_ALL, - /obj/item/clothing/head/hoodiehood = TRADER_BLACKLIST, - /obj/item/clothing/head/lightrig = TRADER_BLACKLIST_ALL, - /obj/item/clothing/head/radiation = TRADER_BLACKLIST, - /obj/item/clothing/head/syndicatefake = TRADER_BLACKLIST, - /obj/item/clothing/head/tajaran = TRADER_BLACKLIST, - /obj/item/clothing/head/warden = TRADER_BLACKLIST, - /obj/item/clothing/head/welding = TRADER_BLACKLIST, - /obj/item/clothing/head/winterhood = TRADER_BLACKLIST, - /obj/item/clothing/shoes = TRADER_SUBTYPES_ONLY, - /obj/item/clothing/shoes/black/bluespace_tech = TRADER_BLACKLIST, - /obj/item/clothing/shoes/chameleon = TRADER_BLACKLIST, - /obj/item/clothing/shoes/clown_shoes = TRADER_BLACKLIST, - /obj/item/clothing/shoes/cult = TRADER_BLACKLIST, - /obj/item/clothing/shoes/cyborg = TRADER_BLACKLIST, - /obj/item/clothing/shoes/lightrig = TRADER_BLACKLIST_ALL, - /obj/item/clothing/shoes/magboots = TRADER_BLACKLIST_ALL, - /obj/item/clothing/shoes/syndigaloshes = TRADER_BLACKLIST +/datum/trader/ship/clothingshop/hatglovesboots + possible_origins = list("Baldie's Hats, Gloves and Shoes", "The Right Fit", "Like a Glove", "Space Fashion") + possible_trading_items = list(/obj/item/clothing/gloves = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/gloves/color/white/bluespace_tech = TRADER_BLACKLIST, + /obj/item/clothing/gloves/lightrig = TRADER_BLACKLIST_ALL, + /obj/item/clothing/gloves/rig = TRADER_BLACKLIST_ALL, + /obj/item/clothing/gloves/chameleon = TRADER_BLACKLIST, + /obj/item/clothing/head = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/head/HoS/dermal = TRADER_BLACKLIST, + /obj/item/clothing/head/beret/deathsquad = TRADER_BLACKLIST, + /obj/item/clothing/head/bio_hood = TRADER_BLACKLIST_ALL, + /obj/item/clothing/head/bomb_hood = TRADER_BLACKLIST_ALL, + /obj/item/clothing/head/centhat = TRADER_BLACKLIST, + /obj/item/clothing/head/chameleon = TRADER_BLACKLIST, + /obj/item/clothing/head/collectable = TRADER_BLACKLIST, + /obj/item/clothing/head/culthood = TRADER_BLACKLIST_ALL, + /obj/item/clothing/head/helmet = TRADER_BLACKLIST_ALL, + /obj/item/clothing/head/hoodiehood = TRADER_BLACKLIST, + /obj/item/clothing/head/lightrig = TRADER_BLACKLIST_ALL, + /obj/item/clothing/head/radiation = TRADER_BLACKLIST, + /obj/item/clothing/head/syndicatefake = TRADER_BLACKLIST, + /obj/item/clothing/head/tajaran = TRADER_BLACKLIST, + /obj/item/clothing/head/warden = TRADER_BLACKLIST, + /obj/item/clothing/head/welding = TRADER_BLACKLIST, + /obj/item/clothing/head/winterhood = TRADER_BLACKLIST, + /obj/item/clothing/shoes = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/shoes/black/bluespace_tech = TRADER_BLACKLIST, + /obj/item/clothing/shoes/chameleon = TRADER_BLACKLIST, + /obj/item/clothing/shoes/clown_shoes = TRADER_BLACKLIST, + /obj/item/clothing/shoes/cult = TRADER_BLACKLIST, + /obj/item/clothing/shoes/cyborg = TRADER_BLACKLIST, + /obj/item/clothing/shoes/lightrig = TRADER_BLACKLIST_ALL, + /obj/item/clothing/shoes/magboots = TRADER_BLACKLIST_ALL, + /obj/item/clothing/shoes/syndigaloshes = TRADER_BLACKLIST ) +/datum/trader/ship/clothingshop/accessories + possible_origins = list("Liquid Accessories", "Golden Paradise", "Mr Joe's shop", "Holy Trinity of Akta") + possible_trading_items = list(/obj/item/clothing/accessory = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/accessory/badge = TRADER_BLACKLIST_ALL, + /obj/item/clothing/accessory/holster = TRADER_BLACKLIST_ALL, + /obj/item/clothing/accessory/medal = TRADER_BLACKLIST_ALL, + /obj/item/clothing/accessory/storage = TRADER_BLACKLIST_ALL, + /obj/item/clothing/accessory/armguards = TRADER_BLACKLIST_ALL, + /obj/item/clothing/accessory/armor = TRADER_BLACKLIST_ALL, + /obj/item/clothing/accessory/holochip = TRADER_BLACKLIST_ALL, + /obj/item/clothing/accessory/legguards = TRADER_BLACKLIST_ALL, + /obj/item/clothing/accessory/stethoscope = TRADER_BLACKLIST, + /obj/item/clothing/accessory/storage/pouches = TRADER_BLACKLIST_ALL, + /obj/item/clothing/accessory/armorplate = TRADER_BLACKLIST_ALL, + /obj/item/clothing/ears/earring = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/ring = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/ring/seal = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/ring/reagent = TRADER_BLACKLIST_ALL, + /obj/item/underwear/wrist = TRADER_SUBTYPES_ONLY + ) /* Sells devices, odds and ends, and medical stuff */ @@ -237,44 +259,45 @@ Sells devices, odds and ends, and medical stuff TRADER_BRIBE_FAILURE = "Well, as much as I'd love to say 'yes', you realize I operate on a station, correct?" ) - possible_trading_items = list(/obj/item/device/flashlight = TRADER_ALL, - /obj/item/device/kit/paint = TRADER_SUBTYPES_ONLY, - /obj/item/aicard = TRADER_THIS_TYPE, - /obj/item/device/binoculars = TRADER_THIS_TYPE, - /obj/item/device/cable_painter = TRADER_THIS_TYPE, - /obj/item/device/flash = TRADER_THIS_TYPE, - /obj/item/device/floor_painter = TRADER_THIS_TYPE, - /obj/item/device/multitool = TRADER_THIS_TYPE, - /obj/item/device/lightreplacer = TRADER_THIS_TYPE, - /obj/item/device/megaphone = TRADER_THIS_TYPE, - /obj/item/device/paicard = TRADER_THIS_TYPE, - /obj/item/device/pipe_painter = TRADER_THIS_TYPE, - /obj/item/device/healthanalyzer = TRADER_THIS_TYPE, - /obj/item/device/analyzer = TRADER_ALL, - /obj/item/device/mass_spectrometer = TRADER_ALL, - /obj/item/device/reagent_scanner = TRADER_ALL, - /obj/item/device/metroid_scanner = TRADER_THIS_TYPE, - /obj/item/device/suit_cooling_unit = TRADER_THIS_TYPE, - /obj/item/device/t_scanner = TRADER_THIS_TYPE, - /obj/item/device/taperecorder = TRADER_THIS_TYPE, - /obj/item/device/batterer = TRADER_THIS_TYPE, - /obj/item/device/hailer = TRADER_THIS_TYPE, - /obj/item/device/uv_light = TRADER_THIS_TYPE, - /obj/item/organ/internal/cerebrum/mmi = TRADER_ALL, - /obj/item/device/robotanalyzer = TRADER_THIS_TYPE, - /obj/item/device/toner = TRADER_THIS_TYPE, - /obj/item/device/camera_film = TRADER_THIS_TYPE, - /obj/item/device/camera = TRADER_THIS_TYPE, - /obj/item/device/destTagger = TRADER_THIS_TYPE, - /obj/item/device/gps = TRADER_THIS_TYPE, - /obj/item/device/measuring_tape = TRADER_THIS_TYPE, - /obj/item/device/ano_scanner = TRADER_THIS_TYPE, - /obj/item/device/core_sampler = TRADER_THIS_TYPE, - /obj/item/device/depth_scanner = TRADER_THIS_TYPE, - /obj/item/pinpointer/radio = TRADER_THIS_TYPE, - /obj/item/device/antibody_scanner = TRADER_THIS_TYPE, - /obj/item/device/synthesized_instrument = TRADER_SUBTYPES_ONLY, - /obj/item/stack/medical/advanced = TRADER_BLACKLIST + possible_trading_items = list(/obj/item/device/flashlight = TRADER_ALL, + /obj/item/device/kit/paint = TRADER_SUBTYPES_ONLY, + /obj/item/aicard = TRADER_THIS_TYPE, + /obj/item/device/handcharger/empty = TRADER_THIS_TYPE, + /obj/item/device/binoculars = TRADER_THIS_TYPE, + /obj/item/device/cable_painter = TRADER_THIS_TYPE, + /obj/item/device/flash = TRADER_THIS_TYPE, + /obj/item/device/floor_painter = TRADER_THIS_TYPE, + /obj/item/device/multitool = TRADER_THIS_TYPE, + /obj/item/device/lightreplacer = TRADER_THIS_TYPE, + /obj/item/device/megaphone = TRADER_THIS_TYPE, + /obj/item/device/paicard = TRADER_THIS_TYPE, + /obj/item/device/pipe_painter = TRADER_THIS_TYPE, + /obj/item/device/healthanalyzer = TRADER_THIS_TYPE, + /obj/item/device/analyzer = TRADER_ALL, + /obj/item/device/mass_spectrometer = TRADER_ALL, + /obj/item/device/reagent_scanner = TRADER_ALL, + /obj/item/device/metroid_scanner = TRADER_THIS_TYPE, + /obj/item/device/suit_cooling_unit = TRADER_THIS_TYPE, + /obj/item/device/t_scanner = TRADER_THIS_TYPE, + /obj/item/device/taperecorder = TRADER_THIS_TYPE, + /obj/item/device/batterer = TRADER_THIS_TYPE, + /obj/item/device/hailer = TRADER_THIS_TYPE, + /obj/item/device/uv_light = TRADER_THIS_TYPE, + /obj/item/organ/internal/cerebrum/mmi = TRADER_ALL, + /obj/item/device/robotanalyzer = TRADER_THIS_TYPE, + /obj/item/device/toner = TRADER_THIS_TYPE, + /obj/item/device/camera_film = TRADER_THIS_TYPE, + /obj/item/device/camera = TRADER_THIS_TYPE, + /obj/item/device/destTagger = TRADER_THIS_TYPE, + /obj/item/device/gps = TRADER_THIS_TYPE, + /obj/item/device/measuring_tape = TRADER_THIS_TYPE, + /obj/item/device/ano_scanner = TRADER_THIS_TYPE, + /obj/item/device/core_sampler = TRADER_THIS_TYPE, + /obj/item/device/depth_scanner = TRADER_THIS_TYPE, + /obj/item/pinpointer/radio = TRADER_THIS_TYPE, + /obj/item/device/antibody_scanner = TRADER_THIS_TYPE, + /obj/item/device/synthesized_instrument = TRADER_SUBTYPES_ONLY, + /obj/item/stack/medical/advanced = TRADER_BLACKLIST ) /datum/trader/ship/devices/New() @@ -307,14 +330,26 @@ Sells devices, odds and ends, and medical stuff TRADER_BRIBE_SUCCESS = "Hm. Don't keep me waiting too long, though." ) - possible_trading_items = list(/obj/item/device/bot_kit = TRADER_THIS_TYPE, - /obj/item/device/paicard = TRADER_THIS_TYPE, - /obj/item/aicard = TRADER_THIS_TYPE, - /mob/living/bot = TRADER_SUBTYPES_ONLY, - /mob/living/bot/mulebot = TRADER_BLACKLIST, - /obj/item/organ/internal/cerebrum/posibrain = TRADER_THIS_TYPE, - /obj/item/robot_parts = TRADER_SUBTYPES_ONLY, - /obj/item/stock_parts/manipulator = TRADER_THIS_TYPE + possible_trading_items = list(/obj/item/device/bot_kit = TRADER_THIS_TYPE, + /obj/item/device/paicard = TRADER_THIS_TYPE, + /obj/item/device/tvcamera = TRADER_THIS_TYPE, + /obj/item/device/robotanalyzer = TRADER_THIS_TYPE, + /obj/item/aicard = TRADER_THIS_TYPE, + /obj/item/weldingtool/mini = TRADER_THIS_TYPE, + /obj/item/weldingtool/hugetank = TRADER_THIS_TYPE, + /obj/item/stack/nanopaste = TRADER_THIS_TYPE, + /mob/living/bot = TRADER_SUBTYPES_ONLY, + /mob/living/bot/mulebot = TRADER_BLACKLIST, + /obj/item/organ/internal/cerebrum/posibrain = TRADER_THIS_TYPE, + /obj/item/robot_parts = TRADER_SUBTYPES_ONLY, + /obj/item/stock_parts/manipulator = TRADER_THIS_TYPE, + /obj/item/borg/upgrade = TRADER_SUBTYPES_ONLY, + /obj/item/borg/upgrade/remodel/advanced = TRADER_BLACKLIST_ALL, + /obj/item/borg/upgrade/syndicate = TRADER_BLACKLIST, + /obj/item/borg/upgrade/visor = TRADER_SUBTYPES_ONLY, + /obj/item/borg/upgrade/visor/thermal = TRADER_BLACKLIST, + /obj/item/borg/upgrade/visor/x_ray = TRADER_BLACKLIST, + /obj/item/borg/upgrade/visor/flash_screen = TRADER_BLACKLIST ) /datum/trader/ship/robots/New() ..() @@ -376,41 +411,55 @@ Sells devices, odds and ends, and medical stuff TRADER_INSULT_BAD = "*muffled laughter* Sorry, was that you trying to talk shit? Adorable." ) - possible_wanted_items = list(/obj/item/reagent_containers/vessel/bottle/chemical = TRADER_THIS_TYPE, - /obj/item/reagent_containers/vessel/bottle/chemical/big = TRADER_THIS_TYPE, - /obj/item/reagent_containers/vessel/bottle/chemical/small = TRADER_THIS_TYPE, - /obj/item/organ/internal/liver = TRADER_THIS_TYPE, - /obj/item/organ/internal/kidneys = TRADER_THIS_TYPE, - /obj/item/organ/internal/lungs = TRADER_THIS_TYPE, - /obj/item/organ/internal/heart = TRADER_THIS_TYPE, - /obj/item/organ/internal/stomach = TRADER_THIS_TYPE, - /obj/item/storage/fancy/cigarettes = TRADER_ALL + possible_wanted_items = list(/obj/item/reagent_containers/vessel/bottle/chemical = TRADER_THIS_TYPE, + /obj/item/reagent_containers/vessel/bottle/chemical/big = TRADER_THIS_TYPE, + /obj/item/reagent_containers/vessel/bottle/chemical/small = TRADER_THIS_TYPE, + /obj/item/reagent_containers/vessel/beaker = TRADER_ALL, + /obj/item/reagent_containers/vessel/beaker/vial/random = TRADER_BLACKLIST_ALL, + /obj/item/reagent_containers/vessel/beaker/cryoxadone = TRADER_BLACKLIST, + /obj/item/reagent_containers/vessel/beaker/sulphuric = TRADER_BLACKLIST, + /obj/item/organ/internal/liver = TRADER_THIS_TYPE, + /obj/item/organ/internal/kidneys = TRADER_THIS_TYPE, + /obj/item/organ/internal/lungs = TRADER_THIS_TYPE, + /obj/item/organ/internal/heart = TRADER_THIS_TYPE, + /obj/item/organ/internal/stomach = TRADER_THIS_TYPE, + /obj/item/storage/fancy/cigarettes = TRADER_ALL ) - possible_trading_items = list(/obj/item/storage/pill_bottle = TRADER_SUBTYPES_ONLY, - /obj/item/storage/pill_bottle/dice_nerd = TRADER_BLACKLIST, - /obj/item/storage/firstaid = TRADER_ALL, - /obj/item/storage/firstaid/surgery/syndie = TRADER_BLACKLIST, - /obj/item/storage/box/bloodpacks = TRADER_THIS_TYPE, - /obj/item/reagent_containers/ivbag = TRADER_SUBTYPES_ONLY, - /obj/item/defibrillator/loaded = TRADER_THIS_TYPE, - /obj/item/defibrillator/compact/loaded = TRADER_THIS_TYPE, - /obj/item/defibrillator/compact/combat/loaded = TRADER_THIS_TYPE, - /obj/item/scalpel/manager = TRADER_THIS_TYPE, - /obj/item/bonesetter/bone_mender = TRADER_THIS_TYPE, - /obj/item/circular_saw/plasmasaw = TRADER_THIS_TYPE, - /obj/item/hemostat/pico = TRADER_THIS_TYPE, - /obj/item/FixOVein/clot = TRADER_THIS_TYPE, - /obj/item/stack/nanopaste = TRADER_THIS_TYPE, - /obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline = TRADER_THIS_TYPE, - /obj/item/reagent_containers/vessel/bottle/chemical/stoxin = TRADER_THIS_TYPE, - /obj/item/reagent_containers/vessel/bottle/chemical/antitoxin = TRADER_THIS_TYPE, - /obj/item/reagent_containers/vessel/bottle/chemical/spaceacillin = TRADER_THIS_TYPE, - /obj/item/bodybag/cryobag = TRADER_THIS_TYPE, - /obj/item/reagent_containers/chem_disp_cartridge/dexalin/small = TRADER_THIS_TYPE, - /obj/item/reagent_containers/hypospray/autoinjector/combatpain = TRADER_THIS_TYPE, - /obj/item/sign/medipolma = TRADER_THIS_TYPE, - /mob/living/carbon/human/blank = TRADER_THIS_TYPE + possible_trading_items = list(/obj/item/storage/pill_bottle = TRADER_SUBTYPES_ONLY, + /obj/item/storage/pill_bottle/dice_nerd = TRADER_BLACKLIST, + /obj/item/storage/firstaid = TRADER_ALL, + /obj/item/storage/firstaid/surgery/syndie = TRADER_BLACKLIST, + /obj/item/storage/box/bloodpacks = TRADER_THIS_TYPE, + /obj/item/storage/box/gloves = TRADER_THIS_TYPE, + /obj/item/storage/box/masks = TRADER_THIS_TYPE, + /obj/item/reagent_containers/ivbag = TRADER_SUBTYPES_ONLY, + /obj/item/defibrillator/loaded = TRADER_THIS_TYPE, + /obj/item/defibrillator/compact/loaded = TRADER_THIS_TYPE, + /obj/item/defibrillator/compact/combat/loaded = TRADER_THIS_TYPE, + /obj/item/scalpel/manager = TRADER_THIS_TYPE, + /obj/item/bonesetter/bone_mender = TRADER_THIS_TYPE, + /obj/item/bonegel = TRADER_THIS_TYPE, + /obj/item/circular_saw/plasmasaw = TRADER_THIS_TYPE, + /obj/item/hemostat/pico = TRADER_THIS_TYPE, + /obj/item/FixOVein/clot = TRADER_THIS_TYPE, + /obj/item/stack/nanopaste = TRADER_THIS_TYPE, + /obj/item/organfixer/advanced = TRADER_THIS_TYPE, + /obj/item/clothing/accessory/stethoscope = TRADER_THIS_TYPE, + /obj/item/virusdish/random = TRADER_THIS_TYPE, + /obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline = TRADER_THIS_TYPE, + /obj/item/reagent_containers/vessel/bottle/chemical/stoxin = TRADER_THIS_TYPE, + /obj/item/reagent_containers/vessel/bottle/chemical/antitoxin = TRADER_THIS_TYPE, + /obj/item/reagent_containers/vessel/bottle/chemical/spaceacillin = TRADER_THIS_TYPE, + /obj/item/bodybag/cryobag = TRADER_THIS_TYPE, + /obj/item/reagent_containers/hypospray/autoinjector/combatpain = TRADER_THIS_TYPE, + /obj/item/reagent_containers/hypospray/autoinjector/dermaline = TRADER_THIS_TYPE, + /obj/item/reagent_containers/hypospray/autoinjector/bicaridine = TRADER_THIS_TYPE, + /obj/item/reagent_containers/hypospray/autoinjector/dexalinp = TRADER_THIS_TYPE, + /obj/item/reagent_containers/hypospray/autoinjector/tricordrazine = TRADER_THIS_TYPE, + /obj/item/reagent_containers/hypospray/vial = TRADER_THIS_TYPE, + /obj/item/sign/medipolma = TRADER_THIS_TYPE, + /mob/living/carbon/human/blank = TRADER_THIS_TYPE ) ///datum/trader/ship/mining Merged with trader/ship/trading_beacon/manufacturing diff --git a/code/datums/trading/misc.dm b/code/datums/trading/misc.dm index 055f66022bd..878da97c4ab 100644 --- a/code/datums/trading/misc.dm +++ b/code/datums/trading/misc.dm @@ -25,32 +25,36 @@ TRADER_BRIBE_SUCCESS = "Hm. It'll be good for the animals, so sure." ) - possible_wanted_items = list(/obj/item/metroid_extract = TRADER_SUBTYPES_ONLY, - /obj/item/seeds = TRADER_SUBTYPES_ONLY + possible_wanted_items = list(/obj/item/metroid_extract = TRADER_SUBTYPES_ONLY, + /obj/item/seeds = TRADER_SUBTYPES_ONLY, + /obj/item/reagent_containers/food/grown = TRADER_SUBTYPES_ONLY ) - possible_trading_items = list(/mob/living/simple_animal/corgi = TRADER_THIS_TYPE, - /mob/living/simple_animal/cat = TRADER_THIS_TYPE, - /mob/living/simple_animal/crab = TRADER_THIS_TYPE, - /mob/living/simple_animal/lizard = TRADER_THIS_TYPE, - /mob/living/simple_animal/mouse = TRADER_THIS_TYPE, - /mob/living/simple_animal/mushroom = TRADER_THIS_TYPE, - /mob/living/simple_animal/parrot = TRADER_THIS_TYPE, - /mob/living/simple_animal/tindalos = TRADER_THIS_TYPE, - /mob/living/simple_animal/hostile/tomato = TRADER_THIS_TYPE, - /mob/living/simple_animal/cow = TRADER_THIS_TYPE, - /mob/living/simple_animal/chick = TRADER_THIS_TYPE, - /mob/living/simple_animal/chicken = TRADER_THIS_TYPE, - /mob/living/simple_animal/yithian = TRADER_THIS_TYPE, - /mob/living/simple_animal/hostile/retaliate/beast/diyaab = TRADER_THIS_TYPE, - /mob/living/simple_animal/hostile/bear = TRADER_THIS_TYPE, - /mob/living/simple_animal/hostile/retaliate/beast/shantak = TRADER_THIS_TYPE, - /mob/living/simple_animal/hostile/retaliate/beast/samak = TRADER_THIS_TYPE, - /mob/living/simple_animal/hostile/retaliate/goat = TRADER_THIS_TYPE, - /mob/living/simple_animal/hostile/carp = TRADER_THIS_TYPE, - /obj/item/device/dociler = TRADER_THIS_TYPE, - /obj/structure/dogbed = TRADER_THIS_TYPE, - /obj/item/device/metroid_scanner = TRADER_THIS_TYPE + possible_trading_items = list(/mob/living/simple_animal/corgi = TRADER_THIS_TYPE, + /mob/living/simple_animal/cat = TRADER_THIS_TYPE, + /mob/living/simple_animal/crab = TRADER_THIS_TYPE, + /mob/living/simple_animal/lizard = TRADER_THIS_TYPE, + /mob/living/simple_animal/mouse = TRADER_THIS_TYPE, + /mob/living/simple_animal/mushroom = TRADER_THIS_TYPE, + /mob/living/simple_animal/parrot = TRADER_THIS_TYPE, + /mob/living/simple_animal/tindalos = TRADER_THIS_TYPE, + /mob/living/simple_animal/hostile/tomato = TRADER_THIS_TYPE, + /mob/living/simple_animal/cow = TRADER_THIS_TYPE, + /mob/living/simple_animal/chick = TRADER_THIS_TYPE, + /mob/living/simple_animal/chicken = TRADER_THIS_TYPE, + /mob/living/simple_animal/yithian = TRADER_THIS_TYPE, + /mob/living/simple_animal/pig = TRADER_THIS_TYPE, + /mob/living/simple_animal/hostile/retaliate/beast/diyaab = TRADER_THIS_TYPE, + /mob/living/simple_animal/hostile/bear = TRADER_THIS_TYPE, + /mob/living/simple_animal/hostile/retaliate/beast/shantak = TRADER_THIS_TYPE, + /mob/living/simple_animal/hostile/retaliate/beast/samak = TRADER_THIS_TYPE, + /mob/living/simple_animal/hostile/retaliate/goat = TRADER_THIS_TYPE, + /mob/living/simple_animal/hostile/carp = TRADER_THIS_TYPE, + /obj/item/device/dociler = TRADER_THIS_TYPE, + /obj/structure/dogbed = TRADER_THIS_TYPE, + /obj/item/device/metroid_scanner = TRADER_THIS_TYPE, + /obj/item/lazarus_injector = TRADER_THIS_TYPE, + /obj/item/metroid_cookie = TRADER_SUBTYPES_ONLY ) /datum/trader/ship/pet_shop/New() @@ -84,28 +88,36 @@ TRADER_BRIBE_SUCCESS = "We are happy to say that we accept this bribe." ) - possible_trading_items = list(/obj/item/clothing/mask/gas/clown_hat = TRADER_THIS_TYPE, - /obj/item/clothing/mask/gas/mime = TRADER_THIS_TYPE, - /obj/item/clothing/shoes/clown_shoes = TRADER_THIS_TYPE, - /obj/item/clothing/under/rank/clown = TRADER_THIS_TYPE, - /obj/item/device/pda/clown = TRADER_THIS_TYPE, - /obj/item/cartridge/clown = TRADER_THIS_TYPE, - /obj/item/stamp/clown = TRADER_THIS_TYPE, - /obj/item/storage/backpack/clown = TRADER_THIS_TYPE, - /obj/item/bananapeel = TRADER_THIS_TYPE, - /obj/item/gun/launcher/money = TRADER_THIS_TYPE, - /obj/item/reagent_containers/food/pie = TRADER_THIS_TYPE, - /obj/item/bikehorn = TRADER_ALL, - /obj/item/reagent_containers/spray/waterflower = TRADER_THIS_TYPE, - /obj/item/gun/launcher/pneumatic/small = TRADER_THIS_TYPE, - /obj/item/gun/projectile/revolver/capgun = TRADER_THIS_TYPE, - /obj/item/clothing/mask/fakemoustache = TRADER_THIS_TYPE, - /obj/item/grenade/spawnergrenade/fake_carp = TRADER_THIS_TYPE, - /obj/item/clothingbag = TRADER_SUBTYPES_ONLY, - /obj/item/reagent_containers/vessel/paint/random = TRADER_THIS_TYPE, - /obj/item/reagent_containers/vessel/paint/white = TRADER_THIS_TYPE, - /obj/item/reagent_containers/vessel/bottle/bottleofnothing = TRADER_THIS_TYPE, - /obj/item/reagent_containers/spray/hair_remover = TRADER_THIS_TYPE + possible_trading_items = list(/obj/item/clothing/mask/gas/clown_hat = TRADER_THIS_TYPE, + /obj/item/clothing/mask/gas/mime = TRADER_THIS_TYPE, + /obj/item/clothing/shoes/clown_shoes = TRADER_THIS_TYPE, + /obj/item/clothing/under/rank/clown = TRADER_THIS_TYPE, + /obj/item/clothing/under/sexyclown = TRADER_THIS_TYPE, + /obj/item/clothing/under/mime = TRADER_THIS_TYPE, + /obj/item/clothing/under/sexymime = TRADER_THIS_TYPE, + /obj/item/device/pda/clown = TRADER_THIS_TYPE, + /obj/item/cartridge/clown = TRADER_THIS_TYPE, + /obj/item/stamp/clown = TRADER_THIS_TYPE, + /obj/item/storage/backpack/clown = TRADER_THIS_TYPE, + /obj/item/bananapeel = TRADER_THIS_TYPE, + /obj/item/gun/launcher/money = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/pie = TRADER_THIS_TYPE, + /obj/item/reagent_containers/food/baguette = TRADER_THIS_TYPE, + /obj/item/bikehorn = TRADER_ALL, + /obj/item/reagent_containers/spray/waterflower = TRADER_THIS_TYPE, + /obj/item/gun/launcher/pneumatic/small = TRADER_THIS_TYPE, + /obj/item/gun/projectile/revolver/capgun = TRADER_THIS_TYPE, + /obj/item/clothing/mask/fakemoustache = TRADER_THIS_TYPE, + /obj/item/grenade/spawnergrenade/fake_carp = TRADER_THIS_TYPE, + /obj/item/clothingbag = TRADER_SUBTYPES_ONLY, + /obj/item/toy/pig = TRADER_THIS_TYPE, + /obj/item/balloon_box = TRADER_THIS_TYPE, + /obj/item/target = TRADER_ALL, + /obj/item/reagent_containers/vessel/paint/random = TRADER_THIS_TYPE, + /obj/item/reagent_containers/vessel/paint/white = TRADER_THIS_TYPE, + /obj/item/reagent_containers/vessel/bottle/bottleofnothing = TRADER_THIS_TYPE, + /obj/item/reagent_containers/spray/hair_remover = TRADER_THIS_TYPE, + /obj/item/reagent_containers/spray/hair_grower = TRADER_THIS_TYPE ) /datum/trader/ship/prank_shop/New() @@ -138,35 +150,34 @@ TRADER_BRIBE_SUCCESS = "Mayhaps I could set a spell longer, and rest my weary feet." ) - possible_trading_items = list(/obj/item/clothing/head/wizard/magus = TRADER_THIS_TYPE, - /obj/item/shield/buckler = TRADER_THIS_TYPE, - /obj/item/clothing/head/redcoat = TRADER_THIS_TYPE, - /obj/item/clothing/head/powdered_wig = TRADER_THIS_TYPE, - /obj/item/clothing/head/hasturhood = TRADER_THIS_TYPE, - /obj/item/clothing/head/helmet/gladiator = TRADER_THIS_TYPE, - /obj/item/clothing/head/plaguedoctorhat = TRADER_THIS_TYPE, - /obj/item/clothing/glasses/monocle = TRADER_THIS_TYPE, - /obj/item/clothing/mask/smokable/pipe = TRADER_THIS_TYPE, - /obj/item/clothing/mask/gas/plaguedoctor = TRADER_THIS_TYPE, - /obj/item/clothing/suit/hastur = TRADER_THIS_TYPE, - /obj/item/clothing/suit/imperium_monk = TRADER_THIS_TYPE, - /obj/item/clothing/suit/judgerobe = TRADER_THIS_TYPE, - /obj/item/clothing/suit/wizrobe/magusred = TRADER_THIS_TYPE, - /obj/item/clothing/suit/wizrobe/magusblue = TRADER_THIS_TYPE, - /obj/item/clothing/under/gladiator = TRADER_THIS_TYPE, - /obj/item/clothing/under/kilt = TRADER_THIS_TYPE, - /obj/item/clothing/under/redcoat = TRADER_THIS_TYPE, - /obj/item/clothing/under/soviet = TRADER_THIS_TYPE, - /obj/item/material/harpoon = TRADER_THIS_TYPE, - /obj/item/material/sword = TRADER_ALL, - /obj/item/material/scythe = TRADER_THIS_TYPE, - /obj/item/material/star = TRADER_THIS_TYPE, - /obj/item/material/twohanded/baseballbat = TRADER_THIS_TYPE, - /obj/item/material/hatchet = TRADER_ALL, - /obj/item/material/twohanded/fireaxe = TRADER_THIS_TYPE + possible_trading_items = list(/obj/item/clothing/head/wizard/magus = TRADER_THIS_TYPE, + /obj/item/shield/buckler = TRADER_THIS_TYPE, + /obj/item/clothing/head/redcoat = TRADER_THIS_TYPE, + /obj/item/clothing/head/powdered_wig = TRADER_THIS_TYPE, + /obj/item/clothing/head/hasturhood = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/gladiator = TRADER_THIS_TYPE, + /obj/item/clothing/head/plaguedoctorhat = TRADER_THIS_TYPE, + /obj/item/clothing/glasses/monocle = TRADER_THIS_TYPE, + /obj/item/clothing/mask/smokable/pipe = TRADER_THIS_TYPE, + /obj/item/clothing/mask/gas/plaguedoctor = TRADER_THIS_TYPE, + /obj/item/clothing/suit/hastur = TRADER_THIS_TYPE, + /obj/item/clothing/suit/imperium_monk = TRADER_THIS_TYPE, + /obj/item/clothing/suit/judgerobe = TRADER_THIS_TYPE, + /obj/item/clothing/suit/wizrobe/magusred = TRADER_THIS_TYPE, + /obj/item/clothing/suit/wizrobe/magusblue = TRADER_THIS_TYPE, + /obj/item/clothing/under/gladiator = TRADER_THIS_TYPE, + /obj/item/clothing/under/kilt = TRADER_THIS_TYPE, + /obj/item/clothing/under/redcoat = TRADER_THIS_TYPE, + /obj/item/clothing/under/soviet = TRADER_THIS_TYPE, + /obj/item/material/harpoon = TRADER_THIS_TYPE, + /obj/item/material/sword = TRADER_ALL, + /obj/item/material/scythe = TRADER_THIS_TYPE, + /obj/item/material/star = TRADER_THIS_TYPE, + /obj/item/material/twohanded/baseballbat = TRADER_THIS_TYPE, + /obj/item/material/hatchet = TRADER_ALL, + /obj/item/material/twohanded/fireaxe = TRADER_THIS_TYPE ) /datum/trader/ship/replica_shop/New() ..() speech[TRADER_HAIL_START + SPECIES_UNATHI] = "Ah, you've the look of a lizard who knows his way around martial combat. Come in! We can only hope our steel meets the formidable Moghedi standards." - diff --git a/code/datums/trading/spacesuits.dm b/code/datums/trading/spacesuits.dm index 7b065741671..d8a51f88c94 100644 --- a/code/datums/trading/spacesuits.dm +++ b/code/datums/trading/spacesuits.dm @@ -24,54 +24,68 @@ ) possible_trading_items = list( - /obj/item/tank/oxygen = TRADER_THIS_TYPE, - /obj/item/tank/emergency = TRADER_SUBTYPES_ONLY, - /obj/item/tank/jetpack/oxygen = TRADER_THIS_TYPE, - /obj/machinery/portable_atmospherics/canister/oxygen = TRADER_THIS_TYPE, - /obj/item/device/suit_cooling_unit = TRADER_THIS_TYPE, - /obj/item/clothing/mask/breath = TRADER_THIS_TYPE, - /obj/item/clothing/mask/gas = TRADER_THIS_TYPE, - /obj/item/clothing/mask/gas/old = TRADER_THIS_TYPE, - /obj/item/clothing/shoes/magboots = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space = TRADER_THIS_TYPE, - /obj/item/clothing/head/helmet/space = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/skrell = TRADER_SUBTYPES_ONLY, - /obj/item/clothing/head/helmet/space/skrell = TRADER_SUBTYPES_ONLY, - /obj/item/clothing/suit/space/syndicate = TRADER_ALL, - /obj/item/clothing/head/helmet/space/syndicate = TRADER_ALL, - /obj/item/clothing/suit/space/void/atmos/alt/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/atmos/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/engineering/alt/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/engineering/salvage/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/engineering/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/excavation/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/exploration/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/medical/alt/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/medical/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/syndi/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/mining/alt/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/mining/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/mining/reinforced/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/pilot/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/security/alt/prepared = TRADER_THIS_TYPE, - /obj/item/clothing/suit/space/void/security/prepared = TRADER_THIS_TYPE, - /obj/item/rig/ce = TRADER_THIS_TYPE, - /obj/item/rig/eva = TRADER_THIS_TYPE, - /obj/item/rig/security = TRADER_THIS_TYPE, - /obj/item/rig/hazmat = TRADER_THIS_TYPE, - /obj/item/rig/light/stealth = TRADER_THIS_TYPE, - /obj/item/rig/medical = TRADER_THIS_TYPE, - /obj/item/rig/industrial = TRADER_THIS_TYPE, - /obj/item/rig/mining = TRADER_THIS_TYPE, - /obj/item/rig/syndi/empty = TRADER_THIS_TYPE, - /obj/item/rig/unathi = TRADER_ALL, - /obj/item/rig_module = TRADER_ALL, - /obj/item/rig_module/chem_dispenser/ninja = TRADER_BLACKLIST, - /obj/item/rig_module/datajack = TRADER_BLACKLIST, - /obj/item/rig_module/mounted = TRADER_BLACKLIST, - /obj/item/rig_module/mounted/energy_blade = TRADER_BLACKLIST, - /obj/item/rig_module/fabricator = TRADER_BLACKLIST, - /obj/item/rig_module/stealth_field = TRADER_BLACKLIST, - /obj/item/rig_module/teleporter = TRADER_BLACKLIST, - /obj/item/rig_module/vision/multi = TRADER_BLACKLIST + /obj/item/tank/oxygen = TRADER_THIS_TYPE, + /obj/item/tank/emergency = TRADER_SUBTYPES_ONLY, + /obj/item/tank/jetpack/oxygen = TRADER_THIS_TYPE, + /obj/item/tank/jetpack/carbondioxide = TRADER_THIS_TYPE, + /obj/machinery/portable_atmospherics/canister/oxygen = TRADER_THIS_TYPE, + /obj/machinery/portable_atmospherics/canister/carbon_dioxide = TRADER_THIS_TYPE, + /obj/item/device/suit_cooling_unit = TRADER_THIS_TYPE, + /obj/item/clothing/mask/breath = TRADER_THIS_TYPE, + /obj/item/clothing/mask/gas = TRADER_THIS_TYPE, + /obj/item/clothing/mask/gas/old = TRADER_THIS_TYPE, + /obj/item/clothing/mask/gas/clear = TRADER_THIS_TYPE, + /obj/item/clothing/mask/gas/syndicate = TRADER_THIS_TYPE, + /obj/item/clothing/shoes/magboots = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/space = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/skrell = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/head/helmet/space/skrell = TRADER_SUBTYPES_ONLY, + /obj/item/clothing/suit/space/syndicate = TRADER_ALL, + /obj/item/clothing/suit/space/void/optical = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/space/void/optical = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/space/syndicate = TRADER_ALL, + /obj/item/clothing/suit/space/void/atmos/alt/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/atmos/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/engineering/alt/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/engineering/salvage/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/engineering/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/excavation/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/exploration/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/medical/alt/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/medical/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/syndi/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/mining/alt/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/mining/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/mining/reinforced/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/pilot/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/security/alt/prepared = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/security/prepared = TRADER_THIS_TYPE, + /obj/item/rig/ce = TRADER_THIS_TYPE, + /obj/item/rig/eva = TRADER_THIS_TYPE, + /obj/item/rig/security = TRADER_THIS_TYPE, + /obj/item/rig/hazmat = TRADER_THIS_TYPE, + /obj/item/rig/light/stealth = TRADER_THIS_TYPE, + /obj/item/rig/medical = TRADER_THIS_TYPE, + /obj/item/rig/industrial = TRADER_THIS_TYPE, + /obj/item/rig/mining = TRADER_THIS_TYPE, + /obj/item/rig/syndi/empty = TRADER_THIS_TYPE, + /obj/item/rig/syndi/heavy/empty = TRADER_THIS_TYPE, + /obj/item/rig/unathi = TRADER_ALL, + /obj/item/rig/ert/empty = TRADER_THIS_TYPE, + /obj/item/rig/ert/engineer/empty = TRADER_THIS_TYPE, + /obj/item/rig/ert/janitor/empty = TRADER_THIS_TYPE, + /obj/item/rig/ert/medical/empty = TRADER_THIS_TYPE, + /obj/item/rig/ert/security/empty = TRADER_THIS_TYPE, + /obj/item/rig/military = TRADER_THIS_TYPE, + /obj/item/rig/combat = TRADER_THIS_TYPE, + /obj/item/rig_module = TRADER_SUBTYPES_ONLY, + /obj/item/rig_module/chem_dispenser/ninja = TRADER_BLACKLIST, + /obj/item/rig_module/datajack = TRADER_BLACKLIST, + /obj/item/rig_module/mounted = TRADER_BLACKLIST, + /obj/item/rig_module/mounted/energy_blade = TRADER_BLACKLIST, + /obj/item/rig_module/fabricator = TRADER_BLACKLIST, + /obj/item/rig_module/stealth_field = TRADER_BLACKLIST, + /obj/item/rig_module/teleporter = TRADER_BLACKLIST, + /obj/item/rig_module/vision/multi = TRADER_BLACKLIST ) diff --git a/code/datums/trading/unique.dm b/code/datums/trading/unique.dm index 53fd4a66dba..6932be31ca2 100644 --- a/code/datums/trading/unique.dm +++ b/code/datums/trading/unique.dm @@ -20,15 +20,20 @@ origin = "SGS Severance" possible_wanted_items = list( - /obj/item/reagent_containers/food/human = TRADER_SUBTYPES_ONLY, - /obj/item/reagent_containers/food/meat/human = TRADER_THIS_TYPE, - /mob/living/carbon/human = TRADER_ALL + /obj/item/reagent_containers/food/human = TRADER_SUBTYPES_ONLY, + /obj/item/reagent_containers/food/meat/human = TRADER_THIS_TYPE, + /mob/living/carbon/human = TRADER_ALL ) - possible_trading_items = list(/obj/mecha/combat = TRADER_SUBTYPES_ONLY, - /obj/item/gun/projectile/automatic = TRADER_SUBTYPES_ONLY, - /obj/item/gun/projectile/automatic/machine_pistol/mini_uzi/usi = TRADER_BLACKLIST, - /obj/item/gun/projectile/automatic/l6_saw/mag = TRADER_BLACKLIST + possible_trading_items = list(/obj/mecha/combat = TRADER_SUBTYPES_ONLY, + /obj/mecha/working/hoverpod/combatpod = TRADER_THIS_TYPE, + /obj/item/gun/projectile/automatic = TRADER_SUBTYPES_ONLY, + /obj/item/gun/projectile/automatic/machine_pistol/mini_uzi/usi = TRADER_BLACKLIST, + /obj/item/gun/projectile/automatic/l6_saw/mag = TRADER_BLACKLIST, + /obj/item/gun/projectile/lawgiver = TRADER_THIS_TYPE, + /obj/item/gun/projectile/heavysniper = TRADER_THIS_TYPE, + /obj/item/gun/energy/pulse_rifle = TRADER_THIS_TYPE, + /obj/item/gun/launcher/rocket = TRADER_THIS_TYPE ) blacklisted_trade_items = null @@ -52,14 +57,19 @@ mob_transfer_message = "You are transported to ORIGIN, and with a sickening thud, you fall unconscious, never to wake again." +/datum/trader/ship/unique/severance/New() + ..() + var/list/origins = list("SGS", "CS", "NCR", "LTC", "SEV") + var/list/names = list("Severance", "Obsidian", "Vortex", "Revenant", "Eclipse", "Horizon") + origin = "[pick(origins)] [pick(names)]" /datum/trader/ship/unique/rock name = "Bobo" origin = "Floating rock" - possible_wanted_items = list(/obj/item/ore = TRADER_ALL) - possible_trading_items = list(/obj/machinery/power/supermatter = TRADER_ALL, - /obj/item/aiModule = TRADER_SUBTYPES_ONLY) + possible_wanted_items = list(/obj/item/ore = TRADER_ALL) + possible_trading_items = list(/obj/machinery/power/supermatter = TRADER_ALL, + /obj/item/aiModule = TRADER_SUBTYPES_ONLY) speech = list( TRADER_HAIL_GENERIC = "Blub am MERCHANT. Blub hunger for things. Boo bring them to blub, yes?", @@ -102,24 +112,33 @@ TRADER_INSULT_BAD = "Now where do you get off talking to me like that?" ) - possible_wanted_items = list(/mob/living/simple_animal/construct = TRADER_SUBTYPES_ONLY, - /obj/item/melee/cultblade = TRADER_THIS_TYPE, - /obj/item/clothing/head/culthood = TRADER_ALL, - /obj/item/clothing/suit/space/cult = TRADER_ALL, - /obj/item/clothing/suit/cultrobes = TRADER_ALL, - /obj/item/clothing/head/helmet/space/cult = TRADER_ALL, - /obj/structure/cult = TRADER_SUBTYPES_ONLY, - /obj/structure/constructshell = TRADER_ALL, - /mob/living/simple_animal/familiar = TRADER_SUBTYPES_ONLY, - /mob/living/simple_animal/familiar/pet = TRADER_BLACKLIST, - /mob/living/simple_animal/hostile/mimic = TRADER_ALL) - - possible_trading_items = list(/obj/item/clothing/gloves/wizard = TRADER_THIS_TYPE, - /obj/item/clothing/head/helmet/space/void/wizard = TRADER_THIS_TYPE, - /obj/item/clothing/head/wizard = TRADER_ALL, - /obj/item/clothing/suit/space/void/wizard = TRADER_THIS_TYPE, - /obj/item/toy/figure/wizard = TRADER_THIS_TYPE, - /obj/item/staff = TRADER_ALL, + possible_wanted_items = list(/mob/living/simple_animal/construct = TRADER_SUBTYPES_ONLY, + /obj/item/melee/cultblade = TRADER_THIS_TYPE, + /obj/item/clothing/head/culthood = TRADER_ALL, + /obj/item/clothing/suit/space/cult = TRADER_ALL, + /obj/item/clothing/suit/cultrobes = TRADER_ALL, + /obj/item/clothing/head/helmet/space/cult = TRADER_ALL, + /obj/structure/cult = TRADER_SUBTYPES_ONLY, + /obj/structure/constructshell = TRADER_ALL, + /mob/living/simple_animal/familiar = TRADER_SUBTYPES_ONLY, + /mob/living/simple_animal/familiar/pet = TRADER_BLACKLIST, + /mob/living/simple_animal/hostile/mimic = TRADER_ALL + ) + + possible_trading_items = list(/obj/item/clothing/gloves/wizard = TRADER_THIS_TYPE, + /obj/item/clothing/head/helmet/space/void/wizard = TRADER_THIS_TYPE, + /obj/item/clothing/head/wizard = TRADER_ALL, + /obj/item/clothing/head/necro_hood = TRADER_THIS_TYPE, + /obj/item/clothing/suit/space/void/wizard = TRADER_THIS_TYPE, + /obj/item/clothing/suit/necrorobe = TRADER_THIS_TYPE, + /obj/item/clothing/suit/musclemancer = TRADER_THIS_TYPE, + /obj/item/toy/figure/wizard = TRADER_THIS_TYPE, + /obj/item/bedsheet/wiz = TRADER_THIS_TYPE, + /obj/item/teleportation_scroll = TRADER_THIS_TYPE, + /obj/item/spellbook = TRADER_THIS_TYPE, + /obj/item/staff = TRADER_ALL, + /obj/item/gun/energy/staff = TRADER_ALL, + /obj/item/gun/whip_of_torment = TRADER_THIS_TYPE ) //Probably see about getting some more wizard based shit /datum/trader/ship/unique/wizard/New() diff --git a/code/datums/trading/vox.dm b/code/datums/trading/vox.dm index 822cf177901..6478ab67d64 100644 --- a/code/datums/trading/vox.dm +++ b/code/datums/trading/vox.dm @@ -41,21 +41,27 @@ TRADER_INSULT_BAD = "If you say all this at home, you be dead!" ) - possible_wanted_items = list(/obj/item/ = TRADER_SUBTYPES_ONLY, - /obj/item/stack/material = TRADER_SUBTYPES_ONLY, - /obj/item/stack/material/cyborg = TRADER_BLACKLIST_ALL, - /obj/item/organ = TRADER_SUBTYPES_ONLY, - /obj/item/organ/external/stump = TRADER_BLACKLIST_ALL + possible_wanted_items = list(/obj/item/ = TRADER_SUBTYPES_ONLY, + /obj/item/stack/material = TRADER_SUBTYPES_ONLY, + /obj/item/stack/material/cyborg = TRADER_BLACKLIST_ALL, + /obj/item/organ = TRADER_SUBTYPES_ONLY, + /obj/item/organ/external/stump = TRADER_BLACKLIST_ALL ) - possible_trading_items = list(/obj/item/gun/projectile/dartgun/vox = TRADER_SUBTYPES_ONLY, - /obj/item/mecha_parts/mecha_equipment/tool/ = TRADER_SUBTYPES_ONLY, - /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/ = TRADER_SUBTYPES_ONLY, - /obj/item/trash = TRADER_SUBTYPES_ONLY, - /obj/item/remains = TRADER_ALL, - /obj/item/clothing/accessory = TRADER_ALL, - /obj/item/robot_parts = TRADER_SUBTYPES_ONLY, - /obj/item/robot_parts/robot_component = TRADER_BLACKLIST + possible_trading_items = list(/obj/item/gun/projectile/dartgun/vox = TRADER_SUBTYPES_ONLY, + /obj/item/gun/launcher/alien/spikethrower = TRADER_THIS_TYPE, + /obj/item/gun/launcher/alien/slugsling = TRADER_THIS_TYPE, + /obj/item/gun/launcher/grenade = TRADER_THIS_TYPE, + /obj/item/mecha_parts/mecha_equipment/tool = TRADER_SUBTYPES_ONLY, + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic = TRADER_SUBTYPES_ONLY, + /obj/item/trash = TRADER_SUBTYPES_ONLY, + /obj/item/remains = TRADER_ALL, + /obj/item/disk/nuclear_fake = TRADER_THIS_TYPE, + /obj/item/disk/secret_project = TRADER_ALL, + /obj/item/card/emag_broken = TRADER_THIS_TYPE, + /obj/item/clothing/accessory = TRADER_SUBTYPES_ONLY, + /obj/item/robot_parts = TRADER_SUBTYPES_ONLY, + /obj/item/robot_parts/robot_component = TRADER_BLACKLIST ) mob_transfer_message = "You are transported to the ORIGIN. When the transportation dizziness wears off, you find you are surrounded by cackling Vox..." diff --git a/code/datums/trading/weaponry.dm b/code/datums/trading/weaponry.dm index 403da0acbd6..9261aca6b8f 100644 --- a/code/datums/trading/weaponry.dm +++ b/code/datums/trading/weaponry.dm @@ -20,36 +20,41 @@ TRADER_INSULT_BAD = "If I had my gun I'd shoot you!" ) - possible_trading_items = list(/obj/item/gun/projectile/pistol/holdout = TRADER_ALL, - /obj/item/gun/projectile/pistol/colt = TRADER_ALL, - /obj/item/gun/projectile/pistol/magnum_pistol = TRADER_ALL, - /obj/item/gun/projectile/revolver = TRADER_THIS_TYPE, - /obj/item/gun/projectile/revolver/detective = TRADER_ALL, - /obj/item/gun/projectile/pistol = TRADER_SUBTYPES_ONLY, - /obj/item/gun/projectile/pistol/secgun/MK = TRADER_BLACKLIST, - /obj/item/gun/projectile/shotgun = TRADER_SUBTYPES_ONLY, - /obj/item/gun/projectile/shotgun/pump/boomstick = TRADER_BLACKLIST, - /obj/item/ammo_magazine = TRADER_SUBTYPES_ONLY, - /obj/item/storage/box/blanks = TRADER_THIS_TYPE, - /obj/item/storage/box/shotgun/beanbags = TRADER_THIS_TYPE, - /obj/item/storage/box/shotgun/slugs = TRADER_THIS_TYPE, - /obj/item/storage/box/shotgun/shells = TRADER_THIS_TYPE, - /obj/item/storage/box/flash = TRADER_THIS_TYPE, - /obj/item/storage/box/shotgun/stunshells = TRADER_THIS_TYPE, - /obj/item/storage/box/practiceshells = TRADER_THIS_TYPE, - /obj/item/storage/box/sniperammo = TRADER_ALL, - /obj/item/ammo_magazine/a10mm/empty = TRADER_BLACKLIST, - /obj/item/ammo_magazine/a762/empty = TRADER_BLACKLIST, - /obj/item/ammo_magazine/a75/empty = TRADER_BLACKLIST, - /obj/item/ammo_magazine/c45m/empty = TRADER_BLACKLIST, - /obj/item/ammo_magazine/mc9mm/empty = TRADER_BLACKLIST, - /obj/item/ammo_magazine/box/c9mm/empty = TRADER_BLACKLIST, - /obj/item/ammo_magazine/box/c45/empty = TRADER_BLACKLIST, - /obj/item/ammo_magazine/box/a556/empty = TRADER_BLACKLIST, - /obj/item/ammo_magazine/c45uzi/empty = TRADER_BLACKLIST, - /obj/item/ammo_magazine/mc9mmt/empty = TRADER_BLACKLIST, - /obj/item/ammo_magazine/a50/empty = TRADER_BLACKLIST, - /obj/item/clothing/accessory/holster = TRADER_ALL + possible_trading_items = list(/obj/item/gun/projectile/pistol/holdout = TRADER_ALL, + /obj/item/gun/projectile/pistol/colt = TRADER_ALL, + /obj/item/gun/projectile/pistol/magnum_pistol = TRADER_ALL, + /obj/item/gun/projectile/revolver = TRADER_THIS_TYPE, + /obj/item/gun/projectile/revolver/detective = TRADER_ALL, + /obj/item/gun/projectile/revolver/m2019/detective = TRADER_THIS_TYPE, + /obj/item/gun/projectile/revolver/coltpython = TRADER_THIS_TYPE, + /obj/item/gun/projectile/pistol = TRADER_SUBTYPES_ONLY, + /obj/item/gun/projectile/pistol/secgun/MK = TRADER_BLACKLIST, + /obj/item/gun/projectile/shotgun = TRADER_SUBTYPES_ONLY, + /obj/item/gun/projectile/shotgun/pump/boomstick = TRADER_BLACKLIST, + /obj/item/gun/projectile/bolt_action = TRADER_ALL, + /obj/item/ammo_magazine = TRADER_SUBTYPES_ONLY, + /obj/item/storage/box/blanks = TRADER_THIS_TYPE, + /obj/item/storage/box/shotgun/beanbags = TRADER_THIS_TYPE, + /obj/item/storage/box/shotgun/slugs = TRADER_THIS_TYPE, + /obj/item/storage/box/shotgun/shells = TRADER_THIS_TYPE, + /obj/item/storage/box/flash = TRADER_THIS_TYPE, + /obj/item/storage/box/shotgun/stunshells = TRADER_THIS_TYPE, + /obj/item/storage/box/practiceshells = TRADER_THIS_TYPE, + /obj/item/storage/box/sniperammo = TRADER_ALL, + /obj/item/ammo_magazine/a10mm/empty = TRADER_BLACKLIST, + /obj/item/ammo_magazine/a762/empty = TRADER_BLACKLIST, + /obj/item/ammo_magazine/a75/empty = TRADER_BLACKLIST, + /obj/item/ammo_magazine/c45m/empty = TRADER_BLACKLIST, + /obj/item/ammo_magazine/mc9mm/empty = TRADER_BLACKLIST, + /obj/item/ammo_magazine/box/c9mm/empty = TRADER_BLACKLIST, + /obj/item/ammo_magazine/box/c45/empty = TRADER_BLACKLIST, + /obj/item/ammo_magazine/box/a556/empty = TRADER_BLACKLIST, + /obj/item/ammo_magazine/c45uzi/empty = TRADER_BLACKLIST, + /obj/item/ammo_magazine/mc9mmt/empty = TRADER_BLACKLIST, + /obj/item/ammo_magazine/a50/empty = TRADER_BLACKLIST, + /obj/item/ammo_casing/rocket = TRADER_THIS_TYPE, + /obj/item/clothing/accessory/holster = TRADER_ALL, + /obj/item/silencer = TRADER_THIS_TYPE ) /datum/trader/ship/egunshop @@ -74,22 +79,24 @@ TRADER_INSULT_BAD = "That's... very mean. I won't think twice about blacklisting your channel, so stop." ) - possible_trading_items = list(/obj/item/gun/energy/taser = TRADER_THIS_TYPE, - /obj/item/gun/energy/stunrevolver = TRADER_THIS_TYPE, - /obj/item/gun/energy/xray = TRADER_ALL, - /obj/item/gun/energy/laser = TRADER_THIS_TYPE, - /obj/item/gun/energy/gun = TRADER_THIS_TYPE, - /obj/item/gun/energy/egun = TRADER_THIS_TYPE, - /obj/item/gun/energy/ionrifle = TRADER_ALL, - /obj/item/gun/energy/pulse_rifle/pistol = TRADER_THIS_TYPE, - /obj/item/gun/energy/pulse_rifle/carbine = TRADER_THIS_TYPE, - /obj/item/gun/energy/retro = TRADER_THIS_TYPE, - /obj/item/cell = TRADER_THIS_TYPE, - /obj/item/cell/crap = TRADER_THIS_TYPE, - /obj/item/cell/high = TRADER_THIS_TYPE, - /obj/item/cell/super = TRADER_THIS_TYPE, - /obj/item/cell/hyper = TRADER_THIS_TYPE, - /obj/item/clothing/accessory/holster = TRADER_ALL + possible_trading_items = list(/obj/item/gun/energy/taser = TRADER_THIS_TYPE, + /obj/item/gun/energy/stunrevolver = TRADER_THIS_TYPE, + /obj/item/gun/energy/xray = TRADER_ALL, + /obj/item/gun/energy/laser = TRADER_THIS_TYPE, + /obj/item/gun/energy/gun = TRADER_THIS_TYPE, + /obj/item/gun/energy/egun = TRADER_THIS_TYPE, + /obj/item/gun/energy/ionrifle = TRADER_ALL, + /obj/item/gun/energy/pulse_rifle/pistol = TRADER_THIS_TYPE, + /obj/item/gun/energy/pulse_rifle/carbine = TRADER_THIS_TYPE, + /obj/item/gun/energy/retro = TRADER_THIS_TYPE, + /obj/item/gun/energy/plasmastun = TRADER_THIS_TYPE, + /obj/item/gun/energy/accelerator = TRADER_ALL, + /obj/item/cell = TRADER_THIS_TYPE, + /obj/item/cell/crap = TRADER_THIS_TYPE, + /obj/item/cell/high = TRADER_THIS_TYPE, + /obj/item/cell/super = TRADER_THIS_TYPE, + /obj/item/cell/hyper = TRADER_THIS_TYPE, + /obj/item/clothing/accessory/holster = TRADER_ALL ) /datum/trader/ship/dogan @@ -115,11 +122,12 @@ compliment_increase = 0 insult_drop = 0 - possible_trading_items = list(/obj/item/gun/projectile/pirate = TRADER_THIS_TYPE, - /obj/item/gun/projectile/pistol/secgun/MK = TRADER_THIS_TYPE, - /obj/item/gun/projectile/pistol/silenced/cheap = TRADER_THIS_TYPE, - /obj/item/gun/projectile/heavysniper/ant = TRADER_THIS_TYPE, - /obj/item/gun/energy/laser/dogan = TRADER_THIS_TYPE, - /obj/item/gun/projectile/automatic/machine_pistol/mini_uzi/usi = TRADER_THIS_TYPE, - /obj/item/clothing/accessory/holster = TRADER_ALL) - + possible_trading_items = list(/obj/item/gun/projectile/pirate = TRADER_THIS_TYPE, + /obj/item/gun/projectile/shotgun/pump/boomstick = TRADER_THIS_TYPE, + /obj/item/gun/projectile/pistol/secgun/MK = TRADER_THIS_TYPE, + /obj/item/gun/projectile/pistol/silenced/cheap = TRADER_THIS_TYPE, + /obj/item/gun/projectile/heavysniper/ant = TRADER_THIS_TYPE, + /obj/item/gun/energy/laser/dogan = TRADER_THIS_TYPE, + /obj/item/gun/projectile/automatic/machine_pistol/mini_uzi/usi = TRADER_THIS_TYPE, + /obj/item/clothing/accessory/holster = TRADER_ALL + ) diff --git a/code/game/objects/items/storage/pill_bottle.dm b/code/game/objects/items/storage/pill_bottle.dm index a783ff43f6c..d9ce2364c1e 100644 --- a/code/game/objects/items/storage/pill_bottle.dm +++ b/code/game/objects/items/storage/pill_bottle.dm @@ -111,7 +111,7 @@ return FALSE /obj/item/storage/pill_bottle/bicaridine - name = "pill bottle (bicaridine)" // Keeping these for mapping + name = "pill bottle (bicaridine)" // Keeping these for mapping or merchants desc = "Contains pills used to stabilize the severely injured." label_color = "#bf0000" starting_label = "bicaridine" @@ -182,6 +182,70 @@ startswith = list(/obj/item/reagent_containers/pill/tramadol = 14) +/obj/item/storage/pill_bottle/oxycodone + name = "pill bottle (oxycodone)" + desc = "Contains pills of complex painkillers." + label_color = "#800080" + starting_label = "oxycodone" + + startswith = list(/obj/item/reagent_containers/pill/oxycodone = 14) + +/obj/item/storage/pill_bottle/metazine + name = "pill bottle (metazine)" + desc = "Contains pills of combat painkillers." + label_color = "#b5af80" + starting_label = "metazine" + + startswith = list(/obj/item/reagent_containers/pill/metazine = 14) + +/obj/item/storage/pill_bottle/tricordrazine + name = "pill bottle (tricordrazine)" + desc = "Contains pills of treat a wide range of injuries." + label_color = "#8040ff" + starting_label = "tricordrazine" + + startswith = list(/obj/item/reagent_containers/pill/tricordrazine = 14) + +/obj/item/storage/pill_bottle/alkysine + name = "pill bottle (alkysine)" + desc = "Contains pills of aid in healing brain tissue." + label_color = "#ffff66" + starting_label = "alkysine" + + startswith = list(/obj/item/reagent_containers/pill/alkysine = 14) + +/obj/item/storage/pill_bottle/imidazoline + name = "pill bottle (imidazoline)" + desc = "Contains pills of heals eye damage." + label_color = "#c8a5dc" + starting_label = "imidazoline" + + startswith = list(/obj/item/reagent_containers/pill/imidazoline = 14) + +/obj/item/storage/pill_bottle/ryetalyn + name = "pill bottle (ryetalyn)" + desc = "Contains pills of cure all genetic abnomalities." + label_color = "#004000" + starting_label = "ryetalyn" + + startswith = list(/obj/item/reagent_containers/pill/ryetalyn = 14) + +/obj/item/storage/pill_bottle/peridaxon + name = "pill bottle (peridaxon)" + desc = "Contains pills of encourage recovery of internal organs and nervous systems." + label_color = "#561ec3" + starting_label = "peridaxon" + + startswith = list(/obj/item/reagent_containers/pill/peridaxon = 14) + +/obj/item/storage/pill_bottle/albumin + name = "pill bottle (albumin)" + desc = "Contains pills of improve blood regeneration rate." + label_color = "#803835" + starting_label = "albumin" + + startswith = list(/obj/item/reagent_containers/pill/albumin = 14) + //Baycode specific Psychiatry pills. /obj/item/storage/pill_bottle/citalopram name = "pill bottle (citalopram)" diff --git a/code/modules/Z_item_worth/materials.dm b/code/modules/Z_item_worth/materials.dm index 295a27523e7..a985ddeee8c 100644 --- a/code/modules/Z_item_worth/materials.dm +++ b/code/modules/Z_item_worth/materials.dm @@ -20,7 +20,7 @@ value = 4 /material/steel - value = 4 + value = 2 /material/diona value = 5 @@ -35,7 +35,7 @@ value = 10 /material/glass/reinforced - value = 2 + value = 4 /material/glass/plasma value = 30 @@ -56,7 +56,7 @@ value = 80 /material/iron - value = 5 + value = 1 /material/voxalloy value = 100 diff --git a/code/modules/Z_item_worth/reagents.dm b/code/modules/Z_item_worth/reagents.dm index e7bd2248423..f639886294c 100644 --- a/code/modules/Z_item_worth/reagents.dm +++ b/code/modules/Z_item_worth/reagents.dm @@ -364,37 +364,37 @@ value = 0.3 /datum/reagent/inaprovaline - value = 3.5 + value = 1.7 /datum/reagent/bicaridine - value = 4.9 + value = 3 /datum/reagent/kelotane - value = 2.9 + value = 2 /datum/reagent/dermaline - value = 3.9 + value = 2.4 /datum/reagent/dylovene - value = 2.1 + value = 1.2 /datum/reagent/dexalin value = 2.4 /datum/reagent/dexalinp - value = 3.6 + value = 2.8 /datum/reagent/tricordrazine - value = 6 + value = 2 /datum/reagent/cryoxadone - value = 3.9 + value = 2.8 /datum/reagent/clonexadone value = 5.5 /datum/reagent/painkiller/paracetamol - value = 3.3 + value = 2.2 /datum/reagent/painkiller value = 5.5 @@ -403,37 +403,37 @@ value = 3.1 /datum/reagent/painkiller/tramadol/oxycodone - value = 3.3 + value = 3.6 /datum/reagent/synaptizine - value = 4.6 + value = 1.1 /datum/reagent/alkysine - value = 5.9 + value = 3 /datum/reagent/imidazoline - value = 4.2 + value = 2.7 /datum/reagent/peridaxon - value = 6 + value = 3.5 /datum/reagent/ryetalyn - value = 3.6 + value = 2.6 /datum/reagent/hyperzine value = 3.9 /datum/reagent/ethylredoxrazine - value = 3.1 + value = 1.8 /datum/reagent/hyronalin - value = 2.3 + value = 2 /datum/reagent/arithrazine - value = 2.7 + value = 2.3 /datum/reagent/spaceacillin - value = 2.5 + value = 2 /datum/reagent/sterilizine value = 2.2 diff --git a/code/modules/Z_item_worth/worths_list.dm b/code/modules/Z_item_worth/worths_list.dm index 9647efe5f9c..6b19ff8f41a 100644 --- a/code/modules/Z_item_worth/worths_list.dm +++ b/code/modules/Z_item_worth/worths_list.dm @@ -12,9 +12,13 @@ var/list/worths = list( /obj/item/firstaid_arm_assembly = 150, /obj/item/bucket_sensor = 40, /obj/item/device/bot_kit = 300, + /obj/item/robot_parts/robot_component = 250, + /obj/item/robot_parts = 30, //REAGENT CONTAINERS, /obj/item/reagent_containers/hypospray = -90, + /obj/item/reagent_containers/hypospray/vial = -1500, /obj/item/reagent_containers/spray = -23, + /obj/item/reagent_containers/food/grown = -6, /obj/item/reagent_containers/food/monkeycube = -25, /obj/item/reagent_containers/food/human = -300, /obj/item/reagent_containers/food/sliceable = -15, @@ -23,6 +27,10 @@ var/list/worths = list( /obj/item/reagent_containers/vessel/can = -8, /obj/item/reagent_containers/rag = -5, /obj/item/reagent_containers/vessel = -60, + /obj/item/reagent_containers/vessel/beaker/plass = -250, + /obj/item/reagent_containers/vessel/beaker/noreact = -150, + /obj/item/reagent_containers/vessel/beaker/bluespace = -500, + /obj/item/reagent_containers/chem_disp_cartridge = -500, /obj/item/reagent_containers = -1, //GUNS, /obj/item/gun/energy/laser/practice = 500, @@ -36,11 +44,15 @@ var/list/worths = list( /obj/item/gun/energy/lasertag = 10, /obj/item/gun/energy/gun/nuclear = 2800, /obj/item/gun/energy/pulse_rifle/destroyer = 6500, + /obj/item/gun/energy/pulse_rifle/pistol = 3800, /obj/item/gun/energy/pulse_rifle = 4200, + /obj/item/gun/energy/plasmastun = 1600, /obj/item/gun/energy/taser = 500, /obj/item/gun/energy/crossbow/largecrossbow = 1600, /obj/item/gun/energy/crossbow = 750, /obj/item/gun/energy/temperature = 3000, + /obj/item/gun/energy/accelerator/pistol = 2000, + /obj/item/gun/energy/accelerator = 2400, /obj/item/gun/energy = 2100, //LAUNCHERS, /obj/item/gun/launcher/crossbow = 120, @@ -48,6 +60,7 @@ var/list/worths = list( /obj/item/gun/launcher/pneumatic = 200, /obj/item/gun/launcher/syringe = 150, /obj/item/gun/launcher/alien = 3500, + /obj/item/gun/launcher/rocket = 10000, /obj/item/gun/launcher = 300, //AUTOMATICS, /obj/item/gun/projectile/automatic/c20r = 3250, @@ -61,11 +74,13 @@ var/list/worths = list( /obj/item/gun/projectile/pistol/secgun/MK = 1200, /obj/item/gun/projectile/pistol/vp78 = 1650, /obj/item/gun/projectile/pistol/magnum_pistol = 2000, - /obj/item/gun/projectile/pistol/gyropistol = 5500, + /obj/item/gun/projectile/pistol/gyropistol = 2500, /obj/item/gun/projectile/heavysniper/ant = 1800, /obj/item/gun/projectile/heavysniper = 12000, /obj/item/gun/projectile/pistol/silenced/cheap = 1500, /obj/item/gun/projectile/pistol/silenced = 1700, + /obj/item/gun/projectile/bolt_action = 1300, + /obj/item/gun/projectile/lawgiver = 10000, /obj/item/gun/projectile = 1500, //GUN, /obj/item/gun = 500, @@ -83,6 +98,7 @@ var/list/worths = list( /obj/item/stack/material/osmium = -100, /obj/item/stack/material/plasteel = -40, /obj/item/stack/material/wood = -2, + /obj/item/stack/material/darkwood = -4, /obj/item/stack/material/cloth = -3, /obj/item/stack/material/cardboard = -1, /obj/item/stack/material/glass/reinforced = -12, @@ -103,28 +119,22 @@ var/list/worths = list( /obj/item/stack = -5, //STORAGE, /obj/item/storage/briefcase/crimekit = -50, + /obj/item/storage/backpack/ert = -5, /obj/item/storage = -30, -//WEAPONS, /obj/item/spacecash = -1, +//MINING /obj/item/ore = -10, /obj/item/mining_scanner = 130, -//PICK AXES, /obj/item/pickaxe/silver = 300, - /obj/item/pickaxe/drill = 100, - /obj/item/pickaxe/jackhammer = 90, - /obj/item/pickaxe/gold = 400, - /obj/item/gun/energy/plasmacutter = 100, - /obj/item/pickaxe/diamond = 600, - /obj/item/pickaxe/drill/diamonddrill = 700, - /obj/item/pickaxe = 30, + /obj/item/pickaxe/drill = 300, + /obj/item/pickaxe/drill/adv = 400, + /obj/item/pickaxe/jackhammer = 490, + /obj/item/pickaxe/gold = 500, + /obj/item/gun/energy/plasmacutter = 1000, + /obj/item/pickaxe/diamond = 800, + /obj/item/pickaxe/drill/diamonddrill = 900, + /obj/item/pickaxe = 200, /obj/item/shovel/spade = 20, - /obj/item/metroidpotion = 200, - /obj/item/metroidpotion2 = 300, - /obj/item/metroidsteroid = 150, - /obj/item/metroidsteroid2 = 250, - /obj/item/portable_destructive_analyzer = 780, - /obj/item/inflatable_dispenser = 300, - /obj/item/matter_decompiler = 400, //COMPUTER HARDWARE, /obj/item/computer_hardware/battery_module/advanced = 110, /obj/item/computer_hardware/battery_module/super = 150, @@ -149,7 +159,9 @@ var/list/worths = list( /obj/item/computer_hardware/tesla_link = 350, /obj/item/computer_hardware = 80, /obj/item/computer_hardware/hard_drive = 125, - /obj/item/clipboard = 15, + /obj/item/modular_computer/tablet = 1300, + /obj/item/modular_computer/laptop = 2100, + /obj/item/modular_computer = 4000, //POWER CELLS, /obj/item/cell/device = 100, /obj/item/cell/crap = 30, @@ -167,33 +179,22 @@ var/list/worths = list( /obj/item/smes_coil/super_capacity = 5000, /obj/item/smes_coil/super_io = 4500, /obj/item/smes_coil = 2000, - /obj/item/tracker_electronics = 150, - /obj/item/syringe_cartridge = 20, - /obj/item/silencer = 60, - /obj/item/fossil = 100, - /obj/item/vampiric = 666, - /obj/item/anobattery = 1800, - /obj/item/anodevice = 3300, - /obj/item/scrying = 1000, - /obj/item/magic_rock = 1500, - /obj/item/virusdish = 65, - /obj/item/diseasedisk = 100, - /obj/item/soap/deluxe = 15, - /obj/item/cane/concealed = 150, - /obj/item/cane = 40, - /obj/item/caution = 15, - /obj/item/module = 100, //STOCK PARTS, /obj/item/stock_parts/capacitor/adv = 160, - /obj/item/stock_parts/scanning_module/adv = 160, - /obj/item/stock_parts/manipulator/nano = 160, - /obj/item/stock_parts/micro_laser/high = 160, - /obj/item/stock_parts/matter_bin/adv = 160, /obj/item/stock_parts/capacitor/super = 300, + /obj/item/stock_parts/capacitor/rectangular = 500, + /obj/item/stock_parts/scanning_module/adv = 160, /obj/item/stock_parts/scanning_module/phasic = 300, + /obj/item/stock_parts/scanning_module/triphasic = 550, + /obj/item/stock_parts/manipulator/nano = 160, /obj/item/stock_parts/manipulator/pico = 250, + /obj/item/stock_parts/manipulator/femto = 400, + /obj/item/stock_parts/micro_laser/high = 160, /obj/item/stock_parts/micro_laser/ultra = 290, + /obj/item/stock_parts/micro_laser/quadultra = 450, + /obj/item/stock_parts/matter_bin/adv = 160, /obj/item/stock_parts/matter_bin/super = 310, + /obj/item/stock_parts/matter_bin/bluespace = 700, /obj/item/stock_parts/subspace/ansible = 500, /obj/item/stock_parts/subspace/filter = 560, /obj/item/stock_parts/subspace/amplifier = 540, @@ -202,22 +203,6 @@ var/list/worths = list( /obj/item/stock_parts/subspace/crystal = 530, /obj/item/stock_parts/subspace/transmitter = 620, /obj/item/stock_parts = 80, - /obj/item/ectoplasm = 10, - /obj/item/toy/xmas_cracker = 20, - /obj/item/pinpointer = 180, - /obj/item/pinpointer/advpinpointer = 330, - /obj/item/airalarm_electronics = 90, - /obj/item/firealarm_electronics = 80, - /obj/item/disk/nuclear = 10000, - /obj/item/disk = -90, - /obj/item/camera_assembly = 35, - /obj/item/orion_ship = 100, - /obj/item/airlock_electronics/secure = 600, - /obj/item/airlock_electronics = 300, - /obj/item/cartridge = 50, - /obj/item/aiModule = 3000, - /obj/item/autopsy_scanner = 180, - /obj/item/device/emag = 1000, //CARDS, /obj/item/card/emag = 300, /obj/item/card/id/silver = 200, @@ -227,13 +212,8 @@ var/list/worths = list( /obj/item/flame/match = 1, /obj/item/flame/lighter/zippo = 10, /obj/item/plastique = 200, - /obj/item/extinguisher/mini = 20, - /obj/item/extinguisher = 40, /obj/item/handcuffs/cable = 5, /obj/item/handcuffs = 35, - /obj/item/construction/rcd = 1000, - /obj/item/rcd_ammo = 50, - /obj/item/rsf = 300, /obj/item/teleportation_scroll = 1000, /obj/item/shield/buckler = 300, //More expensive because people don't make them anymore, /obj/item/shield/riot = 150, @@ -243,31 +223,64 @@ var/list/worths = list( /obj/item/hemostat = 90, /obj/item/cautery = 110, /obj/item/surgicaldrill = 130, - /obj/item/scalpel/laser1 = 300, - /obj/item/scalpel/laser2 = 600, - /obj/item/scalpel/laser3 = 900, - /obj/item/scalpel/manager = 1200, + /obj/item/scalpel/laser1 = 200, + /obj/item/scalpel/laser2 = 400, + /obj/item/scalpel/laser3 = 600, + /obj/item/scalpel/manager = 800, /obj/item/scalpel = 60, /obj/item/circular_saw = 140, /obj/item/bonegel = 300, - /obj/item/FixOVein = 500, + /obj/item/FixOVein = 400, /obj/item/bonesetter = 150, - /obj/item/locator = 100, - /obj/item/integrated_circuit/manipulation/bluespace_rift = 7600, - /obj/item/wrench = 30, - /obj/item/screwdriver = 15, - /obj/item/wirecutters = 25, //WELDINGTOOLS, /obj/item/weldingtool/largetank = 150, /obj/item/weldingtool/hugetank = 300, /obj/item/weldingtool/experimental = 600, /obj/item/weldingtool = 100, /obj/item/crowbar = 10, + /obj/item/wrench = 30, + /obj/item/screwdriver = 15, + /obj/item/wirecutters = 25, + /obj/item/construction/rcd = 500, + /obj/item/rcd_ammo = 50, + /obj/item/rcd_ammo/large = 200, + /obj/item/rsf = 600, + /obj/item/extinguisher/mini = 20, + /obj/item/extinguisher = 40, /obj/item/beartrap = 35, /obj/item/nullrod = 60, /obj/item/backwear/reagent/welding = 450, /obj/item/circuitboard/aicore = 6000, /obj/item/circuitboard = 1000, +//MECHAPARTS, + /obj/item/mecha_parts/chassis = 1200, + /obj/item/mecha_parts/mecha_tracking = 400, + /obj/item/mecha_parts/mecha_equipment/teleporter = 3050, + /obj/item/mecha_parts/mecha_equipment/gravcatapult = 3000, + /obj/item/mecha_parts/mecha_equipment/armor_booster = 1100, + /obj/item/mecha_parts/mecha_equipment/repair_droid = 1900, + /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay = 1300, + /obj/item/mecha_parts/mecha_equipment/generator = 1200, + /obj/item/mecha_parts/mecha_equipment/generator/nuclear = 1700, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser = 2000, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser = 1200, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy = 3000, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion = 1550, + /obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse = 5000, + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot = 4750, + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg = 5800, + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive = 2500, + /obj/item/mecha_parts = 500, + /obj/item/mecha_parts/mecha_equipment = 1000, +//BORGS, + /obj/item/borg/upgrade/remodel/advanced = 600, + /obj/item/borg/upgrade/remodel/combat = 550, + /obj/item/borg/upgrade/visor = 450, + /obj/item/borg/upgrade/visor/flash_screen = 500, + /obj/item/borg/upgrade/visor/thermal = 550, + /obj/item/borg/upgrade/visor/x_ray = 600, + /obj/item/borg/upgrade/syndicate = 650, + /obj/item/borg/upgrade = 350, //GRENADES, /obj/item/grenade/fake = 50, /obj/item/grenade/anti_photon = 200, @@ -277,8 +290,6 @@ var/list/worths = list( /obj/item/grenade/spawnergrenade/spesscarp = 350, /obj/item/grenade/spawnergrenade = 300, /obj/item/grenade = 150, - /obj/item/implant = 100, - /obj/item/implanter = 80, //MELEE, /obj/item/melee/cultblade = 500, /obj/item/melee/energy/axe = 3400, @@ -291,7 +302,6 @@ var/list/worths = list( /obj/item/melee/telebaton = 90, /obj/item/tank/jetpack = 390, /obj/item/tank = 40, - /obj/item/contraband/poster = 25, //MATERIAL, /obj/item/material/sword/katana/replica = -120, /obj/item/material/sword/katana = -150, @@ -300,27 +310,61 @@ var/list/worths = list( /obj/item/material/scythe = -100, /obj/item/material/twohanded/fireaxe = -150, /obj/item/material/harpoon = -70, + /obj/item/material/coin = -50, /obj/item/material = -5, //RIGS, - /obj/item/rig/unathi/fancy = 30000, - /obj/item/rig/unathi = 17000, - /obj/item/rig/combat = 25000, - /obj/item/rig/ert = 20000, + /obj/item/rig/unathi/fancy = 3000, + /obj/item/rig/unathi = 750, //Worst invention in the history + /obj/item/rig/combat = 2500, + /obj/item/rig/combat/equipped = 15000, + /obj/item/rig/military = 2500, + /obj/item/rig/military/equipped = 12500, + /obj/item/rig/ert/empty = 4000, + /obj/item/rig/ert = 8000, + /obj/item/rig/ert/engineer/empty = 3500, + /obj/item/rig/ert/engineer = 7000, + /obj/item/rig/ert/janitor/empty = 3500, + /obj/item/rig/ert/janitor = 7000, + /obj/item/rig/ert/medical/empty = 3500, + /obj/item/rig/ert/medical = 7000, + /obj/item/rig/ert/security/empty = 3500, + /obj/item/rig/ert/security = 7000, + /obj/item/rig/ert/assetprotection/empty = 7500, + /obj/item/rig/ert/assetprotection = 15000, /obj/item/rig/light/hacker = 13000, /obj/item/rig/light/ninja = 16000, - /obj/item/rig/light/stealth = 11000, + /obj/item/rig/light/stealth = 2000, /obj/item/rig/light/internalaffairs = 9000, /obj/item/rig/light = 14000, - /obj/item/rig/syndi = 25000, - /obj/item/rig = 15000, - /obj/item/forensics = 65, - /obj/item/evidencebag = 5, - /obj/item/sample = 15, - /obj/item/board = 15, - /obj/item/deck/holder = 10, - /obj/item/pack = 6, - /obj/item/beach_ball/basketball = 0, - /obj/item/book = 15, + /obj/item/rig/syndi/empty = 1500, + /obj/item/rig/syndi = 10000, + /obj/item/rig/syndi/heavy/empty = 3000, + /obj/item/rig/syndi/heavy = 12500, + /obj/item/rig/industrial = 1500, + /obj/item/rig/industrial/equipped = 5000, + /obj/item/rig/eva = 1500, + /obj/item/rig/eva/equipped = 5000, + /obj/item/rig/ce = 2500, + /obj/item/rig/ce/equipped = 5750, + /obj/item/rig/hazmat = 1750, + /obj/item/rig/hazmat/equipped = 4000, + /obj/item/rig/medical = 1500, + /obj/item/rig/medical/equipped = 5500, + /obj/item/rig/security = 2250, + /obj/item/rig/security/equipped = 7500, + /obj/item/rig/mining = 1400, + /obj/item/rig/mining/equipped = 3500, + /obj/item/rig = 5000, + /obj/item/rig_module/grenade_launcher = 1250, + /obj/item/rig_module/mounted/egun = 1900, + /obj/item/rig_module/mounted/energy_blade = 2200, + /obj/item/rig_module/mounted/taser = 1250, + /obj/item/rig_module/mounted = 4100, + /obj/item/rig_module/stealth_field = 2500, + /obj/item/rig_module/teleporter = 3000, + /obj/item/rig_module/fabricator/energy_net = 1200, + /obj/item/rig_module/fabricator = 2800, + /obj/item/rig_module = 850, //CLOTHING, //EARS, /obj/item/clothing/ears/skrell = 100, @@ -380,6 +424,7 @@ var/list/worths = list( /obj/item/clothing/mask/smokable/cigarette = 2, /obj/item/clothing/mask/smokable/ecig/util = 100, /obj/item/clothing/mask/smokable/ecig/simple = 150, +//SHOES, /obj/item/clothing/shoes/magboots = 350, /obj/item/clothing/shoes/swat = 100, /obj/item/clothing/shoes/combat = 200, @@ -388,8 +433,9 @@ var/list/worths = list( /obj/item/clothing/suit/space/void/syndi = 3000, /obj/item/clothing/suit/space/void/security = 3000, /obj/item/clothing/suit/space/void/captain = 5000, - /obj/item/clothing/suit/space/void = 2800, - /obj/item/clothing/suit/space/syndicate = 2200, + /obj/item/clothing/suit/space/void/optical = 7000, + /obj/item/clothing/suit/space/void = 1500, + /obj/item/clothing/suit/space/syndicate = 2000, /obj/item/clothing/suit/space/vox = 1000, /obj/item/clothing/suit/space/cult = 250, /obj/item/clothing/suit/space = 730, @@ -397,10 +443,12 @@ var/list/worths = list( /obj/item/clothing/suit/tajaran/furs = 90, /obj/item/clothing/suit/cultrobes = 200, /obj/item/clothing/suit/armor/vest = 550, + /obj/item/clothing/suit/armor/vest/ert = 1750, /obj/item/clothing/suit/armor/bulletproof = 500, /obj/item/clothing/suit/armor/laserproof = 600, /obj/item/clothing/suit/armor/reactive = 1000, /obj/item/clothing/suit/armor/heavy = 1000, + /obj/item/clothing/suit/armor/pcarrier = 300, /obj/item/clothing/suit/armor = 500, /obj/item/clothing/suit/bio_suit = 150, /obj/item/clothing/suit/captunic/capjacket = 100, @@ -420,8 +468,8 @@ var/list/worths = list( /obj/item/clothing/head/helmet/swat = 400, /obj/item/clothing/head/helmet/gladiator = 280, /obj/item/clothing/head/helmet/augment = 600, - /obj/item/clothing/head/helmet/ert = 1000, - /obj/item/clothing/head/helmet/captain = 1200, + /obj/item/clothing/head/helmet/ert = 1250, + /obj/item/clothing/head/helmet/captain = 500, /obj/item/clothing/head/helmet = 250, /obj/item/clothing/head/culthood = 150, /obj/item/clothing/head/caphat/hop = 100, @@ -439,8 +487,9 @@ var/list/worths = list( /obj/item/clothing/head/helmet/space/void/syndi = 2000, /obj/item/clothing/head/helmet/space/void/security = 2000, /obj/item/clothing/head/helmet/space/void/captain = 3000, - /obj/item/clothing/head/helmet/space/void = 1900, - /obj/item/clothing/head/helmet/space/syndicate = 1200, + /obj/item/clothing/head/helmet/space/void/optical = 3000, + /obj/item/clothing/head/helmet/space/void = 900, + /obj/item/clothing/head/helmet/space/syndicate = 900, /obj/item/clothing/head/helmet/space/deathsquad = 2400, /obj/item/clothing/head/helmet/space/vox = 1200, /obj/item/clothing/head/helmet/space/skrell = 1200, @@ -458,15 +507,18 @@ var/list/worths = list( /obj/item/clothing/accessory/toggleable/navy_jacket = 170, /obj/item/clothing/accessory/toggleable/burgundy_jacket = 160, /obj/item/clothing/accessory/toggleable/checkered_jacket = 200, + /obj/item/clothing/accessory/armorplate = 100, /obj/item/clothing/accessory = 15, //UNDERS, - /obj/item/clothing/under/rank/captain = 100, - /obj/item/clothing/under/rank/head_of_personnel = 60, - /obj/item/clothing/under/rank/head_of_personnel/whimsy = 80, - /obj/item/clothing/under/rank/chief_engineer = 95, - /obj/item/clothing/under/rank/research_director = 60, - /obj/item/clothing/under/rank/chief_medical_officer = 65, - /obj/item/clothing/under/rank/warden = 5, + /obj/item/clothing/under/rank/captain = 500, + /obj/item/clothing/under/rank/head_of_personnel = 275, + /obj/item/clothing/under/rank/head_of_personnel/whimsy = 300, + /obj/item/clothing/under/rank/chief_engineer = 250, + /obj/item/clothing/under/rank/research_director = 200, + /obj/item/clothing/under/rank/chief_medical_officer = 225, + /obj/item/clothing/under/rank/head_of_security = 400, + /obj/item/clothing/under/rank/warden = 300, + /obj/item/clothing/under/rank = 150, /obj/item/clothing = 50, //DEVICES, /obj/item/device/dociler = 490, @@ -501,13 +553,63 @@ var/list/worths = list( /obj/item/organ/internal/cerebrum/brain = 1200, /obj/item/organ = 400, //ITEMS, + /obj/item/tracker_electronics = 150, + /obj/item/syringe_cartridge = 20, + /obj/item/silencer = 500, + /obj/item/fossil = 100, + /obj/item/vampiric = 666, + /obj/item/anobattery = 1800, + /obj/item/anodevice = 3300, + /obj/item/scrying = 1000, + /obj/item/magic_rock = 1500, + /obj/item/virusdish = 200, + /obj/item/diseasedisk = 100, + /obj/item/soap/deluxe = 15, + /obj/item/cane/concealed = 150, + /obj/item/cane = 40, + /obj/item/caution = 15, + /obj/item/module = 100, + /obj/item/clipboard = 15, + /obj/item/metroidpotion = 200, + /obj/item/metroidpotion2 = 300, + /obj/item/metroidsteroid = 150, + /obj/item/metroidsteroid2 = 250, + /obj/item/portable_destructive_analyzer = 780, + /obj/item/inflatable_dispenser = 300, + /obj/item/matter_decompiler = 400, + /obj/item/ectoplasm = 10, + /obj/item/toy/xmas_cracker = 20, + /obj/item/pinpointer = 180, + /obj/item/pinpointer/advpinpointer = 330, + /obj/item/airalarm_electronics = 90, + /obj/item/firealarm_electronics = 80, + /obj/item/disk/nuclear = 10000, + /obj/item/disk = -90, + /obj/item/camera_assembly = 35, + /obj/item/orion_ship = 100, + /obj/item/airlock_electronics/secure = 600, + /obj/item/airlock_electronics = 300, + /obj/item/cartridge = 50, + /obj/item/aiModule = 3000, + /obj/item/autopsy_scanner = 180, + /obj/item/device/emag = 1000, + /obj/item/locator = 100, + /obj/item/integrated_circuit/manipulation/bluespace_rift = 7600, + /obj/item/implant = 100, + /obj/item/implanter = 80, + /obj/item/contraband/poster = 25, + /obj/item/forensics = 65, + /obj/item/evidencebag = 5, + /obj/item/sample = 15, + /obj/item/board = 15, + /obj/item/deck/holder = 10, + /obj/item/pack = 6, + /obj/item/beach_ball/basketball = 0, + /obj/item/book = 15, /obj/item/metroid_extract = 200, - /obj/item/robot_parts/robot_component = 250, - /obj/item/robot_parts = 30, - /obj/item/modular_computer/tablet = 1300, - /obj/item/modular_computer = 4000, /obj/item/solar_assembly = 680, /obj/item/ammo_casing = 5, + /obj/item/ammo_casing/rocket = 400, /obj/item/ammo_magazine = 30, /obj/item/conveyor_construct = 100, /obj/item/conveyor_switch_construct = 30, @@ -515,25 +617,6 @@ var/list/worths = list( /obj/item/frame = 60, /obj/item/pipe = 100, /obj/item/pipe_meter = 300, - /obj/item/mecha_parts/chassis = 1200, - /obj/item/mecha_parts/mecha_tracking = 400, - /obj/item/mecha_parts/mecha_equipment/teleporter = 3050, - /obj/item/mecha_parts/mecha_equipment/gravcatapult = 3000, - /obj/item/mecha_parts/mecha_equipment/armor_booster = 1100, - /obj/item/mecha_parts/mecha_equipment/repair_droid = 1900, - /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay = 1300, - /obj/item/mecha_parts/mecha_equipment/generator = 1200, - /obj/item/mecha_parts/mecha_equipment/generator/nuclear = 1700, - /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser = 2000, - /obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser = 1200, - /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy = 3000, - /obj/item/mecha_parts/mecha_equipment/weapon/energy/ion = 1550, - /obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse = 5000, - /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot = 4750, - /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg = 5800, - /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive = 2500, - /obj/item/mecha_parts = 500, - /obj/item/mecha_parts/mecha_equipment = 1000, /obj/item/missile = 1200, /obj/item/blueprints = 4000, //Information is valuable, /obj/item/bodybag/cryobag = 600, @@ -542,15 +625,6 @@ var/list/worths = list( /obj/item/target = 15, /obj/item/inflatable = 30, /obj/item/roller = 80, - /obj/item/rig_module/grenade_launcher = 1500, - /obj/item/rig_module/mounted/egun = 2100, - /obj/item/rig_module/mounted/energy_blade = 2200, - /obj/item/rig_module/mounted = 4100, - /obj/item/rig_module/stealth_field = 2500, - /obj/item/rig_module/teleporter = 3000, - /obj/item/rig_module/fabricator/energy_net = 1200, - /obj/item/rig_module/fabricator = 2800, - /obj/item/rig_module = 1000, /obj/item/seeds = 10, /obj/item/bee_smoker = 60, /obj/item/honey_frame = 15, @@ -558,6 +632,7 @@ var/list/worths = list( /obj/item/bee_pack = 200, /obj/item/weedkiller = 30, /obj/item/sign/medipolma = 1500, + /obj/item/metroid_cookie = 150, /obj/item = 5, //STRUCTURES, /obj/structure/dogbed = 15, diff --git a/code/modules/clothing/spacesuits/rig/suits/ert.dm b/code/modules/clothing/spacesuits/rig/suits/ert.dm index fc4607d61f9..1adb5b443a3 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert.dm @@ -25,6 +25,12 @@ /obj/item/rig_module/cooling_unit ) +/obj/item/rig/ert/empty + initial_modules = list( + /obj/item/rig_module/ai_container, + /obj/item/rig_module/cooling_unit, + ) + /obj/item/clothing/head/helmet/space/rig/ert light_overlay = "helmet_light_dual" camera = /obj/machinery/camera/network/ert @@ -56,6 +62,12 @@ /obj/item/rig_module/cooling_unit ) +/obj/item/rig/ert/engineer/empty + initial_modules = list( + /obj/item/rig_module/ai_container, + /obj/item/rig_module/cooling_unit, + ) + /obj/item/clothing/gloves/rig/ert/engineer siemens_coefficient = 0 @@ -75,6 +87,12 @@ /obj/item/rig_module/cooling_unit ) +/obj/item/rig/ert/janitor/empty + initial_modules = list( + /obj/item/rig_module/ai_container, + /obj/item/rig_module/cooling_unit, + ) + /obj/item/rig/ert/medical name = "ERT medical powersuit control module" desc = "A powersuit used by NanoTrasen's elite Emergency Response Teams. Has white highlights. Armored and space ready." @@ -89,6 +107,12 @@ /obj/item/rig_module/cooling_unit ) +/obj/item/rig/ert/medical/empty + initial_modules = list( + /obj/item/rig_module/ai_container, + /obj/item/rig_module/cooling_unit, + ) + /obj/item/rig/ert/security name = "ERT security powersuit control module" desc = "A powersuit used by NanoTrasen's elite Emergency Response Teams. Has red highlights. Armored and space ready." @@ -103,6 +127,12 @@ /obj/item/rig_module/cooling_unit ) +/obj/item/rig/ert/security/empty + initial_modules = list( + /obj/item/rig_module/ai_container, + /obj/item/rig_module/cooling_unit, + ) + /obj/item/rig/ert/assetprotection name = "Death Squad suit control module" desc = "That's not red paint. That's real blood." @@ -124,5 +154,11 @@ /obj/item/rig_module/cooling_unit ) +/obj/item/rig/ert/assetprotection/empty + initial_modules = list( + /obj/item/rig_module/ai_container, + /obj/item/rig_module/cooling_unit, + ) + /obj/item/clothing/gloves/rig/ert/assetprotection siemens_coefficient = 0 diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 93228f90a24..fedd0dd3c01 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -152,9 +152,9 @@ startswith = list(/datum/reagent/dylovene) /obj/item/reagent_containers/hypospray/autoinjector/tricordrazine - icon_state = "red1" + icon_state = "lightpurple1" content_desc = "Tricordrazine 10u. Use to speed up recovery from physical trauma." - base_state = "red" + base_state = "lightpurple" startswith = list(/datum/reagent/tricordrazine) /obj/item/reagent_containers/hypospray/autoinjector/pain @@ -165,7 +165,7 @@ /obj/item/reagent_containers/hypospray/autoinjector/combatpain icon_state = "black1" - content_desc = "Metazine 5u" + content_desc = "Metazine 5u. Used for immediate and temporary pain relief." base_state = "black" amount_per_transfer_from_this = 5 volume = 5 @@ -194,3 +194,21 @@ startswith = list( /datum/reagent/hyronalin = 5, /datum/reagent/dylovene = 5) + +/obj/item/reagent_containers/hypospray/autoinjector/dexalinp + icon_state = "darkblue1" + content_desc = "Dexalin plus 10u. Used for hypoxia. Increases oxygenation to almost 85%!" + base_state = "darkblue" + startswith = list(/datum/reagent/dexalinp) + +/obj/item/reagent_containers/hypospray/autoinjector/bicaridine + icon_state = "red1" + content_desc = "Bicaridine 10u. Used to treat serious physical wounds." + base_state = "red" + startswith = list(/datum/reagent/bicaridine) + +/obj/item/reagent_containers/hypospray/autoinjector/dermaline + icon_state = "yellow1" + content_desc = "Dermaline 10u. Used to treat burn wounds." + base_state = "yellow" + startswith = list(/datum/reagent/dermaline) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 8c17c614615..854a65d93b7 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -279,3 +279,63 @@ icon_state = "cleanerpod" startswith = list(/datum/reagent/space_cleaner/dry = 10) mimic_color = FALSE + +//Pills that probably won't be used anywhere, except in merchants or mapping, but who cares? + +/obj/item/reagent_containers/pill/oxycodone + name = "Oxycodone (15u)" + desc = "A complex painkiller." + icon_state = "pill3" + startswith = list(/datum/reagent/painkiller/tramadol/oxycodone = 15) + mimic_color = TRUE + +/obj/item/reagent_containers/pill/metazine + name = "Metazine (10u)" + desc = "A combat painkiller." + icon_state = "pill24" + startswith = list(/datum/reagent/painkiller = 10) + mimic_color = FALSE + +/obj/item/reagent_containers/pill/tricordrazine + name = "Tricordrazine (20u)" + desc = "Used to slowly treat external injuries." + icon_state = "pill2" + startswith = list(/datum/reagent/tricordrazine = 20) + mimic_color = TRUE + +/obj/item/reagent_containers/pill/alkysine + name = "Alkysine (5u)" + desc = "Do you have a headache? Just eat me!" + icon_state = "pill2" + startswith = list(/datum/reagent/alkysine = 5) + mimic_color = TRUE + +/obj/item/reagent_containers/pill/imidazoline + name = "Imidazoline (10u)" + desc = "Used to treat eye injuries." + icon_state = "pill2" + startswith = list(/datum/reagent/imidazoline = 10) + mimic_color = TRUE + +/obj/item/reagent_containers/pill/ryetalyn + name = "Ryetalyn (5u)" + desc = "Used for genetic defects, including cataracts." + icon_state = "pill3" + startswith = list(/datum/reagent/ryetalyn = 5) + mimic_color = TRUE + +/obj/item/reagent_containers/pill/peridaxon + name = "Peridaxon (10u)" + desc = "Used to restore the internal organs and nervous system." + icon_state = "pill2" + startswith = list(/datum/reagent/peridaxon = 10) + mimic_color = TRUE + +/obj/item/reagent_containers/pill/albumin + name = "Albumin (20u)" + desc = "Used to restore blood loss." + icon_state = "pill3" + startswith = list( + /datum/reagent/albumin = 15, + /datum/reagent/iron = 5) + mimic_color = TRUE diff --git a/icons/obj/syringe.dmi b/icons/obj/syringe.dmi index 8ef7f1ba1ad2ea1cbf45b7a3b32f43726ad8f5a7..db8d87633f6e6f362984772bb07cfc4faf132bc6 100644 GIT binary patch literal 5127 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 GJ^n8R(=hx1 literal 4637 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 TY-&lp_5pM?A81tEw}1IxtX1NZ