Compare commits
4 commits
d2d471472a
...
19940a07e0
Author | SHA1 | Date | |
---|---|---|---|
19940a07e0 | |||
5667725122 | |||
b8d3cb02af | |||
2dd0679631 |
22 changed files with 590 additions and 218 deletions
BIN
Effects/brown explosion.png
(Stored with Git LFS)
Normal file
BIN
Effects/brown explosion.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
Effects/brown explosion.png.import
Normal file
34
Effects/brown explosion.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://6swccd2f6w18"
|
||||
path="res://.godot/imported/brown explosion.png-b2601ab39a5d70b00473d802e7e76b8c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Effects/brown explosion.png"
|
||||
dest_files=["res://.godot/imported/brown explosion.png-b2601ab39a5d70b00473d802e7e76b8c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
49
Effects/brown_explosion.tscn
Normal file
49
Effects/brown_explosion.tscn
Normal file
|
@ -0,0 +1,49 @@
|
|||
[gd_scene load_steps=8 format=3 uid="uid://cfqqf0f6pw4nn"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://6swccd2f6w18" path="res://Effects/brown explosion.png" id="1_nujtd"]
|
||||
[ext_resource type="Script" path="res://Scripts/oneoff_effect.gd" id="2_pfod1"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gtoss"]
|
||||
atlas = ExtResource("1_nujtd")
|
||||
region = Rect2(0, 0, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wtc3l"]
|
||||
atlas = ExtResource("1_nujtd")
|
||||
region = Rect2(32, 0, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_870bu"]
|
||||
atlas = ExtResource("1_nujtd")
|
||||
region = Rect2(0, 32, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ghq8a"]
|
||||
atlas = ExtResource("1_nujtd")
|
||||
region = Rect2(32, 32, 32, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_pto00"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gtoss")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wtc3l")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_870bu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ghq8a")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"default",
|
||||
"speed": 6.0
|
||||
}]
|
||||
|
||||
[node name="BrownExplosion" type="AnimatedSprite2D"]
|
||||
y_sort_enabled = true
|
||||
texture_filter = 1
|
||||
sprite_frames = SubResource("SpriteFrames_pto00")
|
||||
autoplay = "default"
|
||||
script = ExtResource("2_pfod1")
|
||||
|
||||
[connection signal="animation_finished" from="." to="." method="_on_animation_finished"]
|
|
@ -283,12 +283,12 @@ collision_layer = 2
|
|||
collision_mask = 10
|
||||
|
||||
[node name="Collider" type="CollisionShape2D" parent="Hitbox"]
|
||||
visible = false
|
||||
position = Vector2(0, -14)
|
||||
shape = SubResource("CapsuleShape2D_vm050")
|
||||
debug_color = Color(1, 0.133333, 0.321569, 0.419608)
|
||||
|
||||
[node name="MovementCollider" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(-0.5, -1)
|
||||
shape = SubResource("RectangleShape2D_bdqvd")
|
||||
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
[ext_resource type="Texture2D" uid="uid://byc7mqu65fb4a" path="res://Hiro/Hiro Defeated Nude Sprites Line.png" id="5_0f03l"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_04piu"]
|
||||
length = 0.001
|
||||
length = 0.40001
|
||||
step = 0.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
|
@ -105,6 +106,136 @@ tracks/7/keys = {
|
|||
"values": [Color(1, 0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ry0wg"]
|
||||
resource_name = "ai_defeated"
|
||||
length = 1.00003
|
||||
step = 0.25
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite2D:texture")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("5_0f03l")]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite2D:hframes")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [5]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Sprite2D:vframes")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [1]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Sprite2D:frame")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.25, 0.5, 0.75, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [1, 2, 3, 4, 0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Sprite2D:material:shader_parameter/FlashColor")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_d06fy"]
|
||||
resource_name = "ai_defeated_start"
|
||||
length = 0.50005
|
||||
step = 0.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite2D:texture")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("5_0f03l")]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite2D:hframes")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [5]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Sprite2D:vframes")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [1]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Sprite2D:frame")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Sprite2D:material:shader_parameter/FlashColor")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kvnht"]
|
||||
resource_name = "hurt_east"
|
||||
length = 0.500013
|
||||
|
@ -929,6 +1060,59 @@ tracks/6/keys = {
|
|||
"values": [Vector2(0, -11), Vector2(-6, -11), Vector2(-6, -11), Vector2(-0.00060463, -11)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_g1svr"]
|
||||
resource_name = "player_defeated"
|
||||
length = 0.83335
|
||||
step = 0.166667
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite2D:texture")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("4_fugxd")]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite2D:hframes")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [5]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Sprite2D:vframes")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [1]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Sprite2D:frame")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.166667, 0.333333, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [1, 2, 3, 4]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_o0diw"]
|
||||
resource_name = "punch_east_left"
|
||||
length = 0.266673
|
||||
|
@ -1857,189 +2041,6 @@ tracks/3/keys = {
|
|||
"values": [ExtResource("1_hc7kj")]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_g1svr"]
|
||||
resource_name = "player_defeated"
|
||||
length = 0.83335
|
||||
step = 0.166667
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite2D:texture")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("4_fugxd")]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite2D:hframes")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [5]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Sprite2D:vframes")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [1]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Sprite2D:frame")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.166667, 0.333333, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [1, 2, 3, 4]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ry0wg"]
|
||||
resource_name = "ai_defeated"
|
||||
length = 1.00003
|
||||
step = 0.25
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite2D:texture")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("5_0f03l")]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite2D:hframes")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [5]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Sprite2D:vframes")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [1]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Sprite2D:frame")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.25, 0.5, 0.75, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [1, 2, 3, 4, 0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Sprite2D:material:shader_parameter/FlashColor")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_d06fy"]
|
||||
resource_name = "ai_defeated_start"
|
||||
length = 0.571443
|
||||
step = 0.142857
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite2D:texture")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [ExtResource("5_0f03l")]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite2D:hframes")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [5]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Sprite2D:vframes")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [1]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Sprite2D:frame")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Sprite2D:material:shader_parameter/FlashColor")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 0, 0, 0)]
|
||||
}
|
||||
|
||||
[resource]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_04piu"),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=49 format=3 uid="uid://di21xheryhp0k"]
|
||||
[gd_scene load_steps=53 format=3 uid="uid://di21xheryhp0k"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/hiro_player.gd" id="1_dtymi"]
|
||||
[ext_resource type="Texture2D" uid="uid://cm7tgomrcvq30" path="res://Hiro/Hiro Walk Sprite Cycle Line Up.png" id="1_ukwcc"]
|
||||
|
@ -137,6 +137,12 @@ blend_point_2/node = SubResource("AnimationNodeBlendSpace2D_mr7t3")
|
|||
blend_point_2/pos = 1.0
|
||||
blend_mode = 1
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ulfn1"]
|
||||
animation = &"ai_defeated"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sudhw"]
|
||||
animation = &"ai_defeated_start"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_17wsb"]
|
||||
animation = &"walking_north"
|
||||
|
||||
|
@ -187,21 +193,34 @@ advance_mode = 2
|
|||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_aa2bq"]
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vxker"]
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_b2867"]
|
||||
allow_transition_to_self = true
|
||||
states/End/position = Vector2(928, 102)
|
||||
states/Start/position = Vector2(197, 108)
|
||||
states/defeated/node = SubResource("AnimationNodeAnimation_luptt")
|
||||
states/defeated/position = Vector2(748, 100)
|
||||
states/defeated/position = Vector2(691, 97)
|
||||
states/hurt/node = SubResource("AnimationNodeBlendSpace2D_h2vkc")
|
||||
states/hurt/position = Vector2(329, -13)
|
||||
states/idle/node = SubResource("AnimationNodeBlendSpace2D_bd8j1")
|
||||
states/idle/position = Vector2(329, 108)
|
||||
states/melee/node = SubResource("AnimationNodeBlendSpace1D_dc3kp")
|
||||
states/melee/position = Vector2(329, 224)
|
||||
states/nsfw_defeated/node = SubResource("AnimationNodeAnimation_ulfn1")
|
||||
states/nsfw_defeated/position = Vector2(823, 176.354)
|
||||
states/nsfw_defeated_start/node = SubResource("AnimationNodeAnimation_sudhw")
|
||||
states/nsfw_defeated_start/position = Vector2(646, 176.354)
|
||||
states/walk/node = SubResource("AnimationNodeBlendSpace2D_vunsg")
|
||||
states/walk/position = Vector2(520, 108)
|
||||
transitions = ["Start", "idle", SubResource("AnimationNodeStateMachineTransition_akmuq"), "idle", "walk", SubResource("AnimationNodeStateMachineTransition_sn1tm"), "walk", "idle", SubResource("AnimationNodeStateMachineTransition_5i3fu"), "idle", "melee", SubResource("AnimationNodeStateMachineTransition_y8p74"), "melee", "idle", SubResource("AnimationNodeStateMachineTransition_l17k0"), "hurt", "idle", SubResource("AnimationNodeStateMachineTransition_ln3pc"), "defeated", "End", SubResource("AnimationNodeStateMachineTransition_ouche")]
|
||||
graph_offset = Vector2(-164, -94)
|
||||
transitions = ["Start", "idle", SubResource("AnimationNodeStateMachineTransition_akmuq"), "idle", "walk", SubResource("AnimationNodeStateMachineTransition_sn1tm"), "walk", "idle", SubResource("AnimationNodeStateMachineTransition_5i3fu"), "idle", "melee", SubResource("AnimationNodeStateMachineTransition_y8p74"), "melee", "idle", SubResource("AnimationNodeStateMachineTransition_l17k0"), "hurt", "idle", SubResource("AnimationNodeStateMachineTransition_ln3pc"), "defeated", "End", SubResource("AnimationNodeStateMachineTransition_ouche"), "nsfw_defeated_start", "nsfw_defeated", SubResource("AnimationNodeStateMachineTransition_aa2bq"), "nsfw_defeated", "End", SubResource("AnimationNodeStateMachineTransition_vxker")]
|
||||
graph_offset = Vector2(12, 21.3541)
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_vm050"]
|
||||
radius = 8.0
|
||||
|
|
13
Scripts/Levels/arena_level.gd
Normal file
13
Scripts/Levels/arena_level.gd
Normal file
|
@ -0,0 +1,13 @@
|
|||
extends Node2D
|
||||
|
||||
@onready var explosion_generator = $ExplosionGenerator
|
||||
@onready var player = $HiroPlayer
|
||||
@onready var ai = $HiroAI
|
||||
|
||||
func _on_player_defeated():
|
||||
if Globals.nsfw == true:
|
||||
explosion_generator.spawn(player.position)
|
||||
|
||||
func _on_ai_defeated():
|
||||
if Globals.nsfw == true:
|
||||
explosion_generator.spawn(ai.position)
|
8
Scripts/explosion_generator.gd
Normal file
8
Scripts/explosion_generator.gd
Normal file
|
@ -0,0 +1,8 @@
|
|||
extends Node
|
||||
|
||||
var explosion = preload("res://Effects/brown_explosion.tscn")
|
||||
|
||||
func spawn(location: Vector2):
|
||||
var instance = explosion.instantiate()
|
||||
instance.position = location + Vector2(0.0, -11.0)
|
||||
get_parent().add_child(instance)
|
3
Scripts/globals.gd
Normal file
3
Scripts/globals.gd
Normal file
|
@ -0,0 +1,3 @@
|
|||
extends Node
|
||||
|
||||
var nsfw = true
|
|
@ -4,7 +4,6 @@ extends CharacterBody2D
|
|||
@export var player_character: PlayableCharacter
|
||||
@export var health = 100
|
||||
@export var attack_power = 30
|
||||
@export var nsfw = true
|
||||
@export var KNOCKBACK_POWER = 40
|
||||
@export var KNOCKBACK_REPOSITION_POWER = 75
|
||||
@export var KNOCKBACK_RANDOMNESS = 50
|
||||
|
@ -26,7 +25,7 @@ var wants_to_melee = false
|
|||
|
||||
signal _got_hurt(damage: int, attack_direction: Vector2)
|
||||
signal attack_did_hit(other: Area2D, power: int, attack_direction: Vector2)
|
||||
#signal defeated
|
||||
signal defeated
|
||||
|
||||
func _ready():
|
||||
state_machine.set_expression_property("melee_stage", 0)
|
||||
|
@ -99,10 +98,8 @@ func _on_hurt_state_entered():
|
|||
# you need to reset hit_counter back to 0.
|
||||
|
||||
if health <= 0:
|
||||
# You could put the naked state in the AnimationTree here
|
||||
# anim_playback.travel("naked")
|
||||
state_machine.send_event("been_defeated")
|
||||
#defeated.emit()
|
||||
defeated.emit()
|
||||
|
||||
if hit_counter >= 4:
|
||||
state_machine.send_event("will_reposition")
|
||||
|
@ -119,14 +116,22 @@ func _on_hurt_state_exited():
|
|||
|
||||
func _on_hurt_reposition_state_entered():
|
||||
var facing_direction = attacked_from * -1
|
||||
$MovementCollider.set_deferred("disabled", true)
|
||||
set_collision_layer_value(5, true)
|
||||
set_collision_layer_value(1, false)
|
||||
set_collision_mask_value(5, true)
|
||||
set_collision_mask_value(1, false)
|
||||
#$MovementCollider.set_deferred("disabled", true)
|
||||
set_animation_direction(facing_direction)
|
||||
anim_playback.travel("hurt")
|
||||
velocity = attacked_from * KNOCKBACK_REPOSITION_POWER * -1
|
||||
|
||||
func _on_hurt_reposition_state_exited():
|
||||
velocity = Vector2.ZERO
|
||||
$MovementCollider.set_deferred("disabled", false)
|
||||
set_collision_layer_value(5, false)
|
||||
set_collision_layer_value(1, true)
|
||||
set_collision_mask_value(5, false)
|
||||
set_collision_mask_value(1, true)
|
||||
#$MovementCollider.set_deferred("disabled", false)
|
||||
hit_counter = 0
|
||||
|
||||
func _on_animation_tree_animation_finished(anim_name):
|
||||
|
@ -143,7 +148,7 @@ func _on_animation_tree_animation_finished(anim_name):
|
|||
state_machine.send_event("melee_complete")
|
||||
|
||||
func _on_defeat_state_entered():
|
||||
if nsfw:
|
||||
if Globals.nsfw:
|
||||
anim_playback.travel("naked_start")
|
||||
else:
|
||||
anim_playback.travel("defeated")
|
||||
|
|
|
@ -84,7 +84,10 @@ func _on_enemy_attack_did_hit(other, power, attack_direction):
|
|||
health = health - power
|
||||
can_move = false
|
||||
if health <= 0:
|
||||
animation_playback.travel("defeated")
|
||||
if Globals.nsfw:
|
||||
animation_playback.travel("nsfw_defeated_start")
|
||||
else:
|
||||
animation_playback.travel("defeated")
|
||||
defeated.emit()
|
||||
velocity = Vector2.ZERO
|
||||
else:
|
||||
|
|
4
Scripts/oneoff_effect.gd
Normal file
4
Scripts/oneoff_effect.gd
Normal file
|
@ -0,0 +1,4 @@
|
|||
extends AnimatedSprite2D
|
||||
|
||||
func _on_animation_finished():
|
||||
queue_free()
|
|
@ -42,7 +42,6 @@ void fragment() {
|
|||
|
||||
}
|
||||
"
|
||||
graph_offset = Vector2(-122.937, -65.8182)
|
||||
mode = 1
|
||||
flags/light_only = false
|
||||
nodes/fragment/0/position = Vector2(600, -60)
|
||||
|
|
|
@ -15,9 +15,13 @@ run/main_scene="res://world/world.tscn"
|
|||
config/features=PackedStringArray("4.2", "Mobile")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[autoload]
|
||||
|
||||
Globals="*res://Scripts/globals.gd"
|
||||
|
||||
[display]
|
||||
|
||||
window/stretch/scale=2.5
|
||||
window/stretch/mode="viewport"
|
||||
|
||||
[editor]
|
||||
|
||||
|
@ -95,6 +99,7 @@ melee={
|
|||
2d_physics/layer_2="Hitboxes"
|
||||
2d_physics/layer_3="Triggers"
|
||||
2d_physics/layer_4="Attacks"
|
||||
2d_physics/layer_5="World Movement"
|
||||
|
||||
[rendering]
|
||||
|
||||
|
|
BIN
world/long wood pillar .png
(Stored with Git LFS)
Normal file
BIN
world/long wood pillar .png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
world/long wood pillar .png.import
Normal file
34
world/long wood pillar .png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dywy1nhojkpuq"
|
||||
path="res://.godot/imported/long wood pillar .png-2ae92e566dd29779fff88b39b2055e5e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://world/long wood pillar .png"
|
||||
dest_files=["res://.godot/imported/long wood pillar .png-2ae92e566dd29779fff88b39b2055e5e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
32
world/pillar.tscn
Normal file
32
world/pillar.tscn
Normal file
|
@ -0,0 +1,32 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://c503u0i421w34"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://d0aw0q6fvgk1o" path="res://world/wood pillar.png" id="1_wjgo2"]
|
||||
[ext_resource type="Texture2D" uid="uid://dywy1nhojkpuq" path="res://world/long wood pillar .png" id="2_q108x"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nsmbw"]
|
||||
size = Vector2(8, 24)
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
||||
texture_filter = 1
|
||||
position = Vector2(0, -22)
|
||||
collision_layer = 17
|
||||
collision_mask = 17
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
|
||||
texture_filter = 1
|
||||
position = Vector2(0, 10)
|
||||
shape = SubResource("RectangleShape2D_nsmbw")
|
||||
|
||||
[node name="WoodPillar" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
texture_filter = 1
|
||||
position = Vector2(0, -22)
|
||||
texture = ExtResource("1_wjgo2")
|
||||
|
||||
[node name="LongWoodPillar" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
position = Vector2(0, -32)
|
||||
texture = ExtResource("2_q108x")
|
BIN
world/walls.png
(Stored with Git LFS)
Normal file
BIN
world/walls.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
world/walls.png.import
Normal file
34
world/walls.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dc12iaho4b8yl"
|
||||
path="res://.godot/imported/walls.png-a96ddd85a7a29b3ff8651db1d6479999.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://world/walls.png"
|
||||
dest_files=["res://.godot/imported/walls.png-a96ddd85a7a29b3ff8651db1d6479999.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
world/wood pillar.png
(Stored with Git LFS)
Normal file
BIN
world/wood pillar.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
world/wood pillar.png.import
Normal file
34
world/wood pillar.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d0aw0q6fvgk1o"
|
||||
path="res://.godot/imported/wood pillar.png-458c768add8f3021bafd77705155c1df.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://world/wood pillar.png"
|
||||
dest_files=["res://.godot/imported/wood pillar.png-458c768add8f3021bafd77705155c1df.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
119
world/world.tscn
119
world/world.tscn
|
@ -1,51 +1,134 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://bxuxjqxxqy7ce"]
|
||||
[gd_scene load_steps=13 format=3 uid="uid://bxuxjqxxqy7ce"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://di21xheryhp0k" path="res://Hiro/hiro_player.tscn" id="1_c1gpq"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8sfype1vx5ad" path="res://Nem/nem_npc.tscn" id="1_sqt7d"]
|
||||
[ext_resource type="Script" path="res://Scripts/Levels/arena_level.gd" id="1_y634h"]
|
||||
[ext_resource type="PackedScene" uid="uid://bcwkugn6v3oy7" path="res://addons/godot_state_charts/utilities/state_chart_debugger.tscn" id="2_o5str"]
|
||||
[ext_resource type="Texture2D" uid="uid://b40la2vyf4rn6" path="res://world/Fighting Dojo BG.png" id="4_elb6q"]
|
||||
[ext_resource type="PackedScene" uid="uid://dd2km6qhpdicx" path="res://Hiro/hiro_ai.tscn" id="5_r7nw4"]
|
||||
[ext_resource type="PackedScene" uid="uid://bakb5a7xe4qby" path="res://Reed/reed_player.tscn" id="6_cn8e2"]
|
||||
[ext_resource type="Texture2D" uid="uid://dc12iaho4b8yl" path="res://world/walls.png" id="7_pp5dn"]
|
||||
[ext_resource type="PackedScene" uid="uid://c503u0i421w34" path="res://world/pillar.tscn" id="8_mxq55"]
|
||||
[ext_resource type="Script" path="res://Scripts/explosion_generator.gd" id="9_df2wo"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
[sub_resource type="Gradient" id="Gradient_3ox2i"]
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_4uhai"]
|
||||
gradient = SubResource("Gradient_3ox2i")
|
||||
|
||||
[node name="Level" type="Node2D"]
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_y634h")
|
||||
|
||||
[node name="FightingDojoBg" type="Sprite2D" parent="."]
|
||||
[node name="MapElements" type="Node2D" parent="."]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(-136, -190)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="MapElements"]
|
||||
z_index = -12
|
||||
position = Vector2(85.5, 165.625)
|
||||
scale = Vector2(3.89453, 652.75)
|
||||
texture = SubResource("GradientTexture1D_4uhai")
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="FightingDojoBg" type="Sprite2D" parent="MapElements"]
|
||||
z_index = -5
|
||||
texture_filter = 1
|
||||
position = Vector2(136, 148)
|
||||
texture = ExtResource("4_elb6q")
|
||||
|
||||
[node name="LongWoodPillar" parent="MapElements" instance=ExtResource("8_mxq55")]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(48, 239)
|
||||
|
||||
[node name="LongWoodPillar2" parent="MapElements" instance=ExtResource("8_mxq55")]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(48, 159)
|
||||
|
||||
[node name="LongWoodPillar3" parent="MapElements" instance=ExtResource("8_mxq55")]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(96, 120)
|
||||
|
||||
[node name="LongWoodPillar4" parent="MapElements" instance=ExtResource("8_mxq55")]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(224, 159)
|
||||
|
||||
[node name="LongWoodPillar5" parent="MapElements" instance=ExtResource("8_mxq55")]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(224, 239)
|
||||
|
||||
[node name="LongWoodPillar6" parent="MapElements" instance=ExtResource("8_mxq55")]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(176, 120)
|
||||
|
||||
[node name="LongWoodPillar7" parent="MapElements" instance=ExtResource("8_mxq55")]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(96, 280)
|
||||
|
||||
[node name="LongWoodPillar8" parent="MapElements" instance=ExtResource("8_mxq55")]
|
||||
y_sort_enabled = true
|
||||
position = Vector2(176, 280)
|
||||
|
||||
[node name="Walls" type="Sprite2D" parent="MapElements"]
|
||||
z_index = 1
|
||||
texture_filter = 1
|
||||
position = Vector2(137, 199)
|
||||
texture = ExtResource("7_pp5dn")
|
||||
|
||||
[node name="HiroPlayer" parent="." instance=ExtResource("1_c1gpq")]
|
||||
position = Vector2(92, 178)
|
||||
position = Vector2(-44, -12)
|
||||
speed = 80
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="HiroPlayer"]
|
||||
texture_filter = 1
|
||||
offset = Vector2(0, -12)
|
||||
zoom = Vector2(3, 3)
|
||||
position_smoothing_speed = 3.0
|
||||
|
||||
[node name="ReedPlayer" parent="." instance=ExtResource("6_cn8e2")]
|
||||
position = Vector2(176, 178)
|
||||
position = Vector2(40, -12)
|
||||
|
||||
[node name="NemNPC" parent="." instance=ExtResource("1_sqt7d")]
|
||||
position = Vector2(138, 112)
|
||||
position = Vector2(2, -78)
|
||||
|
||||
[node name="BG Collissions" type="StaticBody2D" parent="."]
|
||||
y_sort_enabled = true
|
||||
z_index = 2
|
||||
position = Vector2(-136, -190)
|
||||
collision_layer = 17
|
||||
collision_mask = 17
|
||||
|
||||
[node name="Floor Collission" type="CollisionPolygon2D" parent="BG Collissions"]
|
||||
position = Vector2(-1341, -243)
|
||||
scale = Vector2(8.83789, 4.22585)
|
||||
polygon = PackedVector2Array(157.843, 76.9076, 161.464, 75.961, 172.213, 75.7244, 176.513, 76.9076, 179.22, 82.4429, 180.012, 85.7558, 180.238, 91.9084, 180.012, 107.053, 178.549, 113.823, 176.739, 116.426, 175.042, 118.083, 169.497, 118.319, 169.497, 123.525, 164.745, 123.525, 164.858, 118.319, 158.975, 117.846, 157.504, 116.663, 155.806, 114.533, 154.109, 108.617, 154.109, 94.4188, 154.222, 83.2968, 152.186, 83.0602, 152.412, 80.9304, 146.181, 70.3743, 139.513, 85.4266, 135.779, 90.8692, 147.66, 124.945, 187.367, 125.038, 195.514, 91.4351, 192.232, 66.1148, 173.676, 53.3363, 157.382, 53.8096, 152.404, 63.2751, 153.317, 81.6403, 154.222, 83.7701, 155.92, 79.9839)
|
||||
|
||||
[node name="StateChartDebugger" parent="." instance=ExtResource("2_o5str")]
|
||||
offset_left = 296.0
|
||||
offset_top = 11.0
|
||||
offset_right = 884.0
|
||||
offset_bottom = 1099.0
|
||||
scale = Vector2(0.25, 0.25)
|
||||
initial_node_to_watch = NodePath("../HiroAI")
|
||||
polygon = PackedVector2Array(157.843, 76.9076, 161.464, 75.961, 172.213, 75.7244, 176.513, 76.9076, 179.22, 82.4429, 180.012, 85.7558, 180.36, 93.9456, 180.247, 114.06, 179.341, 117.373, 177.871, 119.739, 174.929, 120.922, 169.497, 120.922, 169.497, 123.525, 164.745, 123.525, 164.632, 120.922, 159.201, 120.922, 156.372, 120.213, 154.901, 117.373, 154.109, 114.533, 153.883, 94.4189, 153.883, 84.0068, 152.186, 83.0602, 152.412, 80.9304, 146.181, 70.3743, 139.513, 85.4266, 135.779, 90.8692, 147.66, 124.945, 187.367, 125.038, 195.514, 91.4351, 192.232, 66.1148, 173.676, 53.3363, 157.382, 53.8096, 152.404, 63.2751, 153.317, 81.6403, 153.883, 84.0068, 155.92, 79.9839)
|
||||
|
||||
[node name="HiroAI" parent="." node_paths=PackedStringArray("player_character") instance=ExtResource("5_r7nw4")]
|
||||
position = Vector2(135, 215)
|
||||
position = Vector2(-1, 25)
|
||||
player_character = NodePath("../HiroPlayer")
|
||||
attack_power = 5
|
||||
health = 250
|
||||
attack_power = 10
|
||||
|
||||
[node name="ExplosionGenerator" type="Node" parent="."]
|
||||
script = ExtResource("9_df2wo")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="Container" type="Control" parent="CanvasLayer"]
|
||||
layout_mode = 3
|
||||
anchor_left = 0.667
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="StateChartDebugger" parent="CanvasLayer/Container" instance=ExtResource("2_o5str")]
|
||||
layout_mode = 1
|
||||
size_flags_horizontal = 0
|
||||
initial_node_to_watch = NodePath("../../../HiroAI")
|
||||
|
||||
[connection signal="attack_did_hit" from="HiroPlayer" to="HiroAI" method="_on_player_attack_did_hit"]
|
||||
[connection signal="defeated" from="HiroPlayer" to="." method="_on_player_defeated"]
|
||||
[connection signal="defeated" from="HiroPlayer" to="HiroAI" method="_on_player_been_defeated"]
|
||||
[connection signal="attack_did_hit" from="HiroAI" to="HiroPlayer" method="_on_enemy_attack_did_hit"]
|
||||
[connection signal="defeated" from="HiroAI" to="." method="_on_ai_defeated"]
|
||||
|
|
Loading…
Reference in a new issue