.
This commit is contained in:
parent
9d04ee2d21
commit
fd91a1aa4a
12 changed files with 77 additions and 8 deletions
|
|
@ -4,3 +4,4 @@ class_name Currency
|
||||||
@export var name: String
|
@export var name: String
|
||||||
@export var production: Array[Production]
|
@export var production: Array[Production]
|
||||||
@export_multiline var description = "no description of currency"
|
@export_multiline var description = "no description of currency"
|
||||||
|
@export var thumbnail: Texture2D
|
||||||
|
|
|
||||||
15
economy.gd
15
economy.gd
|
|
@ -49,6 +49,21 @@ func simulate():
|
||||||
pp.currency = p.currency
|
pp.currency = p.currency
|
||||||
pp.amount = c.amount * p.amount
|
pp.amount = c.amount * p.amount
|
||||||
produce(pp)
|
produce(pp)
|
||||||
|
|
||||||
|
|
||||||
|
func get_all_currencies_in(dir: StringName):
|
||||||
|
var reses := ResourceLoader.list_directory(dir)
|
||||||
|
var resources := []
|
||||||
|
for res in reses:
|
||||||
|
if res.ends_with(".tres"):
|
||||||
|
resources.append(load(res))
|
||||||
|
return resources
|
||||||
|
|
||||||
|
func get_all_sentient_currencies() -> Array:
|
||||||
|
return get_all_currencies_in("res://currency/sentient")
|
||||||
|
|
||||||
|
func get_all_inanimate_currencies() -> Array:
|
||||||
|
return get_all_currencies_in("res://currency/inanimate")
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
simulate()
|
simulate()
|
||||||
|
|
|
||||||
23
letter_generation.gd
Normal file
23
letter_generation.gd
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
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 generate_offer():
|
||||||
|
var offer: Counteroffer = OFFERS.pick_random()
|
||||||
|
var currency: Production = Economy.currencies.pick_random()
|
||||||
|
var amount = max(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 == null:
|
||||||
|
|
||||||
|
|
||||||
|
offer.source = source
|
||||||
|
|
||||||
|
GameState.add_letter.emit(offer)
|
||||||
1
letter_generation.gd.uid
Normal file
1
letter_generation.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://cwoun1b8wiugd
|
||||||
6
letter_generation.tscn
Normal file
6
letter_generation.tscn
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
[gd_scene format=3 uid="uid://d156m2y8b38qs"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://cwoun1b8wiugd" path="res://letter_generation.gd" id="1_borkp"]
|
||||||
|
|
||||||
|
[node name="LetterGeneration" type="Node" unique_id=1999579291]
|
||||||
|
script = ExtResource("1_borkp")
|
||||||
9
letters/ask_solo.tres
Normal file
9
letters/ask_solo.tres
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
[gd_resource type="Resource" script_class="Counteroffer" format=3 uid="uid://dgcbmua6pnmaq"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://c47ee6kd2x6oi" path="res://letters/counteroffer.gd" id="1_j2fip"]
|
||||||
|
[ext_resource type="Resource" uid="uid://bcl8oqdj8etpv" path="res://test/asking for currency solo.dtl" id="2_j2fip"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_j2fip")
|
||||||
|
timeline = ExtResource("2_j2fip")
|
||||||
|
metadata/_custom_type_script = "uid://cadv11m8ohoxe"
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
extends Letter
|
extends Letter
|
||||||
|
class_name Counteroffer
|
||||||
|
|
||||||
@export var request: Production
|
@export var request: Production
|
||||||
|
|
||||||
|
|
|
||||||
9
letters/life_expense.tres
Normal file
9
letters/life_expense.tres
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
[gd_resource type="Resource" script_class="Counteroffer" format=3 uid="uid://bmpmg4myddeva"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://c47ee6kd2x6oi" path="res://letters/counteroffer.gd" id="1_ugo5r"]
|
||||||
|
[ext_resource type="Resource" uid="uid://cle5jk1fytta7" path="res://test/union reps letters.dtl" id="2_mwc65"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_ugo5r")
|
||||||
|
timeline = ExtResource("2_mwc65")
|
||||||
|
metadata/_custom_type_script = "uid://cadv11m8ohoxe"
|
||||||
9
letters/union_rep_ask.tres
Normal file
9
letters/union_rep_ask.tres
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
[gd_resource type="Resource" script_class="Counteroffer" format=3 uid="uid://btosuw7pgeeeu"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://c47ee6kd2x6oi" path="res://letters/counteroffer.gd" id="1_habxl"]
|
||||||
|
[ext_resource type="Resource" uid="uid://bx6cdpadiu4c" path="res://test/random life expense letter.dtl" id="2_habxl"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_habxl")
|
||||||
|
timeline = ExtResource("2_habxl")
|
||||||
|
metadata/_custom_type_script = "uid://cadv11m8ohoxe"
|
||||||
|
|
@ -20,6 +20,7 @@ Economy="*uid://dnpioqaes87yb"
|
||||||
Random="*uid://cu3n7igqstbxi"
|
Random="*uid://cu3n7igqstbxi"
|
||||||
UserContext="*uid://0a08ucta58lp"
|
UserContext="*uid://0a08ucta58lp"
|
||||||
GameState="*uid://bohql2ihaumsa"
|
GameState="*uid://bohql2ihaumsa"
|
||||||
|
LetterGeneration="*uid://d156m2y8b38qs"
|
||||||
|
|
||||||
[dialogic]
|
[dialogic]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,4 +18,4 @@ elif {RNG_1_4} == 3.0:
|
||||||
else:
|
else:
|
||||||
"Me. Re quest -- current see\
|
"Me. Re quest -- current see\
|
||||||
{for_timeline_calls.requested_amount} this much of {for_timeline_calls.requested_currency}"
|
{for_timeline_calls.requested_amount} this much of {for_timeline_calls.requested_currency}"
|
||||||
"\if not I kill my loyaly to you"
|
"\if not I kill my loyalty to you"
|
||||||
|
|
@ -13,10 +13,4 @@ func _on_run_simulate_pressed() -> void:
|
||||||
|
|
||||||
func _on_open_inbox_pressed() -> void:
|
func _on_open_inbox_pressed() -> void:
|
||||||
UserContext.open_inbox.emit()
|
UserContext.open_inbox.emit()
|
||||||
var letter := preload("res://letters/counteroffer.tres").duplicate()
|
LetterGeneration.generate_offer()
|
||||||
letter.request = Production.new()
|
|
||||||
letter.request.currency = preload("res://currency/inanimate/beer.tres")
|
|
||||||
letter.request.amount = 10
|
|
||||||
letter.source = preload("res://currency/sentient/drunk.tres")
|
|
||||||
|
|
||||||
GameState.add_letter.emit(letter)
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue