1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat: 添加SCBlock和Bengbeng子弹类型及相关资源

feat(角色): 为Kernyr和CyberCat添加新攻击类型

refactor(角色): 更新Kernyr角色贴图和显示名称

feat(关卡): 调整测试关卡配置和敌人波次

style: 更新子弹资源文件及导入配置
This commit is contained in:
2026-04-04 21:07:16 +08:00
parent c413744dbf
commit b343708b3b
35 changed files with 716 additions and 18 deletions
+112
View File
@@ -0,0 +1,112 @@
[gd_scene format=3 uid="uid://d0g631tqx6w5q"]
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_tgiid"]
[ext_resource type="Script" uid="uid://ddgydi8qj3t40" path="res://scripts/Contents/Bullets/Bengbeng.gd" id="2_165xl"]
[ext_resource type="Texture2D" uid="uid://ccsq5rjmm2wbs" path="res://resources/bullets/bengbeng/0.png" id="2_jylg3"]
[ext_resource type="Shader" uid="uid://dfd73rom161o4" path="res://shaders/FilledRing.gdshader" id="5_txsro"]
[ext_resource type="Script" uid="uid://cgb01lelfg73p" path="res://scripts/Statemachine/ShaderStage.gd" id="6_6g0ep"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_1mqkh"]
shader = ExtResource("5_txsro")
shader_parameter/inner = 1.0
shader_parameter/outer = 1.0
shader_parameter/alpha = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5xjim"]
shader = ExtResource("5_txsro")
shader_parameter/inner = 0.98
shader_parameter/outer = 1.0
shader_parameter/alpha = 0.1
[sub_resource type="SpriteFrames" id="SpriteFrames_q5lkk"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_jylg3")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="Animation" id="Animation_165xl"]
length = 0.001
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position:y")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
[sub_resource type="Animation" id="Animation_of0mu"]
resource_name = "destroy"
length = 0.5
step = 0.1
[sub_resource type="Animation" id="Animation_txsro"]
resource_name = "loop"
length = 0.88
loop_mode = 1
step = 0.01
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position:y")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(2, 0),
"points": PackedFloat32Array(-45, 0, 0, 0, -40, -45, 0, -40, 0, 0),
"times": PackedFloat32Array(0, 0.88)
}
[sub_resource type="Animation" id="Animation_6g0ep"]
resource_name = "spawn"
[sub_resource type="AnimationLibrary" id="AnimationLibrary_1mqkh"]
_data = {
&"RESET": SubResource("Animation_165xl"),
&"destroy": SubResource("Animation_of0mu"),
&"loop": SubResource("Animation_txsro"),
&"spawn": SubResource("Animation_6g0ep")
}
[sub_resource type="CircleShape2D" id="CircleShape2D_165xl"]
radius = 334.14966
[node name="Bengbeng" unique_id=5571707 instance=ExtResource("1_tgiid")]
script = ExtResource("2_165xl")
displayName = "蹦蹦炸弹"
speed = 4.0
baseDamage = 30.0
lifeTime = 10000.0
autoLoopAnimation = true
[node name="warnbg" type="Node2D" parent="." index="0" unique_id=122409585]
material = SubResource("ShaderMaterial_1mqkh")
script = ExtResource("6_6g0ep")
size = Vector2(250, 125)
color = Color(0, 0, 0, 0.2)
[node name="warn" type="Node2D" parent="." index="1" unique_id=804964529]
material = SubResource("ShaderMaterial_5xjim")
script = ExtResource("6_6g0ep")
size = Vector2(250, 125)
color = Color(1, 0, 0, 1)
[node name="texture" parent="." index="2" unique_id=162977358]
scale = Vector2(0.2, 0.2)
sprite_frames = SubResource("SpriteFrames_q5lkk")
[node name="animator" parent="texture" index="0" unique_id=1114087117]
libraries/ = SubResource("AnimationLibrary_1mqkh")
[node name="hitbox" parent="." index="3" unique_id=175349408]
position = Vector2(0, -42)
shape = SubResource("CircleShape2D_165xl")
disabled = true
+52
View File
@@ -0,0 +1,52 @@
[gd_scene format=3 uid="uid://oq2j018das8d"]
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_ceess"]
[ext_resource type="Texture2D" uid="uid://b84vn2kmvsrhm" path="res://resources/bullets/scblock/0.png" id="2_78ubb"]
[ext_resource type="Script" uid="uid://cek16mji13xpe" path="res://scripts/Contents/Bullets/SCBlock.gd" id="2_brae2"]
[sub_resource type="Curve" id="Curve_brae2"]
_data = [Vector2(0, 0.5), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_m2ljf"]
curve = SubResource("Curve_brae2")
[sub_resource type="Curve" id="Curve_m2ljf"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.7), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_bgwsv"]
curve = SubResource("Curve_m2ljf")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_brae2"]
particle_flag_disable_z = true
direction = Vector3(-1, 0, 0)
spread = 0.0
initial_velocity_min = 500.0
initial_velocity_max = 500.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_bgwsv")
alpha_curve = SubResource("CurveTexture_m2ljf")
[sub_resource type="RectangleShape2D" id="RectangleShape2D_brae2"]
size = Vector2(120, 32)
[node name="SCBlock" unique_id=5571707 instance=ExtResource("1_ceess")]
script = ExtResource("2_brae2")
speed = 1.0
baseDamage = 5.0
lifeTime = 2000.0
[node name="static" type="Sprite2D" parent="texture" parent_id_path=PackedInt32Array(162977358) index="2" unique_id=1262983065]
scale = Vector2(0.3, 0.3)
texture = ExtResource("2_78ubb")
[node name="trail" type="GPUParticles2D" parent="texture/static" index="0" unique_id=1828495322]
z_index = -1
amount = 7
texture = ExtResource("2_78ubb")
local_coords = true
process_material = SubResource("ParticleProcessMaterial_brae2")
[node name="hitbox" parent="." index="1" unique_id=175349408]
shape = SubResource("RectangleShape2D_brae2")
+6 -5
View File
@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://47ek7kev66gj"]
[gd_scene format=3 uid="uid://47ek7kev66gj"]
[ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_afsds"]
[ext_resource type="Script" uid="uid://m28dwfwmmhmh" path="res://scripts/Contents/Characters/Kernyr.gd" id="2_pixbe"]
[ext_resource type="Script" uid="uid://cnqdjw7i7noxk" path="res://scripts/Contents/Characters/CyberCat.gd" id="2_afsds"]
[ext_resource type="Texture2D" uid="uid://5o6446vmerf5" path="res://resources/bullets/yangyi/cat.jpg" id="3_afsds"]
[sub_resource type="SpriteFrames" id="SpriteFrames_vkls3"]
@@ -17,9 +17,10 @@ animations = [{
"speed": 5.0
}]
[node name="CyberCat" instance=ExtResource("1_afsds")]
script = ExtResource("2_pixbe")
displayName = "赛博猫猫🥵"
[node name="CyberCat" unique_id=1689157073 instance=ExtResource("1_afsds")]
script = ExtResource("2_afsds")
displayName = "赛博猫猫"
metadata/_edit_vertical_guides_ = [200.0]
[node name="texture" parent="." index="3"]
sprite_frames = SubResource("SpriteFrames_vkls3")
+5 -5
View File
@@ -1,8 +1,8 @@
[gd_scene load_steps=6 format=3 uid="uid://dt3xviil00bw4"]
[gd_scene format=3 uid="uid://dt3xviil00bw4"]
[ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_bha5j"]
[ext_resource type="Script" uid="uid://m28dwfwmmhmh" path="res://scripts/Contents/Characters/Kernyr.gd" id="2_vkls3"]
[ext_resource type="Texture2D" uid="uid://dwwpkn4q07ja2" path="res://icon.svg" id="3_vkls3"]
[ext_resource type="Texture2D" uid="uid://d34vkibm8a5e7" path="res://resources/characters/kernyr/koshino.jpg" id="3_vkls3"]
[sub_resource type="SpriteFrames" id="SpriteFrames_vkls3"]
animations = [{
@@ -20,9 +20,9 @@ animations = [{
[sub_resource type="RectangleShape2D" id="RectangleShape2D_vkls3"]
size = Vector2(190, 190)
[node name="Kernyr" instance=ExtResource("1_bha5j")]
[node name="Kernyr" unique_id=2092386193 instance=ExtResource("1_bha5j")]
script = ExtResource("2_vkls3")
displayName = "Chick"
displayName = "KOSHINO"
drops = Array[int]([0, 1])
dropCounts = Array[Vector2]([Vector2(30, 50), Vector2(20, 40)])
appleCount = Vector2i(2, 5)
@@ -32,7 +32,7 @@ sprite_frames = SubResource("SpriteFrames_vkls3")
[node name="staticBackground" parent="texture" index="0"]
position = Vector2(0, -46)
scale = Vector2(1.5, 1.5)
scale = Vector2(0.3135416, 0.3135416)
texture = ExtResource("3_vkls3")
[node name="hitbox" parent="texture/hurtbox" index="0"]
+5
View File
@@ -3,6 +3,7 @@
[ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"]
[ext_resource type="Script" uid="uid://cthtupc6dtbav" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"]
[ext_resource type="PackedScene" uid="uid://bbrllsqjmx0ie" path="res://components/Weapons/DaoStatue.tscn" id="3_da2ca"]
[ext_resource type="PackedScene" uid="uid://cx7nogfnv7s8t" path="res://components/Weapons/Tree.tscn" id="4_0omr3"]
[ext_resource type="AudioStream" uid="uid://cdrevrq7n6yqa" path="res://resources/sounds/effect/Boing.mp3" id="4_66s6c"]
[ext_resource type="AudioStream" uid="uid://benyec5bqni0b" path="res://resources/sounds/effect/Chomp.wav" id="4_k0yme"]
[ext_resource type="AudioStream" uid="uid://dmxh3bpk8vyy5" path="res://resources/sounds/effect/Coin.mp3" id="5_xnbhq"]
@@ -102,6 +103,10 @@ process_material = SubResource("ParticleProcessMaterial_joj4g")
process_mode = 4
[node name="DaoStatue" parent="weaponStore" index="0" unique_id=265403254 instance=ExtResource("3_da2ca")]
debugRebuild = false
[node name="Tree" parent="weaponStore" index="1" unique_id=185228402 instance=ExtResource("4_0omr3")]
debugRebuild = false
[node name="sprint" parent="sounds" index="0"]
stream = ExtResource("4_66s6c")
Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ccsq5rjmm2wbs"
path="res://.godot/imported/0.png-b66f171439c135beb27992e7ab08a78d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/bengbeng/0.png"
dest_files=["res://.godot/imported/0.png-b66f171439c135beb27992e7ab08a78d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b84vn2kmvsrhm"
path="res://.godot/imported/0.png-0e2758547fbd988927b26f7776858305.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/scblock/0.png"
dest_files=["res://.godot/imported/0.png-0e2758547fbd988927b26f7776858305.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
+14
View File
@@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" style="--editorTheme3-blockText: #FFFFFF; --editorTheme3-inputColor: #FFFFFF; --editorTheme3-inputColor-text: #575E75; --editorTheme3-motion-primary: #4C97FF; --editorTheme3-motion-secondary: #4280D7; --editorTheme3-motion-tertiary: #3373CC; --editorTheme3-motion-field-background: #3373CC; --editorTheme3-looks-primary: #9966FF; --editorTheme3-looks-secondary: #855CD6; --editorTheme3-looks-tertiary: #774DCB; --editorTheme3-looks-field-background: #774DCB; --editorTheme3-sounds-primary: #CF63CF; --editorTheme3-sounds-secondary: #C94FC9; --editorTheme3-sounds-tertiary: #BD42BD; --editorTheme3-sounds-field-background: #BD42BD; --editorTheme3-control-primary: #FFAB19; --editorTheme3-control-secondary: #EC9C13; --editorTheme3-control-tertiary: #CF8B17; --editorTheme3-control-field-background: #CF8B17; --editorTheme3-event-primary: #FFBF00; --editorTheme3-event-secondary: #E6AC00; --editorTheme3-event-tertiary: #CC9900; --editorTheme3-event-field-background: #CC9900; --editorTheme3-sensing-primary: #5CB1D6; --editorTheme3-sensing-secondary: #47A8D1; --editorTheme3-sensing-tertiary: #2E8EB8; --editorTheme3-sensing-field-background: #2E8EB8; --editorTheme3-pen-primary: #0fBD8C; --editorTheme3-pen-secondary: #0DA57A; --editorTheme3-pen-tertiary: #0B8E69; --editorTheme3-pen-field-background: #0B8E69; --editorTheme3-operators-primary: #59C059; --editorTheme3-operators-secondary: #46B946; --editorTheme3-operators-tertiary: #389438; --editorTheme3-operators-field-background: #389438; --editorTheme3-data-primary: #FF8C1A; --editorTheme3-data-secondary: #FF8000; --editorTheme3-data-tertiary: #DB6E00; --editorTheme3-data-field-background: #DB6E00; --editorTheme3-data_lists-primary: #FF661A; --editorTheme3-data_lists-secondary: #FF5500; --editorTheme3-data_lists-tertiary: #E64D00; --editorTheme3-data_lists-field-background: #E64D00; --editorTheme3-more-primary: #FF6680; --editorTheme3-more-secondary: #FF4D6A; --editorTheme3-more-tertiary: #FF3355; --editorTheme3-more-field-background: #FF3355; --editorTheme3-addons-primary: #29beb8; --editorTheme3-addons-secondary: #3aa8a4; --editorTheme3-addons-tertiary: #3aa8a4; --editorTheme3-addons-field-background: #3aa8a4;"><style xmlns="http://www.w3.org/1999/xhtml">
.blocklyText {
fill: #FFFFFF;
font-family: "Helvetica Neue", Helvetica, sans-serif;
font-size: 12pt;
font-weight: 500;
}
.blocklyNonEditableText&gt;text, .blocklyEditableText&gt;text {
fill: #575E75;
}
.blocklyDropdownText {
fill: #FFFFFF !important;
}
</style><g data-id="%`RG`!P:WXC]8[(1Cws@" class="blocklyDraggable blocklySelected" data-shapes="stack" data-category="motion" transform="translate(0,0) scale(1)" style=""><path class="blocklyPath blocklyBlockBackground" stroke="#3373CC" fill="#4C97FF" fill-opacity="1" d="m 0,4 A 4,4 0 0,1 4,0 H 12 c 2,0 3,1 4,2 l 4,4 c 1,1 2,2 4,2 h 12 c 2,0 3,-1 4,-2 l 4,-4 c 1,-1 2,-2 4,-2 H 193.58796215057373 a 4,4 0 0,1 4,4 v 40 a 4,4 0 0,1 -4,4 H 48 c -2,0 -3,1 -4,2 l -4,4 c -1,1 -2,2 -4,2 h -12 c -2,0 -3,-1 -4,-2 l -4,-4 c -1,-1 -2,-2 -4,-2 H 4 a 4,4 0 0,1 -4,-4 z"/><g data-id="Ly5GsKdLlRC.c5MuB8Av" data-argument-type="text number" style="cursor: text;" data-shapes="argument round" transform="translate(64.91203689575195,8)"><path class="blocklyPath blocklyBlockBackground" stroke="#3373CC" fill="#FFFFFF" fill-opacity="1" d="m 0,0 m 16,0 H 31.509258270263672 a 16 16 0 0 1 0 32 H 16 a 16 16 0 0 1 0 -32 z"/><g class="blocklyEditableText" transform="translate(8, 0) "><text class="blocklyText" x="15.754629135131836" y="18" dominant-baseline="middle" dy="0" text-anchor="middle">114</text></g></g><g data-id="`V%)}]20@1=!bkv_rg9H" data-argument-type="text number" style="cursor: text;" data-shapes="argument round" transform="translate(140.87499904632568,8)"><path class="blocklyPath blocklyBlockBackground" stroke="#3373CC" fill="#FFFFFF" fill-opacity="1" d="m 0,0 m 16,0 H 32.71296310424805 a 16 16 0 0 1 0 32 H 16 a 16 16 0 0 1 0 -32 z"/><g class="blocklyEditableText" transform="translate(8, 0) "><text class="blocklyText" x="16.356481552124023" y="18" dominant-baseline="middle" dy="0" text-anchor="middle">514</text></g></g><text class="blocklyText" y="2" text-anchor="middle" dominant-baseline="middle" dy="0" x="24.456018447875977" transform="translate(8, 24) ">移到 x:</text><path class="blocklyPath" style="visibility: hidden" d="" fill="#3373CC"/><text class="blocklyText" y="2" text-anchor="middle" dominant-baseline="middle" dy="0" x="6.226851940155029" transform="translate(120.42129516601562, 24) ">y:</text><path class="blocklyPath" style="visibility: hidden" d="" fill="#3373CC"/></g></svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bke86n0vdy1xo"
path="res://.godot/imported/0.svg-55289bb050c347fd38fb1578523744a0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/scblock/0.svg"
dest_files=["res://.godot/imported/0.svg-55289bb050c347fd38fb1578523744a0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dg1qtjclaxixv"
path="res://.godot/imported/1.png-47420a35d7f589006acb83b6b12a0e4f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/scblock/1.png"
dest_files=["res://.godot/imported/1.png-47420a35d7f589006acb83b6b12a0e4f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cg6qkt0w8vwop"
path="res://.godot/imported/2.png-82ff01c2bec6b462f4f16d65a9a77662.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/scblock/2.png"
dest_files=["res://.godot/imported/2.png-82ff01c2bec6b462f4f16d65a9a77662.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dks58wl2i058c"
path="res://.godot/imported/3.png-bd8e39d8cafd73605318bf80f37a0533.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/scblock/3.png"
dest_files=["res://.godot/imported/3.png-bd8e39d8cafd73605318bf80f37a0533.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://yay1p1bewwog"
path="res://.godot/imported/4.png-28d9f4982a69c94c6b2e179e6b57cdc2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/scblock/4.png"
dest_files=["res://.godot/imported/4.png-28d9f4982a69c94c6b2e179e6b57cdc2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cncwp63meglgu"
path="res://.godot/imported/5.png-f5e1e7dfbeb8fb6166a84e52f58674a0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/scblock/5.png"
dest_files=["res://.godot/imported/5.png-f5e1e7dfbeb8fb6166a84e52f58674a0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c507wa651bcni"
path="res://.godot/imported/6.png-5a0a095098be9dbce266d28260f21896.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/scblock/6.png"
dest_files=["res://.godot/imported/6.png-5a0a095098be9dbce266d28260f21896.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://5cami0faunqk"
path="res://.godot/imported/7.png-46a60abdfefbf93abc197a181b10dc9a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/scblock/7.png"
dest_files=["res://.godot/imported/7.png-46a60abdfefbf93abc197a181b10dc9a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b3dpapfpu5rx6"
path="res://.godot/imported/8.png-45f778c5300b5c1937d834efce8558d8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/bullets/scblock/8.png"
dest_files=["res://.godot/imported/8.png-45f778c5300b5c1937d834efce8558d8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
+12
View File
@@ -0,0 +1,12 @@
extends BulletBase
class_name BengbengBullet
func spawn():
hitbox.disabled = true
func ai():
texture.global_rotation = 0
PresetBulletAI.forward(self , position.angle_to_point(launcher.currentFocusedBoss.position))
if is_instance_valid(launcher.currentFocusedBoss):
if launcher.currentFocusedBoss.position.distance_to(position) < 125 && hitbox.disabled:
EffectController.create(ComponentManager.getEffect("NuclearExplosion"), position).shot()
hitbox.disabled = false
+1
View File
@@ -0,0 +1 @@
uid://ddgydi8qj3t40
+28
View File
@@ -0,0 +1,28 @@
extends BulletBase
class_name SCBlockBullet
var speedV2 = Vector2.ZERO
func register():
speedV2 = Vector2(
(launcher.currentFocusedBoss.position - launcher.position)
.sign().x
* randf_range(-0.25, 1)
* 100,
-50
)
func spawn():
var staticTexture = texture.get_node_or_null("static")
if staticTexture is Sprite2D:
var text = load("res://resources/bullets/scblock/%d.png" % randi_range(0, 8))
staticTexture.texture = text
var trail = staticTexture.get_node_or_null("trail")
if trail is GPUParticles2D:
trail.texture = text
func ai():
rotation = speedV2.angle()
speed = speedV2.length()
PresetBulletAI.trace(self , position + Vector2.from_angle(deg_to_rad(90)), lifeTimePercent() / 15)
PresetBulletAI.forward(self , rotation)
speedV2 *= 0.95
speedV2 += Vector2(0, 1)
+1
View File
@@ -0,0 +1 @@
uid://cek16mji13xpe
+21
View File
@@ -0,0 +1,21 @@
extends EntityBase
class_name CyberCatEntity
func register():
fields[FieldStore.Entity.MAX_HEALTH] = 1500
fields[FieldStore.Entity.OFFSET_SHOOT] = 0
fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.2
attackCooldownMap[0] = 6000
attackCooldownMap[1] = 10000
attackCooldownMap[2] = 100
func ai():
PresetEntityAI.follow(self , currentFocusedBoss)
for i in 3:
tryAttack(i)
func attack(type: int):
if type == 0:
BulletBase.generate(ComponentManager.getBullet("Bengbeng"), self , position, 0)
elif type == 1:
heal(percentHealth(0.05))
elif type == 2:
BulletBase.generate(ComponentManager.getBullet("SCBlock"), self , position, 0)
@@ -0,0 +1 @@
uid://cnqdjw7i7noxk
+4
View File
@@ -11,10 +11,12 @@ func register():
attackCooldownMap[0] = 2000
attackCooldownMap[1] = 100
attackCooldownMap[2] = 10000
attackCooldownMap[3] = 4500
attackMutexes = [2]
func ai():
for i in 3:
tryAttack(i, [2])
# tryAttack(3)
func attack(type: int):
if type == 0:
for i in randi_range(7, 16):
@@ -62,3 +64,5 @@ func attack(type: int):
await TickTool.frame()
await TickTool.millseconds(2000)
await chargeUp()
elif type == 3:
BulletBase.generate(ComponentManager.getBullet("Bengbeng"), self , position, 0)
+11 -8
View File
@@ -23,18 +23,20 @@ func duplicate() -> Wave:
return wave
static var WAVE_NORMAL = [
Wave.create("Hen", 1, 3, false, 0, INF, 3),
Wave.create("Hen", 1, 3, false, 2, INF, 1),
Wave.create("Cat", 1, 5, false, 0, INF, 1),
Wave.create("Dog", 1, 2, false, 0, INF, 5),
Wave.create("MTY", 0, 1, false, 4, INF, 7),
Wave.create("Dog", 1, 2, false, 4, INF, 1),
Wave.create("MTY", 0, 1, false, 6, INF, 7),
Wave.create("Chick", 0, 0, true, 9, INF, 20),
Wave.create("KukeMC", 0, 0, true, 19, INF, 20),
Wave.create("Bear", 0, 0, true, 29, INF, 23),
]
static var WAVE_TESTBOSS_ALL = [
Wave.create("Chick", 0, 0, true, 0, INF, 3),
Wave.create("KukeMC", 0, 0, true, 1, INF, 3),
Wave.create("Bear", 0, 0, true, 2, INF, 3),
Wave.create("Kernyr", 0, 0, true, 0, INF, 5),
Wave.create("CyberCat", 0, 0, true, 1, INF, 5),
Wave.create("Chick", 0, 0, true, 2, INF, 5),
Wave.create("KukeMC", 0, 0, true, 3, INF, 5),
Wave.create("Bear", 0, 0, true, 4, INF, 5),
]
static var WAVE_TESTBOSS_KUKE = [
Wave.create("KukeMC", 0, 0, true, 0, INF, 1),
@@ -46,7 +48,8 @@ static var WAVE_TESTBOSS_CHICK = [
Wave.create("Chick", 0, 0, true, 0, INF, 1),
]
static var WAVE_JUSTJOKE = [
Wave.create("Kernyr", 0, 0, true, 0, INF, 1),
Wave.create("Kernyr", 0, 0, true, 0, INF, 2),
Wave.create("CyberCat", 0, 0, true, 1, INF, 2)
]
static var WAVE_MOWING = [
Wave.create("Hen", 15, 30, false, 0, INF, 1),
@@ -55,7 +58,7 @@ static var WAVE_MOWING = [
Wave.create("MTY", 1, 5, false, 0, INF, 1),
]
static var WAVE_EMPTY = []
static var waveConfig = [WAVE_MOWING, 1]
static var waveConfig = [WAVE_TESTBOSS_ALL, 1]
static var current: int = startWith(1) if WorldManager.isRelease() else startWith(waveConfig[1])
static var data = WAVE_NORMAL if WorldManager.isRelease() else waveConfig[0]