Skip to content

Commit

Permalink
tweak(merchants): more goods, better price
Browse files Browse the repository at this point in the history
  • Loading branch information
i1yadobr authored Jun 19, 2024
1 parent a3f1a4c commit b887ecc
Show file tree
Hide file tree
Showing 17 changed files with 1,094 additions and 688 deletions.
151 changes: 95 additions & 56 deletions code/datums/trading/ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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.",
Expand All @@ -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
Expand All @@ -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"

Expand Down
48 changes: 27 additions & 21 deletions code/datums/trading/armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
)
Loading

0 comments on commit b887ecc

Please sign in to comment.