diff --git a/gmtk_2024/levels/level_1.tscn b/gmtk_2024/levels/level_1.tscn index eaf8680..7da39d1 100644 --- a/gmtk_2024/levels/level_1.tscn +++ b/gmtk_2024/levels/level_1.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=4 uid="uid://ctc0arg3efa5k"] +[gd_scene load_steps=13 format=4 uid="uid://ctc0arg3efa5k"] [ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_87xn7"] [ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="2_wqskp"] @@ -8,6 +8,7 @@ [ext_resource type="PackedScene" uid="uid://cpa66thuxma15" path="res://objects/MirrorOrb.tscn" id="7_dyi0e"] [ext_resource type="PackedScene" uid="uid://br6fngf5208j0" path="res://objects/ResizableBlock.tscn" id="8_ec71m"] [ext_resource type="PackedScene" uid="uid://d17jpcgayfg6i" path="res://objects/BoxPushable_1.tscn" id="8_o0q03"] +[ext_resource type="PackedScene" uid="uid://biaxahxft1xo0" path="res://objects/box_pushable_2.tscn" id="9_swmgt"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_e817v"] texture = ExtResource("2_wqskp") @@ -128,10 +129,10 @@ shader_parameter/scroll_speed = 0.02 [node name="Player" parent="." index="0"] position = Vector2(-542, 331) +jump_strength_max = 400 [node name="UI" parent="UILayer" index="0"] mouse_filter = 2 -scale_duration = 0.5 [node name="HBoxContainer" parent="UILayer/UI" index="0"] mouse_filter = 0 @@ -174,3 +175,6 @@ collision_layer = 1 [node name="BoxPushable1" parent="." index="10" instance=ExtResource("8_o0q03")] position = Vector2(-228, 320) + +[node name="BoxPushable2" parent="." index="11" instance=ExtResource("9_swmgt")] +position = Vector2(40, 309) diff --git a/gmtk_2024/objects/BoxPushable_1.tscn b/gmtk_2024/objects/BoxPushable_1.tscn index 25fe8f9..0339c41 100644 --- a/gmtk_2024/objects/BoxPushable_1.tscn +++ b/gmtk_2024/objects/BoxPushable_1.tscn @@ -8,7 +8,7 @@ size = Vector2(34, 32) [node name="BoxPushable1" type="CharacterBody2D"] collision_layer = 16 -collision_mask = 5 +collision_mask = 21 script = ExtResource("1_tf1fy") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] diff --git a/gmtk_2024/objects/box_pushable_2.tscn b/gmtk_2024/objects/box_pushable_2.tscn new file mode 100644 index 0000000..0a91d48 --- /dev/null +++ b/gmtk_2024/objects/box_pushable_2.tscn @@ -0,0 +1,7 @@ +[gd_scene load_steps=2 format=3 uid="uid://biaxahxft1xo0"] + +[ext_resource type="PackedScene" uid="uid://d17jpcgayfg6i" path="res://objects/BoxPushable_1.tscn" id="1_pnjdf"] + +[node name="BoxPushable1" instance=ExtResource("1_pnjdf")] +scale = Vector2(2, 2) +collision_mask = 21 diff --git a/gmtk_2024/scripts/player_movement.gd b/gmtk_2024/scripts/player_movement.gd index 68cf2c6..0922202 100644 --- a/gmtk_2024/scripts/player_movement.gd +++ b/gmtk_2024/scripts/player_movement.gd @@ -4,6 +4,7 @@ extends CharacterBody2D @export var gravity = 50 var jump_count = 1 @export var jump_strength = 100 +@export var jump_strength_max = 300 var is_touching_floor : bool = true var jump_buffer_timer : float var coyote_timer : float = 0.2 # 200 millisecond buffer @@ -58,12 +59,19 @@ func _physics_process(delta): if(get_slide_collision_count() > 0): for i in get_slide_collision_count(): var box = get_slide_collision(i).get_collider() as Box - if box and velocity.y >= 0: - box.velocity.x = velocity.x*0.8 + if scale.x == 2: + if box and velocity.y >= 0: + box.velocity.x = velocity.x*0.8 + else: + if box and velocity.y >= 0 and box.scale.x < 2: + box.velocity.x = velocity.x*0.8 # print(jump_count) # Uncomment for debugging func Jump(): - velocity.y = -1 * jump_strength + if scale.x == 1: + velocity.y = -1 * jump_strength + elif scale.x == 2: + velocity.y = -1 * jump_strength_max jump_count = 0 is_touching_floor = false