From e1164b38716589569c2a779833f9ca3eabdbb84d Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Mon, 4 Apr 2022 22:22:25 +0200 Subject: [PATCH] :boom: Boom --- project.godot | 12 +++++++++++ src/behaviours/damage/Damaging.gd | 7 +++++++ src/behaviours/damage/FreeOnRequest.gd | 9 ++++++++ src/behaviours/damage/FreeOnRequest.tscn | 6 ++++++ src/behaviours/graphics/FourSidedSprite.gd | 6 +++++- src/behaviours/movement/PathMovement.gd | 11 ++++++++++ src/behaviours/movement/PathMovement.tscn | 14 +++++++++++++ src/behaviours/spawning/DropLoot.gd | 4 ++++ src/entities/bullets/AbstractBullet.tscn | 2 ++ src/entities/bullets/Arrow.gd | 2 -- src/entities/bullets/Arrow.tscn | 4 ++-- src/entities/enemies/AbstractEnemy.tscn | 8 +++++++- src/entities/enemies/ChaserEnemy.tscn | 8 +++++++- src/levels/mainmenu/MainMenu.tscn | 2 +- src/levels/phaseone/PhaseOne.tscn | 24 +++++++++++++++++++++- src/pickups/Pickup.gd | 4 ++-- src/pickups/effects/RapidFire.gd | 2 +- 17 files changed, 113 insertions(+), 12 deletions(-) create mode 100644 src/behaviours/damage/FreeOnRequest.gd create mode 100644 src/behaviours/damage/FreeOnRequest.tscn create mode 100644 src/behaviours/movement/PathMovement.gd create mode 100644 src/behaviours/movement/PathMovement.tscn diff --git a/project.godot b/project.godot index ae64020..498ff79 100644 --- a/project.godot +++ b/project.godot @@ -69,6 +69,11 @@ _global_script_classes=[ { "language": "GDScript", "path": "res://src/behaviours/graphics/FourSidedSprite.gd" }, { +"base": "Node", +"class": "FreeOnRequest", +"language": "GDScript", +"path": "res://src/behaviours/damage/FreeOnRequest.gd" +}, { "base": "VisibilityNotifier2D", "class": "FreeWhenShapeIsOffScreen", "language": "GDScript", @@ -90,6 +95,11 @@ _global_script_classes=[ { "path": "res://src/behaviours/damage/Ownership.gd" }, { "base": "Node", +"class": "PathMovement", +"language": "GDScript", +"path": "res://src/behaviours/movement/PathMovement.gd" +}, { +"base": "Node", "class": "PlayerMovement", "language": "GDScript", "path": "res://src/behaviours/movement/PlayerMovement.gd" @@ -162,10 +172,12 @@ _global_script_class_icons={ "Fire": "", "Flammable": "", "FourSidedSprite": "", +"FreeOnRequest": "", "FreeWhenShapeIsOffScreen": "", "Music": "", "MuteButton": "", "Ownership": "", +"PathMovement": "", "PlayerMovement": "", "RNG": "", "RandomRotationOnReady": "", diff --git a/src/behaviours/damage/Damaging.gd b/src/behaviours/damage/Damaging.gd index b61a86a..11712b7 100644 --- a/src/behaviours/damage/Damaging.gd +++ b/src/behaviours/damage/Damaging.gd @@ -31,4 +31,11 @@ func do_damage(to, multiplier): damageable.health += damage * multiplier # Emit the signal emit_signal("damaged", self, to) + # Destroy self if necessary + if destroy_after_damage: + parent.queue_free() + + +func _on_BulletMovement_collided(_origin, collision): + do_damage(collision.collider, 1) diff --git a/src/behaviours/damage/FreeOnRequest.gd b/src/behaviours/damage/FreeOnRequest.gd new file mode 100644 index 0000000..718fbae --- /dev/null +++ b/src/behaviours/damage/FreeOnRequest.gd @@ -0,0 +1,9 @@ +extends Node +class_name FreeOnRequest + + +onready var parent = get_parent() + + +func _on_Damageable_health_reached_min(_origin, _value): + parent.queue_free() diff --git a/src/behaviours/damage/FreeOnRequest.tscn b/src/behaviours/damage/FreeOnRequest.tscn new file mode 100644 index 0000000..177ab99 --- /dev/null +++ b/src/behaviours/damage/FreeOnRequest.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://src/behaviours/damage/FreeOnRequest.gd" type="Script" id=1] + +[node name="FreeOnRequest" type="Node"] +script = ExtResource( 1 ) diff --git a/src/behaviours/graphics/FourSidedSprite.gd b/src/behaviours/graphics/FourSidedSprite.gd index 7a97819..908b75c 100644 --- a/src/behaviours/graphics/FourSidedSprite.gd +++ b/src/behaviours/graphics/FourSidedSprite.gd @@ -8,7 +8,7 @@ const DOWN_RIGHT = TAU/8 const DOWN_LEFT = 3*TAU/8 -func turn(direction: Vector2) -> String: +func turn(direction): var angle = direction.angle() var anime @@ -23,3 +23,7 @@ func turn(direction: Vector2) -> String: play(anime) return animation + + +func _on_AttractedToMovement_moved_in_direction(_origin, direction): + turn(direction) diff --git a/src/behaviours/movement/PathMovement.gd b/src/behaviours/movement/PathMovement.gd new file mode 100644 index 0000000..9de2002 --- /dev/null +++ b/src/behaviours/movement/PathMovement.gd @@ -0,0 +1,11 @@ +extends Node +class_name PathMovement + + +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass diff --git a/src/behaviours/movement/PathMovement.tscn b/src/behaviours/movement/PathMovement.tscn new file mode 100644 index 0000000..be3115f --- /dev/null +++ b/src/behaviours/movement/PathMovement.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://src/behaviours/movement/PathMovement.gd" type="Script" id=1] + +[sub_resource type="Curve2D" id=1] +_data = { +"points": PoolVector2Array( ) +} + +[node name="PathMovement" type="Node"] +script = ExtResource( 1 ) + +[node name="Path" type="Path2D" parent="."] +curve = SubResource( 1 ) diff --git a/src/behaviours/spawning/DropLoot.gd b/src/behaviours/spawning/DropLoot.gd index ea8d6b0..7a0508f 100644 --- a/src/behaviours/spawning/DropLoot.gd +++ b/src/behaviours/spawning/DropLoot.gd @@ -45,3 +45,7 @@ func create_drop(): container.add_child(node) node.set_position(source.global_position) return node + + +func _on_Damageable_health_reached_min(_origin, _value): + create_drop() diff --git a/src/entities/bullets/AbstractBullet.tscn b/src/entities/bullets/AbstractBullet.tscn index 493ea5a..f7928f2 100644 --- a/src/entities/bullets/AbstractBullet.tscn +++ b/src/entities/bullets/AbstractBullet.tscn @@ -14,3 +14,5 @@ collision_mask = 2 [node name="Damaging" parent="." instance=ExtResource( 3 )] destroy_after_damage = true + +[connection signal="collided" from="BulletMovement" to="Damaging" method="_on_BulletMovement_collided"] diff --git a/src/entities/bullets/Arrow.gd b/src/entities/bullets/Arrow.gd index 26c7837..1268354 100644 --- a/src/entities/bullets/Arrow.gd +++ b/src/entities/bullets/Arrow.gd @@ -12,12 +12,10 @@ export(int) var lit_damage func _on_Flammable_caught_fire(_origin): $Shape/Sprite.texture = lit_texture $Damaging.damage = lit_damage - $Damaging.destroy_after_damage = false $Light.visible = true func _on_Flammable_extinguished_fire(_origin): $Shape/Sprite.texture = dim_texture $Damaging.damage = dim_damage - $Damaging.destroy_after_damage = true $Light.visible = false diff --git a/src/entities/bullets/Arrow.tscn b/src/entities/bullets/Arrow.tscn index 0111b0e..d980857 100644 --- a/src/entities/bullets/Arrow.tscn +++ b/src/entities/bullets/Arrow.tscn @@ -14,9 +14,9 @@ extents = Vector2( 6, 1.5 ) [node name="Arrow" instance=ExtResource( 1 )] script = ExtResource( 3 ) dim_texture = ExtResource( 2 ) -dim_damage = 1 +dim_damage = -10 lit_texture = ExtResource( 7 ) -lit_damage = 5 +lit_damage = -10 [node name="Shape" type="CollisionShape2D" parent="." index="0"] shape = SubResource( 1 ) diff --git a/src/entities/enemies/AbstractEnemy.tscn b/src/entities/enemies/AbstractEnemy.tscn index 512468c..dd7ebae 100644 --- a/src/entities/enemies/AbstractEnemy.tscn +++ b/src/entities/enemies/AbstractEnemy.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=4 format=2] [ext_resource path="res://src/behaviours/spawning/DropLoot.tscn" type="PackedScene" id=1] [ext_resource path="res://src/entities/AbstractEntity.tscn" type="PackedScene" id=2] +[ext_resource path="res://src/behaviours/damage/FreeOnRequest.tscn" type="PackedScene" id=3] [node name="AbstractEnemy" instance=ExtResource( 2 )] @@ -10,3 +11,8 @@ alliance = -1 [node name="DropLoot" parent="." index="2" instance=ExtResource( 1 )] container_name = "Pickups" + +[node name="FreeOnRequest" parent="." index="3" instance=ExtResource( 3 )] + +[connection signal="health_reached_min" from="Damageable" to="DropLoot" method="_on_Damageable_health_reached_min"] +[connection signal="health_reached_min" from="Damageable" to="FreeOnRequest" method="_on_Damageable_health_reached_min"] diff --git a/src/entities/enemies/ChaserEnemy.tscn b/src/entities/enemies/ChaserEnemy.tscn index 08053cf..38e2ea6 100644 --- a/src/entities/enemies/ChaserEnemy.tscn +++ b/src/entities/enemies/ChaserEnemy.tscn @@ -46,8 +46,14 @@ shape = SubResource( 1 ) frames = SubResource( 2 ) animation = "down" +[node name="Damageable" parent="." index="2"] +max_health = 10.0 +health = 10.0 + [node name="DropLoot" parent="." index="3"] loot_types = [ null, ExtResource( 2 ), ExtResource( 5 ) ] loot_weights = [ 1.0, 1.0, 0.1 ] -[node name="AttractedToMovement" parent="." index="4" instance=ExtResource( 3 )] +[node name="AttractedToMovement" parent="." index="5" instance=ExtResource( 3 )] + +[connection signal="moved_in_direction" from="AttractedToMovement" to="Shape/FourSidedSprite" method="_on_AttractedToMovement_moved_in_direction"] diff --git a/src/levels/mainmenu/MainMenu.tscn b/src/levels/mainmenu/MainMenu.tscn index 7ca809a..a3484f9 100644 --- a/src/levels/mainmenu/MainMenu.tscn +++ b/src/levels/mainmenu/MainMenu.tscn @@ -39,7 +39,7 @@ position = Vector2( 421, -275 ) scale = Vector2( 4, 4 ) [node name="FlameSprite" parent="TheDarkNightUI/MenuFire/Flame/Shape" index="0"] -frame = 3 +frame = 5 [node name="Damaging" parent="TheDarkNightUI/MenuFire" index="3"] damage = -5.0 diff --git a/src/levels/phaseone/PhaseOne.tscn b/src/levels/phaseone/PhaseOne.tscn index 8da0421..8670e7a 100644 --- a/src/levels/phaseone/PhaseOne.tscn +++ b/src/levels/phaseone/PhaseOne.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=15 format=2] [ext_resource path="res://src/pickups/BranchPickup.tscn" type="PackedScene" id=1] [ext_resource path="res://src/mechanics/GrassDirtTileset.png" type="Texture" id=2] @@ -6,6 +6,7 @@ [ext_resource path="res://src/behaviours/spawning/SpawnEveryPeriod.tscn" type="PackedScene" id=4] [ext_resource path="res://src/entities/enemies/ChaserEnemy.tscn" type="PackedScene" id=5] [ext_resource path="res://src/behaviours/movement/TeleportToScreenEdge.tscn" type="PackedScene" id=6] +[ext_resource path="res://src/mechanics/White.png" type="Texture" id=7] [ext_resource path="res://src/behaviours/targeting/SetSpawnedATMGoalTo.tscn" type="PackedScene" id=11] [ext_resource path="res://src/mechanics/Darkness.tscn" type="PackedScene" id=13] [ext_resource path="res://src/mechanics/Background.tscn" type="PackedScene" id=14] @@ -35,6 +36,17 @@ 0/shapes = [ ] 0/z_index = 0 +[sub_resource type="ParticlesMaterial" id=2] +emission_shape = 2 +emission_box_extents = Vector3( 640, 1, 1 ) +flag_disable_z = true +gravity = Vector3( 0, 98, 0 ) +orbit_velocity = 0.0 +orbit_velocity_random = 0.0 +damping = 40.0 +scale = 0.12 +scale_random = 0.1 + [node name="PhaseOne" type="CanvasLayer"] layer = 0 script = ExtResource( 18 ) @@ -44,6 +56,15 @@ tile_set = SubResource( 1 ) tile_data = PoolIntArray( 0, 0, 131074, 1, 0, 131074, 2, 0, 131074, 3, 0, 131074, 4, 0, 131074, 5, 0, 131074, 6, 0, 131074, 7, 0, 131074, 8, 0, 131074, 9, 0, 131074, 10, 0, 131074, 11, 0, 131074, 12, 0, 131074, 13, 0, 131074, 14, 0, 131074, 15, 0, 131074, 16, 0, 131075, 17, 0, 0, 18, 0, 0, 19, 0, 0, 20, 0, 0, 21, 0, 0, 22, 0, 0, 23, 0, 131073, 24, 0, 131074, 25, 0, 131074, 26, 0, 131074, 27, 0, 131074, 28, 0, 131074, 29, 0, 131074, 30, 0, 131074, 31, 0, 131074, 32, 0, 131074, 33, 0, 131074, 34, 0, 131074, 35, 0, 131074, 36, 0, 131074, 37, 0, 131074, 38, 0, 131074, 39, 0, 131074, 65536, 0, 131074, 65537, 0, 131074, 65538, 0, 131074, 65539, 0, 131074, 65540, 0, 131074, 65541, 0, 131074, 65542, 0, 131074, 65543, 0, 131074, 65544, 0, 131074, 65545, 0, 131074, 65546, 0, 131074, 65547, 0, 131074, 65548, 0, 131074, 65549, 0, 131074, 65550, 0, 131074, 65551, 0, 131074, 65552, 0, 131075, 65553, 0, 0, 65554, 0, 0, 65555, 0, 0, 65556, 0, 0, 65557, 0, 0, 65558, 0, 0, 65559, 0, 131073, 65560, 0, 131074, 65561, 0, 131074, 65562, 0, 131074, 65563, 0, 131074, 65564, 0, 131074, 65565, 0, 131074, 65566, 0, 131074, 65567, 0, 131074, 65568, 0, 131074, 65569, 0, 131074, 65570, 0, 131074, 65571, 0, 131074, 65572, 0, 131074, 65573, 0, 131074, 65574, 0, 131074, 65575, 0, 131074, 131072, 0, 131074, 131073, 0, 131074, 131074, 0, 131074, 131075, 0, 131074, 131076, 0, 131074, 131077, 0, 131074, 131078, 0, 131074, 131079, 0, 131074, 131080, 0, 131074, 131081, 0, 131074, 131082, 0, 131074, 131083, 0, 131074, 131084, 0, 131074, 131085, 0, 131074, 131086, 0, 131074, 131087, 0, 131074, 131088, 0, 131075, 131089, 0, 0, 131090, 0, 0, 131091, 0, 0, 131092, 0, 0, 131093, 0, 0, 131094, 0, 0, 131095, 0, 131073, 131096, 0, 131074, 131097, 0, 131074, 131098, 0, 131074, 131099, 0, 131074, 131100, 0, 131074, 131101, 0, 131074, 131102, 0, 131074, 131103, 0, 131074, 131104, 0, 131074, 131105, 0, 131074, 131106, 0, 131074, 131107, 0, 131074, 131108, 0, 131074, 131109, 0, 131074, 131110, 0, 131074, 131111, 0, 131074, 196608, 0, 131074, 196609, 0, 131074, 196610, 0, 131074, 196611, 0, 131074, 196612, 0, 131074, 196613, 0, 131074, 196614, 0, 131074, 196615, 0, 131074, 196616, 0, 131074, 196617, 0, 131074, 196618, 0, 131074, 196619, 0, 131074, 196620, 0, 131074, 196621, 0, 131074, 196622, 0, 131074, 196623, 0, 131074, 196624, 0, 131075, 196625, 0, 0, 196626, 0, 0, 196627, 0, 0, 196628, 0, 0, 196629, 0, 0, 196630, 0, 0, 196631, 0, 131073, 196632, 0, 131074, 196633, 0, 131074, 196634, 0, 131074, 196635, 0, 131074, 196636, 0, 131074, 196637, 0, 131074, 196638, 0, 131074, 196639, 0, 131074, 196640, 0, 131074, 196641, 0, 131074, 196642, 0, 131074, 196643, 0, 131074, 196644, 0, 131074, 196645, 0, 131074, 196646, 0, 131074, 196647, 0, 131074, 262144, 0, 131074, 262145, 0, 131074, 262146, 0, 131074, 262147, 0, 131074, 262148, 0, 131074, 262149, 0, 131074, 262150, 0, 131074, 262151, 0, 131074, 262152, 0, 131074, 262153, 0, 131074, 262154, 0, 131074, 262155, 0, 131074, 262156, 0, 131074, 262157, 0, 131074, 262158, 0, 131074, 262159, 0, 131074, 262160, 0, 131075, 262161, 0, 0, 262162, 0, 0, 262163, 0, 0, 262164, 0, 0, 262165, 0, 0, 262166, 0, 0, 262167, 0, 131073, 262168, 0, 131074, 262169, 0, 131074, 262170, 0, 131074, 262171, 0, 131074, 262172, 0, 131074, 262173, 0, 131074, 262174, 0, 131074, 262175, 0, 131074, 262176, 0, 131074, 262177, 0, 131074, 262178, 0, 131074, 262179, 0, 131074, 262180, 0, 131074, 262181, 0, 131074, 262182, 0, 131074, 262183, 0, 131074, 327680, 0, 131074, 327681, 0, 131074, 327682, 0, 131074, 327683, 0, 131074, 327684, 0, 131074, 327685, 0, 131074, 327686, 0, 131074, 327687, 0, 131074, 327688, 0, 131074, 327689, 0, 131074, 327690, 0, 131074, 327691, 0, 131074, 327692, 0, 131074, 327693, 0, 131074, 327694, 0, 131074, 327695, 0, 131074, 327696, 0, 131075, 327697, 0, 0, 327698, 0, 0, 327699, 0, 0, 327700, 0, 0, 327701, 0, 0, 327702, 0, 0, 327703, 0, 131073, 327704, 0, 131074, 327705, 0, 131074, 327706, 0, 131074, 327707, 0, 131074, 327708, 0, 131074, 327709, 0, 131074, 327710, 0, 131074, 327711, 0, 131074, 327712, 0, 131074, 327713, 0, 131074, 327714, 0, 131074, 327715, 0, 131074, 327716, 0, 131074, 327717, 0, 131074, 327718, 0, 131074, 327719, 0, 131074, 393216, 0, 196610, 393217, 0, 196610, 393218, 0, 196610, 393219, 0, 196610, 393220, 0, 196610, 393221, 0, 196610, 393222, 0, 196610, 393223, 0, 196610, 393224, 0, 196610, 393225, 0, 196610, 393226, 0, 196610, 393227, 0, 196610, 393228, 0, 196610, 393229, 0, 196610, 393230, 0, 196610, 393231, 0, 196610, 393232, 0, 196611, 393233, 0, 0, 393234, 0, 0, 393235, 0, 0, 393236, 0, 0, 393237, 0, 0, 393238, 0, 0, 393239, 0, 196609, 393240, 0, 196610, 393241, 0, 196610, 393242, 0, 196610, 393243, 0, 196610, 393244, 0, 196610, 393245, 0, 196610, 393246, 0, 196610, 393247, 0, 196610, 393248, 0, 196610, 393249, 0, 196610, 393250, 0, 196610, 393251, 0, 196610, 393252, 0, 196610, 393253, 0, 196610, 393254, 0, 196610, 393255, 0, 196610, 458752, 0, 0, 458753, 0, 0, 458754, 0, 0, 458755, 0, 0, 458756, 0, 0, 458757, 0, 0, 458758, 0, 0, 458759, 0, 0, 458760, 0, 0, 458761, 0, 0, 458762, 0, 0, 458763, 0, 0, 458764, 0, 0, 458765, 0, 0, 458766, 0, 0, 458767, 0, 0, 458768, 0, 0, 458769, 0, 0, 458770, 0, 0, 458771, 0, 0, 458772, 0, 0, 458773, 0, 0, 458774, 0, 0, 458775, 0, 0, 458776, 0, 0, 458777, 0, 0, 458778, 0, 0, 458779, 0, 0, 458780, 0, 0, 458781, 0, 0, 458782, 0, 0, 458783, 0, 0, 458784, 0, 0, 458785, 0, 0, 458786, 0, 0, 458787, 0, 0, 458788, 0, 0, 458789, 0, 0, 458790, 0, 0, 458791, 0, 0, 524288, 0, 0, 524289, 0, 0, 524290, 0, 0, 524291, 0, 0, 524292, 0, 0, 524293, 0, 0, 524294, 0, 0, 524295, 0, 0, 524296, 0, 0, 524297, 0, 0, 524298, 0, 0, 524299, 0, 0, 524300, 0, 0, 524301, 0, 0, 524302, 0, 0, 524303, 0, 0, 524304, 0, 0, 524305, 0, 0, 524306, 0, 0, 524307, 0, 0, 524308, 0, 0, 524309, 0, 0, 524310, 0, 0, 524311, 0, 0, 524312, 0, 0, 524313, 0, 0, 524314, 0, 0, 524315, 0, 0, 524316, 0, 0, 524317, 0, 0, 524318, 0, 0, 524319, 0, 0, 524320, 0, 0, 524321, 0, 0, 524322, 0, 0, 524323, 0, 0, 524324, 0, 0, 524325, 0, 0, 524326, 0, 0, 524327, 0, 0, 589824, 0, 0, 589825, 0, 0, 589826, 0, 0, 589827, 0, 0, 589828, 0, 0, 589829, 0, 0, 589830, 0, 0, 589831, 0, 0, 589832, 0, 0, 589833, 0, 0, 589834, 0, 0, 589835, 0, 0, 589836, 0, 0, 589837, 0, 0, 589838, 0, 0, 589839, 0, 0, 589840, 0, 0, 589841, 0, 0, 589842, 0, 0, 589843, 0, 0, 589844, 0, 0, 589845, 0, 0, 589846, 0, 0, 589847, 0, 0, 589848, 0, 0, 589849, 0, 0, 589850, 0, 0, 589851, 0, 0, 589852, 0, 0, 589853, 0, 0, 589854, 0, 0, 589855, 0, 0, 589856, 0, 0, 589857, 0, 0, 589858, 0, 0, 589859, 0, 0, 589860, 0, 0, 589861, 0, 0, 589862, 0, 0, 589863, 0, 0, 655360, 0, 0, 655361, 0, 0, 655362, 0, 0, 655363, 0, 0, 655364, 0, 0, 655365, 0, 0, 655366, 0, 0, 655367, 0, 0, 655368, 0, 0, 655369, 0, 0, 655370, 0, 0, 655371, 0, 0, 655372, 0, 0, 655373, 0, 0, 655374, 0, 0, 655375, 0, 0, 655376, 0, 0, 655377, 0, 0, 655378, 0, 0, 655379, 0, 0, 655380, 0, 0, 655381, 0, 0, 655382, 0, 0, 655383, 0, 0, 655384, 0, 0, 655385, 0, 0, 655386, 0, 0, 655387, 0, 0, 655388, 0, 0, 655389, 0, 0, 655390, 0, 0, 655391, 0, 0, 655392, 0, 0, 655393, 0, 0, 655394, 0, 0, 655395, 0, 0, 655396, 0, 0, 655397, 0, 0, 655398, 0, 0, 655399, 0, 0, 720896, 0, 0, 720897, 0, 0, 720898, 0, 0, 720899, 0, 0, 720900, 0, 0, 720901, 0, 0, 720902, 0, 0, 720903, 0, 0, 720904, 0, 0, 720905, 0, 0, 720906, 0, 0, 720907, 0, 0, 720908, 0, 0, 720909, 0, 0, 720910, 0, 0, 720911, 0, 0, 720912, 0, 0, 720913, 0, 0, 720914, 0, 0, 720915, 0, 0, 720916, 0, 0, 720917, 0, 0, 720918, 0, 0, 720919, 0, 0, 720920, 0, 0, 720921, 0, 0, 720922, 0, 0, 720923, 0, 0, 720924, 0, 0, 720925, 0, 0, 720926, 0, 0, 720927, 0, 0, 720928, 0, 0, 720929, 0, 0, 720930, 0, 0, 720931, 0, 0, 720932, 0, 0, 720933, 0, 0, 720934, 0, 0, 720935, 0, 0, 786432, 0, 0, 786433, 0, 0, 786434, 0, 0, 786435, 0, 0, 786436, 0, 0, 786437, 0, 0, 786438, 0, 0, 786439, 0, 0, 786440, 0, 0, 786441, 0, 0, 786442, 0, 0, 786443, 0, 0, 786444, 0, 0, 786445, 0, 0, 786446, 0, 0, 786447, 0, 0, 786448, 0, 0, 786449, 0, 0, 786450, 0, 0, 786451, 0, 0, 786452, 0, 0, 786453, 0, 0, 786454, 0, 0, 786455, 0, 0, 786456, 0, 0, 786457, 0, 0, 786458, 0, 0, 786459, 0, 0, 786460, 0, 0, 786461, 0, 0, 786462, 0, 0, 786463, 0, 0, 786464, 0, 0, 786465, 0, 0, 786466, 0, 0, 786467, 0, 0, 786468, 0, 0, 786469, 0, 0, 786470, 0, 0, 786471, 0, 0, 851968, 0, 65538, 851969, 0, 65538, 851970, 0, 65538, 851971, 0, 65538, 851972, 0, 65538, 851973, 0, 65538, 851974, 0, 65538, 851975, 0, 65538, 851976, 0, 65538, 851977, 0, 65538, 851978, 0, 65538, 851979, 0, 65538, 851980, 0, 65538, 851981, 0, 65538, 851982, 0, 65538, 851983, 0, 65538, 851984, 0, 65539, 851985, 0, 0, 851986, 0, 0, 851987, 0, 0, 851988, 0, 0, 851989, 0, 0, 851990, 0, 0, 851991, 0, 65537, 851992, 0, 65538, 851993, 0, 65538, 851994, 0, 65538, 851995, 0, 65538, 851996, 0, 65538, 851997, 0, 65538, 851998, 0, 65538, 851999, 0, 65538, 852000, 0, 65538, 852001, 0, 65538, 852002, 0, 65538, 852003, 0, 65538, 852004, 0, 65538, 852005, 0, 65538, 852006, 0, 65538, 852007, 0, 65538, 917504, 0, 131074, 917505, 0, 131074, 917506, 0, 131074, 917507, 0, 131074, 917508, 0, 131074, 917509, 0, 131074, 917510, 0, 131074, 917511, 0, 131074, 917512, 0, 131074, 917513, 0, 131074, 917514, 0, 131074, 917515, 0, 131074, 917516, 0, 131074, 917517, 0, 131074, 917518, 0, 131074, 917519, 0, 131074, 917520, 0, 131075, 917521, 0, 0, 917522, 0, 0, 917523, 0, 0, 917524, 0, 0, 917525, 0, 0, 917526, 0, 0, 917527, 0, 131073, 917528, 0, 131074, 917529, 0, 131074, 917530, 0, 131074, 917531, 0, 131074, 917532, 0, 131074, 917533, 0, 131074, 917534, 0, 131074, 917535, 0, 131074, 917536, 0, 131074, 917537, 0, 131074, 917538, 0, 131074, 917539, 0, 131074, 917540, 0, 131074, 917541, 0, 131074, 917542, 0, 131074, 917543, 0, 131074, 983040, 0, 131074, 983041, 0, 131074, 983042, 0, 131074, 983043, 0, 131074, 983044, 0, 131074, 983045, 0, 131074, 983046, 0, 131074, 983047, 0, 131074, 983048, 0, 131074, 983049, 0, 131074, 983050, 0, 131074, 983051, 0, 131074, 983052, 0, 131074, 983053, 0, 131074, 983054, 0, 131074, 983055, 0, 131074, 983056, 0, 131075, 983057, 0, 0, 983058, 0, 0, 983059, 0, 0, 983060, 0, 0, 983061, 0, 0, 983062, 0, 0, 983063, 0, 131073, 983064, 0, 131074, 983065, 0, 131074, 983066, 0, 131074, 983067, 0, 131074, 983068, 0, 131074, 983069, 0, 131074, 983070, 0, 131074, 983071, 0, 131074, 983072, 0, 131074, 983073, 0, 131074, 983074, 0, 131074, 983075, 0, 131074, 983076, 0, 131074, 983077, 0, 131074, 983078, 0, 131074, 983079, 0, 131074, 1048576, 0, 131074, 1048577, 0, 131074, 1048578, 0, 131074, 1048579, 0, 131074, 1048580, 0, 131074, 1048581, 0, 131074, 1048582, 0, 131074, 1048583, 0, 131074, 1048584, 0, 131074, 1048585, 0, 131074, 1048586, 0, 131074, 1048587, 0, 131074, 1048588, 0, 131074, 1048589, 0, 131074, 1048590, 0, 131074, 1048591, 0, 131074, 1048592, 0, 131075, 1048593, 0, 0, 1048594, 0, 0, 1048595, 0, 0, 1048596, 0, 0, 1048597, 0, 0, 1048598, 0, 0, 1048599, 0, 131073, 1048600, 0, 131074, 1048601, 0, 131074, 1048602, 0, 131074, 1048603, 0, 131074, 1048604, 0, 131074, 1048605, 0, 131074, 1048606, 0, 131074, 1048607, 0, 131074, 1048608, 0, 131074, 1048609, 0, 131074, 1048610, 0, 131074, 1048611, 0, 131074, 1048612, 0, 131074, 1048613, 0, 131074, 1048614, 0, 131074, 1048615, 0, 131074, 1114112, 0, 131074, 1114113, 0, 131074, 1114114, 0, 131074, 1114115, 0, 131074, 1114116, 0, 131074, 1114117, 0, 131074, 1114118, 0, 131074, 1114119, 0, 131074, 1114120, 0, 131074, 1114121, 0, 131074, 1114122, 0, 131074, 1114123, 0, 131074, 1114124, 0, 131074, 1114125, 0, 131074, 1114126, 0, 131074, 1114127, 0, 131074, 1114128, 0, 131075, 1114129, 0, 0, 1114130, 0, 0, 1114131, 0, 0, 1114132, 0, 0, 1114133, 0, 0, 1114134, 0, 0, 1114135, 0, 131073, 1114136, 0, 131074, 1114137, 0, 131074, 1114138, 0, 131074, 1114139, 0, 131074, 1114140, 0, 131074, 1114141, 0, 131074, 1114142, 0, 131074, 1114143, 0, 131074, 1114144, 0, 131074, 1114145, 0, 131074, 1114146, 0, 131074, 1114147, 0, 131074, 1114148, 0, 131074, 1114149, 0, 131074, 1114150, 0, 131074, 1114151, 0, 131074, 1179648, 0, 131074, 1179649, 0, 131074, 1179650, 0, 131074, 1179651, 0, 131074, 1179652, 0, 131074, 1179653, 0, 131074, 1179654, 0, 131074, 1179655, 0, 131074, 1179656, 0, 131074, 1179657, 0, 131074, 1179658, 0, 131074, 1179659, 0, 131074, 1179660, 0, 131074, 1179661, 0, 131074, 1179662, 0, 131074, 1179663, 0, 131074, 1179664, 0, 131075, 1179665, 0, 0, 1179666, 0, 0, 1179667, 0, 0, 1179668, 0, 0, 1179669, 0, 0, 1179670, 0, 0, 1179671, 0, 131073, 1179672, 0, 131074, 1179673, 0, 131074, 1179674, 0, 131074, 1179675, 0, 131074, 1179676, 0, 131074, 1179677, 0, 131074, 1179678, 0, 131074, 1179679, 0, 131074, 1179680, 0, 131074, 1179681, 0, 131074, 1179682, 0, 131074, 1179683, 0, 131074, 1179684, 0, 131074, 1179685, 0, 131074, 1179686, 0, 131074, 1179687, 0, 131074, 1245184, 0, 131074, 1245185, 0, 131074, 1245186, 0, 131074, 1245187, 0, 131074, 1245188, 0, 131074, 1245189, 0, 131074, 1245190, 0, 131074, 1245191, 0, 131074, 1245192, 0, 131074, 1245193, 0, 131074, 1245194, 0, 131074, 1245195, 0, 131074, 1245196, 0, 131074, 1245197, 0, 131074, 1245198, 0, 131074, 1245199, 0, 131074, 1245200, 0, 131075, 1245201, 0, 0, 1245202, 0, 0, 1245203, 0, 0, 1245204, 0, 0, 1245205, 0, 0, 1245206, 0, 0, 1245207, 0, 131073, 1245208, 0, 131074, 1245209, 0, 131074, 1245210, 0, 131074, 1245211, 0, 131074, 1245212, 0, 131074, 1245213, 0, 131074, 1245214, 0, 131074, 1245215, 0, 131074, 1245216, 0, 131074, 1245217, 0, 131074, 1245218, 0, 131074, 1245219, 0, 131074, 1245220, 0, 131074, 1245221, 0, 131074, 1245222, 0, 131074, 1245223, 0, 131074 ) [node name="Darkness" parent="." instance=ExtResource( 13 )] +visible = false + +[node name="Particles2D" type="Particles2D" parent="."] +position = Vector2( 640, -120 ) +amount = 1000 +lifetime = 10.0 +visibility_rect = Rect2( -640, 0, 1280, 640 ) +process_material = SubResource( 2 ) +texture = ExtResource( 7 ) [node name="Entities" type="Node" parent="."] @@ -69,6 +90,7 @@ container_name = "Enemies" goal_path = NodePath("../../../../../Fire") [node name="TeleportToScreenEdge" parent="Entities/Containers/Enemies/TowardsFireSpawner" instance=ExtResource( 6 )] +bounds = Vector2( 1280, 640 ) [node name="Pickups" type="Node" parent="Entities/Containers"] diff --git a/src/pickups/Pickup.gd b/src/pickups/Pickup.gd index 0831e70..2f842bd 100644 --- a/src/pickups/Pickup.gd +++ b/src/pickups/Pickup.gd @@ -32,5 +32,5 @@ func _on_body_entered(_other): func set_active(value): active = value - $Shape.visible = value - $Shape.disabled = not value + $Shape.set_deferred("visible", value) + $Shape.set_deferred("disabled", not value) diff --git a/src/pickups/effects/RapidFire.gd b/src/pickups/effects/RapidFire.gd index 0222eb3..77c1a00 100644 --- a/src/pickups/effects/RapidFire.gd +++ b/src/pickups/effects/RapidFire.gd @@ -2,7 +2,7 @@ extends Node class_name RapidFire -onready var target = get_tree().root.find_node("PhaseOnePlayer", true, false).get_node("ShootOnClick") +onready var target = get_tree().root.find_node("PhaseOnePlayer", true, false).get_node("SpawnOnShoot/ShootOnClick") onready var pickup: Area2D = get_parent()