forked from team-sg/hero-mark-2
tie fami cutscene into boss3 level
This commit is contained in:
parent
7cf99cb510
commit
87973f77e0
12 changed files with 568 additions and 60 deletions
3
cutscenes/fami_cutscene.gd
Normal file
3
cutscenes/fami_cutscene.gd
Normal file
|
@ -0,0 +1,3 @@
|
|||
extends Node2D
|
||||
|
||||
signal cutscene_finished
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=34 format=2]
|
||||
[gd_scene load_steps=42 format=2]
|
||||
|
||||
[ext_resource path="res://shaders/recolor_border.shader" type="Shader" id=1]
|
||||
[ext_resource path="res://graphics/player/palettes/default.png" type="Texture" id=2]
|
||||
|
@ -9,7 +9,7 @@
|
|||
[ext_resource path="res://tilesets/t_station.tres" type="TileSet" id=7]
|
||||
[ext_resource path="res://tilesets/t_laboratory.tres" type="TileSet" id=8]
|
||||
[ext_resource path="res://graphics/npc/fami_human.png" type="Texture" id=9]
|
||||
[ext_resource path="res://graphics/backgrounds/fami_rooftop.png" type="Texture" id=10]
|
||||
[ext_resource path="res://cutscenes/fami_cutscene.gd" type="Script" id=10]
|
||||
[ext_resource path="res://audio/sounds/fami_voice.ogg" type="AudioStream" id=11]
|
||||
[ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=12]
|
||||
[ext_resource path="res://graphics/collectibles/shard.png" type="Texture" id=13]
|
||||
|
@ -17,6 +17,8 @@
|
|||
[ext_resource path="res://graphics/enemy/cop/cop_shoot.png" type="Texture" id=15]
|
||||
[ext_resource path="res://graphics/npc/fami_human_walk.png" type="Texture" id=16]
|
||||
[ext_resource path="res://graphics/npc/fami_human_punch.png" type="Texture" id=17]
|
||||
[ext_resource path="res://graphics/npc/fami_human_transform.png" type="Texture" id=18]
|
||||
[ext_resource path="res://objects/enemy/boss/fami_transform.material" type="Material" id=19]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=1]
|
||||
shader = ExtResource( 1 )
|
||||
|
@ -24,6 +26,30 @@ shader_param/border_color = Color( 0, 0, 0, 1 )
|
|||
shader_param/border_corners = true
|
||||
shader_param/palette = ExtResource( 2 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=17]
|
||||
atlas = ExtResource( 18 )
|
||||
region = Rect2( 42, 0, 14, 24 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=18]
|
||||
atlas = ExtResource( 18 )
|
||||
region = Rect2( 56, 0, 14, 24 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=19]
|
||||
atlas = ExtResource( 18 )
|
||||
region = Rect2( 70, 0, 14, 24 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=20]
|
||||
atlas = ExtResource( 18 )
|
||||
region = Rect2( 0, 0, 14, 24 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=21]
|
||||
atlas = ExtResource( 18 )
|
||||
region = Rect2( 14, 0, 14, 24 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=22]
|
||||
atlas = ExtResource( 18 )
|
||||
region = Rect2( 28, 0, 14, 24 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=3]
|
||||
atlas = ExtResource( 16 )
|
||||
region = Rect2( 0, 0, 14, 24 )
|
||||
|
@ -47,11 +73,21 @@ animations = [ {
|
|||
"name": "idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [ SubResource( 17 ), SubResource( 18 ), SubResource( 19 ) ],
|
||||
"loop": true,
|
||||
"name": "orb",
|
||||
"speed": 8.0
|
||||
}, {
|
||||
"frames": [ ExtResource( 17 ) ],
|
||||
"loop": true,
|
||||
"name": "punch",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [ SubResource( 20 ), SubResource( 21 ), SubResource( 22 ) ],
|
||||
"loop": false,
|
||||
"name": "shrink",
|
||||
"speed": 8.0
|
||||
}, {
|
||||
"frames": [ SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ) ],
|
||||
"loop": true,
|
||||
"name": "walk",
|
||||
|
@ -96,11 +132,35 @@ tracks/2/keys = {
|
|||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("FamiHuman:material:shader_param/background_color")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 0.396078, 1, 1, 0 ) ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("FamiHuman:material:shader_param/arc_color")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 0.345098, 0.74902, 0.878431, 0 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
resource_name = "cutscene"
|
||||
length = 100.0
|
||||
step = 1.0
|
||||
length = 92.0
|
||||
step = 0.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Label:text")
|
||||
tracks/0/interp = 1
|
||||
|
@ -110,7 +170,7 @@ tracks/0/enabled = true
|
|||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0.1, 4.95088, 14.1874, 20.9397, 30.797, 40.2982, 49.7601, 59.7868, 64.7672, 71.5391, 72.2 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"update": 2,
|
||||
"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!", "" ]
|
||||
|
@ -134,10 +194,10 @@ tracks/2/loop_wrap = true
|
|||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 72.3, 74 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"times": PoolRealArray( 0, 72.3, 74 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -8, 169 ), Vector2( 72, 169 ) ]
|
||||
"values": [ Vector2( -8, 169 ), Vector2( -8, 169 ), Vector2( 72, 169 ) ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("Cop:animation")
|
||||
|
@ -158,10 +218,10 @@ tracks/4/loop_wrap = true
|
|||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0, 75, 77, 77.4, 83, 85 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
|
||||
"times": PoolRealArray( 0, 75, 77, 77.4, 83, 85, 89, 89.375 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ "idle", "walk", "idle", "punch", "walk", "idle" ]
|
||||
"values": [ "idle", "walk", "idle", "punch", "walk", "idle", "shrink", "orb" ]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/path = NodePath("FamiHuman:position")
|
||||
|
@ -170,10 +230,10 @@ tracks/5/loop_wrap = true
|
|||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/keys = {
|
||||
"times": PoolRealArray( 75, 77, 83, 85 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1 ),
|
||||
"times": PoolRealArray( 75, 77, 83, 85, 89, 91, 92 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 160, 167 ), Vector2( 105, 167 ), Vector2( 105, 167 ), Vector2( 160, 167 ) ]
|
||||
"values": [ Vector2( 160, 167 ), Vector2( 105, 167 ), Vector2( 105, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 83 ) ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("ShardParticles:emitting")
|
||||
|
@ -199,6 +259,44 @@ tracks/7/keys = {
|
|||
"update": 1,
|
||||
"values": [ false, true, false ]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/path = NodePath("FamiHuman:material:shader_param/background_color")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/keys = {
|
||||
"times": PoolRealArray( 0, 88, 89 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 1 ) ]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/path = NodePath("FamiHuman:material:shader_param/arc_color")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/keys = {
|
||||
"times": PoolRealArray( 0, 88, 89 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"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 ) ]
|
||||
}
|
||||
tracks/10/type = "method"
|
||||
tracks/10/path = NodePath(".")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/keys = {
|
||||
"times": PoolRealArray( 92 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"values": [ {
|
||||
"args": [ "cutscene_finished" ],
|
||||
"method": "emit_signal"
|
||||
} ]
|
||||
}
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=8]
|
||||
shader = ExtResource( 12 )
|
||||
|
@ -245,13 +343,7 @@ shader_param/border_color = Color( 0, 0, 0, 1 )
|
|||
shader_param/border_corners = false
|
||||
|
||||
[node name="FamiCutscene" type="Node2D"]
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 0, 96 )
|
||||
texture = ExtResource( 10 )
|
||||
__meta__ = {
|
||||
"_edit_lock_": true
|
||||
}
|
||||
script = ExtResource( 10 )
|
||||
|
||||
[node name="TileMap" type="TileMap" parent="."]
|
||||
tile_set = ExtResource( 7 )
|
||||
|
@ -272,8 +364,8 @@ margin_top = 48.0
|
|||
margin_right = 240.0
|
||||
margin_bottom = 136.0
|
||||
theme = ExtResource( 3 )
|
||||
text = "Aha so you've made it this far, however your efforts are all in vain.
|
||||
"
|
||||
text = "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. "
|
||||
align = 1
|
||||
valign = 1
|
||||
autowrap = true
|
||||
|
@ -285,6 +377,7 @@ texture = ExtResource( 6 )
|
|||
script = ExtResource( 5 )
|
||||
|
||||
[node name="FamiHuman" type="AnimatedSprite" parent="."]
|
||||
material = ExtResource( 19 )
|
||||
position = Vector2( 160, 167 )
|
||||
scale = Vector2( -1, 1 )
|
||||
frames = SubResource( 7 )
|
||||
|
@ -296,12 +389,13 @@ stream = ExtResource( 11 )
|
|||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "cutscene"
|
||||
playback_process_mode = 0
|
||||
anims/RESET = SubResource( 16 )
|
||||
anims/cutscene = SubResource( 2 )
|
||||
|
||||
[node name="Cop" type="AnimatedSprite" parent="."]
|
||||
material = SubResource( 8 )
|
||||
position = Vector2( 72, 169 )
|
||||
position = Vector2( -8, 169 )
|
||||
frames = SubResource( 13 )
|
||||
animation = "gun"
|
||||
playing = true
|
||||
|
|
BIN
graphics/enemy/antlion_body_border.png
Normal file
BIN
graphics/enemy/antlion_body_border.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
35
graphics/enemy/antlion_body_border.png.import
Normal file
35
graphics/enemy/antlion_body_border.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/antlion_body_border.png-eedaa961c8d23661449fab8f5d3562f5.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/enemy/antlion_body_border.png"
|
||||
dest_files=[ "res://.import/antlion_body_border.png-eedaa961c8d23661449fab8f5d3562f5.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
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
graphics/npc/fami_human_transform.png
Normal file
BIN
graphics/npc/fami_human_transform.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
35
graphics/npc/fami_human_transform.png.import
Normal file
35
graphics/npc/fami_human_transform.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/fami_human_transform.png-2f2a884b33decf15ad67d39c6798c5de.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/npc/fami_human_transform.png"
|
||||
dest_files=[ "res://.import/fami_human_transform.png-2f2a884b33decf15ad67d39c6798c5de.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
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
|
@ -3,8 +3,14 @@ extends "res://maps/map.gd"
|
|||
|
||||
onready var sg_health: HSlider = $"%SGHealth"
|
||||
onready var fami_health: HSlider = $"%FamiHealth"
|
||||
onready var sg2083: KinematicBody2D = $"2083"
|
||||
onready var famira: Node2D = $Famira
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
sg2083.state = sg2083.State.INACTIVE
|
||||
famira.animation_player.play("grow", -1.0, 0.0)
|
||||
|
||||
|
||||
func _on_2083_health_changed(amount) -> void:
|
||||
sg_health.value = amount
|
||||
|
@ -12,3 +18,12 @@ func _on_2083_health_changed(amount) -> void:
|
|||
|
||||
func _on_Famira_health_changed(amount) -> void:
|
||||
fami_health.value = -amount
|
||||
|
||||
|
||||
func _on_cutscene_finished() -> void:
|
||||
sg2083.visible = true
|
||||
sg2083.state = sg2083.State.STAND
|
||||
famira.visible = true
|
||||
famira.animation_player.play("grow")
|
||||
yield(get_tree().create_timer(0.5), "timeout")
|
||||
$FamiCutscene/FamiHuman.visible = false
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -50,6 +50,7 @@ shader_param/arc_color = Color( 1, 0.93, 0, 1 )
|
|||
shader_param/gamma = 2.0
|
||||
shader_param/flash_rate = 3.0
|
||||
shader_param/flash_intensity = 0.2
|
||||
shader_param/background_color = Color( 0, 0, 0, 0 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=2]
|
||||
extents = Vector2( 16.9355, 4.03226 )
|
||||
|
|
BIN
objects/enemy/boss/fami_transform.material
Normal file
BIN
objects/enemy/boss/fami_transform.material
Normal file
Binary file not shown.
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=33 format=2]
|
||||
[gd_scene load_steps=34 format=2]
|
||||
|
||||
[ext_resource path="res://objects/enemy/boss/famira.gd" type="Script" id=1]
|
||||
[ext_resource path="res://shaders/scale3x.gdshader" type="Shader" id=2]
|
||||
|
@ -15,15 +15,12 @@
|
|||
[ext_resource path="res://graphics/enemy/antlion_body.png" type="Texture" id=13]
|
||||
[ext_resource path="res://graphics/enemy/tentacle.png" type="Texture" id=14]
|
||||
[ext_resource path="res://graphics/particles/dust.png" type="Texture" id=15]
|
||||
[ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=16]
|
||||
[ext_resource path="res://graphics/enemy/antlion_body_border.png" type="Texture" id=16]
|
||||
[ext_resource path="res://objects/enemy/boss/fami_transform.material" type="Material" id=17]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=11]
|
||||
extents = Vector2( 28, 64 )
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=1]
|
||||
shader = ExtResource( 2 )
|
||||
shader_param/pixel_scale = 1.0
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
|
@ -168,7 +165,7 @@ tracks/11/keys = {
|
|||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 8, -57 ) ]
|
||||
"values": [ Vector2( 8, 39 ) ]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/path = NodePath("Hip/Body/Neck/BreathParticles:emitting")
|
||||
|
@ -218,6 +215,66 @@ tracks/15/keys = {
|
|||
"update": 0,
|
||||
"values": [ false ]
|
||||
}
|
||||
tracks/16/type = "value"
|
||||
tracks/16/path = NodePath("Hip:scale")
|
||||
tracks/16/interp = 1
|
||||
tracks/16/loop_wrap = true
|
||||
tracks/16/imported = false
|
||||
tracks/16/enabled = true
|
||||
tracks/16/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/17/type = "value"
|
||||
tracks/17/path = NodePath("Hip:rotation_degrees")
|
||||
tracks/17/interp = 1
|
||||
tracks/17/loop_wrap = true
|
||||
tracks/17/imported = false
|
||||
tracks/17/enabled = true
|
||||
tracks/17/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0 ]
|
||||
}
|
||||
tracks/18/type = "value"
|
||||
tracks/18/path = NodePath(".:material:shader_param/background_color")
|
||||
tracks/18/interp = 1
|
||||
tracks/18/loop_wrap = true
|
||||
tracks/18/imported = false
|
||||
tracks/18/enabled = true
|
||||
tracks/18/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 0.396078, 1, 1, 0 ) ]
|
||||
}
|
||||
tracks/19/type = "value"
|
||||
tracks/19/path = NodePath(".:material:shader_param/arc_color")
|
||||
tracks/19/interp = 1
|
||||
tracks/19/loop_wrap = true
|
||||
tracks/19/imported = false
|
||||
tracks/19/enabled = true
|
||||
tracks/19/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 0.345098, 0.74902, 0.878431, 0 ) ]
|
||||
}
|
||||
tracks/20/type = "value"
|
||||
tracks/20/path = NodePath(".:scale")
|
||||
tracks/20/interp = 1
|
||||
tracks/20/loop_wrap = true
|
||||
tracks/20/imported = false
|
||||
tracks/20/enabled = true
|
||||
tracks/20/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=4]
|
||||
resource_name = "chasing"
|
||||
|
@ -365,7 +422,7 @@ tracks/11/keys = {
|
|||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 8, -57 ) ]
|
||||
"values": [ Vector2( 8, 39 ) ]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/path = NodePath("Hip/Body/Neck/BreathParticles:emitting")
|
||||
|
@ -526,7 +583,7 @@ tracks/11/keys = {
|
|||
"times": PoolRealArray( 0, 0.1 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 4, -57 ), Vector2( 12, -57 ) ]
|
||||
"values": [ Vector2( 4, 39 ), Vector2( 12, 39 ) ]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/path = NodePath("Hip/Body/Neck/BreathParticles:emitting")
|
||||
|
@ -541,6 +598,252 @@ tracks/12/keys = {
|
|||
"values": [ false ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=17]
|
||||
resource_name = "grow"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Hip/Body:rotation_degrees")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 89.3425 ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("Hip/Body/BackArm/HandBack:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -34, 6 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("Hip/Body/FrontArm/HandFront:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -31.9996, 22.0018 ) ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("Hip/Body/Neck:rotation_degrees")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ -137.823 ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("Hip/Body/Neck/Headlower:rotation_degrees")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 55.2621 ]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/path = NodePath("Hip/Body/Neck/Headupper:rotation_degrees")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 45.9167 ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("Hip/LegFront:rotation_degrees")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ -0.657538 ]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/path = NodePath("Hip/LegBack:rotation_degrees")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ -0.657538 ]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/path = NodePath("Hip/Body/Neck:position")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -25.8929, -8.09683 ) ]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/path = NodePath("Hip/Body/BackArm/HandBack:rotation_degrees")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ -102.737 ]
|
||||
}
|
||||
tracks/10/type = "value"
|
||||
tracks/10/path = NodePath("Hip/Body/FrontArm/HandFront:rotation_degrees")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ -119.87 ]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/path = NodePath("Hip:position")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 8, 39 ) ]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/path = NodePath("Hip/Body/Neck/BreathParticles:emitting")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/imported = false
|
||||
tracks/12/enabled = true
|
||||
tracks/12/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ false ]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/path = NodePath("Hip/Body/Neck/BreathParticles:initial_velocity")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/imported = false
|
||||
tracks/13/enabled = true
|
||||
tracks/13/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 230.0 ]
|
||||
}
|
||||
tracks/14/type = "value"
|
||||
tracks/14/path = NodePath("Hip/Body/Neck/BreathParticles:lifetime")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/imported = false
|
||||
tracks/14/enabled = true
|
||||
tracks/14/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 2.0 ]
|
||||
}
|
||||
tracks/15/type = "value"
|
||||
tracks/15/path = NodePath("..:hurting")
|
||||
tracks/15/interp = 1
|
||||
tracks/15/loop_wrap = true
|
||||
tracks/15/imported = false
|
||||
tracks/15/enabled = true
|
||||
tracks/15/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ false ]
|
||||
}
|
||||
tracks/16/type = "value"
|
||||
tracks/16/path = NodePath(".:material:shader_param/background_color")
|
||||
tracks/16/interp = 1
|
||||
tracks/16/loop_wrap = true
|
||||
tracks/16/imported = false
|
||||
tracks/16/enabled = true
|
||||
tracks/16/keys = {
|
||||
"times": PoolRealArray( 0, 2, 3 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 0.396078, 1, 1, 1 ), Color( 0.396078, 1, 1, 1 ), Color( 0.396078, 1, 1, 0 ) ]
|
||||
}
|
||||
tracks/17/type = "value"
|
||||
tracks/17/path = NodePath(".:material:shader_param/arc_color")
|
||||
tracks/17/interp = 1
|
||||
tracks/17/loop_wrap = true
|
||||
tracks/17/imported = false
|
||||
tracks/17/enabled = true
|
||||
tracks/17/keys = {
|
||||
"times": PoolRealArray( 0, 2, 3 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 0.345098, 0.74902, 0.878431, 1 ), Color( 0.345098, 0.74902, 0.878431, 1 ), Color( 0.345098, 0.74902, 0.878431, 0 ) ]
|
||||
}
|
||||
tracks/18/type = "value"
|
||||
tracks/18/path = NodePath(".:scale")
|
||||
tracks/18/interp = 2
|
||||
tracks/18/loop_wrap = true
|
||||
tracks/18/imported = false
|
||||
tracks/18/enabled = true
|
||||
tracks/18/keys = {
|
||||
"times": PoolRealArray( 0, 2 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1e-05, 1e-05 ), Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/19/type = "method"
|
||||
tracks/19/path = NodePath("../StateChart")
|
||||
tracks/19/interp = 1
|
||||
tracks/19/loop_wrap = true
|
||||
tracks/19/imported = false
|
||||
tracks/19/enabled = true
|
||||
tracks/19/keys = {
|
||||
"times": PoolRealArray( 2.9 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"values": [ {
|
||||
"args": [ "transformed" ],
|
||||
"method": "send_event"
|
||||
} ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=5]
|
||||
resource_name = "punching"
|
||||
loop = true
|
||||
|
@ -703,7 +1006,7 @@ tracks/12/keys = {
|
|||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 8, -57 ) ]
|
||||
"values": [ Vector2( 8, 39 ) ]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/path = NodePath("Hip/Body/Neck/BreathParticles:emitting")
|
||||
|
@ -864,7 +1167,7 @@ tracks/11/keys = {
|
|||
"times": PoolRealArray( 0, 0.1 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 12, -43 ), Vector2( 4, -43 ) ]
|
||||
"values": [ Vector2( 12, 53 ), Vector2( 4, 53 ) ]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/path = NodePath("Hip/Body/Neck/BreathParticles:emitting")
|
||||
|
@ -1051,7 +1354,7 @@ tracks/12/keys = {
|
|||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 8, -57 ) ]
|
||||
"values": [ Vector2( 8, 39 ) ]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/path = NodePath("Hip/Body/Neck/BreathParticles:emitting")
|
||||
|
@ -1225,7 +1528,7 @@ tracks/11/keys = {
|
|||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 8, -57 ) ]
|
||||
"values": [ Vector2( 8, 39 ) ]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/path = NodePath("Hip/Body/Neck/BreathParticles:emitting")
|
||||
|
@ -1266,10 +1569,9 @@ tracks/14/keys = {
|
|||
"values": [ false, true, false ]
|
||||
}
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=10]
|
||||
shader = ExtResource( 16 )
|
||||
shader_param/border_color = Color( 0, 0, 0, 1 )
|
||||
shader_param/border_corners = false
|
||||
[sub_resource type="ShaderMaterial" id=1]
|
||||
shader = ExtResource( 2 )
|
||||
shader_param/pixel_scale = 1.0
|
||||
|
||||
[sub_resource type="Curve" id=8]
|
||||
_data = [ Vector2( 0, 0.5 ), 0.0, 0.890696, 0, 0, Vector2( 0.814474, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), -13.2988, 0.0, 0, 0 ]
|
||||
|
@ -1309,20 +1611,23 @@ position = Vector2( 12, -64 )
|
|||
shape = SubResource( 11 )
|
||||
|
||||
[node name="ChickenMan" type="Node2D" parent="."]
|
||||
material = SubResource( 1 )
|
||||
material = ExtResource( 17 )
|
||||
position = Vector2( 0, -96 )
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="ChickenMan"]
|
||||
unique_name_in_owner = true
|
||||
anims/RESET = SubResource( 2 )
|
||||
anims/chasing = SubResource( 4 )
|
||||
anims/die = SubResource( 12 )
|
||||
anims/grow = SubResource( 17 )
|
||||
anims/punching = SubResource( 5 )
|
||||
anims/pushed = SubResource( 6 )
|
||||
anims/roar = SubResource( 3 )
|
||||
anims/shooting = SubResource( 7 )
|
||||
|
||||
[node name="Hip" type="Node2D" parent="ChickenMan"]
|
||||
position = Vector2( 8, -57 )
|
||||
use_parent_material = true
|
||||
position = Vector2( 8, 39 )
|
||||
|
||||
[node name="LegBack" type="Sprite" parent="ChickenMan/Hip"]
|
||||
use_parent_material = true
|
||||
|
@ -1359,6 +1664,7 @@ segments = 4
|
|||
target = NodePath("HandBack")
|
||||
|
||||
[node name="HandBack" type="Sprite" parent="ChickenMan/Hip/Body/BackArm"]
|
||||
material = SubResource( 1 )
|
||||
use_parent_material = true
|
||||
position = Vector2( -34, 6 )
|
||||
rotation = -1.7931
|
||||
|
@ -1369,9 +1675,9 @@ region_rect = Rect2( 0, 0, 16, 12 )
|
|||
|
||||
[node name="BackArmBorder" type="Node2D" parent="ChickenMan/Hip/Body/BackArm"]
|
||||
show_behind_parent = true
|
||||
material = SubResource( 10 )
|
||||
use_parent_material = true
|
||||
script = ExtResource( 12 )
|
||||
texture = ExtResource( 13 )
|
||||
texture = ExtResource( 16 )
|
||||
segments = 4
|
||||
target = NodePath("../HandBack")
|
||||
|
||||
|
@ -1387,6 +1693,7 @@ segments = 4
|
|||
target = NodePath("HandFront")
|
||||
|
||||
[node name="HandFront" type="Sprite" parent="ChickenMan/Hip/Body/FrontArm"]
|
||||
material = SubResource( 1 )
|
||||
use_parent_material = true
|
||||
position = Vector2( -31.9996, 22.0018 )
|
||||
rotation = -2.09213
|
||||
|
@ -1397,9 +1704,9 @@ region_rect = Rect2( 0, 0, 16, 12 )
|
|||
|
||||
[node name="FrontArmBorder" type="Node2D" parent="ChickenMan/Hip/Body/FrontArm"]
|
||||
show_behind_parent = true
|
||||
material = SubResource( 10 )
|
||||
use_parent_material = true
|
||||
script = ExtResource( 12 )
|
||||
texture = ExtResource( 13 )
|
||||
texture = ExtResource( 16 )
|
||||
segments = 4
|
||||
target = NodePath("../HandFront")
|
||||
|
||||
|
@ -1416,7 +1723,6 @@ offset = Vector2( -12.5338, -3.19571 )
|
|||
[node name="HitboxTransform" type="RemoteTransform2D" parent="ChickenMan/Hip/Body/Neck"]
|
||||
position = Vector2( 7.47667, -8.4856 )
|
||||
rotation = -2.96856
|
||||
scale = Vector2( 1, 1 )
|
||||
remote_path = NodePath("../../../../../Hitbox/Brain")
|
||||
update_scale = false
|
||||
|
||||
|
@ -1463,7 +1769,6 @@ offset = Vector2( -23.6288, 1.97347 )
|
|||
[node name="HitboxTransform" type="RemoteTransform2D" parent="ChickenMan/Hip/Body/Neck/Headlower"]
|
||||
position = Vector2( -15.6932, 6.83872 )
|
||||
rotation = -4.70641
|
||||
scale = Vector2( 1, 1 )
|
||||
remote_path = NodePath("../../../../../../Hitbox/LowerJaw")
|
||||
update_scale = false
|
||||
|
||||
|
@ -1479,7 +1784,6 @@ offset = Vector2( -21.4816, 1.20875 )
|
|||
[node name="HitboxTransform" type="RemoteTransform2D" parent="ChickenMan/Hip/Body/Neck/Headupper"]
|
||||
position = Vector2( -15.711, -8.80663 )
|
||||
rotation = -1.57994
|
||||
scale = Vector2( 1, 1 )
|
||||
remote_path = NodePath("../../../../../../Hitbox/UpperJaw")
|
||||
update_scale = false
|
||||
|
||||
|
@ -1504,8 +1808,8 @@ collision_mask = 128
|
|||
monitorable = false
|
||||
|
||||
[node name="Body" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2( 0.0046196, -23.9291 )
|
||||
rotation = -0.0114733
|
||||
position = Vector2( 0.00461769, -23.9291 )
|
||||
rotation = -0.0114693
|
||||
shape = SubResource( 13 )
|
||||
|
||||
[node name="Brain" type="CollisionShape2D" parent="Hitbox"]
|
||||
|
@ -1516,7 +1820,7 @@ shape = SubResource( 14 )
|
|||
|
||||
[node name="LowerJaw" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2( -21.3082, -76.1166 )
|
||||
rotation = 1.66396
|
||||
rotation = 1.66395
|
||||
z_index = 100
|
||||
shape = SubResource( 15 )
|
||||
|
||||
|
@ -1531,7 +1835,7 @@ script = ExtResource( 3 )
|
|||
|
||||
[node name="Root" type="Node" parent="StateChart"]
|
||||
script = ExtResource( 4 )
|
||||
initial_state = NodePath("Roar")
|
||||
initial_state = NodePath("Growing")
|
||||
|
||||
[node name="On StartPush" type="Node" parent="StateChart/Root"]
|
||||
script = ExtResource( 6 )
|
||||
|
@ -1548,6 +1852,14 @@ script = ExtResource( 6 )
|
|||
to = NodePath("../Dying")
|
||||
event = "die"
|
||||
|
||||
[node name="Growing" type="Node" parent="StateChart/Root"]
|
||||
script = ExtResource( 5 )
|
||||
|
||||
[node name="On Transformed" type="Node" parent="StateChart/Root/Growing"]
|
||||
script = ExtResource( 6 )
|
||||
to = NodePath("../../Roar")
|
||||
event = "transformed"
|
||||
|
||||
[node name="Roar" type="Node" parent="StateChart/Root"]
|
||||
script = ExtResource( 5 )
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ signal died()
|
|||
signal health_changed(amount)
|
||||
|
||||
|
||||
enum State {DEAD, STAND, FORWARD, BACK, DUCK, BEAM}
|
||||
enum State {DEAD, STAND, FORWARD, BACK, DUCK, BEAM, INACTIVE}
|
||||
|
||||
const Bullet = preload("res://objects/enemy/2083_bullet.tscn")
|
||||
const SmallExplosion = preload("res://objects/enemy/boss/2600_small_explosion.tscn")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue