commit 4adafe5813c45e2256b97bc49186aa1bea5d29c2 Author: Sameer Rahmani Date: Fri Mar 12 21:58:20 2021 +0000 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..65378ba --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +build/ +*~ +# Godot-specific ignores +.import/ +export.cfg +export_presets.cfg + +# Imported translations (automatically generated from CSV files) +*.translation + +# Mono-specific ignores +.mono/ +data_*/ \ No newline at end of file diff --git a/Effects/EnemyDeathEffect.png b/Effects/EnemyDeathEffect.png new file mode 100644 index 0000000..bd84ac3 Binary files /dev/null and b/Effects/EnemyDeathEffect.png differ diff --git a/Effects/EnemyDeathEffect.png.import b/Effects/EnemyDeathEffect.png.import new file mode 100644 index 0000000..33df814 --- /dev/null +++ b/Effects/EnemyDeathEffect.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/EnemyDeathEffect.png-b5f2aceef00ffbc3c194806ee7af6666.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Effects/EnemyDeathEffect.png" +dest_files=[ "res://.import/EnemyDeathEffect.png-b5f2aceef00ffbc3c194806ee7af6666.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Effects/GrassEffect.png b/Effects/GrassEffect.png new file mode 100644 index 0000000..6a6a7b5 Binary files /dev/null and b/Effects/GrassEffect.png differ diff --git a/Effects/GrassEffect.png.import b/Effects/GrassEffect.png.import new file mode 100644 index 0000000..7430c27 --- /dev/null +++ b/Effects/GrassEffect.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/GrassEffect.png-e13c4c94a67cb5ef9b389379ed46bf17.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Effects/GrassEffect.png" +dest_files=[ "res://.import/GrassEffect.png-e13c4c94a67cb5ef9b389379ed46bf17.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Effects/HitEffect.png b/Effects/HitEffect.png new file mode 100644 index 0000000..00cb804 Binary files /dev/null and b/Effects/HitEffect.png differ diff --git a/Effects/HitEffect.png.import b/Effects/HitEffect.png.import new file mode 100644 index 0000000..32d5d0a --- /dev/null +++ b/Effects/HitEffect.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/HitEffect.png-4a350a9d7635dd7543954c4499aead9c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Effects/HitEffect.png" +dest_files=[ "res://.import/HitEffect.png-4a350a9d7635dd7543954c4499aead9c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Enemies/Bat.png b/Enemies/Bat.png new file mode 100644 index 0000000..0f25495 Binary files /dev/null and b/Enemies/Bat.png differ diff --git a/Enemies/Bat.png.import b/Enemies/Bat.png.import new file mode 100644 index 0000000..fc3811b --- /dev/null +++ b/Enemies/Bat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Bat.png-38405154cd5b8ff1c5e2fcf1cef1c3e6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Enemies/Bat.png" +dest_files=[ "res://.import/Bat.png-38405154cd5b8ff1c5e2fcf1cef1c3e6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Music and Sounds/EnemyDie.wav b/Music and Sounds/EnemyDie.wav new file mode 100644 index 0000000..59a6fa9 Binary files /dev/null and b/Music and Sounds/EnemyDie.wav differ diff --git a/Music and Sounds/EnemyDie.wav.import b/Music and Sounds/EnemyDie.wav.import new file mode 100644 index 0000000..d98cd49 --- /dev/null +++ b/Music and Sounds/EnemyDie.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/EnemyDie.wav-a486c87c5ffce10facfdaf6e118ee22d.sample" + +[deps] + +source_file="res://Music and Sounds/EnemyDie.wav" +dest_files=[ "res://.import/EnemyDie.wav-a486c87c5ffce10facfdaf6e118ee22d.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/Music and Sounds/Evade.wav b/Music and Sounds/Evade.wav new file mode 100644 index 0000000..62699ee Binary files /dev/null and b/Music and Sounds/Evade.wav differ diff --git a/Music and Sounds/Evade.wav.import b/Music and Sounds/Evade.wav.import new file mode 100644 index 0000000..942ab25 --- /dev/null +++ b/Music and Sounds/Evade.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/Evade.wav-cd612618661f05b5e39dccebc8901a0b.sample" + +[deps] + +source_file="res://Music and Sounds/Evade.wav" +dest_files=[ "res://.import/Evade.wav-cd612618661f05b5e39dccebc8901a0b.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/Music and Sounds/Hit.wav b/Music and Sounds/Hit.wav new file mode 100644 index 0000000..f528321 Binary files /dev/null and b/Music and Sounds/Hit.wav differ diff --git a/Music and Sounds/Hit.wav.import b/Music and Sounds/Hit.wav.import new file mode 100644 index 0000000..98a9c42 --- /dev/null +++ b/Music and Sounds/Hit.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/Hit.wav-0fa8d06aa64f0c3d5cf8be50a2076760.sample" + +[deps] + +source_file="res://Music and Sounds/Hit.wav" +dest_files=[ "res://.import/Hit.wav-0fa8d06aa64f0c3d5cf8be50a2076760.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/Music and Sounds/Hurt.wav b/Music and Sounds/Hurt.wav new file mode 100644 index 0000000..1d772f0 Binary files /dev/null and b/Music and Sounds/Hurt.wav differ diff --git a/Music and Sounds/Hurt.wav.import b/Music and Sounds/Hurt.wav.import new file mode 100644 index 0000000..528f884 --- /dev/null +++ b/Music and Sounds/Hurt.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/Hurt.wav-9a8feff0886efa16ed78b7703de45922.sample" + +[deps] + +source_file="res://Music and Sounds/Hurt.wav" +dest_files=[ "res://.import/Hurt.wav-9a8feff0886efa16ed78b7703de45922.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/Music and Sounds/Menu Move.wav b/Music and Sounds/Menu Move.wav new file mode 100644 index 0000000..33234ce Binary files /dev/null and b/Music and Sounds/Menu Move.wav differ diff --git a/Music and Sounds/Menu Move.wav.import b/Music and Sounds/Menu Move.wav.import new file mode 100644 index 0000000..b8b69d5 --- /dev/null +++ b/Music and Sounds/Menu Move.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/Menu Move.wav-d97a887eeb77e9f82d0179618aff26aa.sample" + +[deps] + +source_file="res://Music and Sounds/Menu Move.wav" +dest_files=[ "res://.import/Menu Move.wav-d97a887eeb77e9f82d0179618aff26aa.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/Music and Sounds/Menu Select.wav b/Music and Sounds/Menu Select.wav new file mode 100644 index 0000000..acc6ffa Binary files /dev/null and b/Music and Sounds/Menu Select.wav differ diff --git a/Music and Sounds/Menu Select.wav.import b/Music and Sounds/Menu Select.wav.import new file mode 100644 index 0000000..6e8e13f --- /dev/null +++ b/Music and Sounds/Menu Select.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/Menu Select.wav-cf35ab6ee2afc13096e6bf584e78dcaf.sample" + +[deps] + +source_file="res://Music and Sounds/Menu Select.wav" +dest_files=[ "res://.import/Menu Select.wav-cf35ab6ee2afc13096e6bf584e78dcaf.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/Music and Sounds/Pause.wav b/Music and Sounds/Pause.wav new file mode 100644 index 0000000..29af819 Binary files /dev/null and b/Music and Sounds/Pause.wav differ diff --git a/Music and Sounds/Pause.wav.import b/Music and Sounds/Pause.wav.import new file mode 100644 index 0000000..260e700 --- /dev/null +++ b/Music and Sounds/Pause.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/Pause.wav-2283faeb42b74e3f6e4809669cc9a8ab.sample" + +[deps] + +source_file="res://Music and Sounds/Pause.wav" +dest_files=[ "res://.import/Pause.wav-2283faeb42b74e3f6e4809669cc9a8ab.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/Music and Sounds/Swipe.wav b/Music and Sounds/Swipe.wav new file mode 100644 index 0000000..086667d Binary files /dev/null and b/Music and Sounds/Swipe.wav differ diff --git a/Music and Sounds/Swipe.wav.import b/Music and Sounds/Swipe.wav.import new file mode 100644 index 0000000..f7573e7 --- /dev/null +++ b/Music and Sounds/Swipe.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/Swipe.wav-1b0f341b1727da219872e70c921da651.sample" + +[deps] + +source_file="res://Music and Sounds/Swipe.wav" +dest_files=[ "res://.import/Swipe.wav-1b0f341b1727da219872e70c921da651.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/Music and Sounds/Unpause.wav b/Music and Sounds/Unpause.wav new file mode 100644 index 0000000..74c45e0 Binary files /dev/null and b/Music and Sounds/Unpause.wav differ diff --git a/Music and Sounds/Unpause.wav.import b/Music and Sounds/Unpause.wav.import new file mode 100644 index 0000000..3ef0238 --- /dev/null +++ b/Music and Sounds/Unpause.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/Unpause.wav-804d58e6ee88c8f6467ca3b5bea5857f.sample" + +[deps] + +source_file="res://Music and Sounds/Unpause.wav" +dest_files=[ "res://.import/Unpause.wav-804d58e6ee88c8f6467ca3b5bea5857f.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/Player/.#player.gd b/Player/.#player.gd new file mode 120000 index 0000000..e8942d8 --- /dev/null +++ b/Player/.#player.gd @@ -0,0 +1 @@ +lxsameer@ou.767:1609785721 \ No newline at end of file diff --git a/Player/Player.png b/Player/Player.png new file mode 100644 index 0000000..6c7ff1b Binary files /dev/null and b/Player/Player.png differ diff --git a/Player/Player.png.import b/Player/Player.png.import new file mode 100644 index 0000000..a06b4b7 --- /dev/null +++ b/Player/Player.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Player.png-3d0801c65bdfc563657cfa304115f1c7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Player/Player.png" +dest_files=[ "res://.import/Player.png-3d0801c65bdfc563657cfa304115f1c7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Player/player.gd b/Player/player.gd new file mode 100644 index 0000000..31274b2 --- /dev/null +++ b/Player/player.gd @@ -0,0 +1,66 @@ +extends KinematicBody2D + +const FRICTION = 800 +const ACCL = 300 +const MAX_SPEED = 100 + +enum { + MOVE, + ROLL, + ATTACK, +} + +var state = MOVE +var velocity = Vector2.ZERO + +onready var animation_tree = $AnimationTree +onready var animation_state = animation_tree.get("parameters/playback") + +func _ready(): + animation_tree.active = true + +func _physics_process(delta): + match state: + MOVE: + move(delta) + ROLL: + roll() + ATTACK: + attack() + + +func roll(): + pass + +func attack(): + # don't slide and attack + velocity = Vector2.ZERO + animation_state.travel("Attack") + + +# I call this call back in a track on each attack animation +func attack_finished(): + state = MOVE + +func move(delta): + var input_velocity = Vector2.ZERO + + input_velocity.x = Input.get_action_strength("ui_right") - Input.get_action_strength("ui_left") + input_velocity.y = Input.get_action_strength("ui_down") - Input.get_action_strength("ui_up") + input_velocity = input_velocity.normalized() + + if input_velocity != Vector2.ZERO: + animation_tree.set("parameters/Idle/blend_position", input_velocity) + animation_tree.set("parameters/Run/blend_position", input_velocity) + animation_tree.set("parameters/Attack/blend_position", input_velocity) + animation_state.travel("Run") + + velocity = velocity.move_toward(input_velocity * MAX_SPEED, ACCL * delta) + else: + animation_state.travel("Idle") + velocity = velocity.move_toward(Vector2.ZERO, FRICTION * delta) + + velocity = move_and_slide(velocity) + + if Input.is_action_just_pressed("ui_attack"): + state = ATTACK diff --git a/Player/player.tscn b/Player/player.tscn new file mode 100644 index 0000000..6bc3e58 --- /dev/null +++ b/Player/player.tscn @@ -0,0 +1,385 @@ +[gd_scene load_steps=37 format=2] + +[ext_resource path="res://Player/player.gd" type="Script" id=1] +[ext_resource path="res://Player/Player.png" type="Texture" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 3.21513 +height = 3.37022 + +[sub_resource type="Animation" id=35] +resource_name = "AttackDown" +length = 0.4 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 1, +"values": [ 36, 37, 38, 39 ] +} +tracks/1/type = "method" +tracks/1/path = NodePath(".") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0.4 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "attack_finished" +} ] +} + +[sub_resource type="Animation" id=36] +resource_name = "AttackLeft" +length = 0.4 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 1, +"values": [ 32, 33, 34, 35 ] +} +tracks/1/type = "method" +tracks/1/path = NodePath(".") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0.4 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "attack_finished" +} ] +} + +[sub_resource type="Animation" id=37] +resource_name = "AttackRight" +length = 0.4 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 1, +"values": [ 24, 25, 26, 27 ] +} +tracks/1/type = "method" +tracks/1/path = NodePath(".") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0.4 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "attack_finished" +} ] +} + +[sub_resource type="Animation" id=38] +resource_name = "AttackUp" +length = 0.4 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 1, +"values": [ 28, 29, 30, 31 ] +} +tracks/1/type = "method" +tracks/1/path = NodePath(".") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0.4 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "attack_finished" +} ] +} + +[sub_resource type="Animation" id=39] +length = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 18 ] +} + +[sub_resource type="Animation" id=40] +length = 0.1 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 12 ] +} + +[sub_resource type="Animation" id=41] +length = 0.1 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 0 ] +} + +[sub_resource type="Animation" id=42] +length = 0.1 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 6 ] +} + +[sub_resource type="Animation" id=43] +length = 0.6 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), +"update": 1, +"values": [ 19, 20, 21, 22, 23, 18 ] +} + +[sub_resource type="Animation" id=44] +length = 0.6 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), +"update": 1, +"values": [ 13, 14, 15, 16, 17, 12 ] +} + +[sub_resource type="Animation" id=45] +length = 0.6 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), +"update": 1, +"values": [ 1, 2, 3, 4, 5, 0 ] +} + +[sub_resource type="Animation" id=46] +length = 0.6 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), +"update": 0, +"values": [ 7, 8, 9, 10, 11, 6 ] +} + +[sub_resource type="AnimationNodeAnimation" id=28] +animation = "AttackLeft" + +[sub_resource type="AnimationNodeAnimation" id=29] +animation = "AttackDown" + +[sub_resource type="AnimationNodeAnimation" id=30] +animation = "AttackRight" + +[sub_resource type="AnimationNodeAnimation" id=31] +animation = "AttackUp" + +[sub_resource type="AnimationNodeBlendSpace2D" id=32] +blend_point_0/node = SubResource( 28 ) +blend_point_0/pos = Vector2( -1, 0 ) +blend_point_1/node = SubResource( 29 ) +blend_point_1/pos = Vector2( 0, 1.1 ) +blend_point_2/node = SubResource( 30 ) +blend_point_2/pos = Vector2( 1, 0 ) +blend_point_3/node = SubResource( 31 ) +blend_point_3/pos = Vector2( 0, -1.1 ) +min_space = Vector2( -1, -1.1 ) +max_space = Vector2( 1, 1.1 ) +blend_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id=14] +animation = "IdleLeft" + +[sub_resource type="AnimationNodeAnimation" id=15] +animation = "IdleDown" + +[sub_resource type="AnimationNodeAnimation" id=16] +animation = "IdleRight" + +[sub_resource type="AnimationNodeAnimation" id=17] +animation = "IdleUp" + +[sub_resource type="AnimationNodeBlendSpace2D" id=18] +blend_point_0/node = SubResource( 14 ) +blend_point_0/pos = Vector2( -1, 0 ) +blend_point_1/node = SubResource( 15 ) +blend_point_1/pos = Vector2( 0, 1.1 ) +blend_point_2/node = SubResource( 16 ) +blend_point_2/pos = Vector2( 1, 0 ) +blend_point_3/node = SubResource( 17 ) +blend_point_3/pos = Vector2( 0, -1.1 ) +min_space = Vector2( -1, -1.1 ) +max_space = Vector2( 1, 1.1 ) +blend_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id=19] +animation = "RunLeft" + +[sub_resource type="AnimationNodeAnimation" id=20] +animation = "RunDown" + +[sub_resource type="AnimationNodeAnimation" id=21] +animation = "RunRight" + +[sub_resource type="AnimationNodeAnimation" id=22] +animation = "RunUp" + +[sub_resource type="AnimationNodeBlendSpace2D" id=23] +blend_point_0/node = SubResource( 19 ) +blend_point_0/pos = Vector2( -1, 0 ) +blend_point_1/node = SubResource( 20 ) +blend_point_1/pos = Vector2( 0, 1.1 ) +blend_point_2/node = SubResource( 21 ) +blend_point_2/pos = Vector2( 1, 0 ) +blend_point_3/node = SubResource( 22 ) +blend_point_3/pos = Vector2( 0, -1.1 ) +min_space = Vector2( -1, -1.1 ) +max_space = Vector2( 1, 1.1 ) +blend_mode = 1 + +[sub_resource type="AnimationNodeStateMachineTransition" id=24] + +[sub_resource type="AnimationNodeStateMachineTransition" id=25] + +[sub_resource type="AnimationNodeStateMachineTransition" id=33] + +[sub_resource type="AnimationNodeStateMachineTransition" id=34] + +[sub_resource type="AnimationNodeStateMachine" id=26] +states/Attack/node = SubResource( 32 ) +states/Attack/position = Vector2( 285, 201 ) +states/Idle/node = SubResource( 18 ) +states/Idle/position = Vector2( 285, 91 ) +states/Run/node = SubResource( 23 ) +states/Run/position = Vector2( 544, 91 ) +transitions = [ "Idle", "Run", SubResource( 24 ), "Run", "Idle", SubResource( 25 ), "Attack", "Idle", SubResource( 33 ), "Idle", "Attack", SubResource( 34 ) ] +start_node = "Idle" + +[sub_resource type="AnimationNodeStateMachinePlayback" id=27] + +[node name="player" type="KinematicBody2D"] +script = ExtResource( 1 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 0.5, -10 ) +texture = ExtResource( 2 ) +hframes = 60 +frame = 31 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = -1.5708 +shape = SubResource( 1 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/AttackDown = SubResource( 35 ) +anims/AttackLeft = SubResource( 36 ) +anims/AttackRight = SubResource( 37 ) +anims/AttackUp = SubResource( 38 ) +anims/IdleDown = SubResource( 39 ) +anims/IdleLeft = SubResource( 40 ) +anims/IdleRight = SubResource( 41 ) +anims/IdleUp = SubResource( 42 ) +anims/RunDown = SubResource( 43 ) +anims/RunLeft = SubResource( 44 ) +anims/RunRight = SubResource( 45 ) +anims/RunUp = SubResource( 46 ) + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource( 26 ) +anim_player = NodePath("../AnimationPlayer") +parameters/playback = SubResource( 27 ) +parameters/Attack/blend_position = Vector2( 0, 0 ) +parameters/Idle/blend_position = Vector2( 0, 0 ) +parameters/Run/blend_position = Vector2( 0, 0 ) diff --git a/Shadows/LargeShadow.png b/Shadows/LargeShadow.png new file mode 100644 index 0000000..dc28b74 Binary files /dev/null and b/Shadows/LargeShadow.png differ diff --git a/Shadows/LargeShadow.png.import b/Shadows/LargeShadow.png.import new file mode 100644 index 0000000..b7a6304 --- /dev/null +++ b/Shadows/LargeShadow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/LargeShadow.png-f9f465d3bd6a830d0053dcccc744b5ab.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Shadows/LargeShadow.png" +dest_files=[ "res://.import/LargeShadow.png-f9f465d3bd6a830d0053dcccc744b5ab.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Shadows/MediumShadow.png b/Shadows/MediumShadow.png new file mode 100644 index 0000000..5b96d88 Binary files /dev/null and b/Shadows/MediumShadow.png differ diff --git a/Shadows/MediumShadow.png.import b/Shadows/MediumShadow.png.import new file mode 100644 index 0000000..37aba0a --- /dev/null +++ b/Shadows/MediumShadow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/MediumShadow.png-a006169ce9c485f0f94bc7dc3bc8473f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Shadows/MediumShadow.png" +dest_files=[ "res://.import/MediumShadow.png-a006169ce9c485f0f94bc7dc3bc8473f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Shadows/SmallShadow.png b/Shadows/SmallShadow.png new file mode 100644 index 0000000..b10630a Binary files /dev/null and b/Shadows/SmallShadow.png differ diff --git a/Shadows/SmallShadow.png.import b/Shadows/SmallShadow.png.import new file mode 100644 index 0000000..16c994c --- /dev/null +++ b/Shadows/SmallShadow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/SmallShadow.png-5e32714e38d94da2c1b597c947bda29e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Shadows/SmallShadow.png" +dest_files=[ "res://.import/SmallShadow.png-5e32714e38d94da2c1b597c947bda29e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/UI/HeartUIEmpty.png b/UI/HeartUIEmpty.png new file mode 100644 index 0000000..cd18beb Binary files /dev/null and b/UI/HeartUIEmpty.png differ diff --git a/UI/HeartUIEmpty.png.import b/UI/HeartUIEmpty.png.import new file mode 100644 index 0000000..8c69d5f --- /dev/null +++ b/UI/HeartUIEmpty.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/HeartUIEmpty.png-417b0a6fe975644d9dba3671413f10e5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/HeartUIEmpty.png" +dest_files=[ "res://.import/HeartUIEmpty.png-417b0a6fe975644d9dba3671413f10e5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/UI/HeartUIFull.png b/UI/HeartUIFull.png new file mode 100644 index 0000000..65f109a Binary files /dev/null and b/UI/HeartUIFull.png differ diff --git a/UI/HeartUIFull.png.import b/UI/HeartUIFull.png.import new file mode 100644 index 0000000..21cce72 --- /dev/null +++ b/UI/HeartUIFull.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/HeartUIFull.png-e9d9ebbeee52aaa00895457d920c0f53.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/HeartUIFull.png" +dest_files=[ "res://.import/HeartUIFull.png-e9d9ebbeee52aaa00895457d920c0f53.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/World/Bush.png b/World/Bush.png new file mode 100644 index 0000000..a5234ee Binary files /dev/null and b/World/Bush.png differ diff --git a/World/Bush.png.import b/World/Bush.png.import new file mode 100644 index 0000000..09ab6ef --- /dev/null +++ b/World/Bush.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Bush.png-d93cca107fd3c67cf3a69a32232496ae.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://World/Bush.png" +dest_files=[ "res://.import/Bush.png-d93cca107fd3c67cf3a69a32232496ae.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/World/Bush.tscn b/World/Bush.tscn new file mode 100644 index 0000000..0fa65fb --- /dev/null +++ b/World/Bush.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://World/Bush.png" type="Texture" id=1] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 4.06571 +height = 15.2049 + +[node name="Bush" type="StaticBody2D"] + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 0, -5 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = -1.5708 +shape = SubResource( 1 ) diff --git a/World/CliffTileset.png b/World/CliffTileset.png new file mode 100644 index 0000000..bafe6d8 Binary files /dev/null and b/World/CliffTileset.png differ diff --git a/World/CliffTileset.png.import b/World/CliffTileset.png.import new file mode 100644 index 0000000..87ceda7 --- /dev/null +++ b/World/CliffTileset.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/CliffTileset.png-beb1369a7815e4e7ee0afe974b2636cf.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://World/CliffTileset.png" +dest_files=[ "res://.import/CliffTileset.png-beb1369a7815e4e7ee0afe974b2636cf.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/World/DirtTileset.png b/World/DirtTileset.png new file mode 100644 index 0000000..b8b8942 Binary files /dev/null and b/World/DirtTileset.png differ diff --git a/World/DirtTileset.png.import b/World/DirtTileset.png.import new file mode 100644 index 0000000..cd41beb --- /dev/null +++ b/World/DirtTileset.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/DirtTileset.png-4e52e2a032d2a3147ded644a2054b3ec.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://World/DirtTileset.png" +dest_files=[ "res://.import/DirtTileset.png-4e52e2a032d2a3147ded644a2054b3ec.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/World/Grass.png b/World/Grass.png new file mode 100644 index 0000000..483a328 Binary files /dev/null and b/World/Grass.png differ diff --git a/World/Grass.png.import b/World/Grass.png.import new file mode 100644 index 0000000..21bda78 --- /dev/null +++ b/World/Grass.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Grass.png-c8db04a845a94a62395b8fc264a498a7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://World/Grass.png" +dest_files=[ "res://.import/Grass.png-c8db04a845a94a62395b8fc264a498a7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/World/GrassBackground.png b/World/GrassBackground.png new file mode 100644 index 0000000..f145380 Binary files /dev/null and b/World/GrassBackground.png differ diff --git a/World/GrassBackground.png.import b/World/GrassBackground.png.import new file mode 100644 index 0000000..a00c1cb --- /dev/null +++ b/World/GrassBackground.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/GrassBackground.png-97f32375e80ccfc9d4addd18e4430882.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://World/GrassBackground.png" +dest_files=[ "res://.import/GrassBackground.png-97f32375e80ccfc9d4addd18e4430882.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/World/Tree.png b/World/Tree.png new file mode 100644 index 0000000..87fca56 Binary files /dev/null and b/World/Tree.png differ diff --git a/World/Tree.png.import b/World/Tree.png.import new file mode 100644 index 0000000..31552bd --- /dev/null +++ b/World/Tree.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Tree.png-14ac646b55f931abf82a3d71f0acdb7a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://World/Tree.png" +dest_files=[ "res://.import/Tree.png-14ac646b55f931abf82a3d71f0acdb7a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/World/Tree.tscn b/World/Tree.tscn new file mode 100644 index 0000000..52c4d16 --- /dev/null +++ b/World/Tree.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://World/Tree.png" type="Texture" id=1] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 4.17766 +height = 10.7677 + +[node name="Tree" type="StaticBody2D"] + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 0, -20 ) +texture = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 0.0787468, -0.062748 ) +rotation = -1.5708 +shape = SubResource( 1 ) diff --git a/default_env.tres b/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..c98fbb6 Binary files /dev/null and b/icon.png differ diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..c16cdba --- /dev/null +++ b/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..ee860d8 --- /dev/null +++ b/project.godot @@ -0,0 +1,63 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +_global_script_classes=[ ] +_global_script_class_icons={ + +} + +[application] + +config/name="Ex 1" +run/main_scene="res://world.tscn" +config/icon="res://icon.png" + +[display] + +window/size/width=320 +window/size/height=180 +window/size/test_width=1024 +window/size/test_height=768 +window/stretch/mode="2d" + +[importer_defaults] + +texture={ +"compress/bptc_ldr": 0, +"compress/hdr_mode": 0, +"compress/lossy_quality": 0.7, +"compress/mode": 0, +"compress/normal_map": 0, +"detect_3d": false, +"flags/anisotropic": false, +"flags/filter": false, +"flags/mipmaps": false, +"flags/repeat": 0, +"flags/srgb": 2, +"process/HDR_as_SRGB": false, +"process/fix_alpha_border": true, +"process/invert_color": false, +"process/premult_alpha": false, +"size_limit": 0, +"stream": false, +"svg/scale": 1.0 +} + +[input] + +ui_attack={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null) + ] +} + +[rendering] + +environment/default_environment="res://default_env.tres" diff --git a/world.tscn b/world.tscn new file mode 100644 index 0000000..dd01995 --- /dev/null +++ b/world.tscn @@ -0,0 +1,519 @@ +[gd_scene load_steps=56 format=2] + +[ext_resource path="res://World/Bush.tscn" type="PackedScene" id=1] +[ext_resource path="res://Player/player.tscn" type="PackedScene" id=2] +[ext_resource path="res://World/GrassBackground.png" type="Texture" id=3] +[ext_resource path="res://World/Tree.tscn" type="PackedScene" id=4] +[ext_resource path="res://World/DirtTileset.png" type="Texture" id=5] +[ext_resource path="res://World/CliffTileset.png" type="Texture" id=6] + +[sub_resource type="ConvexPolygonShape2D" id=3] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=8] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=9] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=10] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=11] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=13] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=14] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=15] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=16] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=17] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=18] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=19] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=20] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=21] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=22] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=23] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=24] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=25] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=26] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=27] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=28] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=29] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=30] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=31] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=32] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=33] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=34] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=35] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=36] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=37] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=38] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=39] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=40] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=41] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=42] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=43] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=44] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=45] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=46] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=47] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=48] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=49] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="TileSet" id=2] +0/name = "CliffTileset.png 0" +0/texture = ExtResource( 6 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( 0, 0, 352, 160 ) +0/tile_mode = 1 +0/autotile/bitmask_mode = 1 +0/autotile/bitmask_flags = [ Vector2( 0, 0 ), 432, Vector2( 0, 1 ), 438, Vector2( 0, 2 ), 54, Vector2( 0, 3 ), 48, Vector2( 1, 0 ), 504, Vector2( 1, 1 ), 511, Vector2( 1, 2 ), 63, Vector2( 1, 3 ), 56, Vector2( 2, 0 ), 216, Vector2( 2, 1 ), 219, Vector2( 2, 2 ), 27, Vector2( 2, 3 ), 24, Vector2( 3, 0 ), 144, Vector2( 3, 1 ), 146, Vector2( 3, 2 ), 18, Vector2( 3, 3 ), 16, Vector2( 4, 0 ), 176, Vector2( 4, 1 ), 182, Vector2( 4, 2 ), 434, Vector2( 4, 3 ), 50, Vector2( 4, 4 ), 178, Vector2( 5, 0 ), 248, Vector2( 5, 1 ), 255, Vector2( 5, 2 ), 507, Vector2( 5, 3 ), 59, Vector2( 5, 4 ), 251, Vector2( 6, 0 ), 440, Vector2( 6, 1 ), 447, Vector2( 6, 2 ), 510, Vector2( 6, 3 ), 62, Vector2( 6, 4 ), 446, Vector2( 7, 0 ), 152, Vector2( 7, 1 ), 155, Vector2( 7, 2 ), 218, Vector2( 7, 3 ), 26, Vector2( 7, 4 ), 154, Vector2( 8, 0 ), 184, Vector2( 8, 1 ), 191, Vector2( 8, 2 ), 506, Vector2( 8, 3 ), 58, Vector2( 8, 4 ), 186, Vector2( 9, 0 ), 443, Vector2( 9, 1 ), 254, Vector2( 9, 2 ), 442, Vector2( 9, 3 ), 190, Vector2( 10, 2 ), 250, Vector2( 10, 3 ), 187 ] +0/autotile/icon_coordinate = Vector2( 3, 3 ) +0/autotile/tile_size = Vector2( 32, 32 ) +0/autotile/spacing = 0 +0/autotile/occluder_map = [ ] +0/autotile/navpoly_map = [ ] +0/autotile/priority_map = [ ] +0/autotile/z_index_map = [ ] +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 0, 0 ) +0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +0/shape = SubResource( 3 ) +0/shape_one_way = false +0/shape_one_way_margin = 1.0 +0/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 3 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 4 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 5 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 6 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 7 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 8 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 9 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 10 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 11 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 12 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 13 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 14 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 15 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 16 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 17 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 18 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 4, 4 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 19 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 5, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 20 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 4, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 21 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 4, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 22 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 4, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 23 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 4, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 24 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 5, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 25 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 5, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 26 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 5, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 27 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 5, 4 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 28 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 6, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 29 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 6, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 30 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 6, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 31 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 6, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 32 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 6, 4 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 33 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 7, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 34 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 7, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 35 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 7, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 36 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 7, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 37 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 7, 4 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 38 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 8, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 39 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 8, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 40 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 8, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 41 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 8, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 42 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 8, 4 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 43 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 9, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 44 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 9, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 45 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 9, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 46 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 9, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 47 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 10, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 48 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 10, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 49 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +0/z_index = 0 + +[sub_resource type="TileSet" id=1] +0/name = "DirtTileset.png 0" +0/texture = ExtResource( 5 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( -32, -32, 224, 128 ) +0/tile_mode = 1 +0/autotile/bitmask_mode = 1 +0/autotile/bitmask_flags = [ Vector2( 2, 2 ), 432, Vector2( 2, 3 ), 438, Vector2( 2, 4 ), 54, Vector2( 2, 5 ), 48, Vector2( 3, 2 ), 504, Vector2( 3, 3 ), 511, Vector2( 3, 4 ), 63, Vector2( 3, 5 ), 56, Vector2( 4, 2 ), 216, Vector2( 4, 3 ), 219, Vector2( 4, 4 ), 27, Vector2( 4, 5 ), 24, Vector2( 5, 2 ), 144, Vector2( 5, 3 ), 146, Vector2( 5, 4 ), 18, Vector2( 5, 5 ), 16, Vector2( 6, 2 ), 176, Vector2( 6, 3 ), 182, Vector2( 6, 4 ), 434, Vector2( 6, 5 ), 50, Vector2( 6, 6 ), 178, Vector2( 7, 2 ), 248, Vector2( 7, 3 ), 255, Vector2( 7, 4 ), 507, Vector2( 7, 5 ), 59, Vector2( 7, 6 ), 251, Vector2( 8, 2 ), 440, Vector2( 8, 3 ), 447, Vector2( 8, 4 ), 510, Vector2( 8, 5 ), 62, Vector2( 8, 6 ), 446, Vector2( 9, 2 ), 152, Vector2( 9, 3 ), 155, Vector2( 9, 4 ), 218, Vector2( 9, 5 ), 26, Vector2( 9, 6 ), 154, Vector2( 10, 2 ), 184, Vector2( 10, 3 ), 191, Vector2( 10, 4 ), 506, Vector2( 10, 5 ), 58, Vector2( 10, 6 ), 186, Vector2( 11, 2 ), 443, Vector2( 11, 3 ), 254, Vector2( 11, 4 ), 442, Vector2( 11, 5 ), 190, Vector2( 12, 4 ), 250, Vector2( 12, 5 ), 187 ] +0/autotile/icon_coordinate = Vector2( 5, 5 ) +0/autotile/tile_size = Vector2( 16, 16 ) +0/autotile/spacing = 0 +0/autotile/occluder_map = [ ] +0/autotile/navpoly_map = [ ] +0/autotile/priority_map = [ ] +0/autotile/z_index_map = [ ] +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 0, 0 ) +0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +0/shape_one_way = false +0/shape_one_way_margin = 0.0 +0/shapes = [ ] +0/z_index = 0 + +[node name="world" type="Node2D"] + +[node name="Background" type="Sprite" parent="."] +position = Vector2( 160, 90 ) +texture = ExtResource( 3 ) +region_enabled = true +region_rect = Rect2( 0, 0, 320, 180 ) + +[node name="CliffTileMap" type="TileMap" parent="."] +tile_set = SubResource( 2 ) +cell_size = Vector2( 32, 32 ) +format = 1 +tile_data = PoolIntArray( -1, 0, 0, -65536, 0, 1, -65535, 0, 1, -65534, 0, 1, -65533, 0, 1, -65532, 0, 1, -65531, 0, 1, -65530, 0, 1, -65529, 0, 1, -65528, 0, 1, -65527, 0, 2, 65535, 0, 131072, 0, 0, 131073, 1, 0, 131073, 2, 0, 131073, 3, 0, 131073, 4, 0, 65542, 5, 0, 65541, 6, 0, 131073, 7, 0, 131073, 8, 0, 65542, 9, 0, 131077, 10, 0, 2, 65540, 0, 65536, 65541, 0, 65538, 65544, 0, 131072, 65545, 0, 131073, 65546, 0, 131074, 131076, 0, 131072, 131077, 0, 131074, 196617, 0, 0, 196618, 0, 2, 262146, 0, 3, 262150, 0, 3, 262152, 0, 0, 262153, 0, 131078, 262154, 0, 65538, 393215, 0, 196608, 327680, 0, 196609, 327681, 0, 196609, 327682, 0, 196616, 327683, 0, 196610, 327686, 0, 196612, 327687, 0, 196609, 327688, 0, 196614, 327689, 0, 131073, 327690, 0, 131074 ) + +[node name="DirtTileMap" type="TileMap" parent="."] +tile_set = SubResource( 1 ) +cell_size = Vector2( 16, 16 ) +format = 1 +tile_data = PoolIntArray( 196614, 0, 131077, 327679, 0, 131074, 262144, 0, 131075, 262145, 0, 131075, 262146, 0, 131075, 262147, 0, 131076, 262149, 0, 131074, 262150, 0, 262154, 262151, 0, 131076, 262156, 0, 131074, 262157, 0, 131075, 262158, 0, 131075, 262159, 0, 131079, 262160, 0, 327683, 262161, 0, 131080, 262162, 0, 131075, 262163, 0, 131075, 262164, 0, 131076, 393215, 0, 262146, 327680, 0, 262147, 327681, 0, 262147, 327682, 0, 262147, 327683, 0, 327687, 327684, 0, 327683, 327685, 0, 327688, 327686, 0, 262147, 327687, 0, 196617, 327692, 0, 196614, 327693, 0, 262147, 327694, 0, 262147, 327695, 0, 262148, 327697, 0, 262146, 327698, 0, 262147, 327699, 0, 262147, 327700, 0, 262148, 393223, 0, 327686, 393224, 0, 327683, 393225, 0, 131080, 393226, 0, 131079, 393227, 0, 327683, 393228, 0, 327689, 458761, 0, 196610, 458762, 0, 196612, 524297, 0, 196610, 524298, 0, 196612, 589833, 0, 196610, 589834, 0, 196612, 655369, 0, 196610, 655370, 0, 196612, 720905, 0, 196614, 720906, 0, 262148, 786441, 0, 262149 ) + +[node name="Ground" type="YSort" parent="."] + +[node name="player" parent="Ground" instance=ExtResource( 2 )] +position = Vector2( 32, 88 ) + +[node name="Bush" parent="Ground" instance=ExtResource( 1 )] +position = Vector2( 48, 56 ) + +[node name="Tree" parent="Ground" instance=ExtResource( 4 )] +position = Vector2( 248, 104 ) + +[node name="Bush2" parent="Ground" instance=ExtResource( 1 )] +position = Vector2( 128, 120 ) + +[node name="Bush3" parent="Ground" instance=ExtResource( 1 )] +position = Vector2( 240, 40 )