adjusted famira balancing

This commit is contained in:
pennyrigate 2024-06-11 19:30:24 -04:00
parent 7240402776
commit 9e8abe19ef
19 changed files with 128 additions and 41 deletions

Binary file not shown.

View file

@ -0,0 +1,15 @@
[remap]
importer="ogg_vorbis"
type="AudioStreamOGGVorbis"
path="res://.import/rumble_revolution.ogg-f4caaf13c218d7e4e59d5ae9bc9b9d8a.oggstr"
[deps]
source_file="res://audio/music/rumble_revolution.ogg"
dest_files=[ "res://.import/rumble_revolution.ogg-f4caaf13c218d7e4e59d5ae9bc9b9d8a.oggstr" ]
[params]
loop=false
loop_offset=0

BIN
audio/sounds/cop_splat.ogg Normal file

Binary file not shown.

View file

@ -0,0 +1,15 @@
[remap]
importer="ogg_vorbis"
type="AudioStreamOGGVorbis"
path="res://.import/cop_splat.ogg-5903ad8999d95a4ef126279b8e808331.oggstr"
[deps]
source_file="res://audio/sounds/cop_splat.ogg"
dest_files=[ "res://.import/cop_splat.ogg-5903ad8999d95a4ef126279b8e808331.oggstr" ]
[params]
loop=false
loop_offset=0

Binary file not shown.

View file

@ -0,0 +1,15 @@
[remap]
importer="ogg_vorbis"
type="AudioStreamOGGVorbis"
path="res://.import/fami_grumble.ogg-cabbe16ca489c6f315bf9a64fc367c42.oggstr"
[deps]
source_file="res://audio/sounds/fami_grumble.ogg"
dest_files=[ "res://.import/fami_grumble.ogg-cabbe16ca489c6f315bf9a64fc367c42.oggstr" ]
[params]
loop=false
loop_offset=0

Binary file not shown.

BIN
audio/sounds/se_g2.wav Normal file

Binary file not shown.

View file

