mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-11 16:14:08 +01:00
c04168e81f
## About The Pull Request Passes a standardized define into some of the tgui to parody behavior with vending machines. Adds a few defines for money symbols to make it easier to rework types of money. If yall are for this I can also go through and find and replace a ton of strings and other tgui with these, but dont want to sink 2 much time into it if not. <img width="966" height="646" alt="image" src="https://github.com/user-attachments/assets/2d4753be-7e5d-4733-acf8-05f354127a6a" /> Proof of concept if Nanotrasen was not an evil conglomerate and the dollar never went out of style <img width="1009" height="661" alt="image" src="https://github.com/user-attachments/assets/e68bfcd3-4053-4641-9b28-f384f2cb049b" /> some broken shit here but 99% thats cause minimal runtime station does not support the supply console <img width="795" height="767" alt="image" src="https://github.com/user-attachments/assets/30dbd625-5338-4dc3-80db-922ff045f0f0" />
157 lines
5.3 KiB
Plaintext
157 lines
5.3 KiB
Plaintext
///Used to contain the traders initial wares, and speech
|
|
/datum/trader_data
|
|
|
|
///The item that marks the shopkeeper will sit on
|
|
var/shop_spot_type = /obj/structure/chair/plastic
|
|
///The sign that will greet the customers
|
|
var/sign_type = /obj/structure/trader_sign
|
|
///Sound used when item sold/bought
|
|
var/sell_sound = 'sound/effects/cashregister.ogg'
|
|
///The currency name
|
|
var/currency_name = MONEY_NAME
|
|
///The initial products that the trader offers
|
|
var/list/initial_products = list(
|
|
/obj/item/food/burger/ghost = list(PAYCHECK_CREW * 4, INFINITY),
|
|
)
|
|
///The initial products that the trader buys
|
|
var/list/initial_wanteds = list(
|
|
/obj/item/ectoplasm = list(PAYCHECK_CREW * 2, INFINITY, ""),
|
|
)
|
|
///The speech data of the trader
|
|
var/list/say_phrases = list(
|
|
ITEM_REJECTED_PHRASE = list(
|
|
"Sorry, I'm not a fan of anything you're showing me. Give me something better and we'll talk.",
|
|
),
|
|
ITEM_SELLING_CANCELED_PHRASE = list(
|
|
"What a shame, tell me if you changed your mind.",
|
|
),
|
|
ITEM_SELLING_ACCEPTED_PHRASE = list(
|
|
"Pleasure doing business with you.",
|
|
),
|
|
INTERESTED_PHRASE = list(
|
|
"Hey, you've got an item that interests me, I'd like to buy it, I'll give you some cash for it, deal?",
|
|
),
|
|
BUY_PHRASE = list(
|
|
"Pleasure doing business with you.",
|
|
),
|
|
NO_CASH_PHRASE = list(
|
|
"Sorry adventurer, I can't give credit! Come back when you're a little mmmmm... richer!",
|
|
),
|
|
NO_STOCK_PHRASE = list(
|
|
"Sorry adventurer, but that item is not in stock at the moment.",
|
|
),
|
|
NOT_WILLING_TO_BUY_PHRASE = list(
|
|
"I don't want to buy that item for the time being, check back another time.",
|
|
),
|
|
ITEM_IS_WORTHLESS_PHRASE = list(
|
|
"This item seems to be worthless on a closer look, I won't buy this.",
|
|
),
|
|
TRADER_HAS_ENOUGH_ITEM_PHRASE = list(
|
|
"I already bought enough of this for the time being.",
|
|
),
|
|
TRADER_LORE_PHRASE = list(
|
|
"Hello! I am the test trader.",
|
|
"Oooooooo~!",
|
|
),
|
|
TRADER_NOT_BUYING_ANYTHING = list(
|
|
"I'm currently buying nothing at the moment.",
|
|
),
|
|
TRADER_NOT_SELLING_ANYTHING = list(
|
|
"I'm currently selling nothing at the moment.",
|
|
),
|
|
TRADER_BATTLE_START_PHRASE = list(
|
|
"Thief!",
|
|
),
|
|
TRADER_BATTLE_END_PHRASE = list(
|
|
"That is a discount I call death.",
|
|
),
|
|
TRADER_SHOP_OPENING_PHRASE = list(
|
|
"Welcome to my shop, friend!",
|
|
),
|
|
)
|
|
|
|
/**
|
|
* Depending on the passed parameter/override, returns a randomly picked string out of a list
|
|
*
|
|
* Do note when overriding this argument, you will need to ensure pick(the list) doesn't get supplied with a list of zero length
|
|
* Arguments:
|
|
* * say_text - (String) a define that matches the key of a entry in say_phrases
|
|
*/
|
|
/datum/trader_data/proc/return_trader_phrase(say_text)
|
|
if(!length(say_phrases[say_text]))
|
|
return
|
|
return pick(say_phrases[say_text])
|
|
|
|
/datum/trader_data/mr_bones
|
|
shop_spot_type = /obj/structure/chair/wood/wings
|
|
sign_type = /obj/structure/trader_sign/mrbones
|
|
sell_sound = 'sound/mobs/non-humanoids/hiss/hiss2.ogg'
|
|
|
|
initial_products = list(
|
|
/obj/item/clothing/head/helmet/skull = list(PAYCHECK_CREW * 3, INFINITY),
|
|
/obj/item/clothing/mask/bandana/skull/black = list(PAYCHECK_CREW, INFINITY),
|
|
/obj/item/food/cookie/sugar/spookyskull = list(PAYCHECK_CREW * 0.2, INFINITY),
|
|
/obj/item/instrument/trombone/spectral = list(PAYCHECK_CREW * 200, INFINITY),
|
|
/obj/item/shovel/serrated = list(PAYCHECK_CREW * 3, INFINITY),
|
|
)
|
|
|
|
initial_wanteds = list(
|
|
/obj/item/reagent_containers/condiment/milk = list(PAYCHECK_CREW * 20, INFINITY, ""),
|
|
/obj/item/stack/sheet/bone = list(PAYCHECK_CREW * 8.4, INFINITY, ", per sheet of bone"),
|
|
)
|
|
|
|
say_phrases = list(
|
|
ITEM_REJECTED_PHRASE = list(
|
|
"Sorry, I'm not a fan of anything you're showing me. Give me something better and we'll talk.",
|
|
),
|
|
ITEM_SELLING_CANCELED_PHRASE = list(
|
|
"What a shame, tell me if you changed your mind.",
|
|
),
|
|
ITEM_SELLING_ACCEPTED_PHRASE = list(
|
|
"Pleasure doing business with you.",
|
|
),
|
|
INTERESTED_PHRASE = list(
|
|
"Hey, you've got an item that interests me, I'd like to buy it, I'll give you some cash for it, deal?",
|
|
),
|
|
BUY_PHRASE = list(
|
|
"Bone appetit!",
|
|
),
|
|
NO_CASH_PHRASE = list(
|
|
"Sorry adventurer, I can't give credit! Come back when you're a little mmmmm... richer!",
|
|
),
|
|
NO_STOCK_PHRASE = list(
|
|
"Sorry adventurer, but that item is not in stock at the moment.",
|
|
),
|
|
NOT_WILLING_TO_BUY_PHRASE = list(
|
|
"I don't want to buy that item for the time being, check back another time.",
|
|
),
|
|
ITEM_IS_WORTHLESS_PHRASE = list(
|
|
"This item seems to be worthless on a closer look, I won't buy this.",
|
|
),
|
|
TRADER_HAS_ENOUGH_ITEM_PHRASE = list(
|
|
"I already bought enough of this for the time being.",
|
|
),
|
|
TRADER_LORE_PHRASE = list(
|
|
"Hello, I am Mr. Bones!",
|
|
"The ride never ends!",
|
|
"I'd really like a refreshing carton of milk!",
|
|
"I'm willing to play big prices for BONES! Need materials to make merch, eh?",
|
|
"It's a beautiful day outside. Birds are singing, Flowers are blooming... On days like these, kids like you... Should be buying my wares!",
|
|
),
|
|
TRADER_NOT_BUYING_ANYTHING = list(
|
|
"I'm currently buying nothing at the moment.",
|
|
),
|
|
TRADER_NOT_SELLING_ANYTHING = list(
|
|
"I'm currently selling nothing at the moment.",
|
|
),
|
|
TRADER_BATTLE_START_PHRASE = list(
|
|
"The ride ends for you!",
|
|
),
|
|
TRADER_BATTLE_END_PHRASE = list(
|
|
"Mr. Bones never misses!",
|
|
),
|
|
TRADER_SHOP_OPENING_PHRASE = list(
|
|
"My wild ride is open!",
|
|
),
|
|
)
|