diff --git a/lib/classes/movement_state_receiver.gd b/lib/classes/movement_state_receiver.gd index 9d0c651..5944f36 100644 --- a/lib/classes/movement_state_receiver.gd +++ b/lib/classes/movement_state_receiver.gd @@ -140,7 +140,8 @@ func _on_state_change(old_state_name:String, new_state :State): func _on_modifiers_updated(_modifier_type :int, _modifier_action :int, _merged_modifier :StateModifier): ## Get reference (subscribe) to the merged modifier for movement if _merged_modifier is StateModifierMovement: - print("Registered Modifier Movement: ", _merged_modifier.horizontal_speed) + if debug_component: + print("Registered Modifier Movement: ", _merged_modifier.horizontal_speed) modifier = _merged_modifier func apply_state_modifier(movement_parameters :MovementParameters) -> MovementParameters: diff --git a/lib/classes/state_modifier_movement.gd b/lib/classes/state_modifier_movement.gd index ff19008..d6139ac 100644 --- a/lib/classes/state_modifier_movement.gd +++ b/lib/classes/state_modifier_movement.gd @@ -21,7 +21,7 @@ export var gravity: int = 0 ## Processing Directives (help determine how the merge function works) var direction :float = 0.0 # -1, 0, 1 -export var only_grounded :float = false +export var only_grounded :bool = false enum SUB_TYPE { NONE, # Basic physics modifier just adds numbers diff --git a/lib/components/Modifier_Receiver.gd b/lib/components/Modifier_Receiver.gd index 8f8176f..f27adda 100644 --- a/lib/components/Modifier_Receiver.gd +++ b/lib/components/Modifier_Receiver.gd @@ -43,6 +43,8 @@ func _ready(): func register_modifier(modifier: StateModifier): if enabled: request_push_state_modifier.call_func(modifier) + if modifier is StateModifier: + modifier.activate() # if modifier_collection.has(modifier) == false: # print("New Modifier Registered " + modifier.name) # modifier_collection.append(modifier) @@ -51,6 +53,8 @@ func register_modifier(modifier: StateModifier): func remove_modifier(modifier): print("Modifier Removal not implemented here." + modifier.name) + if modifier is StateModifier: + modifier.deactivate() # if modifier_collection.has(modifier): # var modifier_index = modifier_collection.rfind(modifier) # if modifier_index != -1: diff --git a/src/Interactables/modifiers/icy_surface.tres b/src/Interactables/modifiers/icy_surface.tres index 8b12af3..954c751 100644 --- a/src/Interactables/modifiers/icy_surface.tres +++ b/src/Interactables/modifiers/icy_surface.tres @@ -9,7 +9,7 @@ script = ExtResource( 1 ) name = "ice_or_something" timeout_seconds = 0.0 horizontal_speed = 0.0 -horizontal_acceleration = 0.0 +horizontal_acceleration = -250.0 horizontal_speed_offset = 0.0 horizontal_speed_offset_acceleration = 0.0 jerk_factor = 0.0 @@ -18,4 +18,4 @@ vertical_acceleration = 0.0 vertical_speed_offset = 0.0 vertical_speed_offset_acceleration = 0.0 gravity = 0 -only_grounded = 0.0 +only_grounded = true diff --git a/src/actors/players/playerE/PlayerE.tscn b/src/actors/players/playerE/PlayerE.tscn index 2acb3a8..3e6dfff 100644 --- a/src/actors/players/playerE/PlayerE.tscn +++ b/src/actors/players/playerE/PlayerE.tscn @@ -91,6 +91,7 @@ actor_type = "Player" player_number = 1 [node name="Movement_StateMachine" parent="." index="0"] +debug_state_machine = true starting_state_name = "idle" states = [ ExtResource( 4 ), ExtResource( 9 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 12 ), ExtResource( 11 ), ExtResource( 10 ), ExtResource( 13 ), ExtResource( 14 ), ExtResource( 15 ), SubResource( 3 ), ExtResource( 19 ), ExtResource( 20 ), ExtResource( 22 ), ExtResource( 23 ), ExtResource( 27 ), ExtResource( 30 ) ] diff --git a/src/levels/CloneBox.tscn b/src/levels/CloneBox.tscn index f4df776..4209b1b 100644 --- a/src/levels/CloneBox.tscn +++ b/src/levels/CloneBox.tscn @@ -1,22 +1,22 @@ -[gd_scene load_steps=11 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://src/templates/level_templates/LevelTemplate.tscn" type="PackedScene" id=1] [ext_resource path="res://assets/levels/LegacyFantasy-High_Forest/tileset.tres" type="TileSet" id=2] -[ext_resource path="res://lib/components/Hitbox_Component.tscn" type="PackedScene" id=3] [ext_resource path="res://src/Interactables/LevelTransition.tscn" type="PackedScene" id=4] [ext_resource path="res://src/Interactables/modifiers/icy_surface.tres" type="Resource" id=5] [ext_resource path="res://lib/components/Modifier_Component.tscn" type="PackedScene" id=6] [ext_resource path="res://assets/Fonts/default_font.tres" type="Theme" id=7] -[sub_resource type="CircleShape2D" id=1] -radius = 5.09902 - [sub_resource type="RectangleShape2D" id=2] -[sub_resource type="CircleShape2D" id=3] +[sub_resource type="RectangleShape2D" id=3] +extents = Vector2( 149, 3 ) [node name="CloneBox" groups=["world"] instance=ExtResource( 1 )] +[node name="TileMap Background" parent="." index="0"] +z_index = -2 + [node name="TileMap Collision" parent="." index="1"] tile_set = ExtResource( 2 ) tile_data = PoolIntArray( -196609, 4, 0, -262125, 4, 65536, -131073, 4, 0, -196589, 4, 65536, -65537, 4, 0, -131053, 4, 65536, -3, 4, 0, -2, 4, 0, -1, 4, 0, -65517, 4, 0, -65516, 4, 65536, -65515, 4, 65536, -65514, 4, 65536, 65533, 4, 0, 22, 4, 65536, 131069, 4, 0, 65558, 4, 65536, 196605, 4, 0, 131073, 2, 1, 131074, 2, 2, 131089, 2, 0, 131090, 2, 1, 131094, 4, 65536, 262141, 4, 0, 262142, 4, 0, 262143, 4, 0, 196608, 4, 65536, 196609, 2, 65537, 196610, 2, 65538, 196625, 2, 65536, 196626, 2, 65537, 196627, 4, 65536, 196628, 4, 65536, 196629, 4, 65536, 196630, 4, 65536, 262144, 4, 0, 262163, 4, 0, 327680, 4, 65536, 327699, 4, 65536, 393216, 4, 65536, 393235, 4, 65536, 458752, 4, 65536, 458771, 4, 65536, 589823, 0, 1, 524288, 4, 131072, 524289, 0, 3, 524290, 0, 1, 524291, 0, 2, 524292, 0, 3, 524293, 0, 1, 524294, 0, 2, 524295, 0, 3, 524296, 0, 1, 524297, 0, 2, 524298, 0, 3, 524299, 0, 1, 524300, 0, 2, 524301, 0, 3, 524302, 0, 1, 524303, 0, 2, 524304, 0, 3, 524305, 0, 1, 524306, 0, 2, 524307, 4, 0, 524308, 0, 1, 524309, 0, 2, 524310, 0, 3, 655359, 0, 65537, 589824, 0, 65538, 589825, 0, 65539, 589826, 0, 65537, 589827, 0, 65538, 589828, 0, 65539, 589829, 0, 65537, 589830, 0, 65538, 589831, 0, 65539, 589832, 0, 65537, 589833, 0, 65538, 589834, 0, 65539, 589835, 0, 65537, 589836, 0, 65538, 589837, 0, 65539, 589838, 0, 65537, 589839, 0, 65538, 589840, 0, 65539, 589841, 0, 65537, 589842, 0, 65538, 589843, 0, 65539, 589844, 0, 65537, 589845, 0, 65538, 589846, 0, 65539, 720895, 0, 131073, 655360, 0, 131074, 655361, 0, 131075, 655362, 0, 131073, 655363, 0, 131074, 655364, 0, 131075, 655365, 0, 131073, 655366, 0, 131074, 655367, 0, 131075, 655368, 0, 131073, 655369, 0, 131074, 655370, 0, 131075, 655371, 0, 131073, 655372, 0, 131074, 655373, 0, 131075, 655374, 0, 131073, 655375, 0, 131074, 655376, 0, 131075, 655377, 0, 131073, 655378, 0, 131074, 655379, 0, 131075, 655380, 0, 131073, 655381, 0, 131074, 655382, 0, 131075, 786431, 0, 196609, 720896, 0, 196610, 720897, 0, 196611, 720898, 0, 196609, 720899, 0, 196610, 720900, 0, 196611, 720901, 0, 196609, 720902, 0, 196610, 720903, 0, 196611, 720904, 0, 196609, 720905, 0, 196610, 720906, 0, 196611, 720907, 0, 196609, 720908, 0, 196610, 720909, 0, 196611, 720910, 0, 196609, 720911, 0, 196610, 720912, 0, 196611, 720913, 0, 196609, 720914, 0, 196610, 720915, 0, 196611, 720916, 0, 196609, 720917, 0, 196610, 720918, 0, 196611, 851967, 0, 262145, 786432, 0, 262146, 786433, 0, 262147, 786434, 0, 262145, 786435, 0, 262146, 786436, 0, 262147, 786437, 0, 262145, 786438, 0, 262146, 786439, 0, 262147, 786440, 0, 262145, 786441, 0, 262146, 786442, 0, 262147, 786443, 0, 262145, 786444, 0, 262146, 786445, 0, 262147, 786446, 0, 262145, 786447, 0, 262146, 786448, 0, 262147, 786449, 0, 262145, 786450, 0, 262146, 786451, 0, 262147, 786452, 0, 262145, 786453, 0, 262146, 786454, 0, 262147 ) @@ -28,27 +28,12 @@ collision_mask = 0 tile_data = PoolIntArray( 524288, 0, 2, 524307, 0, 3 ) [node name="PlayerStart" parent="." index="3"] -position = Vector2( 147, 18 ) +position = Vector2( 50, 131 ) -[node name="Hitbox_Component" parent="." index="4" instance=ExtResource( 3 )] -damage_amount = 10 - -[node name="ColorRect" type="ColorRect" parent="Hitbox_Component" index="0"] -margin_left = 208.0 -margin_top = 41.0 -margin_right = 218.0 -margin_bottom = 50.0 -color = Color( 1, 0, 0, 1 ) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox_Component" index="1"] -modulate = Color( 1, 0, 0, 1 ) -position = Vector2( 213, 45 ) -shape = SubResource( 1 ) - -[node name="EnterLeft" type="Position2D" parent="." index="5"] +[node name="EnterLeft" type="Position2D" parent="." index="4"] position = Vector2( -13, 28 ) -[node name="LevelTransition" parent="." index="6" instance=ExtResource( 4 )] +[node name="LevelTransition" parent="." index="5" instance=ExtResource( 4 )] position = Vector2( -12, 31 ) _transition_type = "door_left" _destination_level = "res://src/levels/TestBox.tscn" @@ -61,11 +46,23 @@ __meta__ = { "_edit_lock_": true } +[node name="LevelTransition2" parent="." index="6" instance=ExtResource( 4 )] +position = Vector2( 332, 31 ) +_destination_level = "res://src/levels/TestBox.tscn" +_destination_position_name = "EnterRight" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="LevelTransition2" index="0"] +modulate = Color( 1, 0, 1, 1 ) +shape = SubResource( 2 ) +__meta__ = { +"_edit_lock_": true +} + [node name="Camera Bounds" parent="." index="7"] tile_data = PoolIntArray( -65536, 0, 0, -65521, 0, 0, 65535, 0, 0, 16, 0, 0, 524287, 0, 0, 458768, 0, 0, 589824, 0, 0, 589839, 0, 0 ) [node name="Modifier_Component" parent="." index="8" instance=ExtResource( 6 )] -position = Vector2( 248, 115 ) +position = Vector2( 162, 141 ) modifier = ExtResource( 5 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="Modifier_Component" index="0"] @@ -75,8 +72,9 @@ shape = SubResource( 3 ) margin_left = 78.0 margin_top = 9.0 margin_right = 244.0 -margin_bottom = 25.0 +margin_bottom = 41.0 theme = ExtResource( 7 ) -text = "The floor is slippy" +text = "Test chamber 01: +The floor is slippy" align = 1 valign = 1