[gd_scene load_steps=91 format=3 uid="uid://yvp44oauis4n"] [ext_resource type="Script" uid="uid://c1fqj3lba7wik" path="res://player/player.gd" id="1_yw30f"] [ext_resource type="Texture2D" uid="uid://cjruk5xlt3tyn" path="res://ennemy/MechantVol.png" id="2_ebec5"] [ext_resource type="Texture2D" uid="uid://dxsbbcagqkiid" path="res://player/assets/RunArmeEpee.png" id="2_hg6s5"] [ext_resource type="SpriteFrames" uid="uid://i6035vm5ited" path="res://player/armored_spritesheet.tres" id="2_qjkh3"] [ext_resource type="Texture2D" uid="uid://dv7jhtoptk12r" path="res://player/assets/Danse.png" id="3_hg6s5"] [ext_resource type="Texture2D" uid="uid://dwn548x0n4bpd" path="res://player/assets/Outch.png" id="3_rgyib"] [ext_resource type="Texture2D" uid="uid://d2rfo6ilwusak" path="res://player/assets/Stab .png" id="4_8t03j"] [ext_resource type="Texture2D" uid="uid://dr5ypp4q8n2xm" path="res://player/assets/DebutIdle.png" id="4_rgyib"] [ext_resource type="Texture2D" uid="uid://dsxvqsh3umw01" path="res://player/assets/RunCycle.png" id="5_boad6"] [ext_resource type="PackedScene" uid="uid://djwoetcyvvofc" path="res://damageable/damageable.tscn" id="5_g6k8r"] [ext_resource type="Shape2D" uid="uid://6rhdwj5jxbxn" path="res://player/player_collision.tres" id="5_qjkh3"] [ext_resource type="Texture2D" uid="uid://bhrqdo0cadpf4" path="res://player/assets/IdleArmes.png" id="6_s7qer"] [ext_resource type="Texture2D" uid="uid://dw6tn0grt2ajc" path="res://player/assets/WalkCycle.png" id="10_yllr7"] [ext_resource type="PackedScene" uid="uid://7sqwi3lygb1u" path="res://damageable/hitbox.tscn" id="11_2ieo8"] [ext_resource type="AudioStream" uid="uid://cw85p1vga71gf" path="res://world_assets/audio/443275__loscolt890__regularfootstep001.wav" id="14_32hag"] [ext_resource type="AudioStream" uid="uid://dui2a6u3ulit4" path="res://world_assets/audio/443279__loscolt890__regularfootstep003.wav" id="15_tqiix"] [ext_resource type="AudioStream" uid="uid://b5r486lhi7jnj" path="res://world_assets/audio/443280__loscolt890__regularfootstep002.wav" id="16_e7oew"] [ext_resource type="AudioStream" uid="uid://brkkvx06htfsi" path="res://world_assets/audio/gearuparmor.wav" id="17_c35mf"] [ext_resource type="AudioStream" uid="uid://d2ic760ktymkc" path="res://world_assets/audio/gearupsword.wav" id="18_65viv"] [ext_resource type="AudioStream" uid="uid://bx1m1b8l5j0cc" path="res://world_assets/audio/gearupshield.wav" id="19_x7c3f"] [ext_resource type="AudioStream" uid="uid://k3nqsuybwrlf" path="res://world_assets/audio/swordhit2.wav" id="20_x7c3f"] [ext_resource type="AudioStream" uid="uid://c4crs3etujcdo" path="res://world_assets/audio/swordhit.wav" id="21_bjvpn"] [ext_resource type="AudioStream" uid="uid://cwnf4q8286apo" path="res://world_assets/audio/446013__slavicmagic__sword-hit.wav" id="22_bjvpn"] [sub_resource type="AtlasTexture" id="AtlasTexture_3dxkp"] atlas = ExtResource("2_ebec5") region = Rect2(64, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_6wior"] atlas = ExtResource("2_ebec5") region = Rect2(96, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_p5tca"] atlas = ExtResource("2_ebec5") region = Rect2(0, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_jbx34"] atlas = ExtResource("2_ebec5") region = Rect2(32, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_s3g0c"] atlas = ExtResource("2_ebec5") region = Rect2(64, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_35wys"] atlas = ExtResource("2_ebec5") region = Rect2(96, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_pjwc4"] atlas = ExtResource("2_ebec5") region = Rect2(128, 0, 32, 32) [sub_resource type="SpriteFrames" id="SpriteFrames_or4qq"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_3dxkp") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_6wior") }], "loop": true, "name": &"idle", "speed": 2.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_p5tca") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_jbx34") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_s3g0c") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_35wys") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_pjwc4") }], "loop": false, "name": &"power_up", "speed": 4.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_3dxkp") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_6wior") }], "loop": true, "name": &"run", "speed": 2.0 }] [sub_resource type="AtlasTexture" id="AtlasTexture_tqiix"] atlas = ExtResource("3_hg6s5") region = Rect2(0, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_e7oew"] atlas = ExtResource("3_hg6s5") region = Rect2(32, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_c35mf"] atlas = ExtResource("3_hg6s5") region = Rect2(64, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_65viv"] atlas = ExtResource("3_hg6s5") region = Rect2(96, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_x7c3f"] atlas = ExtResource("3_hg6s5") region = Rect2(128, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_bjvpn"] atlas = ExtResource("3_hg6s5") region = Rect2(160, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_s7qer"] atlas = ExtResource("3_hg6s5") region = Rect2(192, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_ge24q"] atlas = ExtResource("3_hg6s5") region = Rect2(224, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_pnw6m"] atlas = ExtResource("3_hg6s5") region = Rect2(256, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_1so5t"] atlas = ExtResource("3_hg6s5") region = Rect2(288, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_55jnj"] atlas = ExtResource("3_hg6s5") region = Rect2(320, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_dx5ib"] atlas = ExtResource("3_hg6s5") region = Rect2(352, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_a2xo5"] atlas = ExtResource("3_hg6s5") region = Rect2(384, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_art4l"] atlas = ExtResource("3_hg6s5") region = Rect2(416, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_hg6s5"] atlas = ExtResource("3_rgyib") region = Rect2(0, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_8t03j"] atlas = ExtResource("3_rgyib") region = Rect2(32, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_jfgyi"] atlas = ExtResource("4_8t03j") region = Rect2(0, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_237xx"] atlas = ExtResource("4_8t03j") region = Rect2(32, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_wpyo2"] atlas = ExtResource("4_8t03j") region = Rect2(64, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_7crtr"] atlas = ExtResource("4_8t03j") region = Rect2(96, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_vgvch"] atlas = ExtResource("4_8t03j") region = Rect2(128, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_a1u5o"] atlas = ExtResource("4_8t03j") region = Rect2(160, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_j3r50"] atlas = ExtResource("6_s7qer") region = Rect2(0, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_utr5e"] atlas = ExtResource("6_s7qer") region = Rect2(32, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_yllr7"] atlas = ExtResource("2_hg6s5") region = Rect2(0, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_kb6p2"] atlas = ExtResource("2_hg6s5") region = Rect2(32, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_fjxoa"] atlas = ExtResource("2_hg6s5") region = Rect2(64, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_gswnw"] atlas = ExtResource("2_hg6s5") region = Rect2(96, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_xcnuv"] atlas = ExtResource("2_hg6s5") region = Rect2(128, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_j55il"] atlas = ExtResource("2_hg6s5") region = Rect2(160, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_hjies"] atlas = ExtResource("2_hg6s5") region = Rect2(192, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_mmwog"] atlas = ExtResource("2_hg6s5") region = Rect2(224, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_8pxes"] atlas = ExtResource("2_hg6s5") region = Rect2(256, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_fmu53"] atlas = ExtResource("2_hg6s5") region = Rect2(288, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_w7j2h"] atlas = ExtResource("2_hg6s5") region = Rect2(320, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_n0b8q"] atlas = ExtResource("2_hg6s5") region = Rect2(352, 0, 32, 32) [sub_resource type="SpriteFrames" id="SpriteFrames_jfgyi"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_tqiix") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_e7oew") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_c35mf") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_65viv") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_x7c3f") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_bjvpn") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_s7qer") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_ge24q") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_pnw6m") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_1so5t") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_55jnj") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_dx5ib") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_a2xo5") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_art4l") }], "loop": true, "name": &"dance", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_hg6s5") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_8t03j") }], "loop": true, "name": &"got_hit", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_jfgyi") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_237xx") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_wpyo2") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_7crtr") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_vgvch") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_a1u5o") }], "loop": false, "name": &"hit", "speed": 12.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_j3r50") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_utr5e") }], "loop": true, "name": &"idle", "speed": 2.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_yllr7") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_kb6p2") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_fjxoa") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_gswnw") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_xcnuv") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_j55il") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_hjies") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_mmwog") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_8pxes") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_fmu53") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_w7j2h") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_n0b8q") }], "loop": true, "name": &"run", "speed": 14.0 }] [sub_resource type="AtlasTexture" id="AtlasTexture_wodsf"] atlas = ExtResource("4_rgyib") region = Rect2(0, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_32hag"] atlas = ExtResource("4_rgyib") region = Rect2(32, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_g4c7l"] atlas = ExtResource("5_boad6") region = Rect2(0, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_knn7v"] atlas = ExtResource("5_boad6") region = Rect2(32, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_7pqkx"] atlas = ExtResource("5_boad6") region = Rect2(64, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_uw77l"] atlas = ExtResource("5_boad6") region = Rect2(96, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_rptt4"] atlas = ExtResource("5_boad6") region = Rect2(128, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_r7pn3"] atlas = ExtResource("5_boad6") region = Rect2(160, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_b8hi5"] atlas = ExtResource("5_boad6") region = Rect2(192, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_2uvqg"] atlas = ExtResource("5_boad6") region = Rect2(224, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_1s1yo"] atlas = ExtResource("5_boad6") region = Rect2(256, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_5ejfk"] atlas = ExtResource("5_boad6") region = Rect2(288, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_jd2rm"] atlas = ExtResource("5_boad6") region = Rect2(320, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_q28gw"] atlas = ExtResource("5_boad6") region = Rect2(352, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_or4qq"] atlas = ExtResource("10_yllr7") region = Rect2(0, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_hggc2"] atlas = ExtResource("10_yllr7") region = Rect2(32, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_b2j0d"] atlas = ExtResource("10_yllr7") region = Rect2(64, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_7l6ig"] atlas = ExtResource("10_yllr7") region = Rect2(96, 0, 32, 32) [sub_resource type="SpriteFrames" id="SpriteFrames_mmwog"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_tqiix") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_e7oew") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_c35mf") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_65viv") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_x7c3f") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_bjvpn") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_s7qer") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_ge24q") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_pnw6m") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_1so5t") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_55jnj") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_dx5ib") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_a2xo5") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_art4l") }], "loop": true, "name": &"dance", "speed": 6.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_hg6s5") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_8t03j") }], "loop": true, "name": &"got_hit", "speed": 8.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_wodsf") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_32hag") }], "loop": true, "name": &"idle", "speed": 3.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_g4c7l") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_knn7v") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_7pqkx") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_uw77l") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_rptt4") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_r7pn3") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_b8hi5") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_2uvqg") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_1s1yo") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_5ejfk") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_jd2rm") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_q28gw") }], "loop": true, "name": &"run", "speed": 14.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_or4qq") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_hggc2") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_b2j0d") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_7l6ig") }], "loop": true, "name": &"walk", "speed": 4.0 }] [sub_resource type="CircleShape2D" id="CircleShape2D_ebec5"] [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_c35mf"] streams_count = 3 stream_0/stream = ExtResource("14_32hag") stream_1/stream = ExtResource("15_tqiix") stream_2/stream = ExtResource("16_e7oew") [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_s7qer"] streams_count = 2 stream_0/stream = ExtResource("20_x7c3f") stream_1/stream = ExtResource("21_bjvpn") [node name="Player" type="CharacterBody2D"] collision_layer = 3 script = ExtResource("1_yw30f") speed = 180.0 acceleration = 0.177 [node name="AudioListener2D" type="AudioListener2D" parent="."] current = true [node name="Armor" type="AnimatedSprite2D" parent="."] visible = false position = Vector2(0, -16) sprite_frames = SubResource("SpriteFrames_or4qq") animation = &"run" autoplay = "power_up" [node name="Sword" type="AnimatedSprite2D" parent="."] visible = false position = Vector2(0, -16) sprite_frames = SubResource("SpriteFrames_jfgyi") animation = &"idle" autoplay = "idle" [node name="Shield" type="AnimatedSprite2D" parent="."] visible = false position = Vector2(0, -16) sprite_frames = ExtResource("2_qjkh3") animation = &"dance" autoplay = "idle" [node name="Base" type="AnimatedSprite2D" parent="."] position = Vector2(0, -16) sprite_frames = SubResource("SpriteFrames_mmwog") animation = &"walk" autoplay = "idle" [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(0, -13) shape = ExtResource("5_qjkh3") [node name="Damageable" parent="." instance=ExtResource("5_g6k8r")] hitback_velocity = 400.0 [node name="Hitting" type="Timer" parent="."] wait_time = 0.5 one_shot = true [node name="Hitbox" parent="." instance=ExtResource("11_2ieo8")] position = Vector2(2, -1) monitoring = false monitorable = false damage = 10 [node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] position = Vector2(16, -10) shape = SubResource("CircleShape2D_ebec5") [node name="StepsPlayer" type="AudioStreamPlayer" parent="."] stream = SubResource("AudioStreamRandomizer_c35mf") bus = &"Steps" [node name="GearupArmor" type="AudioStreamPlayer" parent="."] stream = ExtResource("17_c35mf") bus = &"Gearup" [node name="GearupSword" type="AudioStreamPlayer" parent="."] stream = ExtResource("18_65viv") bus = &"Gearup" [node name="GearupShield" type="AudioStreamPlayer" parent="."] stream = ExtResource("19_x7c3f") bus = &"Gearup" [node name="SwordHit" type="AudioStreamPlayer" parent="."] stream = SubResource("AudioStreamRandomizer_s7qer") bus = &"SFX" [node name="StepSoundInterval" type="Timer" parent="."] wait_time = 0.5 autostart = true [node name="GotHitAudio" type="AudioStreamPlayer" parent="."] stream = ExtResource("22_bjvpn") bus = &"SFX" [connection signal="got_hit" from="Damageable" to="." method="_on_damageable_got_hit"] [connection signal="timeout" from="Hitting" to="." method="_on_hitting_timeout"] [connection signal="timeout" from="StepSoundInterval" to="." method="_on_step_sound_interval_timeout"]