aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Gräf <romangraef@gmail.com>2020-04-19 12:31:23 +0200
committerRoman Gräf <romangraef@gmail.com>2020-04-19 12:31:23 +0200
commit6a4f00bfaa636d026e181574ce3ce1dd40746153 (patch)
tree5533eeaa90f47eaf1042189ace4a16d0b9595448
parente891381d4ef97cfa3571bf513a27e5ae14629e9a (diff)
downloadLDJam46-6a4f00bfaa636d026e181574ce3ce1dd40746153.tar.gz
LDJam46-6a4f00bfaa636d026e181574ce3ce1dd40746153.tar.bz2
LDJam46-6a4f00bfaa636d026e181574ce3ce1dd40746153.zip
gruselige devs
-rw-r--r--MainScene.tscn1
-rw-r--r--assets/BTCicon.png.import34
-rw-r--r--assets/coffeeIcon.png.import34
-rw-r--r--buildings/building_interface.gd5
-rw-r--r--buildings/buildings.tscn34
-rw-r--r--buildings/dev.gd23
-rw-r--r--main_scene/Label.gd3
-rw-r--r--main_scene/management.tscn30
-rw-r--r--main_scene/programmers.gd19
-rw-r--r--riot/angrydev.gd10
-rw-r--r--riot/angrydev.tscn1
-rw-r--r--riot/manager.gd10
-rw-r--r--riot/riot.gd1
-rw-r--r--save_state.gd21
14 files changed, 165 insertions, 61 deletions
diff --git a/MainScene.tscn b/MainScene.tscn
index 540a803..5782fa5 100644
--- a/MainScene.tscn
+++ b/MainScene.tscn
@@ -5,3 +5,4 @@
[node name="Node2D" type="Node2D"]
[node name="management" parent="." instance=ExtResource( 1 )]
+position = Vector2( 1.43198, 0 )
diff --git a/assets/BTCicon.png.import b/assets/BTCicon.png.import
new file mode 100644
index 0000000..4556a97
--- /dev/null
+++ b/assets/BTCicon.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/BTCicon.png-eb186f1c1e5cae4a301986876e528d7c.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/BTCicon.png"
+dest_files=[ "res://.import/BTCicon.png-eb186f1c1e5cae4a301986876e528d7c.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/coffeeIcon.png.import b/assets/coffeeIcon.png.import
new file mode 100644
index 0000000..27b42eb
--- /dev/null
+++ b/assets/coffeeIcon.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/coffeeIcon.png-7575f58e825f4cee6c3cfc20ea96f5f3.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/coffeeIcon.png"
+dest_files=[ "res://.import/coffeeIcon.png-7575f58e825f4cee6c3cfc20ea96f5f3.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/buildings/building_interface.gd b/buildings/building_interface.gd
index 91a91f5..cd12b75 100644
--- a/buildings/building_interface.gd
+++ b/buildings/building_interface.gd
@@ -2,13 +2,8 @@ extends Ticked
export var base_cost := 1.0
export var cost_multiplier := 1.0
-export var base_cps := 1.0
export var building_identifier := ""
-
-func _tick():
- SaveState.coffee += get_amount() * base_cps
-
func _process(delta):
._process(delta)
update_label()
diff --git a/buildings/buildings.tscn b/buildings/buildings.tscn
index c64c18b..9a1cc89 100644
--- a/buildings/buildings.tscn
+++ b/buildings/buildings.tscn
@@ -1,13 +1,43 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=7 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://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]
+
+[sub_resource type="RectangleShape2D" id=1]
+extents = Vector2( 86.5173, 127.028 )
[node name="buildings" type="Node2D"]
[node name="intern" parent="." instance=ExtResource( 2 )]
-position = Vector2( 931.798, 83.8618 )
+position = Vector2( 79.0261, 77.0123 )
texture = ExtResource( 1 )
base_cost = 10.0
cost_multiplier = 1.1
building_identifier = "intern"
+
+[node name="dev" type="Sprite" parent="."]
+position = Vector2( 186.651, 77.0577 )
+scale = Vector2( 0.37123, 0.37123 )
+texture = ExtResource( 3 )
+script = ExtResource( 5 )
+base_cost = 200.0
+cost_multiplier = 100.0
+building_identifier = "dev"
+
+[node name="Area2D" type="Area2D" parent="dev"]
+script = ExtResource( 4 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="dev/Area2D"]
+shape = SubResource( 1 )
+
+[node name="Label" type="Label" parent="dev"]
+margin_left = 22.0
+margin_top = 94.0
+margin_right = 76.0
+margin_bottom = 119.0
+__meta__ = {
+"_edit_use_anchors_": false
+}
diff --git a/buildings/dev.gd b/buildings/dev.gd
new file mode 100644
index 0000000..1ee4bcd
--- /dev/null
+++ b/buildings/dev.gd
@@ -0,0 +1,23 @@
+extends "res://buildings/building_interface.gd"
+
+
+var riot := preload("res://riot/riot.tscn")
+
+func _tick() -> void:
+ if SaveState.riot_cooldown == 0:
+ SaveState.coffee -= SaveState.buildings["dev"]
+ if SaveState.coffee < 0:
+ invoke_riot()
+ SaveState.coffee = 0
+ else:
+ SaveState.gain_bitcoin(SaveState.buildings["dev"])
+ else:
+ SaveState.riot_cooldown -= 1
+
+func invoke_riot() -> void:
+ SaveState.riot_cooldown = -1
+ var mgt = find_parent('management')
+ mgt.hide()
+ mgt.pause_mode = PAUSE_MODE_STOP
+ mgt.get_parent().add_child(riot.instance())
+
diff --git a/main_scene/Label.gd b/main_scene/Label.gd
index 751a9a1..0c1c4a0 100644
--- a/main_scene/Label.gd
+++ b/main_scene/Label.gd
@@ -1,6 +1,5 @@
extends Label
func _process(delta):
- text = str(SaveState.coffee) + "CM: "+str(SaveState.buildings["intern"])+\
- "DEVS: "+str(SaveState.programmers)+"BTC: "+str(SaveState.bitcoin)
+ text = JSON.print(SaveState.pack_data())
diff --git a/main_scene/management.tscn b/main_scene/management.tscn
index 398f2ea..5e9a4f8 100644
--- a/main_scene/management.tscn
+++ b/main_scene/management.tscn
@@ -1,25 +1,20 @@
-[gd_scene load_steps=12 format=2]
+[gd_scene load_steps=8 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]
[ext_resource path="res://upgrades/upgrades.tscn" type="PackedScene" id=9]
[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 )
+z_index = -1
texture = ExtResource( 1 )
[node name="Label" type="Label" parent="."]
@@ -31,24 +26,10 @@ __meta__ = {
}
[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 )
+position = Vector2( 697.186, 65.6175 )
[node name="coffee_maschine" type="Sprite" parent="."]
-position = Vector2( 288, 304 )
+position = Vector2( 519.712, 314.253 )
scale = Vector2( 0.2, 0.2 )
texture = ExtResource( 8 )
@@ -57,6 +38,7 @@ script = ExtResource( 2 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="coffee_maschine/Area2D"]
position = Vector2( -40.0001, -0.00012207 )
-shape = SubResource( 2 )
+shape = SubResource( 1 )
[node name="upgrades" parent="." instance=ExtResource( 9 )]
+position = Vector2( 20.5055, 36.9098 )
diff --git a/main_scene/programmers.gd b/main_scene/programmers.gd
index 95245e5..1f5150f 100644
--- a/main_scene/programmers.gd
+++ b/main_scene/programmers.gd
@@ -1,20 +1 @@
extends Ticked
-
-var riot := preload("res://riot/riot.tscn")
-
-func _tick() -> void:
- if SaveState.riot_cooldown == 0:
- SaveState.coffee -= SaveState.programmers
- if SaveState.coffee < 0:
- invoke_riot()
- SaveState.coffee = 0
- else:
- SaveState.bitcoin += SaveState.programmers
- else:
- SaveState.riot_cooldown -= 1
-
-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/riot/angrydev.gd b/riot/angrydev.gd
index 0ac08ea..5e79141 100644
--- a/riot/angrydev.gd
+++ b/riot/angrydev.gd
@@ -3,8 +3,10 @@ class_name AngryDev
var min_pitchfork_rotation : float = -15.0
var max_pitchfork_rotation : float = 50.0
-export var rotation_speed : float = 1
+export var rotation_speed : float = 1
+var target: Manager = null
var total_tick = 0.0
+export var speed : float = 100.0
onready var pitchfork : Sprite = $pitchfork
@@ -16,7 +18,13 @@ func _process(delta : float) -> void:
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 _physics_process(delta: float) -> void:
+ var normalized_move = (target.position - position).normalized()
+ position += normalized_move * delta * speed
+
func rotate_towards(player: Node2D) -> void:
if player.position.x > position.x:
diff --git a/riot/angrydev.tscn b/riot/angrydev.tscn
index f8f5441..a987ff7 100644
--- a/riot/angrydev.tscn
+++ b/riot/angrydev.tscn
@@ -13,6 +13,7 @@ extents = Vector2( 7.90784, 32.0742 )
[node name="Node2D" type="Node2D"]
position = Vector2( -24.1174, 33.1615 )
script = ExtResource( 3 )
+speed = 80.0
[node name="body" type="Sprite" parent="."]
position = Vector2( 43.416, -38.1387 )
diff --git a/riot/manager.gd b/riot/manager.gd
index 642f2d4..bca0559 100644
--- a/riot/manager.gd
+++ b/riot/manager.gd
@@ -7,14 +7,16 @@ export var speed = 128.0
func _physics_process(delta : float) -> void:
var move_direction := target - position
+ var move_vector
if move_direction.length_squared() < 100:
- return
- var move_vector = move_direction.normalized() * delta * speed
+ move_vector = Vector2(0, 0)
+ else:
+ 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))
+ SaveState.lose_bitcoin(int(ceil(SaveState.bitcoin / 2.0)))
+ SaveState.buildings["dev"] = int(ceil(SaveState.buildings["dev"] * 8.0 / 10.0))
for child in get_parent().get_parent().get_children():
if child is CanvasItem:
child.show()
diff --git a/riot/riot.gd b/riot/riot.gd
index 9bfa056..2efafc3 100644
--- a/riot/riot.gd
+++ b/riot/riot.gd
@@ -13,6 +13,7 @@ func _ready() -> void:
while vec.distance_squared_to(manager.position) < 256 * 256:
vec = random_position()
instance.position = vec
+ instance.target = manager
add_child(instance)
devs.append(instance)
func _input(event) -> void:
diff --git a/save_state.gd b/save_state.gd
index ac58feb..dd1ecad 100644
--- a/save_state.gd
+++ b/save_state.gd
@@ -1,7 +1,8 @@
extends Node
var buildings = {
- "intern": 0
+ "intern": 0,
+ "dev": 1,
}
var upgrades = {
"wageslavery": 0
@@ -10,8 +11,20 @@ var upgrades = {
func gain_bitcoin(amount: int) -> void:
bitcoin += amount * (upgrades["wageslavery"] + 1)
-var coffee = 0
-var programmers = 1
+func lose_bitcoin(amount: int) -> void:
+ bitcoin -= amount
+
+var coffee = 10
var coffee_beans = 1000
var bitcoin = 100
-var riot_cooldown = 60
+var riot_cooldown = 0
+
+func pack_data():
+ return {
+ "buildings": buildings,
+ "upgrades": upgrades,
+ "coffee": coffee,
+ "coffee_beans": coffee_beans,
+ "bitcoin": bitcoin,
+ "riot_cooldown": riot_cooldown,
+ }