Compare commits
No commits in common. "b00d3181d101b1ce621712cb5edc3200fb52b974" and "efac550b39726d84f1008f45b74bfee761dfb07d" have entirely different histories.
b00d3181d1
...
efac550b39
11 changed files with 161 additions and 3511 deletions
|
|
@ -6,12 +6,6 @@ class_name CurrencyMemberSprite
|
|||
|
||||
func _ready() -> void:
|
||||
sync()
|
||||
Economy.census.connect(census)
|
||||
|
||||
func census(p: Production, all):
|
||||
if p.currency == currency:
|
||||
p.amount += 1
|
||||
all.append(self)
|
||||
|
||||
func sync():
|
||||
if allegiance != null:
|
||||
|
|
|
|||
39
economy.gd
39
economy.gd
|
|
@ -8,8 +8,7 @@ signal log(s: String)
|
|||
@export var currencies: Array[Production]
|
||||
@export var members: Array
|
||||
|
||||
|
||||
signal census(p: Production, all)
|
||||
signal census(p: Production)
|
||||
|
||||
@onready var events: Array[Event] = load_events()
|
||||
|
||||
|
|
@ -21,43 +20,20 @@ func spawn_friendlies():
|
|||
var p := Production.new()
|
||||
p.currency = currency
|
||||
p.amount = 0
|
||||
var all: Array[Node2D] = []
|
||||
census.emit(p, [])
|
||||
var delta := get_currency_amount(currency) - p.amount
|
||||
census.emit(p)
|
||||
var delta := p.amount - get_currency_amount(currency)
|
||||
if delta > 0:
|
||||
for i in range(delta):
|
||||
spawn_currency_avatar(currency, true)
|
||||
elif delta < 0:
|
||||
all.shuffle()
|
||||
for i in range(min(delta, all.size()-1)):
|
||||
all[i].queue_free()
|
||||
spawn_currency_avatar(currency)
|
||||
|
||||
func spawn_baddies():
|
||||
if GameState.spawns_good == null:
|
||||
spawn_friendlies.call_deferred()
|
||||
return
|
||||
for currency in get_all_sentient_currencies():
|
||||
var delta := get_currency_amount(currency)
|
||||
for i in range(delta):
|
||||
spawn_currency_avatar(currency, false)
|
||||
|
||||
func spawn_currency_avatar(currency, good: bool):
|
||||
func spawn_currency_avatar(currency):
|
||||
var troup := preload("res://Troup.tscn").instantiate()
|
||||
var spawns
|
||||
if good:
|
||||
spawns = GameState.spawns_good
|
||||
else:
|
||||
spawns = GameState.spawns_bad
|
||||
var spawn: Node2D = spawns.get_children().pick_random()
|
||||
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
|
||||
if good:
|
||||
sprite.allegiance = preload("res://allegiance/good.tres")
|
||||
else:
|
||||
sprite.allegiance = preload("res://allegiance/bad.tres")
|
||||
|
||||
sprite.allegiance = preload("res://allegiance/good.tres")
|
||||
get_tree().root.add_child(troup)
|
||||
|
||||
|
||||
|
|
@ -147,7 +123,6 @@ func simulate():
|
|||
GameState.add_letter.emit(e.into_letter())
|
||||
if randf() < 0.01:
|
||||
LetterGeneration.try_generate_offer()
|
||||
spawn_friendlies()
|
||||
|
||||
|
||||
func get_all_currencies_in(dir: StringName):
|
||||
|
|
|
|||
7
game.gd
7
game.gd
|
|
@ -1,7 +0,0 @@
|
|||
extends Node2D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
Economy.spawn_baddies.call_deferred()
|
||||
Economy.simulate.call_deferred()
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cr1yh02xdul33
|
||||
13
game.tscn
13
game.tscn
|
|
@ -1,14 +1,23 @@
|
|||
[gd_scene format=3 uid="uid://dkui3dlb4vu1c"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bdk1r2u8clllr" path="res://map.tscn" id="1_e2o6t"]
|
||||
[ext_resource type="Script" uid="uid://cr1yh02xdul33" path="res://game.gd" id="1_feb5d"]
|
||||
[ext_resource type="PackedScene" uid="uid://d06w1wtct0mfs" path="res://test/test_economy.tscn" id="2_feb5d"]
|
||||
[ext_resource type="PackedScene" uid="uid://coebykrbnhlif" path="res://currency/members/MemberSprite.tscn" id="3_7jktm"]
|
||||
[ext_resource type="Resource" uid="uid://dn0c1pfq04obw" path="res://currency/sentient/farmer.tres" id="4_ryrav"]
|
||||
[ext_resource type="Resource" uid="uid://b7lxfjhx4qhts" path="res://allegiance/good.tres" id="5_eow3j"]
|
||||
|
||||
[node name="Game" type="Node2D" unique_id=1791439508]
|
||||
script = ExtResource("1_feb5d")
|
||||
|
||||
[node name="map" parent="." unique_id=575553336 instance=ExtResource("1_e2o6t")]
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1213874033]
|
||||
|
||||
[node name="TestEconomy" parent="CanvasLayer" unique_id=629898212 instance=ExtResource("2_feb5d")]
|
||||
|
||||
[node name="MemberSprite" parent="." unique_id=283117283 instance=ExtResource("3_7jktm")]
|
||||
offset_left = 294.0
|
||||
offset_top = 1177.0
|
||||
offset_right = 345.0
|
||||
offset_bottom = 1219.0
|
||||
currency = ExtResource("4_ryrav")
|
||||
allegiance = ExtResource("5_eow3j")
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ config_version=5
|
|||
|
||||
[application]
|
||||
|
||||
run/main_scene="uid://d1hx10534r452"
|
||||
run/main_scene="uid://dkui3dlb4vu1c"
|
||||
config/features=PackedStringArray("4.7")
|
||||
|
||||
[autoload]
|
||||
|
|
|
|||
|
|
@ -4,3 +4,8 @@ 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
|
||||
|
|
|
|||
|
|
@ -4,3 +4,8 @@ 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
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ extends Control
|
|||
func _on_button_pressed() -> void:
|
||||
Dialogic.start(preload("res://test/timeline.dtl"))
|
||||
await Dialogic.timeline_ended
|
||||
get_tree().change_scene_to_file.call_deferred("res://game.tscn")
|
||||
get_tree().change_scene_to_file("res://game.tscn")
|
||||
|
||||
|
||||
func _on_button_2_pressed() -> void:
|
||||
get_tree().change_scene_to_file.call_deferred("res://game.tscn")
|
||||
get_tree().change_scene_to_file("res://game.tscn")
|
||||
|
|
|
|||
2
troup.gd
2
troup.gd
|
|
@ -9,7 +9,7 @@ const JUMP_VELOCITY = -400.0
|
|||
func _ready() -> void:
|
||||
|
||||
UserContext. set_target_for . connect(set_target_for)
|
||||
#enemTarget = %PlayerGates
|
||||
enemTarget = %PlayerGates
|
||||
|
||||
func set_target_for(who: CurrencyMemberSprite, t: Node2D):
|
||||
if %MemberSprite == who:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue