gitextract_59bn93hr/ ├── .github/ │ └── CONTRIBUTING.md ├── .gitignore ├── Demo.tscn ├── LICENSE ├── README.md ├── actors/ │ ├── Actor.gd │ ├── Actor.tscn │ ├── CoinsAttractor.tscn │ ├── CoinsCollector.gd │ ├── CoinsCollector.tscn │ ├── CoinsFountain.gd │ ├── CoinsFountain.tscn │ ├── DamageSource.gd │ ├── DamageSource.tscn │ ├── body.png.import │ ├── camera/ │ │ ├── ShakingCamera.gd │ │ └── ShakingCamera.tscn │ ├── characters/ │ │ └── seller/ │ │ ├── Seller.gd │ │ └── Seller.tscn │ ├── health/ │ │ ├── Stats.gd │ │ ├── Stats.tscn │ │ └── Status.gd │ ├── hit_box/ │ │ ├── HitBox.gd │ │ ├── HitBox.tscn │ │ └── hitbox_default.tres │ ├── player/ │ │ ├── Player.tscn │ │ ├── PlayerController.gd │ │ ├── PlayerStateMachine.gd │ │ ├── body.png.import │ │ ├── shadow.png.import │ │ └── states/ │ │ ├── Die.gd │ │ ├── Fall.gd │ │ ├── combat/ │ │ │ ├── Attack.gd │ │ │ └── Stagger.gd │ │ ├── debug/ │ │ │ └── StateNameDisplayer.gd │ │ └── motion/ │ │ ├── Motion.gd │ │ ├── in_air/ │ │ │ └── Jump.gd │ │ └── on_ground/ │ │ ├── BumpPlayer.gd │ │ ├── Idle.gd │ │ ├── Move.gd │ │ └── OnGround.gd │ ├── shadow.png.import │ └── weapons/ │ ├── bullet/ │ │ ├── Bullet.tscn │ │ ├── BulletSpawner.gd │ │ └── bullet.gd │ └── sword/ │ ├── Sword.gd │ ├── Sword.tscn │ ├── WeaponPivot.gd │ └── sword.png.import ├── audio/ │ ├── AudioShuffleStepSounds.gd │ ├── AudioStreamPlayer.tscn │ ├── MusicPlayer.gd │ ├── MusicPlayer.tscn │ ├── music/ │ │ ├── birdy_pong.ogg │ │ └── birdy_pong.ogg.import │ └── sfx/ │ ├── menu_confirm.wav.import │ ├── menu_navigate_01.wav.import │ ├── menu_navigate_02.wav.import │ ├── menu_popup_open.wav.import │ ├── step_01.wav.import │ └── step_02.wav.import ├── core/ │ ├── Game.gd │ ├── LevelLoader.gd │ ├── inventory/ │ │ ├── Inventory.gd │ │ ├── Inventory.tscn │ │ ├── ItemDatabase.gd │ │ ├── ItemDatabase.tscn │ │ └── items/ │ │ ├── Coins.gd │ │ ├── Coins.tscn │ │ ├── Item.gd │ │ ├── Item.tscn │ │ ├── coins/ │ │ │ ├── coin_single.png.import │ │ │ ├── coins_stack.png.import │ │ │ └── coins_three.png.import │ │ ├── equipment/ │ │ │ ├── Equipment.gd │ │ │ ├── Equipment.tscn │ │ │ └── sword/ │ │ │ └── Sword.tscn │ │ └── usable/ │ │ ├── potions/ │ │ │ ├── BaseHealthPotion.tscn │ │ │ ├── HealthPotion.gd │ │ │ └── restore_health/ │ │ │ ├── MinorHealthPotion.tscn │ │ │ └── StrongHealthPotion.tscn │ │ └── scroll_fireball/ │ │ ├── FireballScroll.gd │ │ ├── FireballScroll.tscn │ │ └── fireball/ │ │ ├── Fireball.gd │ │ ├── Fireball.tscn │ │ └── particles/ │ │ ├── FireballParticles.tscn │ │ ├── ParticlesToggle.gd │ │ ├── assets/ │ │ │ └── gradient_ramps/ │ │ │ ├── fire_to_black.tres │ │ │ ├── sparkles.tres │ │ │ └── sparkles_small.tres │ │ ├── explosions/ │ │ │ ├── Explosion.gd │ │ │ └── Explosion.tscn │ │ ├── fireball/ │ │ │ ├── fireball.material │ │ │ └── fireball_big.material │ │ └── sprites/ │ │ ├── circle.png.import │ │ └── smoke_clouds.png.import │ ├── save/ │ │ ├── SaveAndLoad.gd │ │ └── SaveAndLoad.tscn │ ├── shop/ │ │ ├── Shop.gd │ │ ├── Shop.tscn │ │ └── purse/ │ │ ├── Purse.gd │ │ └── Purse.tscn │ └── world/ │ ├── Door.gd │ ├── Door.tscn │ ├── Gap.gd │ ├── Gap.tscn │ ├── PlayerSpawningPoint.tscn │ ├── Rock.tscn │ ├── pit.png.import │ ├── rock.png.import │ ├── stairs.png.import │ └── tilesets/ │ ├── cave/ │ │ ├── cave.png.import │ │ ├── cave.tres │ │ └── cave_tileset_src.tscn │ └── outdoor/ │ ├── outdoor.png.import │ ├── outdoor.tres │ ├── outdoor.tscn │ └── pit.png.import ├── default_bus_layout.tres ├── default_env.tres ├── icon.png.import ├── interface/ │ ├── Interface.gd │ ├── TopLevelUi.gd │ ├── default.theme │ ├── fonts/ │ │ ├── montserrat_black_48.tres │ │ ├── source_code_pro_explanations.tres │ │ └── source_code_pro_explanations_bold.tres │ ├── gui/ │ │ ├── boss/ │ │ │ ├── BossLifebar.gd │ │ │ ├── BossLifebar.tscn │ │ │ ├── boss_bar_bg.png.import │ │ │ └── boss_bar_fill.png.import │ │ ├── lifebar/ │ │ │ ├── HookableLifeBar.tscn │ │ │ ├── InterfaceAnchor.tscn │ │ │ ├── Lifebar.gd │ │ │ ├── LifebarsBuilder.gd │ │ │ ├── LifebarsBuilder.tscn │ │ │ ├── background.png.import │ │ │ └── fill.png.import │ │ └── player/ │ │ ├── PlayerGUI.gd │ │ ├── PlayerGUI.tscn │ │ └── life_bar/ │ │ ├── LifeBar.tscn │ │ ├── Lifebar.gd │ │ ├── TextureProgress.gd │ │ ├── bg.png.import │ │ └── fill.png.import │ ├── items/ │ │ ├── ItemButton.gd │ │ ├── ItemButton.tscn │ │ ├── ItemGrid.gd │ │ ├── ItemsList.gd │ │ └── ItemsList.tscn │ ├── menus/ │ │ ├── Menu.gd │ │ ├── Menu.tscn │ │ ├── MenuSfx.tscn │ │ ├── MenuTitle.tscn │ │ ├── inventory/ │ │ │ ├── InventoryMenu.gd │ │ │ ├── InventoryMenu.tscn │ │ │ ├── ItemButton.gd │ │ │ ├── ItemButton.tscn │ │ │ ├── ItemGrid.gd │ │ │ ├── ItemsMenu.gd │ │ │ ├── ItemsMenu.tscn │ │ │ └── user_select/ │ │ │ ├── ActorButton.tscn │ │ │ ├── UserSelectMenu.gd │ │ │ └── UserSelectMenu.tscn │ │ ├── pause/ │ │ │ ├── OptionsMenu.gd │ │ │ ├── OptionsMenu.tscn │ │ │ ├── PauseMenu.gd │ │ │ ├── PauseMenu.tscn │ │ │ ├── SoundController.gd │ │ │ └── SoundController.tscn │ │ ├── save_and_load/ │ │ │ ├── SaveMenu.gd │ │ │ └── SaveMenu.tscn │ │ ├── shared/ │ │ │ ├── Button.gd │ │ │ └── Button.tscn │ │ └── shop/ │ │ ├── ShopMenu.gd │ │ ├── ShopMenu.tscn │ │ ├── menus/ │ │ │ ├── BuySubMenu.tscn │ │ │ ├── SellSubMenu.tscn │ │ │ ├── ShopSubMenu.gd │ │ │ └── ShopSubMenu.tscn │ │ ├── panels/ │ │ │ ├── DescriptionPanel.gd │ │ │ ├── DescriptionPanel.tscn │ │ │ ├── InfoPanel.gd │ │ │ ├── InfoPanel.tscn │ │ │ └── ShopItemsList.tscn │ │ └── popups/ │ │ ├── AmountLabel.gd │ │ ├── AmountPopup.gd │ │ ├── AmountPopup.tscn │ │ └── HSlider.gd │ └── theme/ │ ├── button/ │ │ ├── disabled.stylebox │ │ ├── focused.stylebox │ │ ├── hover.stylebox │ │ ├── normal.stylebox │ │ └── pressed.stylebox │ ├── empty.stylebox │ ├── fonts/ │ │ ├── comfortaa_tips.tres │ │ ├── default_font_comfortaa.tres │ │ └── source_code_pro_26.tres │ ├── icons/ │ │ ├── add.png.import │ │ ├── cancel.png.import │ │ ├── coins.png.import │ │ ├── fire_scroll.png.import │ │ ├── potion_health.png.import │ │ ├── potion_mana.png.import │ │ ├── purse.png.import │ │ ├── remove.png.import │ │ └── sword.png.import │ ├── panel/ │ │ └── panel.stylebox │ └── slider/ │ └── slider.stylebox ├── levels/ │ ├── Cave.tscn │ ├── Grasslands.tscn │ ├── Level.gd │ └── TestLevel.tscn ├── monsters/ │ ├── BossShakingCamera.gd │ ├── BossShakingCamera.tscn │ ├── Monster.gd │ ├── Monster.tscn │ ├── ObstacleDetector.gd │ ├── bosses/ │ │ └── wild_boar/ │ │ ├── WildBoar.gd │ │ ├── WildBoar.tscn │ │ ├── WildBoarFSM.gd │ │ ├── debug/ │ │ │ ├── BossStatesDisplayer.gd │ │ │ ├── StatesStackDiplayer.tscn │ │ │ ├── StatesStackDisplayer.gd │ │ │ └── fonts/ │ │ │ └── source-code-pro-bold.otf │ │ ├── sprites/ │ │ │ ├── front.png.import │ │ │ ├── wild_boar_stomp_1.png.import │ │ │ └── wild_boar_stomp_2.png.import │ │ └── states/ │ │ ├── Die.gd │ │ ├── Follow.gd │ │ ├── ReturnToCenter.gd │ │ ├── Spawn.gd │ │ ├── charge/ │ │ │ ├── BumpWildBoar.gd │ │ │ ├── Prepare.gd │ │ │ └── Sprint.gd │ │ ├── roam/ │ │ │ ├── MoveToRandomPosition.gd │ │ │ ├── RoamSequence.gd │ │ │ └── Wait.gd │ │ └── stomp/ │ │ ├── GroundExplosion.gd │ │ ├── GroundExplosion.tscn │ │ ├── Stomp.gd │ │ └── Stomp.tscn │ ├── exclamation-mark.png.import │ ├── exclamation-mark.svg.import │ ├── mosquito/ │ │ ├── Mosquito.gd │ │ ├── Mosquito.tscn │ │ ├── Nest.gd │ │ ├── Nest.tscn │ │ ├── mosquito.png.import │ │ └── nest.png.import │ └── porcupine/ │ ├── Porcupine.gd │ ├── Porcupine.tscn │ └── porcupine.png.import ├── project.godot ├── utils/ │ ├── autoload/ │ │ └── Steering.gd │ ├── debug/ │ │ ├── ControlsPanel.tscn │ │ ├── Explanations.tscn │ │ ├── StatesStackDiplayer.tscn │ │ ├── StatesStackDisplayer.gd │ │ └── TopLevelUI.gd │ └── state/ │ ├── Sequence.gd │ ├── Sequence.tscn │ ├── State.gd │ ├── StateMachine.gd │ └── StateMachine.tscn └── vfx/ ├── Fog.gd ├── TransitionColor.gd ├── TransitionColor.tscn ├── fog.shader ├── fog_background.material ├── fog_foreground.material ├── masks/ │ └── curtain.png.import ├── particles/ │ ├── SelfDestructingParticles.gd │ ├── assets/ │ │ └── gradient_ramps/ │ │ ├── fire_to_black.tres │ │ ├── sparkles.tres │ │ └── sparkles_small.tres │ ├── dust_charge/ │ │ ├── DustCharge.tscn │ │ ├── DustChargeLarge.tscn │ │ └── puffs.png.import │ ├── dust_puffs/ │ │ ├── DustPuffs.tscn │ │ ├── DustPuffsLarge.tscn │ │ ├── DustRun.tscn │ │ ├── DustWalk.tscn │ │ ├── dust_puffs_particle.tres │ │ ├── puff_stylized.png.import │ │ └── puffs.png.import │ ├── explosions/ │ │ ├── Explosion.gd │ │ ├── Explosion.tscn │ │ ├── ExplosionFlash.tscn │ │ └── circle.png.import │ ├── fiery_cloud/ │ │ ├── FieryCloud.tscn │ │ ├── Fireball.tscn │ │ └── FireryCloud.gd │ ├── rocks/ │ │ ├── DirectionalRock.tscn │ │ ├── crumbs.png.import │ │ ├── crumbs_particle.tres │ │ ├── rocks.png.import │ │ └── rocks_particle.tres │ └── smoke/ │ ├── EnemySmokeScreen.tscn │ ├── ParticlesPlayer.gd │ ├── smoke.png.import │ └── smoke_screen_particle.tres ├── transition.material └── transition.shader