Compare commits
130 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 13a789d0b3 | |||
| b7aebd563d | |||
| 8c9d67d9f8 | |||
| c1c4ba4349 | |||
| 8bef06f316 | |||
|
|
74da9131dc | ||
|
|
242c6d4b16 | ||
| b0331a38b4 | |||
| 65aaa54187 | |||
| 739c4a8a76 | |||
| d12d69f083 | |||
| 6c33a3a39c | |||
| 73fbc72dc7 | |||
|
|
5cfe44bafe | ||
| 5a8aea073a | |||
| 2c2ab33b95 | |||
|
|
f13571935f | ||
| bf10af7e09 | |||
| 7e5dd18c0d | |||
| 91623241a3 | |||
|
|
879fa714f7 | ||
| 568a896b8e | |||
| 3351eee3cd | |||
| ac061cdd39 | |||
|
|
dd120b9c2a | ||
| 391bd9bcf8 | |||
| cbb4a61ea2 | |||
|
|
e27933dba5 | ||
| 1df4dea323 | |||
|
|
840641ab85 | ||
|
|
126c4245dd | ||
|
|
79ee834f7e | ||
|
|
260e0bae42 | ||
|
|
de9a94255f | ||
|
|
0d0dc5dbea | ||
|
|
ed320ecc7f | ||
|
|
af24763fe5 | ||
|
|
a14172538b | ||
|
|
b1e139b740 | ||
| 5f8e91bc13 | |||
|
|
a52d7f8106 | ||
|
|
a88861111a | ||
|
|
8c83e2f3e9 | ||
|
|
b52c804c2e | ||
| 055302b1a8 | |||
|
|
7ef527fb83 | ||
|
|
2eadaeaf0a | ||
|
|
e9341d42b9 | ||
|
|
84e5a9080f | ||
| 908b71e30e | |||
|
|
5d264f4457 | ||
|
|
723b765b3e | ||
|
|
11252d504e | ||
|
|
e682e5dc25 | ||
|
|
1299860e1f | ||
| 4175ff7bdd | |||
| 1ec4d3ca93 | |||
|
|
e2b618d471 | ||
| 074f9c31ca | |||
| f218b7f030 | |||
|
|
ed4dfd0c67 | ||
|
|
ec785c5d75 | ||
|
|
3f5dbe5528 | ||
|
|
6e01f59bd6 | ||
|
|
627e9b967a | ||
|
|
8e6dd6f5fe | ||
|
|
a759d0bcfb | ||
|
|
294fa5da9d | ||
|
|
0db9fe7636 | ||
|
|
9bca89ae1a | ||
|
|
8164b47301 | ||
| 94ac33a5af | |||
| 5bfca83953 | |||
|
|
ce1429693a | ||
| 75e8a0d188 | |||
|
|
e380a18ee3 | ||
| c551a70b4d | |||
| a84331a702 | |||
|
|
acc7f184c0 | ||
|
|
14c4b147f8 | ||
|
|
b68689dfa0 | ||
|
|
94badfb27a | ||
|
|
0eea6edee7 | ||
|
|
ebad05009a | ||
|
|
512fffee8d | ||
|
|
400f18c37b | ||
|
|
fd2ca0911e | ||
|
|
75a5130121 | ||
|
|
d0d5ded6f8 | ||
|
|
336bc28dbd | ||
| fafd1956c6 | |||
|
|
32e73895dc | ||
|
|
2fde998542 | ||
|
|
e2f50060db | ||
| 0d20ff515d | |||
|
|
efacd63543 | ||
|
|
d60f93db3e | ||
| a33c80b092 | |||
|
|
37ccf67677 | ||
|
|
d57645e5a2 | ||
|
|
0d35d23447 | ||
|
|
69e9e8eba2 | ||
|
|
cc30498e6d | ||
|
|
183f0e817a | ||
| c140f4111c | |||
|
|
3ec908f6c3 | ||
|
|
2406e08f90 | ||
| 9b5ccae8a7 | |||
| 0b930fd1c6 | |||
|
|
b8b026d063 | ||
|
|
53b4dbb92a | ||
|
|
1be1aede4f | ||
|
|
1d164601ba | ||
|
|
ba00ee4bfd | ||
|
|
28b08132e7 | ||
|
|
21dfd6c663 | ||
|
|
ee0d75fb37 | ||
|
|
0daf9090eb | ||
| b4b745f385 | |||
| 1544bf6feb | |||
| 32ccb24012 | |||
|
|
fc59452928 | ||
|
|
61dcd42dc6 | ||
|
|
d5855db7f1 | ||
| 02b56fb6f5 | |||
|
|
8f152d420d | ||
|
|
331d32e2c0 | ||
|
|
ff0e2273f4 | ||
|
|
67f1ca9853 | ||
| 89a5ded14e |
5
.gitignore
vendored
@@ -19,3 +19,8 @@ data_*/
|
||||
|
||||
# PyCharm files
|
||||
.idea/
|
||||
|
||||
# DISTRIBUTION FILES
|
||||
dist/
|
||||
*.exe
|
||||
*.pck
|
||||
|
||||
11
LICENSE.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Creative Commons 3.0
|
||||
|
||||
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE").
|
||||
THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS
|
||||
LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||
|
||||
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE
|
||||
EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION
|
||||
OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
|
||||
|
||||
Full version under https://creativecommons.org/licenses/by/3.0/legalcode
|
||||
30
README.md
@@ -1 +1,29 @@
|
||||
# ludum_dare_46
|
||||
# Bosskeeper - Keep the boss alive!
|
||||
|
||||
## Story
|
||||
|
||||
You start the game as a main character of any old video game and meet the slime boss - pretty much the first thing you encounter anywhere. But the boss is weak and easily defeated and therefore nobody even took the time to kill it properly. In this moment you decide that your days as a hero are over and that you would love nothing more than to help this boss to stay alive as long as possible.
|
||||
|
||||
In this game you have cards to help the angry slime boss to survive. Each time a marvelous hero comes by, you get the chance to place traps, walls, fields of slime and valuable barrels the hero just can't resist to look into. But watch out: if the slime boss dies, you are defeated too.
|
||||
|
||||
Have fun playing ~
|
||||
|
||||
## Installation
|
||||
|
||||
If you want to play the latest version you can go to the [release tab](https://github.com/creyD/ludum_dare_46/releases) of this repository and download the latest .zip file which contains the .exe and .pck file. Alternatively you can go to the [itch.io](https://deranonymos.itch.io/bosskeeper) site of this project and download it from there.
|
||||
|
||||
## Context
|
||||
|
||||
This is a minigame developed by a team of 8 people for the Ludum Dare No. 46 in 04/2020 over the course of 3 days. The team members consisted of @panorb, @Sonaion, @Streamfire, @DerAnonymos, @Mienek, Leo (for all major assets), Markus (for sounds) and @creyD. It is written in the Godot framework and a playable version can be downloaded on the release page of this repo.
|
||||
|
||||
## Branching
|
||||
|
||||
- `master` - Current state of the game, latest major release
|
||||
- `dev` - Next feature update state of the game - Merged to `master`
|
||||
- `dev-X` - Specific features for the game - Merged to `dev`
|
||||
- `hotfix-X` - Bugfixes that need to be pushed to all branches
|
||||
|
||||
|
||||
## Bugs
|
||||
|
||||
You may report bugs [here](https://github.com/creyD/ludum_dare_46/issues/new) but please don't expect us to fix them in a timely manner.
|
||||
|
||||
3
src/Autoloads/Globals.gd
Normal file
@@ -0,0 +1,3 @@
|
||||
extends Node
|
||||
|
||||
var player_node = null
|
||||
@@ -4,10 +4,10 @@ const EFFECT_LAYERS:int = 20
|
||||
var _effect: Array = []
|
||||
var _music: AudioStreamPlayer
|
||||
|
||||
#Playback Options
|
||||
# Playback Options
|
||||
var _loop: bool = true
|
||||
|
||||
#Settings that should be put into an Options script
|
||||
# Settings that should be put into an Options script
|
||||
var _music_volume:int = -12
|
||||
var _effects_volume:int = -12
|
||||
|
||||
@@ -18,7 +18,7 @@ func _ready() -> void:
|
||||
_music.volume_db= _music_volume
|
||||
_music.connect("finished",self,"sig_music_finished")
|
||||
add_child(_music)
|
||||
|
||||
|
||||
for i in range(0,EFFECT_LAYERS):
|
||||
_effect.append(AudioStreamPlayer.new())
|
||||
_effect[i].volume_db= _effects_volume
|
||||
@@ -26,44 +26,50 @@ func _ready() -> void:
|
||||
_effect[i].connect("finished", self, "sig_effect_finished")
|
||||
add_child(_effect[i])
|
||||
|
||||
|
||||
func pub_play_music(path:String,should_loop:bool=true)-> void:
|
||||
var stream = load(path)
|
||||
#AudioServer.set_bus_mute(1, true)
|
||||
# AudioServer.set_bus_mute(1, true)
|
||||
_music.stop()
|
||||
_music.stream = stream
|
||||
_music.play()
|
||||
_loop=should_loop
|
||||
|
||||
|
||||
func pub_play_effect(path:String,channel:int=0)-> void:
|
||||
var stream = load(path)
|
||||
#AudioServer.set_bus_mute(1, true)
|
||||
# AudioServer.set_bus_mute(1, true)
|
||||
_effect[channel].stop()
|
||||
_effect[channel].stream = stream
|
||||
_effect[channel].play()
|
||||
|
||||
|
||||
func pub_stop_music()-> void:
|
||||
_music.stop()
|
||||
|
||||
|
||||
func pub_stop_effect(channel:int)-> void:
|
||||
_effect[channel].stop()
|
||||
|
||||
|
||||
func pub_stop_effects()-> void:
|
||||
for i in range(0,EFFECT_LAYERS):
|
||||
_effect[i].stop()
|
||||
|
||||
|
||||
func pub_stop_all() -> void:
|
||||
pub_stop_music()
|
||||
pub_stop_effects()
|
||||
|
||||
|
||||
func sig_music_finished() -> void:
|
||||
#AudioServer.set_bus_mute(1, false)
|
||||
# AudioServer.set_bus_mute(1, false)
|
||||
if _loop :
|
||||
_music.stop()
|
||||
_music.play()
|
||||
pass
|
||||
|
||||
|
||||
func sig_effect_finished() -> void:
|
||||
#AudioServer.set_bus_mute(1, false)
|
||||
# AudioServer.set_bus_mute(1, false)
|
||||
pass
|
||||
|
||||
|
||||
24
src/Autoloads/Steering.gd
Normal file
@@ -0,0 +1,24 @@
|
||||
extends Node
|
||||
|
||||
const DEFAULT_MASS = 2.0
|
||||
const DEFAULT_SLOW_RADIUS = 200.0
|
||||
const DEFAULT_MAX_SPEED = 300.0
|
||||
|
||||
func arrive_to(velocity,
|
||||
position_current,
|
||||
position_target,
|
||||
mass=DEFAULT_MASS,
|
||||
slow_radius=DEFAULT_SLOW_RADIUS,
|
||||
max_speed=DEFAULT_MAX_SPEED):
|
||||
"""
|
||||
Calculates and returns a new velocity with the arrive steering behavior arrived based on
|
||||
an existing velocity (Vector2), the object's current and target positions (Vector2)
|
||||
"""
|
||||
var distance_to_target = position_current.distance_to(position_target)
|
||||
|
||||
var desired_velocity = (position_target - position_current).normalized() * max_speed
|
||||
if distance_to_target < slow_radius:
|
||||
desired_velocity *= (distance_to_target / slow_radius) * .75 + .25
|
||||
var steering = (desired_velocity - velocity) / mass
|
||||
|
||||
return velocity + steering
|
||||
@@ -27,9 +27,10 @@ var movementState = moveState.MOVE
|
||||
var damage_per_second := 0.0
|
||||
var totaldamage := 0.0
|
||||
|
||||
|
||||
func _debug_update():
|
||||
debug_label.text = str(player_stats.health) + "/" + str(player_stats.max_health) + " HP\n"
|
||||
|
||||
|
||||
|
||||
func _physics_process(delta):
|
||||
totaldamage += damage_per_second * delta
|
||||
@@ -47,13 +48,13 @@ func _physics_process(delta):
|
||||
movement_move(delta)
|
||||
moveState.HIT:
|
||||
movement_hit()
|
||||
|
||||
|
||||
move()
|
||||
|
||||
|
||||
# IMPORTANT: If you are using move_and_slide don't multiply by delta
|
||||
# Godots physics system does that internally
|
||||
# In move_and_collide(...) you have to multiply by delta.
|
||||
# In move_and_collide(...) you have to multiply by delta.
|
||||
func move():
|
||||
move_and_slide(velocity)
|
||||
|
||||
@@ -68,7 +69,7 @@ func movement_move(delta):
|
||||
input_vector.x = Input.get_action_strength("right") - Input.get_action_strength("left")
|
||||
input_vector.y = Input.get_action_strength("down") - Input.get_action_strength("up")
|
||||
input_vector = input_vector.normalized()
|
||||
|
||||
|
||||
if input_vector == Vector2.ZERO:
|
||||
#animation_state.travel("idle")
|
||||
velocity = Vector2.ZERO
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
[ext_resource path="res://Overlap/HurtHit_Box/Hitbox.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://Overlap/Stats/Stats.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://Boss/Boss_template.gd" type="Script" id=4]
|
||||
[ext_resource path="res://testSprites/white_boss_dog.png" type="Texture" id=5]
|
||||
[ext_resource path="res://Boss/white_boss_dog.png" type="Texture" id=5]
|
||||
[ext_resource path="res://Overlap/Kind.tscn" type="PackedScene" id=6]
|
||||
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id=1]
|
||||
radius = 18.0
|
||||
height = 18.0
|
||||
@@ -31,14 +32,17 @@ hframes = 60
|
||||
|
||||
[node name="Hitbox" parent="." instance=ExtResource( 2 )]
|
||||
collision_layer = 0
|
||||
collision_mask = 65
|
||||
|
||||
[node name="CollisionShape2D" parent="Hitbox" index="0"]
|
||||
position = Vector2( 0, -15 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="Hurtbox" parent="." instance=ExtResource( 1 )]
|
||||
[node name="Hurtbox" parent="." groups=[
|
||||
"HittableByPlayer",
|
||||
] instance=ExtResource( 1 )]
|
||||
collision_layer = 4
|
||||
collision_mask = 0
|
||||
collision_mask = 128
|
||||
|
||||
[node name="CollisionShape2D" parent="Hurtbox" index="0"]
|
||||
position = Vector2( 0, -15 )
|
||||
|
||||
110
src/Boss/Minion.gd
Normal file
@@ -0,0 +1,110 @@
|
||||
extends Minion
|
||||
|
||||
var velocity := Vector2.ZERO
|
||||
|
||||
# This is how you export variables with ranges to the editor window
|
||||
export(int, 0, 500) var ACCELERATION := 450
|
||||
# Reference for the current player
|
||||
|
||||
onready var player_stats := $Stats
|
||||
onready var debug_label := $DebugLabel
|
||||
|
||||
var damage_per_second := 0.0
|
||||
var totaldamage := 0.0
|
||||
|
||||
var rollvector = Vector2.ZERO
|
||||
|
||||
|
||||
func _debug_update():
|
||||
debug_label.text = str(player_stats.health) + "/" + str(player_stats.max_health) + " HP\n"
|
||||
|
||||
|
||||
func _ready():
|
||||
grid = get_tree().current_scene.get_node("Grid")
|
||||
|
||||
|
||||
# IMPORTANT: If you are using move_and_slide don't multiply by delta
|
||||
# Godots physics system does that internally
|
||||
# In move_and_collide(...) you have to multiply by delta.
|
||||
func move():
|
||||
move_and_slide(velocity)
|
||||
_animate(velocity)
|
||||
|
||||
|
||||
func _physics_process(delta):
|
||||
totaldamage += damage_per_second * delta
|
||||
player_stats.speed += 10 * delta
|
||||
while (totaldamage > 1):
|
||||
totaldamage -= 1
|
||||
player_stats.health -= 1
|
||||
while (totaldamage <- 1):
|
||||
totaldamage += 1
|
||||
player_stats.health += 1
|
||||
_debug_update()
|
||||
|
||||
run(Vector2.ZERO, delta)
|
||||
makeMove(delta)
|
||||
move()
|
||||
|
||||
|
||||
func _on_Stats_no_health():
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_Hurtbox_area_entered(area):
|
||||
player_stats.health -= area.damage
|
||||
damage_per_second += area.damage
|
||||
|
||||
|
||||
func _on_Hurtbox_area_exited(area):
|
||||
damage_per_second -= area.damage
|
||||
|
||||
|
||||
# API Interface for ai_hero
|
||||
func run(direction, delta):
|
||||
direction = direction.normalized()
|
||||
rollvector = direction
|
||||
velocity = velocity.move_toward(player_stats.speed * rollvector, ACCELERATION * delta)
|
||||
|
||||
if direction == Vector2.ZERO:
|
||||
pass
|
||||
else:
|
||||
pass
|
||||
|
||||
|
||||
func _animate(vec):
|
||||
match get_nearest_diretion(vec):
|
||||
"up":
|
||||
$Sprite.flip_h=false
|
||||
$Sprite.play("up")
|
||||
"down":
|
||||
$Sprite.flip_h=false
|
||||
$Sprite.play("down")
|
||||
"right":
|
||||
$Sprite.flip_h=false
|
||||
$Sprite.play("right")
|
||||
"left":
|
||||
$Sprite.flip_h=true
|
||||
$Sprite.play("right")
|
||||
|
||||
|
||||
func get_nearest_diretion(vec):
|
||||
var directions = {
|
||||
"up": Vector2(0, -1.1),
|
||||
"down": Vector2(0, 1.1),
|
||||
"left": Vector2(-1.0, 0),
|
||||
"right": Vector2(1.0, 0)
|
||||
}
|
||||
|
||||
var nearest_direction = "left"
|
||||
var smallest_distance = 999999999
|
||||
|
||||
for direction in directions.keys():
|
||||
var vector = directions.get(direction)
|
||||
var distance = vec.distance_to(vector)
|
||||
|
||||
if distance < smallest_distance:
|
||||
nearest_direction = direction
|
||||
smallest_distance = distance
|
||||
|
||||
return nearest_direction
|
||||
1670
src/Boss/Minion.tscn
Normal file
BIN
src/Boss/Minion/move_down.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/LD46_95.jpg-8a58ac40d708cedb94c690a558e3f2b7.stex"
|
||||
path="res://.import/move_down.png-02a3d337c3ba1d1ba9dc0cb6ca864a4f.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Menus/Startup/Frames/LD46_95.jpg"
|
||||
dest_files=[ "res://.import/LD46_95.jpg-8a58ac40d708cedb94c690a558e3f2b7.stex" ]
|
||||
source_file="res://Boss/Minion/move_down.png"
|
||||
dest_files=[ "res://.import/move_down.png-02a3d337c3ba1d1ba9dc0cb6ca864a4f.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
BIN
src/Boss/Minion/move_right.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_000.jpg-165f098ab6cd8a4459fcb16a1df29007.stex"
|
||||
path="res://.import/move_right.png-e040af72fc521e93b1a103a85793f9d6.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_000.jpg"
|
||||
dest_files=[ "res://.import/bg_000.jpg-165f098ab6cd8a4459fcb16a1df29007.stex" ]
|
||||
source_file="res://Boss/Minion/move_right.png"
|
||||
dest_files=[ "res://.import/move_right.png-e040af72fc521e93b1a103a85793f9d6.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
BIN
src/Boss/Minion/move_up.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Bonfire.png-0056030a521835d2d33fb9bceb6d8997.stex"
|
||||
path="res://.import/move_up.png-1d6da7005dda403a7a88194117d56cbd.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://testSprites/Bonfire.png"
|
||||
dest_files=[ "res://.import/Bonfire.png-0056030a521835d2d33fb9bceb6d8997.stex" ]
|
||||
source_file="res://Boss/Minion/move_up.png"
|
||||
dest_files=[ "res://.import/move_up.png-1d6da7005dda403a7a88194117d56cbd.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
BIN
src/Boss/SlimeBoss/Animations/move_up.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
34
src/Boss/SlimeBoss/Animations/move_up.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/move_up.png-2674f54fdbe179d2d3e2767acb2b53b9.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Boss/SlimeBoss/Animations/move_up.png"
|
||||
dest_files=[ "res://.import/move_up.png-2674f54fdbe179d2d3e2767acb2b53b9.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
|
||||
3
src/Boss/SlimeBoss/HeroCloseZone.gd
Normal file
@@ -0,0 +1,3 @@
|
||||
extends Area2D
|
||||
|
||||
var damage = 0
|
||||
BIN
src/Boss/SlimeBoss/Music/Evillaughwithoutslime.wav
Normal file
21
src/Boss/SlimeBoss/Music/Evillaughwithoutslime.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/Evillaughwithoutslime.wav-2465178cb0e3049fa3a46f0df9ab50c2.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Boss/SlimeBoss/Music/Evillaughwithoutslime.wav"
|
||||
dest_files=[ "res://.import/Evillaughwithoutslime.wav-2465178cb0e3049fa3a46f0df9ab50c2.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
|
||||
BIN
src/Boss/SlimeBoss/Music/Hurt.wav
Normal file
21
src/Boss/SlimeBoss/Music/Hurt.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/Hurt.wav-a6829ddecff2027e68a7c8da8045d01d.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Boss/SlimeBoss/Music/Hurt.wav"
|
||||
dest_files=[ "res://.import/Hurt.wav-a6829ddecff2027e68a7c8da8045d01d.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
|
||||
BIN
src/Boss/SlimeBoss/Music/Hurt2.wav
Normal file
21
src/Boss/SlimeBoss/Music/Hurt2.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/Hurt2.wav-e53e7893ad773f4c41d9905d1d7d5547.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Boss/SlimeBoss/Music/Hurt2.wav"
|
||||
dest_files=[ "res://.import/Hurt2.wav-e53e7893ad773f4c41d9905d1d7d5547.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
|
||||
BIN
src/Boss/SlimeBoss/Music/SchleimSplit.wav
Normal file
21
src/Boss/SlimeBoss/Music/SchleimSplit.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/SchleimSplit.wav-be06d1d82dcd0736628fc69a484d4027.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Boss/SlimeBoss/Music/SchleimSplit.wav"
|
||||
dest_files=[ "res://.import/SchleimSplit.wav-be06d1d82dcd0736628fc69a484d4027.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
|
||||
BIN
src/Boss/SlimeBoss/Music/SchleimSplit3.wav
Normal file
21
src/Boss/SlimeBoss/Music/SchleimSplit3.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/SchleimSplit3.wav-46eba16174f46af2c746acf029a39ace.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Boss/SlimeBoss/Music/SchleimSplit3.wav"
|
||||
dest_files=[ "res://.import/SchleimSplit3.wav-46eba16174f46af2c746acf029a39ace.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
|
||||
BIN
src/Boss/SlimeBoss/Music/slimy.wav
Normal file
21
src/Boss/SlimeBoss/Music/slimy.wav.import
Normal file
@@ -0,0 +1,21 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/slimy.wav-2f26e413d39d2e92be768830f3f5770a.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Boss/SlimeBoss/Music/slimy.wav"
|
||||
dest_files=[ "res://.import/slimy.wav-2f26e413d39d2e92be768830f3f5770a.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
|
||||
@@ -1,94 +0,0 @@
|
||||
extends KinematicBody2D
|
||||
class_name SlimeBoss
|
||||
"""
|
||||
This is an example player controller script created by Paul
|
||||
"""
|
||||
var velocity := Vector2.ZERO
|
||||
# This is how you export variables with ranges to the editor window
|
||||
export(bool) var debug := false
|
||||
export(int, 0, 500) var ACCELERATION := 450
|
||||
# Reference for the current player
|
||||
|
||||
onready var player_stats := $Stats
|
||||
onready var debug_label := $DebugLabel
|
||||
#onready var animation_player := $AnimationPlayer
|
||||
#var animation_tree := $AnimationTree
|
||||
#onready var animation_state = animation_tree.get("parameters/playback")
|
||||
|
||||
enum moveState{
|
||||
MOVE,
|
||||
HIT
|
||||
}
|
||||
|
||||
var movementState = moveState.MOVE
|
||||
|
||||
var damage_per_second := 0.0
|
||||
var totaldamage := 0.0
|
||||
|
||||
func _debug_update():
|
||||
debug_label.text = str(player_stats.health) + "/" + str(player_stats.max_health) + " HP\n"
|
||||
|
||||
|
||||
func _physics_process(delta):
|
||||
totaldamage+=damage_per_second*delta
|
||||
player_stats.speed+=10*delta
|
||||
while(totaldamage>1):
|
||||
totaldamage-=1
|
||||
player_stats.health-=1
|
||||
while(totaldamage<-1):
|
||||
totaldamage+=1
|
||||
player_stats.health+=1
|
||||
_debug_update()
|
||||
if debug == true:
|
||||
match movementState:
|
||||
moveState.MOVE:
|
||||
movement_move(delta)
|
||||
moveState.HIT:
|
||||
movement_hit()
|
||||
|
||||
move()
|
||||
|
||||
# IMPORTANT: If you are using move_and_slide don't multiply by delta
|
||||
# Godots physics system does that internally
|
||||
# In move_and_collide(...) you have to multiply by delta.
|
||||
func move():
|
||||
move_and_slide(velocity)
|
||||
|
||||
func movement_move(delta):
|
||||
var input_vector = Vector2.ZERO
|
||||
# This is a clever way to handle directional input
|
||||
# Input.get_action_strength(...) returns a value between 0 and 1 depending
|
||||
# on how strong the controller direction is pressed
|
||||
# For keyboards it always returns 1 if pressed and 0 if not
|
||||
# The actions are custom and defined in the project settings
|
||||
input_vector.x = Input.get_action_strength("right") - Input.get_action_strength("left")
|
||||
input_vector.y = Input.get_action_strength("down") - Input.get_action_strength("up")
|
||||
input_vector = input_vector.normalized()
|
||||
|
||||
if input_vector == Vector2.ZERO:
|
||||
#animation_state.travel("idle")
|
||||
velocity = Vector2.ZERO
|
||||
else:
|
||||
velocity = velocity.move_toward(player_stats.speed * input_vector, ACCELERATION * delta)
|
||||
if Input.is_action_just_pressed("roll"):
|
||||
pass
|
||||
elif Input.is_action_just_pressed("attack"):
|
||||
pass
|
||||
|
||||
func movement_hit():
|
||||
velocity = Vector2.ZERO
|
||||
|
||||
func hit_finished():
|
||||
movementState = moveState.MOVE
|
||||
|
||||
func _on_Stats_no_health():
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_Hurtbox_area_entered(area):
|
||||
player_stats.health-=area.damage
|
||||
damage_per_second = damage_per_second + area.damage
|
||||
|
||||
|
||||
func _on_Hurtbox_area_exited(area):
|
||||
damage_per_second = damage_per_second - area.damage
|
||||
@@ -1,9 +1,189 @@
|
||||
extends "res://Overlap/StateMachine/StateMachine.gd"
|
||||
extends KinematicBody2D
|
||||
|
||||
signal target_position_changed
|
||||
signal state_changed(new_state_name)
|
||||
signal phase_changed(new_phase_name)
|
||||
|
||||
export(float) var MASS = 8.0
|
||||
onready var start_global_position = global_position
|
||||
|
||||
var last_look = Vector2()
|
||||
|
||||
var state_active = null
|
||||
var sequence_cycles = 0
|
||||
|
||||
enum PHASES {PHASE_ONE, PHASE_TWO, PHASE_THREE}
|
||||
export(PHASES) var _phase = PHASES.PHASE_ONE
|
||||
|
||||
export(String, FILE, "*.tscn,*.scn") var lose_screen = ""
|
||||
|
||||
func _ready():
|
||||
states_map = {
|
||||
"idle": $Idle,
|
||||
"wander": $Wander,
|
||||
"split_up": $SplitUp,
|
||||
"stagger": $Stagger
|
||||
}
|
||||
_change_phase(_phase)
|
||||
$AnimationPlayer.play("__INIT__")
|
||||
|
||||
# We check if the Player node is a sibling so that we don't get errors
|
||||
# playing the WildBoar scene
|
||||
if get_parent().has_node('Player'):
|
||||
var player_node = get_parent().get_node('Player')
|
||||
player_node.connect('position_changed', self, '_on_target_position_changed')
|
||||
# target_position = player_node.global_position
|
||||
|
||||
for state_node in $States.get_children():
|
||||
state_node.connect('finished', self, '_on_active_state_finished')
|
||||
go_to_next_state()
|
||||
|
||||
|
||||
func _physics_process(delta):
|
||||
state_active.update(delta)
|
||||
|
||||
|
||||
func _on_animation_finished(anim_name):
|
||||
state_active._on_animation_finished(anim_name)
|
||||
|
||||
|
||||
func _on_active_state_finished():
|
||||
go_to_next_state()
|
||||
|
||||
|
||||
# Well.. guess I'll die.
|
||||
func _on_Stats_no_health():
|
||||
print("dead")
|
||||
set_invincible(true)
|
||||
go_to_next_state($States/Die)
|
||||
|
||||
func _on_Stats_health_changed(new_health):
|
||||
if _phase == PHASES.PHASE_ONE and new_health == 2:
|
||||
_change_phase(PHASES.PHASE_TWO)
|
||||
elif _phase == PHASES.PHASE_TWO and new_health == 1:
|
||||
_change_phase(PHASES.PHASE_THREE)
|
||||
elif _phase == PHASES.PHASE_THREE and new_health < 1:
|
||||
go_to_next_state($States/Die)
|
||||
|
||||
|
||||
func go_to_next_state(state_override=null):
|
||||
if state_active:
|
||||
state_active.exit()
|
||||
if state_override != null:
|
||||
state_active = state_override
|
||||
else:
|
||||
state_active = _decide_on_next_state()
|
||||
if state_active != null:
|
||||
emit_signal("state_changed", state_active.name)
|
||||
|
||||
state_active.enter()
|
||||
|
||||
func _change_phase(new_phase):
|
||||
set_invincible(true)
|
||||
var phase_name = ""
|
||||
match new_phase:
|
||||
PHASES.PHASE_ONE:
|
||||
$AnimationPlayer.playback_speed = 1.0
|
||||
phase_name = "One"
|
||||
PHASES.PHASE_TWO:
|
||||
$AnimationPlayer.playback_speed = 1.4
|
||||
phase_name = "Two"
|
||||
PHASES.PHASE_THREE:
|
||||
$AnimationPlayer.playback_speed = 1.8
|
||||
phase_name = "Three"
|
||||
|
||||
emit_signal("phase_changed", phase_name)
|
||||
_phase = new_phase
|
||||
|
||||
|
||||
var angry_phases_done = 0
|
||||
|
||||
func _decide_on_next_state():
|
||||
# Battle start
|
||||
if state_active == null:
|
||||
set_invincible(true)
|
||||
return $States/FightStart
|
||||
if state_active == $States/FightStart:
|
||||
return $States/ChargeSequence
|
||||
# Death
|
||||
if state_active == $States/Die:
|
||||
queue_free()
|
||||
get_tree().change_scene(lose_screen)
|
||||
return $States/Dead
|
||||
|
||||
if _phase == PHASES.PHASE_ONE:
|
||||
if angry_phases_done < 1:
|
||||
set_invincible(true)
|
||||
sequence_cycles += 1
|
||||
if sequence_cycles < 2:
|
||||
return $States/ChargeSequence
|
||||
else:
|
||||
angry_phases_done = 1
|
||||
sequence_cycles = 0
|
||||
return $States/ReturnToCenter
|
||||
else:
|
||||
if state_active == $States/ReturnToCenter:
|
||||
return $States/Stomp # TODO: Maybe Stomp.
|
||||
if state_active == $States/Stomp:
|
||||
set_invincible(false)
|
||||
return $States/RoamSequence
|
||||
if state_active == $States/RoamSequence:
|
||||
return $States/ChargeSequence
|
||||
if state_active == $States/ChargeSequence:
|
||||
return $States/Stomp
|
||||
|
||||
if _phase == PHASES.PHASE_TWO:
|
||||
if angry_phases_done < 2:
|
||||
set_invincible(true)
|
||||
if sequence_cycles < 4:
|
||||
if state_active == $States/ChargeSequence:
|
||||
return $States/Stomp
|
||||
if state_active == $States/Stomp:
|
||||
sequence_cycles += 1
|
||||
return $States/ChargeSequence
|
||||
return $States/ChargeSequence
|
||||
else:
|
||||
angry_phases_done = 2
|
||||
sequence_cycles = 0
|
||||
return $States/ReturnToCenter
|
||||
else:
|
||||
if state_active == $States/ReturnToCenter:
|
||||
return $States/Stomp # TODO: Maybe Stomp.
|
||||
if state_active == $States/Stomp:
|
||||
set_invincible(false)
|
||||
return $States/RoamSequence
|
||||
if state_active == $States/RoamSequence:
|
||||
return $States/ChargeSequence
|
||||
if state_active == $States/ChargeSequence:
|
||||
return $States/Stomp
|
||||
|
||||
if _phase == PHASES.PHASE_THREE:
|
||||
if angry_phases_done < 3:
|
||||
set_invincible(true)
|
||||
if sequence_cycles < 6:
|
||||
if state_active == $States/ChargeSequence:
|
||||
return $States/Stomp
|
||||
if state_active == $States/Stomp:
|
||||
sequence_cycles += 1
|
||||
return $States/ChargeSequence
|
||||
return $States/ChargeSequence
|
||||
else:
|
||||
angry_phases_done = 3
|
||||
sequence_cycles = 0
|
||||
return $States/ReturnToCenter
|
||||
else:
|
||||
if state_active == $States/ReturnToCenter:
|
||||
return $States/Stomp # TODO: Maybe Stomp.
|
||||
if state_active == $States/Stomp:
|
||||
set_invincible(false)
|
||||
return $States/RoamSequence
|
||||
if state_active == $States/RoamSequence:
|
||||
return $States/ChargeSequence
|
||||
if state_active == $States/ChargeSequence:
|
||||
return $States/Stomp
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
func set_invincible(value):
|
||||
# $CollisionShape2D.disabled = value
|
||||
# $Hitbox/CollisionShape2D.disabled = value
|
||||
$Hurtbox/CollisionShape2D.disabled = value
|
||||
|
||||
func _on_Hurtbox_area_entered(area):
|
||||
$Stats.health -= area.damage
|
||||
|
||||
39
src/Boss/SlimeBoss/States/BossState.gd
Normal file
@@ -0,0 +1,39 @@
|
||||
extends "res://Overlap/StateMachine/State.gd"
|
||||
|
||||
onready var animation_player = owner.get_node("AnimationPlayer")
|
||||
|
||||
func play_directional_animation(name, vec):
|
||||
var anim_name = name + get_nearest_diretion(vec)
|
||||
if animation_player.current_animation != anim_name:
|
||||
animation_player.play(anim_name)
|
||||
|
||||
func get_base_anim_name(name):
|
||||
var base_name = name[0]
|
||||
for i in range(1, len(name)):
|
||||
if name[i] == name[i].to_upper():
|
||||
return base_name
|
||||
|
||||
base_name += name[i]
|
||||
|
||||
func get_nearest_diretion(vec):
|
||||
var directions = {
|
||||
"Up": Vector2(0, -1.1),
|
||||
"Down": Vector2(0, 1.1),
|
||||
"Left": Vector2(-1.0, 0),
|
||||
"Right": Vector2(1.0, 0)
|
||||
}
|
||||
|
||||
var nearest_direction = "Left"
|
||||
var smallest_distance = 999999999
|
||||
|
||||
for direction in directions.keys():
|
||||
var vector = directions.get(direction)
|
||||
var distance = vec.distance_to(vector)
|
||||
|
||||
if distance < smallest_distance:
|
||||
nearest_direction = direction
|
||||
smallest_distance = distance
|
||||
|
||||
return nearest_direction
|
||||
|
||||
|
||||
16
src/Boss/SlimeBoss/States/Charge/Prepare.gd
Normal file
@@ -0,0 +1,16 @@
|
||||
extends "res://Boss/SlimeBoss/States/BossState.gd"
|
||||
|
||||
onready var charge_effect = owner.get_node("Effects/ChargeEffect")
|
||||
|
||||
func enter():
|
||||
charge_effect.emitting = true
|
||||
animation_player.play('Charging')
|
||||
$Timer.start()
|
||||
|
||||
func exit():
|
||||
charge_effect.emitting = false
|
||||
$Timer.stop()
|
||||
|
||||
func update(delta):
|
||||
if $Timer.time_left <= 0.0:
|
||||
emit_signal('finished')
|
||||
20
src/Boss/SlimeBoss/States/Charge/Sprint.gd
Normal file
@@ -0,0 +1,20 @@
|
||||
extends "res://Boss/SlimeBoss/States/BossState.gd"
|
||||
|
||||
|
||||
export(float) var SPEED = 300.0
|
||||
|
||||
var direction = Vector2()
|
||||
|
||||
func enter():
|
||||
var player_pos = Globals.player_node.global_position
|
||||
direction = (player_pos - owner.global_position).normalized()
|
||||
|
||||
func exit():
|
||||
owner.last_look = direction
|
||||
|
||||
func update(delta):
|
||||
var last_vel = owner.move_and_slide(SPEED * direction)
|
||||
play_directional_animation("Move", last_vel)
|
||||
|
||||
if owner.get_slide_count() > 0 or owner.position.x > 1800:
|
||||
emit_signal('finished')
|
||||
9
src/Boss/SlimeBoss/States/Die.gd
Normal file
@@ -0,0 +1,9 @@
|
||||
extends "res://Boss/SlimeBoss/States/BossState.gd"
|
||||
|
||||
func enter():
|
||||
SoundControler.pub_play_effect("res://Player/Sounds/hero_laugh1.ogg",10)
|
||||
animation_player.play("Die")
|
||||
|
||||
func _on_animation_finished(anim_name):
|
||||
emit_signal("finished")
|
||||
|
||||
8
src/Boss/SlimeBoss/States/FightStart.gd
Normal file
@@ -0,0 +1,8 @@
|
||||
extends "BossState.gd"
|
||||
|
||||
func enter():
|
||||
animation_player.play('FightStart')
|
||||
|
||||
func _on_animation_finished(anim_name):
|
||||
assert(anim_name == 'FightStart')
|
||||
emit_signal('finished')
|
||||
@@ -1,13 +0,0 @@
|
||||
extends "res://Overlap/StateMachine/MotionState.gd"
|
||||
|
||||
func enter():
|
||||
owner.get_node("AnimationPlayer").play("MoveDown") # TODO: Replace animation
|
||||
|
||||
func handle_input(event):
|
||||
return .handle_input(event)
|
||||
|
||||
func update(delta):
|
||||
var input_direction = get_input_direction()
|
||||
if input_direction:
|
||||
# emit_signal("finished", "move")
|
||||
pass
|
||||
@@ -1,16 +0,0 @@
|
||||
extends Node
|
||||
|
||||
|
||||
# Declare member variables here. Examples:
|
||||
# var a = 2
|
||||
# var b = "text"
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
#func _process(delta):
|
||||
# pass
|
||||
@@ -1,16 +0,0 @@
|
||||
extends Node
|
||||
|
||||
|
||||
# Declare member variables here. Examples:
|
||||
# var a = 2
|
||||
# var b = "text"
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
#func _process(delta):
|
||||
# pass
|
||||
@@ -1,16 +0,0 @@
|
||||
extends Node
|
||||
|
||||
|
||||
# Declare member variables here. Examples:
|
||||
# var a = 2
|
||||
# var b = "text"
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
#func _process(delta):
|
||||
# pass
|
||||
23
src/Boss/SlimeBoss/States/ReturnToCenter.gd
Normal file
@@ -0,0 +1,23 @@
|
||||
extends "res://Boss/SlimeBoss/States/BossState.gd"
|
||||
|
||||
export(float) var MASS = 4.0
|
||||
export(float) var SLOW_RADIUS = 200.0
|
||||
export(float) var MAX_SPEED = 300.0
|
||||
export(float) var ARRIVE_DISTANCE = 6.0
|
||||
|
||||
var velocity = Vector2.ZERO
|
||||
|
||||
|
||||
|
||||
func update(delta):
|
||||
velocity = Steering.arrive_to(velocity,
|
||||
owner.global_position,
|
||||
owner.start_global_position,
|
||||
MASS,
|
||||
SLOW_RADIUS,
|
||||
MAX_SPEED)
|
||||
play_directional_animation("Move", velocity)
|
||||
SoundControler.pub_play_effect("res://Boss/SlimeBoss/Music/slimy.wav",10)
|
||||
owner.move_and_slide(velocity)
|
||||
if owner.global_position.distance_to(owner.start_global_position) < ARRIVE_DISTANCE:
|
||||
emit_signal('finished')
|
||||
42
src/Boss/SlimeBoss/States/Roam/MoveToRandomPosition.gd
Normal file
@@ -0,0 +1,42 @@
|
||||
extends "../BossState.gd"
|
||||
|
||||
export(float) var ARRIVE_DISTANCE = 6.0
|
||||
export(float) var SLOW_RADIUS = 200.0
|
||||
export(float) var MASS = 5.0
|
||||
export(float) var MAX_SPEED = 300.0
|
||||
export(float) var ROAM_RADIUS = 100.0
|
||||
|
||||
var time_since_start = 0
|
||||
|
||||
var target_position = Vector2()
|
||||
var start_position = Vector2()
|
||||
var velocity = Vector2()
|
||||
var last_vel = Vector2()
|
||||
|
||||
func enter():
|
||||
start_position = get_parent().start_position
|
||||
target_position = calculate_new_target_position()
|
||||
$Timer.start()
|
||||
|
||||
func exit():
|
||||
owner.last_look = last_vel
|
||||
$Timer.stop()
|
||||
|
||||
|
||||
func update(delta):
|
||||
# Set animation
|
||||
velocity = Steering.arrive_to(velocity, owner.global_position, target_position, MASS, SLOW_RADIUS, MAX_SPEED)
|
||||
last_vel = owner.move_and_slide(velocity)
|
||||
|
||||
play_directional_animation("Move", last_vel)
|
||||
|
||||
if owner.global_position.distance_to(target_position) < ARRIVE_DISTANCE or $Timer.time_left <= 0.0:
|
||||
emit_signal('finished')
|
||||
|
||||
|
||||
func calculate_new_target_position():
|
||||
randomize()
|
||||
var random_angle = randf() * 2 * PI
|
||||
randomize()
|
||||
var random_radius = (randf() * ROAM_RADIUS) / 2 + ROAM_RADIUS / 2
|
||||
return start_position + Vector2(cos(random_angle) * random_radius, sin(random_angle) * random_radius)
|
||||
15
src/Boss/SlimeBoss/States/Roam/RoamSequence.gd
Normal file
@@ -0,0 +1,15 @@
|
||||
extends "res://Overlap/StateMachine/SequenceState.gd"
|
||||
|
||||
var start_position = Vector2()
|
||||
|
||||
func enter():
|
||||
start_position = owner.global_position
|
||||
.enter()
|
||||
|
||||
|
||||
func exit():
|
||||
.exit()
|
||||
|
||||
|
||||
func update(delta):
|
||||
.update(delta)
|
||||
19
src/Boss/SlimeBoss/States/Stomp.gd
Normal file
@@ -0,0 +1,19 @@
|
||||
extends "res://Boss/SlimeBoss/States/BossState.gd"
|
||||
|
||||
onready var stomp_hitbox = owner.get_node("StompHitbox/CollisionShape2D")
|
||||
onready var stomp_effect = owner.get_node("Effects/StompEffect")
|
||||
|
||||
func enter():
|
||||
stomp_hitbox.disabled = false
|
||||
stomp_effect.stomp()
|
||||
SoundControler.pub_play_effect("res://Boss/SlimeBoss/Music/SchleimSplit.wav",10)
|
||||
|
||||
func exit():
|
||||
stomp_hitbox.disabled = true
|
||||
|
||||
func update(delta):
|
||||
play_directional_animation("Charge", owner.last_look)
|
||||
|
||||
func _on_StompEffect_animation_finished():
|
||||
emit_signal("finished")
|
||||
|
||||
11
src/Boss/SlimeBoss/States/Wait.gd
Normal file
@@ -0,0 +1,11 @@
|
||||
extends "res://Boss/SlimeBoss/States/BossState.gd"
|
||||
|
||||
func enter():
|
||||
$Timer.start()
|
||||
|
||||
func update(delta):
|
||||
if $Timer.time_left <= 0.0:
|
||||
emit_signal('finished')
|
||||
|
||||
func exit():
|
||||
$Timer.stop()
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
34
src/Boss/white_boss_dog.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/white_boss_dog.png-2051b871cadef126ef3ce9d25140cd41.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Boss/white_boss_dog.png"
|
||||
dest_files=[ "res://.import/white_boss_dog.png-2051b871cadef126ef3ce9d25140cd41.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
|
||||
9
src/Debug/BossStateDisplay.gd
Normal file
@@ -0,0 +1,9 @@
|
||||
extends Panel
|
||||
|
||||
|
||||
func _on_SlimeBoss_state_changed(new_state_name):
|
||||
$VBoxContainer/State.text = new_state_name
|
||||
|
||||
|
||||
func _on_SlimeBoss_phase_changed(new_phase_name):
|
||||
$VBoxContainer/Phase.text = "Phase: " + new_phase_name
|
||||
20
src/Effects/Charge/ChargeEffect.tscn
Normal file
@@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://Effects/Charge/charge.png" type="Texture" id=1]
|
||||
|
||||
[sub_resource type="ParticlesMaterial" id=1]
|
||||
emission_shape = 2
|
||||
emission_box_extents = Vector3( 50, 20, 1 )
|
||||
flag_disable_z = true
|
||||
gravity = Vector3( 0, -40, 0 )
|
||||
orbit_velocity = 0.0
|
||||
orbit_velocity_random = 0.0
|
||||
tangential_accel = 80.0
|
||||
scale = 0.1
|
||||
scale_random = 1.0
|
||||
|
||||
[node name="ChargeEffect" type="Particles2D"]
|
||||
amount = 20
|
||||
lifetime = 0.8
|
||||
process_material = SubResource( 1 )
|
||||
texture = ExtResource( 1 )
|
||||
BIN
src/Effects/Charge/charge.png
Normal file
|
After Width: | Height: | Size: 143 B |
@@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_002.jpg-0a7ea36f7f39004b813aab33282becb0.stex"
|
||||
path="res://.import/charge.png-ac36c6bab3ea421fea437d8d775673a9.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_002.jpg"
|
||||
dest_files=[ "res://.import/bg_002.jpg-0a7ea36f7f39004b813aab33282becb0.stex" ]
|
||||
source_file="res://Effects/Charge/charge.png"
|
||||
dest_files=[ "res://.import/charge.png-ac36c6bab3ea421fea437d8d775673a9.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
9
src/Effects/Stomp/StompEffect.gd
Normal file
@@ -0,0 +1,9 @@
|
||||
extends AnimatedSprite
|
||||
|
||||
func stomp():
|
||||
visible = true
|
||||
frame = 0
|
||||
play("stomp")
|
||||
|
||||
func _animation_finished():
|
||||
visible = false
|
||||
138
src/Effects/Stomp/StompEffect.tscn
Normal file
@@ -0,0 +1,138 @@
|
||||
[gd_scene load_steps=34 format=2]
|
||||
|
||||
[ext_resource path="res://Effects/Stomp/stomp-splash.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Effects/Stomp/StompEffect.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="AtlasTexture" id=2]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 0, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=3]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 120, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=4]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 240, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=5]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 360, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=6]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 480, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=7]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 600, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=8]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 720, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=9]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 840, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=10]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 960, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=11]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1080, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=12]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1200, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=13]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1320, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=14]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1440, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=15]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1560, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=16]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1680, 0, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=17]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 0, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=18]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 120, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=19]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 240, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=20]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 360, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=21]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 480, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=22]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 600, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=23]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 720, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=24]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 840, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=25]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 960, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=26]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1080, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=27]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1200, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=28]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1320, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=29]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1440, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=30]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1560, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=31]
|
||||
atlas = ExtResource( 1 )
|
||||
region = Rect2( 1680, 120, 120, 120 )
|
||||
|
||||
[sub_resource type="SpriteFrames" id=32]
|
||||
animations = [ {
|
||||
"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ), SubResource( 9 ), SubResource( 10 ), SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 14 ), SubResource( 15 ), SubResource( 16 ), SubResource( 17 ), SubResource( 18 ), SubResource( 19 ), SubResource( 20 ), SubResource( 21 ), SubResource( 22 ), SubResource( 23 ), SubResource( 24 ), SubResource( 25 ), SubResource( 26 ), SubResource( 27 ), SubResource( 28 ), SubResource( 29 ), SubResource( 30 ), SubResource( 31 ) ],
|
||||
"loop": false,
|
||||
"name": "stomp",
|
||||
"speed": 60.0
|
||||
} ]
|
||||
|
||||
[node name="StompEffect" type="AnimatedSprite"]
|
||||
frames = SubResource( 32 )
|
||||
animation = "stomp"
|
||||
script = ExtResource( 2 )
|
||||
[connection signal="animation_finished" from="." to="." method="_animation_finished"]
|
||||
BIN
src/Effects/Stomp/stomp-splash.png
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
34
src/Effects/Stomp/stomp-splash.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/stomp-splash.png-8255ebc3952d7a9d2ea05b169c877e7f.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Effects/Stomp/stomp-splash.png"
|
||||
dest_files=[ "res://.import/stomp-splash.png-8255ebc3952d7a9d2ea05b169c877e7f.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
|
||||
@@ -1,76 +1,75 @@
|
||||
[gd_scene load_steps=62 format=2]
|
||||
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_003.jpg" type="Texture" id=1]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_019.jpg" type="Texture" id=2]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_013.jpg" type="Texture" id=3]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_007.jpg" type="Texture" id=4]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_020.jpg" type="Texture" id=5]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_010.jpg" type="Texture" id=6]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_021.jpg" type="Texture" id=7]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_011.jpg" type="Texture" id=8]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_017.jpg" type="Texture" id=9]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_005.jpg" type="Texture" id=10]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_014.jpg" type="Texture" id=11]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_016.jpg" type="Texture" id=12]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_000.jpg" type="Texture" id=13]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_004.jpg" type="Texture" id=14]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_001.jpg" type="Texture" id=15]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_006.jpg" type="Texture" id=16]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_008.jpg" type="Texture" id=17]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_012.jpg" type="Texture" id=18]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_009.jpg" type="Texture" id=19]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_015.jpg" type="Texture" id=20]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_002.jpg" type="Texture" id=21]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_018.jpg" type="Texture" id=22]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_022.jpg" type="Texture" id=23]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_023.jpg" type="Texture" id=24]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_024.jpg" type="Texture" id=25]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_052.jpg" type="Texture" id=26]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_053.jpg" type="Texture" id=27]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_058.jpg" type="Texture" id=28]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_056.jpg" type="Texture" id=29]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_054.jpg" type="Texture" id=30]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_055.jpg" type="Texture" id=31]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_059.jpg" type="Texture" id=32]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_057.jpg" type="Texture" id=33]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_048.jpg" type="Texture" id=34]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_049.jpg" type="Texture" id=35]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_032.jpg" type="Texture" id=36]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_040.jpg" type="Texture" id=37]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_033.jpg" type="Texture" id=38]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_038.jpg" type="Texture" id=39]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_046.jpg" type="Texture" id=40]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_047.jpg" type="Texture" id=41]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_050.jpg" type="Texture" id=42]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_031.jpg" type="Texture" id=43]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_025.jpg" type="Texture" id=44]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_041.jpg" type="Texture" id=45]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_039.jpg" type="Texture" id=46]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_037.jpg" type="Texture" id=47]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_029.jpg" type="Texture" id=48]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_027.jpg" type="Texture" id=49]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_030.jpg" type="Texture" id=50]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_034.jpg" type="Texture" id=51]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_026.jpg" type="Texture" id=52]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_043.jpg" type="Texture" id=53]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_028.jpg" type="Texture" id=54]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_035.jpg" type="Texture" id=55]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_045.jpg" type="Texture" id=56]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_036.jpg" type="Texture" id=57]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_042.jpg" type="Texture" id=58]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_044.jpg" type="Texture" id=59]
|
||||
[ext_resource path="res://Maps/Background/Frames/bg_051.jpg" type="Texture" id=60]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_014.jpg" type="Texture" id=1]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_005.jpg" type="Texture" id=2]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_016.jpg" type="Texture" id=3]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_010.jpg" type="Texture" id=4]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_015.jpg" type="Texture" id=5]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_003.jpg" type="Texture" id=6]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_022.jpg" type="Texture" id=7]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_019.jpg" type="Texture" id=8]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_020.jpg" type="Texture" id=9]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_001.jpg" type="Texture" id=10]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_004.jpg" type="Texture" id=11]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_009.jpg" type="Texture" id=12]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_012.jpg" type="Texture" id=13]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_000.jpg" type="Texture" id=14]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_017.jpg" type="Texture" id=15]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_007.jpg" type="Texture" id=16]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_018.jpg" type="Texture" id=17]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_008.jpg" type="Texture" id=18]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_006.jpg" type="Texture" id=19]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_011.jpg" type="Texture" id=20]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_002.jpg" type="Texture" id=21]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_013.jpg" type="Texture" id=22]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_021.jpg" type="Texture" id=23]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_024.jpg" type="Texture" id=24]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_023.jpg" type="Texture" id=25]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_025.jpg" type="Texture" id=26]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_026.jpg" type="Texture" id=27]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_036.jpg" type="Texture" id=28]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_051.jpg" type="Texture" id=29]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_053.jpg" type="Texture" id=30]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_054.jpg" type="Texture" id=31]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_056.jpg" type="Texture" id=32]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_030.jpg" type="Texture" id=33]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_027.jpg" type="Texture" id=34]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_047.jpg" type="Texture" id=35]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_057.jpg" type="Texture" id=36]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_058.jpg" type="Texture" id=37]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_035.jpg" type="Texture" id=38]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_048.jpg" type="Texture" id=39]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_050.jpg" type="Texture" id=40]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_034.jpg" type="Texture" id=41]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_042.jpg" type="Texture" id=42]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_052.jpg" type="Texture" id=43]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_043.jpg" type="Texture" id=44]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_028.jpg" type="Texture" id=45]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_029.jpg" type="Texture" id=46]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_031.jpg" type="Texture" id=47]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_032.jpg" type="Texture" id=48]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_033.jpg" type="Texture" id=49]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_038.jpg" type="Texture" id=50]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_039.jpg" type="Texture" id=51]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_037.jpg" type="Texture" id=52]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_040.jpg" type="Texture" id=53]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_041.jpg" type="Texture" id=54]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_044.jpg" type="Texture" id=55]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_046.jpg" type="Texture" id=56]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_049.jpg" type="Texture" id=57]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_055.jpg" type="Texture" id=58]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_045.jpg" type="Texture" id=59]
|
||||
[ext_resource path="res://Maps/Background/Frames/nBG_059.jpg" type="Texture" id=60]
|
||||
|
||||
[sub_resource type="SpriteFrames" id=1]
|
||||
animations = [ {
|
||||
"frames": [ ExtResource( 13 ), ExtResource( 15 ), ExtResource( 21 ), ExtResource( 1 ), ExtResource( 14 ), ExtResource( 10 ), ExtResource( 16 ), ExtResource( 4 ), ExtResource( 17 ), ExtResource( 19 ), ExtResource( 6 ), ExtResource( 8 ), ExtResource( 18 ), ExtResource( 3 ), ExtResource( 11 ), ExtResource( 20 ), ExtResource( 12 ), ExtResource( 9 ), ExtResource( 22 ), ExtResource( 2 ), ExtResource( 5 ), ExtResource( 7 ), ExtResource( 23 ), ExtResource( 24 ), ExtResource( 25 ), ExtResource( 44 ), ExtResource( 52 ), ExtResource( 49 ), ExtResource( 54 ), ExtResource( 48 ), ExtResource( 50 ), ExtResource( 43 ), ExtResource( 36 ), ExtResource( 38 ), ExtResource( 51 ), ExtResource( 55 ), ExtResource( 57 ), ExtResource( 47 ), ExtResource( 39 ), ExtResource( 46 ), ExtResource( 37 ), ExtResource( 45 ), ExtResource( 58 ), ExtResource( 53 ), ExtResource( 59 ), ExtResource( 56 ), ExtResource( 40 ), ExtResource( 41 ), ExtResource( 34 ), ExtResource( 35 ), ExtResource( 42 ), ExtResource( 60 ), ExtResource( 26 ), ExtResource( 27 ), ExtResource( 30 ), ExtResource( 31 ), ExtResource( 29 ), ExtResource( 33 ), ExtResource( 28 ), ExtResource( 32 ) ],
|
||||
"frames": [ ExtResource( 14 ), ExtResource( 10 ), ExtResource( 21 ), ExtResource( 6 ), ExtResource( 11 ), ExtResource( 2 ), ExtResource( 19 ), ExtResource( 16 ), ExtResource( 18 ), ExtResource( 12 ), ExtResource( 4 ), ExtResource( 20 ), ExtResource( 13 ), ExtResource( 22 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 3 ), ExtResource( 15 ), ExtResource( 17 ), ExtResource( 8 ), ExtResource( 9 ), ExtResource( 23 ), ExtResource( 7 ), ExtResource( 25 ), ExtResource( 24 ), ExtResource( 26 ), ExtResource( 27 ), ExtResource( 34 ), ExtResource( 45 ), ExtResource( 46 ), ExtResource( 33 ), ExtResource( 47 ), ExtResource( 48 ), ExtResource( 49 ), ExtResource( 41 ), ExtResource( 38 ), ExtResource( 28 ), ExtResource( 52 ), ExtResource( 50 ), ExtResource( 51 ), ExtResource( 53 ), ExtResource( 54 ), ExtResource( 42 ), ExtResource( 44 ), ExtResource( 55 ), ExtResource( 59 ), ExtResource( 56 ), ExtResource( 35 ), ExtResource( 39 ), ExtResource( 57 ), ExtResource( 40 ), ExtResource( 29 ), ExtResource( 43 ), ExtResource( 30 ), ExtResource( 31 ), ExtResource( 58 ), ExtResource( 32 ), ExtResource( 36 ), ExtResource( 37 ), ExtResource( 60 ) ],
|
||||
"loop": true,
|
||||
"name": "default",
|
||||
"speed": 30.0
|
||||
"speed": 60.0
|
||||
} ]
|
||||
|
||||
[node name="Background" type="AnimatedSprite"]
|
||||
frames = SubResource( 1 )
|
||||
frame = 28
|
||||
playing = true
|
||||
frame = 42
|
||||
centered = false
|
||||
|
||||
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_004.jpg-84e088b978c56e6ef13354106a10ee02.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_004.jpg"
|
||||
dest_files=[ "res://.import/bg_004.jpg-84e088b978c56e6ef13354106a10ee02.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_005.jpg-76509163e952d49c7365ed76f6f7abd8.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_005.jpg"
|
||||
dest_files=[ "res://.import/bg_005.jpg-76509163e952d49c7365ed76f6f7abd8.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_006.jpg-175ebcf1d5449266764050f1397b3c6d.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_006.jpg"
|
||||
dest_files=[ "res://.import/bg_006.jpg-175ebcf1d5449266764050f1397b3c6d.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_007.jpg-b2c984194bda16bd166b0108834af6af.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_007.jpg"
|
||||
dest_files=[ "res://.import/bg_007.jpg-b2c984194bda16bd166b0108834af6af.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_008.jpg-78138098bee9e9dfaea7ca61a9212c0e.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_008.jpg"
|
||||
dest_files=[ "res://.import/bg_008.jpg-78138098bee9e9dfaea7ca61a9212c0e.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_009.jpg-06392b835eef23a85fcf6512820786aa.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_009.jpg"
|
||||
dest_files=[ "res://.import/bg_009.jpg-06392b835eef23a85fcf6512820786aa.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_010.jpg-70dd0b8d1a4d16ba706e85b5c57151bb.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_010.jpg"
|
||||
dest_files=[ "res://.import/bg_010.jpg-70dd0b8d1a4d16ba706e85b5c57151bb.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_011.jpg-f301435257a529afb01ab0a07bfd4a72.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_011.jpg"
|
||||
dest_files=[ "res://.import/bg_011.jpg-f301435257a529afb01ab0a07bfd4a72.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_013.jpg-6629ea3ca6b8df39aeaba0ac78980ce9.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_013.jpg"
|
||||
dest_files=[ "res://.import/bg_013.jpg-6629ea3ca6b8df39aeaba0ac78980ce9.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_014.jpg-a2642869f42237d76f80b7c813f90c01.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_014.jpg"
|
||||
dest_files=[ "res://.import/bg_014.jpg-a2642869f42237d76f80b7c813f90c01.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_015.jpg-c97b0af86a8cac23d2bdae80dac7e091.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_015.jpg"
|
||||
dest_files=[ "res://.import/bg_015.jpg-c97b0af86a8cac23d2bdae80dac7e091.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_016.jpg-6305fb42d804f0aa26c23157f9fcf3d4.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_016.jpg"
|
||||
dest_files=[ "res://.import/bg_016.jpg-6305fb42d804f0aa26c23157f9fcf3d4.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_017.jpg-155581516933849b34c3592c4293e37e.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_017.jpg"
|
||||
dest_files=[ "res://.import/bg_017.jpg-155581516933849b34c3592c4293e37e.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_018.jpg-0af766bb63e004924e5f4c90a568c86e.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_018.jpg"
|
||||
dest_files=[ "res://.import/bg_018.jpg-0af766bb63e004924e5f4c90a568c86e.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_019.jpg-f30b535c5e79eb7746754373130667e1.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_019.jpg"
|
||||
dest_files=[ "res://.import/bg_019.jpg-f30b535c5e79eb7746754373130667e1.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_020.jpg-a8ee7ce4e2fcc9f6fc9d761848474327.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_020.jpg"
|
||||
dest_files=[ "res://.import/bg_020.jpg-a8ee7ce4e2fcc9f6fc9d761848474327.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_021.jpg-6f76f8b6f102aa1bd8b82fb5880f9c96.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_021.jpg"
|
||||
dest_files=[ "res://.import/bg_021.jpg-6f76f8b6f102aa1bd8b82fb5880f9c96.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
|
||||
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,34 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bg_022.jpg-28fadd07c820cdabb69be006ae246904.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Background/Frames/bg_022.jpg"
|
||||
dest_files=[ "res://.import/bg_022.jpg-28fadd07c820cdabb69be006ae246904.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
|
||||