aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/idle1.png.import34
-rw-r--r--assets/idle2.png.import34
-rw-r--r--assets/idle_devs.tres12
-rw-r--r--assets/spritesheet_idle.png.import34
-rw-r--r--main_scene/programmers.gd5
-rw-r--r--project.godot6
-rw-r--r--riot/angrydev.gd2
-rw-r--r--riot/angrydev.tscn19
-rw-r--r--riot/manager.gd23
-rw-r--r--riot/riot.gd13
-rw-r--r--riot/riot.tscn14
11 files changed, 182 insertions, 14 deletions
diff --git a/assets/idle1.png.import b/assets/idle1.png.import
new file mode 100644
index 0000000..8d1ddda
--- /dev/null
+++ b/assets/idle1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/idle1.png-98c00719a1d0e61552d3efbed22f105f.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/idle1.png"
+dest_files=[ "res://.import/idle1.png-98c00719a1d0e61552d3efbed22f105f.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/idle2.png.import b/assets/idle2.png.import
new file mode 100644
index 0000000..828bf58
--- /dev/null
+++ b/assets/idle2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/idle2.png-eecaa0676d89c727b817cc70f2a4b393.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/idle2.png"
+dest_files=[ "res://.import/idle2.png-eecaa0676d89c727b817cc70f2a4b393.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/idle_devs.tres b/assets/idle_devs.tres
new file mode 100644
index 0000000..4c2e785
--- /dev/null
+++ b/assets/idle_devs.tres
@@ -0,0 +1,12 @@
+[gd_resource type="AnimatedTexture" load_steps=3 format=2]
+
+[ext_resource path="res://assets/idle2.png" type="Texture" id=1]
+[ext_resource path="res://assets/idle1.png" type="Texture" id=2]
+
+[resource]
+flags = 4
+frames = 2
+frame_0/texture = ExtResource( 2 )
+frame_0/delay_sec = 0.36
+frame_1/texture = ExtResource( 1 )
+frame_1/delay_sec = 0.36
diff --git a/assets/spritesheet_idle.png.import b/assets/spritesheet_idle.png.import
new file mode 100644
index 0000000..3d31a9e
--- /dev/null
+++ b/assets/spritesheet_idle.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/spritesheet_idle.png-b5f9a9d63ccc4457c79265ac7e4d3a50.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheet_idle.png"
+dest_files=[ "res://.import/spritesheet_idle.png-b5f9a9d63ccc4457c79265ac7e4d3a50.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/main_scene/programmers.gd b/main_scene/programmers.gd
index 8e0a2a2..95245e5 100644
--- a/main_scene/programmers.gd
+++ b/main_scene/programmers.gd
@@ -6,14 +6,15 @@ func _tick() -> void:
if SaveState.riot_cooldown == 0:
SaveState.coffee -= SaveState.programmers
if SaveState.coffee < 0:
- riot()
+ invoke_riot()
SaveState.coffee = 0
else:
SaveState.bitcoin += SaveState.programmers
else:
SaveState.riot_cooldown -= 1
-func riot() -> void:
+func invoke_riot() -> void:
SaveState.riot_cooldown = -1
get_parent().hide()
+ get_parent().pause_mode = PAUSE_MODE_STOP
get_parent().get_parent().add_child(riot.instance())
diff --git a/project.godot b/project.godot
index 3dd3fa9..9e63f07 100644
--- a/project.godot
+++ b/project.godot
@@ -24,6 +24,11 @@ _global_script_classes=[ {
"language": "GDScript",
"path": "res://lib/clickable_area.gd"
}, {
+"base": "KinematicBody2D",
+"class": "Manager",
+"language": "GDScript",
+"path": "res://riot/manager.gd"
+}, {
"base": "Node",
"class": "Ticked",
"language": "GDScript",
@@ -33,6 +38,7 @@ _global_script_class_icons={
"AngryDev": "",
"BaseBuilding": "",
"ClickableArea": "",
+"Manager": "",
"Ticked": ""
}
diff --git a/riot/angrydev.gd b/riot/angrydev.gd
index 078d6e8..0ac08ea 100644
--- a/riot/angrydev.gd
+++ b/riot/angrydev.gd
@@ -19,5 +19,5 @@ func _process(delta : float) -> void:
func rotate_towards(player: Node2D) -> void:
- if player.position.x < position.x:
+ if player.position.x > position.x:
scale.x = -abs(scale.x)
diff --git a/riot/angrydev.tscn b/riot/angrydev.tscn
index d3c2370..b28d3da 100644
--- a/riot/angrydev.tscn
+++ b/riot/angrydev.tscn
@@ -1,9 +1,12 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=6 format=2]
-[ext_resource path="res://assets/angry_dev.png" type="Texture" id=1]
+[ext_resource path="res://assets/idle_devs.tres" 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=2]
+extents = Vector2( 60.093, 116.278 )
+
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 7.90784, 32.0742 )
@@ -12,15 +15,23 @@ position = Vector2( -24.1174, 33.1615 )
script = ExtResource( 3 )
[node name="body" type="Sprite" parent="."]
-position = Vector2( 25, -32 )
+position = Vector2( 43.416, -38.1387 )
texture = ExtResource( 1 )
+[node name="Area2D" type="KinematicBody2D" parent="body"]
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="body/Area2D"]
+position = Vector2( -11.0496, -2.45549 )
+shape = SubResource( 2 )
+
[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"]
+[node name="Area2D" type="KinematicBody2D" parent="pitchfork"]
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="pitchfork/Area2D"]
position = Vector2( 0.128513, -33.3091 )
shape = SubResource( 1 )
diff --git a/riot/manager.gd b/riot/manager.gd
new file mode 100644
index 0000000..642f2d4
--- /dev/null
+++ b/riot/manager.gd
@@ -0,0 +1,23 @@
+extends KinematicBody2D
+
+class_name Manager
+
+onready var target : Vector2 = get_viewport().get_mouse_position()
+export var speed = 128.0
+
+func _physics_process(delta : float) -> void:
+ var move_direction := target - position
+ if move_direction.length_squared() < 100:
+ return
+ var move_vector = move_direction.normalized() * delta * speed
+ var collision = move_and_collide(move_vector)
+
+ if collision:
+ SaveState.bitcoin = int(ceil(SaveState.bitcoin / 2.0))
+ SaveState.programmers = int(ceil(SaveState.programmers * 8.0 / 10.0))
+ for child in get_parent().get_parent().get_children():
+ if child is CanvasItem:
+ child.show()
+ child.pause_mode = PAUSE_MODE_INHERIT
+ SaveState.riot_cooldown = 10
+ get_parent().queue_free()
diff --git a/riot/riot.gd b/riot/riot.gd
index da5e0fc..4fd0173 100644
--- a/riot/riot.gd
+++ b/riot/riot.gd
@@ -1,17 +1,20 @@
extends Node2D
-var dev = preload("res://riot/angrydev.tscn")
-
+var dev_blueprint = preload("res://riot/angrydev.tscn")
+onready var manager: Manager = $manager
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()
+ var instance: AngryDev = dev_blueprint.instance()
+ var vec = random_position()
+ while vec.distance_squared_to(manager.position) < 256 * 256:
+ vec = random_position()
+ instance.position = vec
add_child(instance)
devs.append(instance)
func _input(event) -> void:
if event is InputEventMouseMotion:
- print(event.position)
+ manager.target = event.position
diff --git a/riot/riot.tscn b/riot/riot.tscn
index 291a368..b86a439 100644
--- a/riot/riot.tscn
+++ b/riot/riot.tscn
@@ -1,11 +1,21 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=5 format=2]
[ext_resource path="res://riot/riot.gd" type="Script" id=1]
[ext_resource path="res://assets/manager.png" type="Texture" id=2]
+[ext_resource path="res://riot/manager.gd" type="Script" id=3]
+
+[sub_resource type="RectangleShape2D" id=1]
+extents = Vector2( 33.1266, 67.3226 )
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )
-[node name="manager" type="Sprite" parent="."]
+[node name="manager" type="KinematicBody2D" parent="."]
position = Vector2( 600.978, 319.858 )
+script = ExtResource( 3 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="manager"]
+shape = SubResource( 1 )
+
+[node name="Sprite" type="Sprite" parent="manager"]
texture = ExtResource( 2 )