diff options
author | Roman Gräf <romangraef@gmail.com> | 2020-04-19 12:31:23 +0200 |
---|---|---|
committer | Roman Gräf <romangraef@gmail.com> | 2020-04-19 12:31:23 +0200 |
commit | 6a4f00bfaa636d026e181574ce3ce1dd40746153 (patch) | |
tree | 5533eeaa90f47eaf1042189ace4a16d0b9595448 /riot | |
parent | e891381d4ef97cfa3571bf513a27e5ae14629e9a (diff) | |
download | LDJam46-6a4f00bfaa636d026e181574ce3ce1dd40746153.tar.gz LDJam46-6a4f00bfaa636d026e181574ce3ce1dd40746153.tar.bz2 LDJam46-6a4f00bfaa636d026e181574ce3ce1dd40746153.zip |
gruselige devs
Diffstat (limited to 'riot')
-rw-r--r-- | riot/angrydev.gd | 10 | ||||
-rw-r--r-- | riot/angrydev.tscn | 1 | ||||
-rw-r--r-- | riot/manager.gd | 10 | ||||
-rw-r--r-- | riot/riot.gd | 1 |
4 files changed, 17 insertions, 5 deletions
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: |