aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildings/building_interface.gd1
-rw-r--r--buildings/buildings.tscn44
-rw-r--r--buildings/dev.gd6
-rw-r--r--buildings/intern.gd5
-rw-r--r--main_scene/coffee_machine.gd2
-rw-r--r--main_scene/hire_button.gd6
-rw-r--r--main_scene/programmers.gd1
-rw-r--r--project.godot6
-rw-r--r--save_state.gd11
9 files changed, 60 insertions, 22 deletions
diff --git a/buildings/building_interface.gd b/buildings/building_interface.gd
index cd12b75..b03d3d1 100644
--- a/buildings/building_interface.gd
+++ b/buildings/building_interface.gd
@@ -1,4 +1,5 @@
extends Ticked
+class_name BuildingInterface
export var base_cost := 1.0
export var cost_multiplier := 1.0
diff --git a/buildings/buildings.tscn b/buildings/buildings.tscn
index 9a1cc89..809a59f 100644
--- a/buildings/buildings.tscn
+++ b/buildings/buildings.tscn
@@ -1,7 +1,7 @@
-[gd_scene load_steps=7 format=2]
+[gd_scene load_steps=8 format=2]
-[ext_resource path="res://assets/intern.png" type="Texture" id=1]
-[ext_resource path="res://buildings/base_building.tscn" type="PackedScene" id=2]
+[ext_resource path="res://buildings/intern.gd" type="Script" id=1]
+[ext_resource path="res://assets/intern.png" type="Texture" id=2]
[ext_resource path="res://assets/hire.png" type="Texture" id=3]
[ext_resource path="res://lib/base_buyable.gd" type="Script" id=4]
[ext_resource path="res://buildings/dev.gd" type="Script" id=5]
@@ -9,18 +9,14 @@
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 86.5173, 127.028 )
-[node name="buildings" type="Node2D"]
+[sub_resource type="RectangleShape2D" id=2]
+extents = Vector2( 84.7312, 127.29 )
-[node name="intern" parent="." instance=ExtResource( 2 )]
-position = Vector2( 79.0261, 77.0123 )
-texture = ExtResource( 1 )
-base_cost = 10.0
-cost_multiplier = 1.1
-building_identifier = "intern"
+[node name="buildings" type="Node2D"]
[node name="dev" type="Sprite" parent="."]
position = Vector2( 186.651, 77.0577 )
-scale = Vector2( 0.37123, 0.37123 )
+scale = Vector2( 0.4, 0.4 )
texture = ExtResource( 3 )
script = ExtResource( 5 )
base_cost = 200.0
@@ -41,3 +37,29 @@ margin_bottom = 119.0
__meta__ = {
"_edit_use_anchors_": false
}
+
+[node name="intern" type="Sprite" parent="."]
+position = Vector2( 66.3232, 78.3818 )
+scale = Vector2( 0.4, 0.4 )
+texture = ExtResource( 2 )
+script = ExtResource( 1 )
+tick_rate = 5.0
+base_cost = 10.0
+cost_multiplier = 1.1
+building_identifier = "intern"
+
+[node name="Area2D" type="Area2D" parent="intern"]
+script = ExtResource( 4 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="intern/Area2D"]
+position = Vector2( -30.114, -8.1076 )
+shape = SubResource( 2 )
+
+[node name="Label" type="Label" parent="intern"]
+margin_left = 3.0
+margin_top = 82.0
+margin_right = 43.0
+margin_bottom = 106.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
diff --git a/buildings/dev.gd b/buildings/dev.gd
index 1ee4bcd..fababd7 100644
--- a/buildings/dev.gd
+++ b/buildings/dev.gd
@@ -1,16 +1,16 @@
-extends "res://buildings/building_interface.gd"
+extends BuildingInterface
var riot := preload("res://riot/riot.tscn")
func _tick() -> void:
if SaveState.riot_cooldown == 0:
- SaveState.coffee -= SaveState.buildings["dev"]
+ SaveState.coffee -= get_amount()
if SaveState.coffee < 0:
invoke_riot()
SaveState.coffee = 0
else:
- SaveState.gain_bitcoin(SaveState.buildings["dev"])
+ SaveState.gain_bitcoin(get_amount())
else:
SaveState.riot_cooldown -= 1
diff --git a/buildings/intern.gd b/buildings/intern.gd
new file mode 100644
index 0000000..cf0029b
--- /dev/null
+++ b/buildings/intern.gd
@@ -0,0 +1,5 @@
+extends BuildingInterface
+
+
+func _tick() -> void:
+ SaveState.try_gain_coffee(get_amount())
diff --git a/main_scene/coffee_machine.gd b/main_scene/coffee_machine.gd
index 86c1ca2..16580e4 100644
--- a/main_scene/coffee_machine.gd
+++ b/main_scene/coffee_machine.gd
@@ -2,5 +2,5 @@ extends ClickableArea
func _click():
- SaveState.coffee +=1
+ SaveState.try_gain_coffee(1)
diff --git a/main_scene/hire_button.gd b/main_scene/hire_button.gd
deleted file mode 100644
index ec56474..0000000
--- a/main_scene/hire_button.gd
+++ /dev/null
@@ -1,6 +0,0 @@
-extends ClickableArea
-
-func _click():
- if SaveState.bitcoin >= 100:
- SaveState.programmers += 1
- SaveState.bitcoin -= 100
diff --git a/main_scene/programmers.gd b/main_scene/programmers.gd
deleted file mode 100644
index 1f5150f..0000000
--- a/main_scene/programmers.gd
+++ /dev/null
@@ -1 +0,0 @@
-extends Ticked
diff --git a/project.godot b/project.godot
index 3389e48..f06dea0 100644
--- a/project.godot
+++ b/project.godot
@@ -19,6 +19,11 @@ _global_script_classes=[ {
"language": "GDScript",
"path": "res://lib/base_buyable.gd"
}, {
+"base": "Ticked",
+"class": "BuildingInterface",
+"language": "GDScript",
+"path": "res://buildings/building_interface.gd"
+}, {
"base": "Area2D",
"class": "ClickableArea",
"language": "GDScript",
@@ -37,6 +42,7 @@ _global_script_classes=[ {
_global_script_class_icons={
"AngryDev": "",
"BaseBuyable": "",
+"BuildingInterface": "",
"ClickableArea": "",
"Manager": "",
"Ticked": ""
diff --git a/save_state.gd b/save_state.gd
index dd1ecad..a9c8a59 100644
--- a/save_state.gd
+++ b/save_state.gd
@@ -14,6 +14,17 @@ func gain_bitcoin(amount: int) -> void:
func lose_bitcoin(amount: int) -> void:
bitcoin -= amount
+func try_gain_coffee(amount: int) -> int:
+ if amount < coffee_beans:
+ coffee += amount
+ coffee_beans -= amount
+ return 0
+
+ coffee += coffee_beans
+ var remains = amount - coffee_beans
+ coffee_beans = 0
+ return remains
+
var coffee = 10
var coffee_beans = 1000
var bitcoin = 100