.
This commit is contained in:
parent
dea8937d65
commit
bf9a4926f0
9 changed files with 1411 additions and 0 deletions
25
economy.gd
25
economy.gd
|
|
@ -8,9 +8,34 @@ signal log(s: String)
|
|||
@export var currencies: Array[Production]
|
||||
@export var members: Array
|
||||
|
||||
signal census(p: Production)
|
||||
|
||||
@onready var events: Array[Event] = load_events()
|
||||
|
||||
func spawn_friendlies():
|
||||
if GameState.spawns_good == null:
|
||||
spawn_friendlies.call_deferred()
|
||||
return
|
||||
for currency in get_all_sentient_currencies():
|
||||
var p := Production.new()
|
||||
p.currency = currency
|
||||
p.amount = 0
|
||||
census.emit(p)
|
||||
var delta := p.amount - get_currency_amount(currency)
|
||||
if delta > 0:
|
||||
for i in range(delta):
|
||||
spawn_currency_avatar(currency)
|
||||
|
||||
func spawn_currency_avatar(currency):
|
||||
var troup := preload("res://Troup.tscn").instantiate()
|
||||
var spawn: Node2D = GameState.spawns_good.get_children().pick_random()
|
||||
troup.top_level = true
|
||||
troup.position = spawn.global_position
|
||||
var sprite: CurrencyMemberSprite = troup.sprite()
|
||||
sprite.currency = currency
|
||||
sprite.allegiance = preload("res://allegiance/good.tres")
|
||||
get_tree().root.add_child(troup)
|
||||
|
||||
|
||||
func load_events() -> Array[Event]:
|
||||
var dir := "res://random events"
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@ var letters: Array[Letter]
|
|||
signal add_letter(l: Letter)
|
||||
signal remove_letter(l: Letter)
|
||||
|
||||
var spawns_good: Node2D
|
||||
var spawns_bad: Node2D
|
||||
|
||||
func _ready() -> void:
|
||||
add_letter.connect(on_add_letter)
|
||||
remove_letter.connect(on_remove_letter)
|
||||
|
|
|
|||
3
spawner.tscn
Normal file
3
spawner.tscn
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[gd_scene format=3 uid="uid://dmp1bqj8y0nvm"]
|
||||
|
||||
[node name="spawner" type="Node2D" unique_id=1699105937]
|
||||
11
spawns_bad.gd
Normal file
11
spawns_bad.gd
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
extends Node2D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
GameState.spawns_bad = self
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
1
spawns_bad.gd.uid
Normal file
1
spawns_bad.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://cqr8x6e2fjta1
|
||||
11
spawns_good.gd
Normal file
11
spawns_good.gd
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
extends Node2D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
GameState.spawns_good = self
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
1
spawns_good.gd.uid
Normal file
1
spawns_good.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://cafd3hd3kkkga
|
||||
3
troup.gd
3
troup.gd
|
|
@ -20,6 +20,9 @@ func set_target_for(who: CurrencyMemberSprite, t: Node2D):
|
|||
func removed_target():
|
||||
target = null
|
||||
|
||||
func sprite() -> CurrencyMemberSprite:
|
||||
return %MemberSprite
|
||||
|
||||
func combat(target):
|
||||
if get_node("MemberSprite").get_combat() == false:
|
||||
var p := Production.new()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue