aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MainScene.tscn43
-rw-r--r--assets/angry_dev.pngbin0 -> 663 bytes
-rw-r--r--assets/angry_dev.png.import34
-rw-r--r--assets/coffee_maschine.png.import34
-rw-r--r--assets/manager.pngbin0 -> 661 bytes
-rw-r--r--assets/manager.png.import34
-rw-r--r--assets/pitchfork.pngbin0 -> 577 bytes
-rw-r--r--assets/pitchfork.png.import34
-rw-r--r--coffee_machine/coffee_machine.tscn16
-rw-r--r--main_scene/coffee_machine.gd (renamed from coffee_machine/coffee_machine.gd)1
-rw-r--r--main_scene/management.tscn59
-rw-r--r--main_scene/programmers.gd15
-rw-r--r--project.godot6
-rw-r--r--riot/angrydev.gd23
-rw-r--r--riot/angrydev.tscn26
-rw-r--r--riot/riot.gd17
-rw-r--r--riot/riot.tscn11
-rw-r--r--save_state.gd1
18 files changed, 291 insertions, 63 deletions
diff --git a/MainScene.tscn b/MainScene.tscn
index f9d0a77..540a803 100644
--- a/MainScene.tscn
+++ b/MainScene.tscn
@@ -1,44 +1,7 @@
-[gd_scene load_steps=9 format=2]
+[gd_scene load_steps=2 format=2]
-[ext_resource path="res://assets/background.png" type="Texture" id=1]
-[ext_resource path="res://coffee_machine/coffee_machine.tscn" type="PackedScene" id=2]
-[ext_resource path="res://main_scene/Label.gd" type="Script" id=3]
-[ext_resource path="res://buildings/buildings.tscn" type="PackedScene" id=4]
-[ext_resource path="res://assets/hire.png" type="Texture" id=5]
-[ext_resource path="res://main_scene/hire_button.gd" type="Script" id=6]
-[ext_resource path="res://main_scene/programmers.gd" type="Script" id=7]
-
-[sub_resource type="RectangleShape2D" id=1]
-extents = Vector2( 32, 32 )
+[ext_resource path="res://main_scene/management.tscn" type="PackedScene" id=1]
[node name="Node2D" type="Node2D"]
-[node name="background" type="Sprite" parent="."]
-position = Vector2( 511.115, 299.606 )
-texture = ExtResource( 1 )
-
-[node name="coffee_machine" parent="." instance=ExtResource( 2 )]
-position = Vector2( 256.585, 298.451 )
-
-[node name="Label" type="Label" parent="."]
-margin_right = 237.0
-margin_bottom = 97.0
-script = ExtResource( 3 )
-__meta__ = {
-"_edit_use_anchors_": false
-}
-
-[node name="buildings" parent="." instance=ExtResource( 4 )]
-
-[node name="hiring" type="Node2D" parent="."]
-script = ExtResource( 7 )
-
-[node name="hire" type="Sprite" parent="hiring"]
-position = Vector2( 519.268, 89.2965 )
-texture = ExtResource( 5 )
-
-[node name="Area2D" type="Area2D" parent="hiring/hire"]
-script = ExtResource( 6 )
-
-[node name="CollisionShape2D" type="CollisionShape2D" parent="hiring/hire/Area2D"]
-shape = SubResource( 1 )
+[node name="management" parent="." instance=ExtResource( 1 )]
diff --git a/assets/angry_dev.png b/assets/angry_dev.png
new file mode 100644
index 0000000..6b9005f
--- /dev/null
+++ b/assets/angry_dev.png
Binary files differ
diff --git a/assets/angry_dev.png.import b/assets/angry_dev.png.import
new file mode 100644
index 0000000..4bbc46a
--- /dev/null
+++ b/assets/angry_dev.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/angry_dev.png-db36cd814fd7fb46a2a85e417d86d3c3.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/angry_dev.png"
+dest_files=[ "res://.import/angry_dev.png-db36cd814fd7fb46a2a85e417d86d3c3.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/coffee_maschine.png.import b/assets/coffee_maschine.png.import
new file mode 100644
index 0000000..7c7b06d
--- /dev/null
+++ b/assets/coffee_maschine.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/coffee_maschine.png-0225d93ef84793f2ba03526fb3bb7e97.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/coffee_maschine.png"
+dest_files=[ "res://.import/coffee_maschine.png-0225d93ef84793f2ba03526fb3bb7e97.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/manager.png b/assets/manager.png
new file mode 100644
index 0000000..dcb2791
--- /dev/null
+++ b/assets/manager.png
Binary files differ
diff --git a/assets/manager.png.import b/assets/manager.png.import
new file mode 100644
index 0000000..864d72d
--- /dev/null
+++ b/assets/manager.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/manager.png-b1a83cbe47fb31444a6dceada0412735.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/manager.png"
+dest_files=[ "res://.import/manager.png-b1a83cbe47fb31444a6dceada0412735.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/pitchfork.png b/assets/pitchfork.png
new file mode 100644
index 0000000..4def45c
--- /dev/null
+++ b/assets/pitchfork.png
Binary files differ
diff --git a/assets/pitchfork.png.import b/assets/pitchfork.png.import
new file mode 100644
index 0000000..71f2b1a
--- /dev/null
+++ b/assets/pitchfork.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/pitchfork.png-3ff4e22a7a7be3f32887a79dc9cf259a.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/pitchfork.png"
+dest_files=[ "res://.import/pitchfork.png-3ff4e22a7a7be3f32887a79dc9cf259a.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/coffee_machine/coffee_machine.tscn b/coffee_machine/coffee_machine.tscn
deleted file mode 100644
index a726f66..0000000
--- a/coffee_machine/coffee_machine.tscn
+++ /dev/null
@@ -1,16 +0,0 @@
-[gd_scene load_steps=4 format=2]
-
-[ext_resource path="res://assets/coffee_machine.png" type="Texture" id=1]
-[ext_resource path="res://coffee_machine/coffee_machine.gd" type="Script" id=2]
-
-[sub_resource type="RectangleShape2D" id=1]
-extents = Vector2( 64, 64 )
-
-[node name="Node2D" type="Sprite"]
-texture = ExtResource( 1 )
-
-[node name="Area2D" type="Area2D" parent="."]
-script = ExtResource( 2 )
-
-[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
-shape = SubResource( 1 )
diff --git a/coffee_machine/coffee_machine.gd b/main_scene/coffee_machine.gd
index 9c42d97..86c1ca2 100644
--- a/coffee_machine/coffee_machine.gd
+++ b/main_scene/coffee_machine.gd
@@ -3,3 +3,4 @@ extends ClickableArea
func _click():
SaveState.coffee +=1
+
diff --git a/main_scene/management.tscn b/main_scene/management.tscn
new file mode 100644
index 0000000..63dc13d
--- /dev/null
+++ b/main_scene/management.tscn
@@ -0,0 +1,59 @@
+[gd_scene load_steps=11 format=2]
+
+[ext_resource path="res://assets/background.png" type="Texture" id=1]
+[ext_resource path="res://main_scene/coffee_machine.gd" type="Script" id=2]
+[ext_resource path="res://main_scene/Label.gd" type="Script" id=3]
+[ext_resource path="res://buildings/buildings.tscn" type="PackedScene" id=4]
+[ext_resource path="res://assets/hire.png" type="Texture" id=5]
+[ext_resource path="res://main_scene/hire_button.gd" type="Script" id=6]
+[ext_resource path="res://main_scene/programmers.gd" type="Script" id=7]
+[ext_resource path="res://assets/coffee_maschine.png" type="Texture" id=8]
+
+[sub_resource type="RectangleShape2D" id=1]
+extents = Vector2( 70.4574, 120 )
+
+[sub_resource type="RectangleShape2D" id=2]
+extents = Vector2( 360, 360 )
+
+[node name="Node2D" type="Node2D"]
+
+[node name="background" type="Sprite" parent="."]
+position = Vector2( 512.018, 299.606 )
+texture = ExtResource( 1 )
+
+[node name="Label" type="Label" parent="."]
+margin_right = 237.0
+margin_bottom = 97.0
+script = ExtResource( 3 )
+__meta__ = {
+"_edit_use_anchors_": false
+}
+
+[node name="buildings" parent="." instance=ExtResource( 4 )]
+
+[node name="hiring" type="Node2D" parent="."]
+script = ExtResource( 7 )
+
+[node name="hire" type="Sprite" parent="hiring"]
+position = Vector2( 501.726, 101.527 )
+scale = Vector2( 0.6, 0.6 )
+texture = ExtResource( 5 )
+
+[node name="Area2D" type="Area2D" parent="hiring/hire"]
+script = ExtResource( 6 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="hiring/hire/Area2D"]
+position = Vector2( -9.54248, -2.42094 )
+shape = SubResource( 1 )
+
+[node name="coffee_maschine" type="Sprite" parent="."]
+position = Vector2( 288, 304 )
+scale = Vector2( 0.2, 0.2 )
+texture = ExtResource( 8 )
+
+[node name="Area2D" type="Area2D" parent="coffee_maschine"]
+script = ExtResource( 2 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="coffee_maschine/Area2D"]
+position = Vector2( -40.0001, -0.00012207 )
+shape = SubResource( 2 )
diff --git a/main_scene/programmers.gd b/main_scene/programmers.gd
index 1210b86..8e0a2a2 100644
--- a/main_scene/programmers.gd
+++ b/main_scene/programmers.gd
@@ -1,9 +1,9 @@
extends Ticked
-var riot_cooldown := 0
+var riot := preload("res://riot/riot.tscn")
func _tick() -> void:
- if riot_cooldown == 0:
+ if SaveState.riot_cooldown == 0:
SaveState.coffee -= SaveState.programmers
if SaveState.coffee < 0:
riot()
@@ -11,8 +11,9 @@ func _tick() -> void:
else:
SaveState.bitcoin += SaveState.programmers
else:
- riot_cooldown -= 1
- if riot_cooldown < 0:
- riot_cooldown = 0
-func riot():
- riot_cooldown = 10
+ SaveState.riot_cooldown -= 1
+
+func riot() -> void:
+ SaveState.riot_cooldown = -1
+ get_parent().hide()
+ get_parent().get_parent().add_child(riot.instance())
diff --git a/project.godot b/project.godot
index ef8c621..3dd3fa9 100644
--- a/project.godot
+++ b/project.godot
@@ -9,6 +9,11 @@
config_version=4
_global_script_classes=[ {
+"base": "Node2D",
+"class": "AngryDev",
+"language": "GDScript",
+"path": "res://riot/angrydev.gd"
+}, {
"base": "Area2D",
"class": "BaseBuilding",
"language": "GDScript",
@@ -25,6 +30,7 @@ _global_script_classes=[ {
"path": "res://lib/ticked.gd"
} ]
_global_script_class_icons={
+"AngryDev": "",
"BaseBuilding": "",
"ClickableArea": "",
"Ticked": ""
diff --git a/riot/angrydev.gd b/riot/angrydev.gd
new file mode 100644
index 0000000..078d6e8
--- /dev/null
+++ b/riot/angrydev.gd
@@ -0,0 +1,23 @@
+extends Node2D
+class_name AngryDev
+
+var min_pitchfork_rotation : float = -15.0
+var max_pitchfork_rotation : float = 50.0
+export var rotation_speed : float = 1
+var total_tick = 0.0
+onready var pitchfork : Sprite = $pitchfork
+
+
+func interpolate(a, b, progress):
+ return a + (b-a) * progress
+
+func _process(delta : float) -> void:
+ total_tick += delta
+ var normalized_progress = (sin(total_tick * rotation_speed) + 1.0) / 2.0
+ var rot = interpolate(min_pitchfork_rotation, max_pitchfork_rotation, normalized_progress)
+ pitchfork.rotation_degrees = rot
+
+
+func rotate_towards(player: Node2D) -> void:
+ if player.position.x < position.x:
+ scale.x = -abs(scale.x)
diff --git a/riot/angrydev.tscn b/riot/angrydev.tscn
new file mode 100644
index 0000000..d3c2370
--- /dev/null
+++ b/riot/angrydev.tscn
@@ -0,0 +1,26 @@
+[gd_scene load_steps=5 format=2]
+
+[ext_resource path="res://assets/angry_dev.png" type="Texture" id=1]
+[ext_resource path="res://assets/pitchfork.png" type="Texture" id=2]
+[ext_resource path="res://riot/angrydev.gd" type="Script" id=3]
+
+[sub_resource type="RectangleShape2D" id=1]
+extents = Vector2( 7.90784, 32.0742 )
+
+[node name="Node2D" type="Node2D"]
+position = Vector2( -24.1174, 33.1615 )
+script = ExtResource( 3 )
+
+[node name="body" type="Sprite" parent="."]
+position = Vector2( 25, -32 )
+texture = ExtResource( 1 )
+
+[node name="pitchfork" type="Sprite" parent="."]
+position = Vector2( 59.0399, -57.764 )
+scale = Vector2( 1, 3 )
+texture = ExtResource( 2 )
+offset = Vector2( 0.330124, -33.3885 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="pitchfork"]
+position = Vector2( 0.128513, -33.3091 )
+shape = SubResource( 1 )
diff --git a/riot/riot.gd b/riot/riot.gd
new file mode 100644
index 0000000..da5e0fc
--- /dev/null
+++ b/riot/riot.gd
@@ -0,0 +1,17 @@
+extends Node2D
+
+var dev = preload("res://riot/angrydev.tscn")
+
+func random_position():
+ return Vector2(rand_range(30, 1000), rand_range(30, 600))
+
+var devs = []
+func _ready() -> void:
+ for i in range(10):
+ var instance: AngryDev = dev.instance()
+ instance.position = random_position()
+ add_child(instance)
+ devs.append(instance)
+func _input(event) -> void:
+ if event is InputEventMouseMotion:
+ print(event.position)
diff --git a/riot/riot.tscn b/riot/riot.tscn
new file mode 100644
index 0000000..291a368
--- /dev/null
+++ b/riot/riot.tscn
@@ -0,0 +1,11 @@
+[gd_scene load_steps=3 format=2]
+
+[ext_resource path="res://riot/riot.gd" type="Script" id=1]
+[ext_resource path="res://assets/manager.png" type="Texture" id=2]
+
+[node name="Node2D" type="Node2D"]
+script = ExtResource( 1 )
+
+[node name="manager" type="Sprite" parent="."]
+position = Vector2( 600.978, 319.858 )
+texture = ExtResource( 2 )
diff --git a/save_state.gd b/save_state.gd
index 6cf7bd5..a11ecaf 100644
--- a/save_state.gd
+++ b/save_state.gd
@@ -9,3 +9,4 @@ var coffee = 0
var programmers = 0
var coffee_beans = 1000
var bitcoin = 100
+var riot_cooldown = 0