Modifies over levels doable again.

This commit is contained in:
Dustin 2025-05-10 15:44:18 -07:00
parent 371e508293
commit 1e5cf79f15
6 changed files with 35 additions and 31 deletions

View File

@ -140,6 +140,7 @@ 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:
if debug_component:
print("Registered Modifier Movement: ", _merged_modifier.horizontal_speed)
modifier = _merged_modifier

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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 ) ]

View File

@ -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