everything_has_a_price_jam/letter_generation.gd
2026-09-26 17:07:56 -06:00

25 lines
885 B
GDScript

extends Node
var OFFERS = [preload("res://letters/ask_solo.tres"), preload("res://letters/counteroffer.tres"), preload("res://letters/life_expense.tres"), preload("res://letters/union_rep_ask.tres")]
func try_generate_offer() -> bool:
var offer: Counteroffer = OFFERS.pick_random()
var currency: Production = Economy.currencies.pick_random()
var amount = min(randi_range(1, 10), currency.amount)
var request = Production.new()
request.currency = currency.currency
request.amount = amount
offer.request = request
offer.subject_field = "Need " + currency.currency.name
var source: Currency = Economy.get_all_sentient_currencies().pick_random()
if source == preload("res://currency/sentient/royalty.tres") or currency.currency == preload("res://currency/sentient/royalty.tres") :
return false
offer.source = source
GameState.add_letter.emit(offer)
return true