@ -0,0 +1,23 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/se_g2.wav-2200ac432f464093b1975ff4500900fb.sample"
[deps]
source_file="res://audio/sounds/se_g2.wav"
dest_files=[ "res://.import/se_g2.wav-2200ac432f464093b1975ff4500900fb.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_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

View file

@ -54,6 +54,8 @@ const a_teleport = preload("res://audio/sounds/teleport.ogg")
const a_mkey = preload("res://audio/sounds/mkey.ogg") const a_mkey = preload("res://audio/sounds/mkey.ogg")
const a_msx_die = preload("res://audio/sounds/msx_die.ogg") const a_msx_die = preload("res://audio/sounds/msx_die.ogg")
const a_famira = preload("res://audio/sounds/famira.ogg") const a_famira = preload("res://audio/sounds/famira.ogg")
const a_vulcan = preload("res://audio/sounds/se_g2.wav")
const a_grumble = preload("res://audio/sounds/fami_grumble.ogg")
var loop_section = null var loop_section = null
var has_looped = false var has_looped = false

View file

@ -4,7 +4,7 @@ signal cutscene_finished
const DeathParticles = preload("res://objects/enemy/death_particles.tscn") const DeathParticles = preload("res://objects/enemy/death_particles.tscn")
export var cutscene_skip: float = 92.0 export var cutscene_skip: float = 78.5
onready var animation_player: AnimationPlayer = $AnimationPlayer onready var animation_player: AnimationPlayer = $AnimationPlayer

View file

@ -192,11 +192,11 @@ tracks/0/loop_wrap = true
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PoolRealArray( 0, 4.95088, 14.1874, 20.9397, 30.797, 40.2982, 49.7601, 59.7868, 64.7672, 71.5391, 72.2, 92 ), "times": PoolRealArray( 0, 4.95088, 13, 19, 28.5, 37, 46.5, 51.5, 58, 59, 78.5 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 2, "update": 2,
"values": [ "Aha so you've made it this far, however your efforts are all in vain.", "You see, SG, "values": [ "Aha! so you've made it this far, however your efforts are all in vain.", "You see, SG,
I plan to use the shards to power my spaceship, its exhaust will be so powerful, you peasants will all be vaporized. ", "Me and all of the wonderful billionaires of the world will head to planet X, the newly discovered planet beyond pluto.", "I've heard you want to start a revolution. Well, I'll have you know I kicked off my own revolution in 2068, and to be honest I don't quite see why you want my revolution to end.", "You know what they say, the freer the market, the freer the people, and ever since then I've never felt so free! I think your revolution is a foolish pipe dream! ", "Adam Smith once said \"Nobody but a beggar chooses to depend chiefly upon the benevolence of his fellow citizens\", your commie society could never work!", "I will defend my status quo as fiercly as possible! It was not by my hand that our society was erected, but it will be by mine that it is upheld!", "Oh? How will i reconstruct the Zircon Ultima? You're just the perfect tool for that. ", "While you've been on your gay little adventure collecting shards I've been waiting for this very moment to take them all from you!", "Have at you!", "", "" ] I plan to use the shards to power my spaceship, its exhaust will be so powerful, you peasants will all be vaporized. ", "Me and all of the wonderful billionaires of the world will head to planet X, the newly discovered planet beyond pluto.", "I've heard you want to start a revolution. Well, I'll have you know I kicked off my own revolution in 2068, and to be honest I don't quite see why you want my revolution to end.", "You know what they say, the freer the market, the freer the people, ever since then I've never felt so free! I think your revolution is a foolish pipe dream! ", "Adam Smith once said \"Nobody but a beggar chooses to depend chiefly upon the benevolence of his fellow citizens\", your commie society would never work!", "Oh? How will i reconstruct the Zircon Ultima? You're just the perfect tool for that. ", "While you've been on your gay little adventure collecting shards I've been waiting for this very moment to take them all from you!", "Have at you!", "", "" ]
} }
tracks/1/type = "value" tracks/1/type = "value"
tracks/1/path = NodePath("FamiVoice:playing") tracks/1/path = NodePath("FamiVoice:playing")
@ -205,10 +205,10 @@ tracks/1/loop_wrap = true
tracks/1/imported = false tracks/1/imported = false
tracks/1/enabled = true tracks/1/enabled = true
tracks/1/keys = { tracks/1/keys = {
"times": PoolRealArray( 0, 0.01, 92 ), "times": PoolRealArray( 0, 78.5 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1 ),
"update": 1, "update": 1,
"values": [ false, true, false ] "values": [ true, false ]
} }
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/path = NodePath("Cop:position") tracks/2/path = NodePath("Cop:position")
@ -217,7 +217,7 @@ tracks/2/loop_wrap = true
tracks/2/imported = false tracks/2/imported = false
tracks/2/enabled = true tracks/2/enabled = true
tracks/2/keys = { tracks/2/keys = {
"times": PoolRealArray( 0, 72.3, 74 ), "times": PoolRealArray( 0, 59, 60.5 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 0, "update": 0,
"values": [ Vector2( -8, 169 ), Vector2( -8, 169 ), Vector2( 72, 169 ) ] "values": [ Vector2( -8, 169 ), Vector2( -8, 169 ), Vector2( 72, 169 ) ]
@ -229,7 +229,7 @@ tracks/3/loop_wrap = true
tracks/3/imported = false tracks/3/imported = false
tracks/3/enabled = true tracks/3/enabled = true
tracks/3/keys = { tracks/3/keys = {
"times": PoolRealArray( 72.3, 74 ), "times": PoolRealArray( 59, 60.5 ),
"transitions": PoolRealArray( 1, 1 ), "transitions": PoolRealArray( 1, 1 ),
"update": 1, "update": 1,
"values": [ "walk", "gun" ] "values": [ "walk", "gun" ]
@ -241,7 +241,7 @@ tracks/4/loop_wrap = true
tracks/4/imported = false tracks/4/imported = false
tracks/4/enabled = true tracks/4/enabled = true
tracks/4/keys = { tracks/4/keys = {
"times": PoolRealArray( 0, 75, 77, 77.4, 83, 85, 89, 89.375 ), "times": PoolRealArray( 0, 61.5, 63.5, 64, 69.5, 71.5, 75.5, 76 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1, "update": 1,
"values": [ "idle", "walk", "idle", "punch", "walk", "idle", "shrink", "orb" ] "values": [ "idle", "walk", "idle", "punch", "walk", "idle", "shrink", "orb" ]
@ -253,7 +253,7 @@ tracks/5/loop_wrap = true
tracks/5/imported = false tracks/5/imported = false
tracks/5/enabled = true tracks/5/enabled = true
tracks/5/keys = { tracks/5/keys = {
"times": PoolRealArray( 0, 75, 77, 83, 85, 89, 91, 92 ), "times": PoolRealArray( 0, 61.5, 63.5, 69.5, 71.5, 75.5, 77.5, 78.5 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 0, "update": 0,
"values": [ Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 105, 167 ), Vector2( 105, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 83 ) ] "values": [ Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 105, 167 ), Vector2( 105, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 83 ) ]
@ -265,7 +265,7 @@ tracks/6/loop_wrap = true
tracks/6/imported = false tracks/6/imported = false
tracks/6/enabled = true tracks/6/enabled = true
tracks/6/keys = { tracks/6/keys = {
"times": PoolRealArray( 0.1, 78, 83 ), "times": PoolRealArray( 0.1, 64.5, 69.5 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 1, "update": 1,
"values": [ false, true, false ] "values": [ false, true, false ]
@ -277,7 +277,7 @@ tracks/7/loop_wrap = true
tracks/7/imported = false tracks/7/imported = false
tracks/7/enabled = true tracks/7/enabled = true
tracks/7/keys = { tracks/7/keys = {
"times": PoolRealArray( 0, 86, 89 ), "times": PoolRealArray( 0, 72.5, 75.5 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 1, "update": 1,
"values": [ false, true, false ] "values": [ false, true, false ]
@ -289,7 +289,7 @@ tracks/8/loop_wrap = true
tracks/8/imported = false tracks/8/imported = false
tracks/8/enabled = true tracks/8/enabled = true
tracks/8/keys = { tracks/8/keys = {
"times": PoolRealArray( 0, 88, 89 ), "times": PoolRealArray( 0, 74.5, 75.5 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 0, "update": 0,
"values": [ Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 1 ) ] "values": [ Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 1 ) ]
@ -301,7 +301,7 @@ tracks/9/loop_wrap = true
tracks/9/imported = false tracks/9/imported = false
tracks/9/enabled = true tracks/9/enabled = true
tracks/9/keys = { tracks/9/keys = {
"times": PoolRealArray( 0, 88, 89 ), "times": PoolRealArray( 0, 74.5, 75.5 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 0, "update": 0,
"values": [ Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 1 ) ] "values": [ Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 1 ) ]
@ -313,7 +313,7 @@ tracks/10/loop_wrap = true
tracks/10/imported = false tracks/10/imported = false
tracks/10/enabled = true tracks/10/enabled = true
tracks/10/keys = { tracks/10/keys = {
"times": PoolRealArray( 92 ), "times": PoolRealArray( 78.5 ),
"transitions": PoolRealArray( 1 ), "transitions": PoolRealArray( 1 ),
"values": [ { "values": [ {
"args": [ "cutscene_finished" ], "args": [ "cutscene_finished" ],
@ -403,7 +403,7 @@ material = ExtResource( 19 )
position = Vector2( 160, 167 ) position = Vector2( 160, 167 )
scale = Vector2( -1, 1 ) scale = Vector2( -1, 1 )
frames = SubResource( 7 ) frames = SubResource( 7 )
animation = "idle" animation = "orb"
playing = true playing = true
[node name="FamiVoice" type="AudioStreamPlayer" parent="."] [node name="FamiVoice" type="AudioStreamPlayer" parent="."]
@ -417,7 +417,7 @@ anims/cutscene = SubResource( 2 )
[node name="Cop" type="AnimatedSprite" parent="."] [node name="Cop" type="AnimatedSprite" parent="."]
material = SubResource( 8 ) material = SubResource( 8 )
position = Vector2( -8, 169 ) position = Vector2( 72, 169 )
frames = SubResource( 13 ) frames = SubResource( 13 )
animation = "gun" animation = "gun"
playing = true playing = true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Before After
Before After

View file

@ -28,6 +28,7 @@ func _on_cutscene_finished() -> void:
famira.visible = true famira.visible = true
famira.animation_player.play("grow") famira.animation_player.play("grow")
$AnimationPlayer.play("drop-stg") $AnimationPlayer.play("drop-stg")
Audio.play_music(load("res://audio/music/rumble_revolution.ogg"))
yield(get_tree().create_timer(0.5), "timeout") yield(get_tree().create_timer(0.5), "timeout")
$FamiCutscene/FamiHuman.visible = false $FamiCutscene/FamiHuman.visible = false

View file

@ -5,9 +5,16 @@ const SmallExplosion = preload("res://objects/enemy/boss/2600_small_explosion.ts
export var direction: Vector2 = Vector2.LEFT export var direction: Vector2 = Vector2.LEFT
export var speed: float = 50.0 export var speed: float = 50.0
export var damage: float = 0.0 export var damage: float = 0.0
onready var sprite = $AnimatedSprite
var lifetime = 0
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
position += direction * speed * delta position += direction * speed * delta
lifetime += 1
if lifetime < 10:
var r = rand_range(0,5)
sprite.position.y += sin(Game.time * 20)
print(lifetime)
func _exit_tree() -> void: func _exit_tree() -> void:
var explosion = SmallExplosion.instance() var explosion = SmallExplosion.instance()

View file

@ -5,16 +5,17 @@ signal died()
signal health_changed(amount) signal health_changed(amount)
export var push_speed: float = 60.0 export var push_speed: float = 30.0
export var chase_speed: float = 40.0 export var chase_speed: float = 50.0
export var breath_dps: float = 50.0 export var breath_dps: float = 20.0
export var breath_knockback: float = 16.0 export var breath_knockback: float = 16.0
export var punch_damage: float = 10.0 export var punch_damage: float = 8.0
export var punch_knockback: float = 8.0 export var punch_knockback: float = 40.0
export var hurting: bool = false export var hurting: bool = false
export var hp: float = 100.0 export var hp: float = 100.0
export var sg2083_beam_dps: float = 10.0 export var sg2083_beam_dps: float = 10.0
export var sg2083_path: NodePath export var sg2083_path: NodePath
export var defense: float = 0.6
onready var animation_player: AnimationPlayer = $"%AnimationPlayer" onready var animation_player: AnimationPlayer = $"%AnimationPlayer"
@ -22,7 +23,7 @@ onready var state_chart: StateChart = $StateChart
onready var in_range_cast: RayCast2D = $InRangeCast onready var in_range_cast: RayCast2D = $InRangeCast
onready var out_range_cast: RayCast2D = $OutRangeCast onready var out_range_cast: RayCast2D = $OutRangeCast
onready var shoot_range_cast: RayCast2D = $ShootRangeCast onready var shoot_range_cast: RayCast2D = $ShootRangeCast
onready var grumble = $Grumble
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
var sg2083 := get_node(sg2083_path) var sg2083 := get_node(sg2083_path)
@ -35,6 +36,8 @@ func _physics_process(delta: float) -> void:
state_chart.send_event("out_of_range") state_chart.send_event("out_of_range")
elif in_range_cast.is_colliding(): elif in_range_cast.is_colliding():
state_chart.send_event("in_range") state_chart.send_event("in_range")
if fmod(Game.time, 15.0) == 0.0:
Audio.play_sound(Audio.a_grumble,Audio.ac_boss)
func start_push() -> void: func start_push() -> void:
@ -48,7 +51,7 @@ func stop_push() -> void:
func hurt(amount: float) -> void: func hurt(amount: float) -> void:
if hp <= 0.0: if hp <= 0.0:
return return
hp -= amount hp -= amount * defense
hp = max(hp, 0.0) hp = max(hp, 0.0)
emit_signal("health_changed", hp) emit_signal("health_changed", hp)
if hp <= 0.0: if hp <= 0.0:
@ -64,6 +67,7 @@ func _attack() -> void:
func _on_Roar_state_entered() -> void: func _on_Roar_state_entered() -> void:
animation_player.play("roar", 0.25) animation_player.play("roar", 0.25)

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=53 format=2] [gd_scene load_steps=54 format=2]
[ext_resource path="res://objects/enemy/boss/famira.gd" type="Script" id=1] [ext_resource path="res://objects/enemy/boss/famira.gd" type="Script" id=1]
[ext_resource path="res://shaders/scale3x.gdshader" type="Shader" id=2] [ext_resource path="res://shaders/scale3x.gdshader" type="Shader" id=2]
@ -26,6 +26,7 @@
[ext_resource path="res://graphics/enemy/boss/fami_parts/head_lower.png" type="Texture" id=24] [ext_resource path="res://graphics/enemy/boss/fami_parts/head_lower.png" type="Texture" id=24]
[ext_resource path="res://graphics/enemy/boss/fami_parts/head_upper.png" type="Texture" id=25] [ext_resource path="res://graphics/enemy/boss/fami_parts/head_upper.png" type="Texture" id=25]
[ext_resource path="res://graphics/enemy/boss/fami_parts/eye.png" type="Texture" id=26] [ext_resource path="res://graphics/enemy/boss/fami_parts/eye.png" type="Texture" id=26]
[ext_resource path="res://audio/sounds/fami_grumble.ogg" type="AudioStream" id=27]
[sub_resource type="RectangleShape2D" id=11] [sub_resource type="RectangleShape2D" id=11]
extents = Vector2( 28, 64 ) extents = Vector2( 28, 64 )
@ -3999,25 +4000,25 @@ collision_mask = 128
monitorable = false monitorable = false
[node name="Body" type="CollisionShape2D" parent="Hitbox"] [node name="Body" type="CollisionShape2D" parent="Hitbox"]
position = Vector2( 0.00461769, -23.9291 ) position = Vector2( 0.00459766, -23.9291 )
rotation = -0.0114693 rotation = -0.0114701
shape = SubResource( 13 ) shape = SubResource( 13 )
[node name="Brain" type="CollisionShape2D" parent="Hitbox"] [node name="Brain" type="CollisionShape2D" parent="Hitbox"]
position = Vector2( 11.5072, -96.7914 ) position = Vector2( 11.5069, -96.7914 )
rotation = 2.48158 rotation = 2.48158
z_index = 100 z_index = 100
shape = SubResource( 14 ) shape = SubResource( 14 )
[node name="LowerJaw" type="CollisionShape2D" parent="Hitbox"] [node name="LowerJaw" type="CollisionShape2D" parent="Hitbox"]
position = Vector2( -21.3082, -76.1166 ) position = Vector2( -21.3083, -76.1164 )
rotation = 1.66396 rotation = 1.66395
z_index = 100 z_index = 100
shape = SubResource( 15 ) shape = SubResource( 15 )
[node name="UpperJaw" type="CollisionShape2D" parent="Hitbox"] [node name="UpperJaw" type="CollisionShape2D" parent="Hitbox"]
position = Vector2( -21.8181, -103.259 ) position = Vector2( -21.8184, -103.259 )
rotation = -1.66238 rotation = -1.66239
z_index = 100 z_index = 100
shape = SubResource( 16 ) shape = SubResource( 16 )
@ -4132,6 +4133,9 @@ collision_mask = 4
collide_with_areas = true collide_with_areas = true
collide_with_bodies = false collide_with_bodies = false
[node name="Grumble" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 27 )
[connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"] [connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"]
[connection signal="body_entered" from="Hitbox" to="." method="_on_Hitbox_body_entered"] [connection signal="body_entered" from="Hitbox" to="." method="_on_Hitbox_body_entered"]
[connection signal="state_entered" from="StateChart/Root/Roar" to="." method="_on_Roar_state_entered" flags=3] [connection signal="state_entered" from="StateChart/Root/Roar" to="." method="_on_Roar_state_entered" flags=3]

View file

@ -19,10 +19,10 @@ export var shot_speed: float = 50.0
export var move_speed: float = 30.0 export var move_speed: float = 30.0
export var safe_from_breath: bool = false export var safe_from_breath: bool = false
export var make_explosions: bool = false export var make_explosions: bool = false
export var bullet_damage: float = 1.0 export var bullet_damage: float = 0.2
export var bullet_energy: float = 5.0 export var bullet_energy: float = 0.0
export var beam_energy: float = 50.0 export var beam_energy: float = 75.0
export var duck_energy: float = 10.0 export var duck_energy: float = 0.15
export var explosion_rect: Rect2 export var explosion_rect: Rect2
export var famira_path: NodePath export var famira_path: NodePath
@ -43,7 +43,6 @@ func _physics_process(delta: float) -> void:
return return
State.STAND: State.STAND:
if Input.is_action_pressed("move_down") and energy >= duck_energy: if Input.is_action_pressed("move_down") and energy >= duck_energy:
set_energy(energy - duck_energy)
state = State.DUCK state = State.DUCK
anims.play("Duck") anims.play("Duck")
elif Input.is_action_pressed("move_right"): elif Input.is_action_pressed("move_right"):
@ -55,6 +54,8 @@ func _physics_process(delta: float) -> void:
State.DUCK: State.DUCK:
if not Input.is_action_pressed("move_down") and anims.current_animation.empty(): if not Input.is_action_pressed("move_down") and anims.current_animation.empty():
anims.play("UnDuck") anims.play("UnDuck")
energy -= duck_energy
State.FORWARD: State.FORWARD:
move_and_slide(Vector2(move_speed, 0.0)) move_and_slide(Vector2(move_speed, 0.0))
State.BACK: State.BACK:
@ -87,7 +88,7 @@ func land(duck: bool) -> void:
func shoot() -> void: func shoot() -> void:
set_energy(energy - bullet_energy) set_energy(energy - bullet_energy)
Audio.play_sound(Audio.a_bullet_barrage,Audio.ac_collectible) Audio.play_sound(Audio.a_vulcan,Audio.ac_menu)
for pos in bullet_positions.get_children(): for pos in bullet_positions.get_children():
var bullet = Bullet.instance() var bullet = Bullet.instance()
bullet.global_position = pos.global_position bullet.global_position = pos.global_position

View file

@ -1610,7 +1610,7 @@ update_scale = false
[node name="KneeBack" type="Sprite" parent="Axle"] [node name="KneeBack" type="Sprite" parent="Axle"]
modulate = Color( 0.74902, 0.74902, 0.74902, 1 ) modulate = Color( 0.74902, 0.74902, 0.74902, 1 )
position = Vector2( 6.25088, 28.1233 ) position = Vector2( 6.25089, 28.1233 )
scale = Vector2( 1, -1 ) scale = Vector2( 1, -1 )
z_index = -1 z_index = -1
texture = ExtResource( 8 ) texture = ExtResource( 8 )