Files
Aurora.3/code/datums/trading/ai.dm
Chada-1 d7e680a575 Full rename of all real chems to bone apple tea'd versions. (#9400)
As a continuation of #9389
As a bonus, any drugs that mentioned their IRL counterpart in their description now describe their predecessor as ancient, and the new ones as modern. The biggest difference here is just the Antihistamine which was given a full new name. They're similar enough that they'll be recognized (most of them) but different enough for us to call our own and not care what the real medicines are/do since these are our sci-fantasy versions just inspired by them.
2020-07-26 13:19:41 +03:00

190 lines
12 KiB
Plaintext

/*
TRADING BEACON
Trading beacons are generic AI driven trading outposts.
They sell generic supplies and ask for generic supplies.
*/
/datum/trader/trading_beacon
name = "AI"
origin = "Trading Beacon"
name_language = LANGUAGE_EAL
trade_flags = TRADER_MONEY|TRADER_GOODS
speech = list(
"hail_generic" = "Greetings, I am MERCHANT, Artifical Intelligence onboard ORIGIN, tasked with trading goods in return for credits and supplies.",
"hail_deny" = "We are sorry, your connection has been blacklisted. Have a nice day.",
"trade_complete" = "Thank you for your patronage.",
"trade_not_enough" = "I'm sorry, your offer is not worth what you are asking for.",
"trade_blacklisted" = "You have offered a blacklisted item. My laws do not allow me to trade for that.",
"how_much" = "ITEM will cost you roughly VALUE credits, or something of equal worth.",
"what_want" = "I have logged need for",
"compliment_deny" = "I'm sorry, I am not allowed to let compliments affect the trade.",
"compliment_accept" = "Thank you, but that will not not change our business interactions.",
"insult_good" = "I do not understand, are we not on good terms?",
"insult_bad" = "I do not understand, are you insulting me?",
"bribe_refusal" = "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/kit = TRADER_BLACKLIST_ALL, // They're impossible to make or get outside of mining, just annoys traders.
/obj/item/device/assembly = TRADER_BLACKLIST_ALL,
/obj/item/device/assembly_holder = TRADER_BLACKLIST_ALL,
/obj/item/device/encryptionkey = TRADER_BLACKLIST_SUB, //Why should ai want NT encryption keys?
/obj/item/device/radio = TRADER_BLACKLIST_ALL,
/obj/item/device/pda = TRADER_BLACKLIST_SUB,
/obj/item/device/chameleon = TRADER_BLACKLIST, // Why should it want a chameleon projector
/obj/item/device/dociler = TRADER_BLACKLIST, //Item unobtaineable
/obj/item/device/flashlight/drone = TRADER_BLACKLIST, // No drone stuff
/obj/item/device/camera_bug = TRADER_BLACKLIST, // Traitor stuff
/obj/item/device/multitool = TRADER_BLACKLIST_SUB, // Hacktool, uplink and robo tool ban
/obj/item/device/modkit = TRADER_BLACKLIST_ALL, // No to modkits
/obj/item/device/pin_extractor = TRADER_BLACKLIST, // RD's tech
/obj/item/device/powersink = TRADER_BLACKLIST, // Traitor stuff
/obj/item/device/slime_scanner = TRADER_BLACKLIST, //If it was doing slime stuff, it already had this
/obj/item/device/spy_bug = TRADER_BLACKLIST, // Traitor stuff
/obj/item/device/spy_monitor = TRADER_BLACKLIST, // Traitor stuff
/obj/item/device/suit_cooling_unit = TRADER_BLACKLIST, // Not on Aurora
/obj/item/device/taperecorder/cciaa = TRADER_BLACKLIST, // Admin item
/obj/item/device/batterer = TRADER_BLACKLIST, // Item too rare
/obj/item/device/contract_uplink = TRADER_BLACKLIST, // Traitor stuff
/obj/item/device/uplink = TRADER_BLACKLIST_ALL, // Traitor stuff
/obj/item/device/announcer = TRADER_BLACKLIST, // Rev item
/obj/item/device/special_uplink = TRADER_BLACKLIST,
/obj/item/device/onetankbomb = TRADER_BLACKLIST, // Not weapons trader
/obj/item/device/kinetic_analyzer = TRADER_BLACKLIST, // Not KA trader
/obj/item/device/camera = TRADER_BLACKLIST_SUB, // a lot of ai/drone/cyborg/fluff items
/obj/item/device/uv_light = TRADER_BLACKLIST, // CSI item
/obj/item/device/eftpos = TRADER_BLACKLIST,
/obj/item/device/nanoquikpay = TRADER_BLACKLIST,
/obj/item/device/electronic_assembly = TRADER_BLACKLIST_ALL, // Not a circuit trader
/obj/item/device/integrated_circuit_printer = TRADER_BLACKLIST_ALL, //Not a circuit trader
/obj/item/device/integrated_electronics = TRADER_BLACKLIST_ALL, // Not a circuit trader
/obj/item/device/mine_bot_upgrade = TRADER_BLACKLIST_ALL, // Not a mining vendor + drone stuff
/obj/item/device/mmi = TRADER_BLACKLIST_SUB, // removes MMI Subtypes to prevent trading confusion
/obj/item/device/soulstone = TRADER_BLACKLIST, // Wiz item
/obj/item/device/firing_pin = TRADER_BLACKLIST_ALL, // Not a weapons trader
/obj/item/device/laser_assembly = TRADER_BLACKLIST_ALL, // Not a weapons trader
/obj/item/device/ano_scanner = TRADER_BLACKLIST, // Xenoarch
/obj/item/device/core_sampler = TRADER_BLACKLIST, // Xenoarch
/obj/item/device/depth_scanner = TRADER_BLACKLIST, // Xenoarch
/obj/item/device/beacon_locator = TRADER_BLACKLIST, // Telescience
/obj/item/device/telepad_beacon = TRADER_BLACKLIST, // Telescience
/obj/item/device/udp_debugger = TRADER_BLACKLIST // Circuits
)
possible_trading_items = list(
/obj/item/storage/bag = TRADER_SUBTYPES_ONLY,
/obj/item/storage/bag/ore/drone = TRADER_BLACKLIST, // don't want drone bags
/obj/item/storage/bag/sheetsnatcher/borg = TRADER_BLACKLIST, // don't want borg bags
/obj/item/storage/bag/circuits = TRADER_BLACKLIST_ALL, //can spawn glitchy circuit boxes, circuitry should belong to science
/obj/item/storage/bag/money = TRADER_BLACKLIST, // spawns with money
/obj/item/storage/backpack = TRADER_ALL,
/obj/item/storage/backpack/cultpack = TRADER_BLACKLIST, // cult stuff
/obj/item/storage/backpack/holding = TRADER_BLACKLIST_ALL, // research stuff
/obj/item/storage/backpack/satchel/withwallet = TRADER_BLACKLIST, // money inside
/obj/item/storage/backpack/chameleon = TRADER_BLACKLIST, // traitor stuff
/obj/item/storage/backpack/typec = TRADER_BLACKLIST_ALL, // Vaurca-exclusive stuff
/obj/item/storage/backpack/fluff = TRADER_BLACKLIST_ALL, // Custom items, let's not
/obj/item/storage/belt/champion = TRADER_THIS_TYPE,
/obj/item/storage/briefcase = TRADER_THIS_TYPE,
/obj/item/storage/box/fancy = TRADER_SUBTYPES_ONLY,
/obj/item/storage/laundry_basket = TRADER_THIS_TYPE,
/obj/item/storage/secure/briefcase = TRADER_THIS_TYPE,
/obj/item/storage/bag/plants = TRADER_THIS_TYPE,
/obj/item/storage/bag/ore = TRADER_THIS_TYPE,
/obj/item/storage/toolbox = TRADER_ALL,
/obj/item/storage/toolbox/fluff = TRADER_BLACKLIST_ALL, // Custom items
/obj/item/storage/wallet = TRADER_THIS_TYPE,
/obj/item/storage/wallet/fluff = TRADER_BLACKLIST_ALL, // Custom items
/obj/item/storage/photo_album = TRADER_THIS_TYPE,
/obj/item/clothing/glasses = TRADER_SUBTYPES_ONLY,
/obj/item/clothing/glasses/threedglasses/fluff = TRADER_BLACKLIST_ALL, // Custom items
/obj/item/clothing/glasses/hud = TRADER_BLACKLIST_ALL, //don't want mech/advanced stuff
/obj/item/clothing/glasses/sunglasses/blindfold/tape = TRADER_BLACKLIST, // Literally just tape over someone's eyes
/obj/item/clothing/glasses/chameleon = TRADER_BLACKLIST, // traitor stuff
/obj/item/clothing/glasses/sunglasses/bst = TRADER_BLACKLIST, // BlueSpaceTech glasses
/obj/item/clothing/glasses/welding/fluff = TRADER_BLACKLIST_ALL // Custom items
)
insult_drop = 0
compliment_increase = 0
/datum/trader/trading_beacon/New()
..()
origin = "[origin] #[rand(100,999)]"
/datum/trader/trading_beacon/mine
origin = "Mining Beacon"
possible_trading_items = list(
/obj/item/stack/material/glass = TRADER_ALL,
/obj/item/stack/material/sandstone = TRADER_THIS_TYPE,
/obj/item/stack/material/marble = TRADER_THIS_TYPE,
/obj/item/stack/material/diamond = TRADER_THIS_TYPE,
/obj/item/stack/material/uranium = TRADER_THIS_TYPE,
/obj/item/stack/material/phoron = TRADER_THIS_TYPE,
/obj/item/stack/material/plastic = TRADER_THIS_TYPE,
/obj/item/stack/material/gold = TRADER_THIS_TYPE,
/obj/item/stack/material/silver = TRADER_THIS_TYPE,
/obj/item/stack/material/platinum = TRADER_THIS_TYPE,
/obj/item/stack/material/mhydrogen = TRADER_THIS_TYPE,
/obj/item/stack/material/steel = TRADER_THIS_TYPE,
/obj/item/stack/material/plasteel = TRADER_THIS_TYPE,
/obj/machinery/mining = TRADER_SUBTYPES_ONLY
)
/datum/trader/trading_beacon/manufacturing
origin = "Manufacturing Beacon"
possible_trading_items = list(
/obj/structure/AIcore = TRADER_THIS_TYPE,
/obj/structure/ore_box = TRADER_THIS_TYPE,
/obj/structure/dispenser = TRADER_THIS_TYPE,
/obj/item/ladder_mobile = TRADER_THIS_TYPE,
/obj/item/inflatable_dispenser = TRADER_THIS_TYPE,
/obj/machinery/pipedispenser/orderable = TRADER_THIS_TYPE,
/obj/machinery/pipedispenser/disposal/orderable = TRADER_THIS_TYPE,
/obj/structure/reagent_dispensers/water_cooler = TRADER_THIS_TYPE,
/obj/machinery/media/jukebox = TRADER_THIS_TYPE,
/obj/machinery/reagentgrinder = TRADER_THIS_TYPE,
/obj/vehicle/bike = TRADER_THIS_TYPE
)
/datum/trader/trading_beacon/medical
origin = "Medical Beacon"
possible_trading_items = list(
/obj/item/storage/firstaid = TRADER_SUBTYPES_ONLY,
/obj/item/storage/pill_bottle = TRADER_SUBTYPES_ONLY,
/obj/item/reagent_containers/hypospray = TRADER_ALL,
/obj/item/device/healthanalyzer = TRADER_THIS_TYPE,
/obj/item/device/breath_analyzer = TRADER_THIS_TYPE,
/obj/item/stack/medical/bruise_pack = TRADER_THIS_TYPE,
/obj/item/stack/medical/ointment = TRADER_THIS_TYPE,
/obj/item/stack/medical/advanced = TRADER_SUBTYPES_ONLY,
/obj/item/stack/medical/splint = TRADER_THIS_TYPE,
/obj/item/surgery/bonesetter = TRADER_THIS_TYPE,
/obj/item/surgery/retractor = TRADER_THIS_TYPE,
/obj/item/surgery/hemostat = TRADER_THIS_TYPE,
/obj/item/surgery/cautery = TRADER_THIS_TYPE,
/obj/item/surgery/surgicaldrill = TRADER_THIS_TYPE,
/obj/item/surgery/scalpel = TRADER_ALL,
/obj/item/surgery/circular_saw = TRADER_THIS_TYPE,
/obj/item/surgery/bonegel = TRADER_THIS_TYPE,
/obj/item/surgery/FixOVein = TRADER_THIS_TYPE,
/obj/item/surgery/bonesetter = TRADER_THIS_TYPE,
/obj/item/storage/box/syringes = TRADER_THIS_TYPE,
/obj/item/storage/box/syringegun = TRADER_THIS_TYPE,
/obj/item/storage/box/masks = TRADER_THIS_TYPE,
/obj/item/storage/box/gloves = TRADER_THIS_TYPE,
/obj/item/storage/box/cdeathalarm_kit = TRADER_THIS_TYPE,
/obj/item/storage/box/beakers = TRADER_THIS_TYPE,
/obj/item/reagent_containers/glass/bottle/inaprovaline = TRADER_THIS_TYPE,
/obj/item/reagent_containers/glass/bottle/stoxin = TRADER_THIS_TYPE,
/obj/item/reagent_containers/glass/bottle/polysomnine = TRADER_THIS_TYPE,
/obj/item/reagent_containers/glass/bottle/antitoxin = TRADER_THIS_TYPE,
/obj/item/device/handheld_medical = TRADER_THIS_TYPE,
/obj/item/stack/medical/advanced/bruise_pack/spaceklot = TRADER_THIS_TYPE
)