25 lines
885 B
GDScript
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
|