Compare commits
3 commits
69e6718161
...
1301335d31
| Author | SHA1 | Date | |
|---|---|---|---|
| 1301335d31 | |||
| 49e8d9f25e | |||
| bf9a4926f0 |
10 changed files with 83 additions and 6 deletions
|
|
@ -9,6 +9,8 @@
|
|||
[ext_resource type="Resource" uid="uid://dfj4jwdmff6bu" path="res://currency/sentient/spy.tres" id="4_bufop"]
|
||||
[ext_resource type="Resource" uid="uid://dmctedq3pav0t" path="res://currency/inanimate/corpse.tres" id="5_w8bqw"]
|
||||
[ext_resource type="Resource" uid="uid://dsohovjbf3s2p" path="res://currency/sentient/chicken.tres" id="6_eu6eo"]
|
||||
[ext_resource type="Resource" uid="uid://rdrcyvuvrp2m" path="res://currency/sentient/pig.tres" id="7_3kirj"]
|
||||
[ext_resource type="Resource" uid="uid://b5qok0rcalr" path="res://currency/sentient/cow.tres" id="8_8ofsn"]
|
||||
[ext_resource type="Resource" uid="uid://dpaj2dk3qm7ow" path="res://currency/sentient/miner.tres" id="9_2oxvv"]
|
||||
[ext_resource type="Resource" uid="uid://dn0c1pfq04obw" path="res://currency/sentient/farmer.tres" id="10_5ek7i"]
|
||||
[ext_resource type="Resource" uid="uid://l8osuuxl7exe" path="res://currency/sentient/archer.tres" id="11_ihb7i"]
|
||||
|
|
@ -17,6 +19,7 @@
|
|||
[ext_resource type="Resource" uid="uid://dlxnbyiurne1s" path="res://currency/sentient/calvary.tres" id="14_ibwxy"]
|
||||
[ext_resource type="Resource" uid="uid://dk3wsnr3ku7ka" path="res://currency/sentient/royalty.tres" id="15_etlyf"]
|
||||
[ext_resource type="Resource" uid="uid://sq2lrgnfjugj" path="res://currency/sentient/mercenary.tres" id="16_dv7gf"]
|
||||
[ext_resource type="Resource" uid="uid://dq70tpr5osjkk" path="res://currency/sentient/messenger.tres" id="17_u1apl"]
|
||||
[ext_resource type="Resource" uid="uid://chsv8oeajty8j" path="res://currency/sentient/town_crier.tres" id="18_iltdy"]
|
||||
[ext_resource type="Resource" uid="uid://cwpk5e2exbgcr" path="res://currency/sentient/kings_guard.tres" id="19_30pip"]
|
||||
|
||||
|
|
@ -35,7 +38,7 @@ metadata/_custom_type_script = "uid://dddyxbkq0ienn"
|
|||
[sub_resource type="Resource" id="Resource_jihtj"]
|
||||
script = ExtResource("1_qayfp")
|
||||
currency = ExtResource("5_w8bqw")
|
||||
amount = 4
|
||||
amount = 20
|
||||
metadata/_custom_type_script = "uid://dddyxbkq0ienn"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_utj6b"]
|
||||
|
|
@ -44,6 +47,18 @@ currency = ExtResource("6_eu6eo")
|
|||
amount = 10
|
||||
metadata/_custom_type_script = "uid://dddyxbkq0ienn"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_2b5sm"]
|
||||
script = ExtResource("1_qayfp")
|
||||
currency = ExtResource("7_3kirj")
|
||||
amount = 10
|
||||
metadata/_custom_type_script = "uid://dddyxbkq0ienn"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_yq4u0"]
|
||||
script = ExtResource("1_qayfp")
|
||||
currency = ExtResource("8_8ofsn")
|
||||
amount = 8
|
||||
metadata/_custom_type_script = "uid://dddyxbkq0ienn"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_hi66y"]
|
||||
script = ExtResource("1_qayfp")
|
||||
currency = ExtResource("9_2oxvv")
|
||||
|
|
@ -92,6 +107,12 @@ currency = ExtResource("16_dv7gf")
|
|||
amount = 2
|
||||
metadata/_custom_type_script = "uid://dddyxbkq0ienn"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_c6wya"]
|
||||
script = ExtResource("1_qayfp")
|
||||
currency = ExtResource("17_u1apl")
|
||||
amount = 4
|
||||
metadata/_custom_type_script = "uid://dddyxbkq0ienn"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_c4cgt"]
|
||||
script = ExtResource("1_qayfp")
|
||||
currency = ExtResource("18_iltdy")
|
||||
|
|
@ -110,7 +131,6 @@ name = "Dinosaur"
|
|||
description = "*rawrs at you gayly and prehistorically*"
|
||||
thumbnail = ExtResource("3_bufop")
|
||||
color = Color(1, 0.48235294, 0, 1)
|
||||
|
||||
wants = Array[ExtResource("1_qayfp")]([SubResource("Resource_unbv5"), SubResource("Resource_awlnm"), SubResource("Resource_jihtj"), SubResource("Resource_utj6b"), SubResource("Resource_2b5sm"), SubResource("Resource_yq4u0"), SubResource("Resource_hi66y"), SubResource("Resource_mf31s"), SubResource("Resource_gdovn"), SubResource("Resource_ts66k"), SubResource("Resource_gt1pn"), SubResource("Resource_evrxh"), SubResource("Resource_b1bj4"), SubResource("Resource_mjehd"), SubResource("Resource_c6wya"), SubResource("Resource_c4cgt"), SubResource("Resource_n7bnc")])
|
||||
soldier = true
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
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)
|
||||
|
|
|
|||
7
map.tscn
7
map.tscn
|
|
@ -7,7 +7,6 @@
|
|||
[ext_resource type="Resource" uid="uid://dlxnbyiurne1s" path="res://currency/sentient/calvary.tres" id="4_iw27f"]
|
||||
[ext_resource type="Resource" uid="uid://b7lxfjhx4qhts" path="res://allegiance/good.tres" id="5_71pa8"]
|
||||
[ext_resource type="Resource" uid="uid://dn0c1pfq04obw" path="res://currency/sentient/farmer.tres" id="6_05x41"]
|
||||
[ext_resource type="Resource" uid="uid://dv834343s36af" path="res://currency/sentient/drunk.tres" id="6_gqbix"]
|
||||
[ext_resource type="Resource" uid="uid://clx8tbrad4m7c" path="res://currency/sentient/dinosaur.tres" id="9_sb2pt"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_bhunq"]
|
||||
|
|
@ -68,13 +67,13 @@ script = ExtResource("2_wijl4")
|
|||
|
||||
[node name="PlayerGates" type="Area2D" parent="." unique_id=1387700911]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(968, 1498)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerGates" unique_id=880212519]
|
||||
position = Vector2(-1, -23)
|
||||
position = Vector2(967, 1469)
|
||||
shape = SubResource("RectangleShape2D_bhunq")
|
||||
|
||||
[node name="EnemyGates" type="Area2D" parent="." unique_id=92129502]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyGates" unique_id=993616373]
|
||||
position = Vector2(966, -1524)
|
||||
|
|
@ -175,7 +174,7 @@ allegiance = ExtResource("5_71pa8")
|
|||
position = Vector2(854, 34)
|
||||
|
||||
[node name="MemberSprite" parent="CharacterBody2D2" index="1" unique_id=283117283]
|
||||
currency = ExtResource("6_gqbix")
|
||||
currency = ExtResource("4_iw27f")
|
||||
allegiance = ExtResource("5_71pa8")
|
||||
|
||||
[node name="CharacterBody2D3" parent="." unique_id=1323337635 instance=ExtResource("3_e0an3")]
|
||||
|
|
|
|||
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
|
|
@ -22,6 +22,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