1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-04 18:57:13 +08:00

feat(武器): 添加氧化加农炮及其相关资源

新增氧化加农炮武器,包含武器脚本、子弹效果、贴图资源及UI组件
调整TipBox动画参数和Rooster默认武器
This commit is contained in:
2026-01-25 19:32:02 +08:00
parent 799668403d
commit 9ba29b7fc9
13 changed files with 325 additions and 8 deletions
+169
View File
@@ -0,0 +1,169 @@
[gd_scene load_steps=24 format=3 uid="uid://c54fnnvip38px"]
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_0xy1l"]
[ext_resource type="Script" uid="uid://dpxfoyb33fo6t" path="res://scripts/Contents/Bullets/OxygenFire.gd" id="2_rnqn2"]
[ext_resource type="Texture2D" uid="uid://hk7rufcc8vb5" path="res://resources/bullets/oxygen-fire/full-circle.svg" id="3_aagwn"]
[sub_resource type="Animation" id="Animation_e772m"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("particle:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("%texture/..:speed")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(10, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
[sub_resource type="Animation" id="Animation_aagwn"]
resource_name = "spawn"
length = 2.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("particle:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("%texture/..:speed")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0, 2),
"points": PackedFloat32Array(10, 0, 0, 2, 0, 0, 0, 0, 0, 0),
"times": PackedFloat32Array(0, 2)
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_qhva2"]
_data = {
&"RESET": SubResource("Animation_e772m"),
&"spawn": SubResource("Animation_aagwn")
}
[sub_resource type="Curve" id="Curve_aagwn"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_e772m"]
curve = SubResource("Curve_aagwn")
[sub_resource type="Gradient" id="Gradient_qhva2"]
colors = PackedColorArray(1, 0.88550174, 0, 1, 1, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_7krda"]
gradient = SubResource("Gradient_qhva2")
[sub_resource type="Curve" id="Curve_qhva2"]
_limits = [0.0, 2.0, 0.0, 1.0]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_7krda"]
curve = SubResource("Curve_qhva2")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_e772m"]
particle_flag_disable_z = true
emission_shape = 1
emission_sphere_radius = 28.0
gravity = Vector3(0, 0, 0)
scale_min = 0.79999995
scale_max = 1.1999999
scale_curve = SubResource("CurveTexture_7krda")
color_ramp = SubResource("GradientTexture1D_7krda")
alpha_curve = SubResource("CurveTexture_e772m")
[sub_resource type="Curve" id="Curve_e772m"]
_data = [Vector2(0.7, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_qhva2"]
curve = SubResource("Curve_e772m")
[sub_resource type="Curve" id="Curve_7krda"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_yj8uh"]
curve = SubResource("Curve_7krda")
[sub_resource type="Gradient" id="Gradient_aagwn"]
offsets = PackedFloat32Array(0.0047393367, 1)
colors = PackedColorArray(1, 0.7665578, 0, 1, 1, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_e772m"]
gradient = SubResource("Gradient_aagwn")
[sub_resource type="Curve" id="Curve_yj8uh"]
_data = [Vector2(0.5, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_87sv1"]
curve = SubResource("Curve_yj8uh")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_87sv1"]
particle_flag_disable_z = true
angle_min = 1.0728835e-05
angle_max = 360.00003
angle_curve = SubResource("CurveTexture_yj8uh")
spread = 180.0
initial_velocity_max = 200.0
gravity = Vector3(0, 0, 0)
scale_min = 4.0
scale_max = 7.0
scale_curve = SubResource("CurveTexture_87sv1")
color_initial_ramp = SubResource("GradientTexture1D_e772m")
alpha_curve = SubResource("CurveTexture_qhva2")
[sub_resource type="CircleShape2D" id="CircleShape2D_aagwn"]
radius = 27.166155
[node name="OxygenFire" instance=ExtResource("1_0xy1l")]
script = ExtResource("2_rnqn2")
penerate = 1.0
lifeTime = 1000.0
autoSpawnAnimation = true
freeAfterSpawn = true
[node name="animator" parent="texture" index="0"]
libraries = {
&"": SubResource("AnimationLibrary_qhva2")
}
[node name="particle" type="GPUParticles2D" parent="texture" index="1"]
emitting = false
amount = 1
texture = ExtResource("3_aagwn")
one_shot = true
local_coords = true
process_material = SubResource("ParticleProcessMaterial_e772m")
[node name="sender" type="GPUParticles2D" parent="texture" index="2"]
amount = 50
local_coords = true
process_material = SubResource("ParticleProcessMaterial_87sv1")
[node name="hitbox" parent="." index="1"]
shape = SubResource("CircleShape2D_aagwn")
+3 -3
View File
@@ -1,8 +1,8 @@
[gd_scene load_steps=13 format=3 uid="uid://bm7ymrri6pykb"]
[gd_scene load_steps=13 format=3 uid="uid://dky8574uqc18r"]
[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://yq7vmijwvgx1" path="res://components/Weapons/AcidWind.tscn" id="3_da2ca"]
[ext_resource type="PackedScene" uid="uid://b5ebx8duvgtt5" path="res://components/Weapons/Oxygener.tscn" id="3_da2ca"]
[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"]
@@ -58,7 +58,7 @@ metadata/_edit_vertical_guides_ = [71.0]
[node name="weaponStore" parent="." index="1"]
process_mode = 4
[node name="AcidWind" parent="weaponStore" index="0" instance=ExtResource("3_da2ca")]
[node name="Oxygener" parent="weaponStore" index="0" instance=ExtResource("3_da2ca")]
debugRebuild = false
[node name="sprint" parent="sounds" index="0"]
+3 -4
View File
@@ -50,7 +50,7 @@ tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(1.0039918, 0, 0, 0.3, 1, 0, 0, 0.205, 0, 0),
"points": PackedFloat32Array(1.0039918, 0, 0, 0.3, 1.5, 0, 0, 0.205, 0, 0),
"times": PackedFloat32Array(0, 0.3)
}
tracks/1/type = "value"
@@ -60,7 +60,7 @@ tracks/1/path = NodePath(".:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.14, 0.3),
"times": PackedFloat32Array(0.21, 0.3),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
@@ -78,7 +78,7 @@ tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(0, 0, 0, 0.2, 0, 1, -0.25, 0.5, 0, 0),
"points": PackedFloat32Array(0, 0, 0, 0, 0, 1, -0.2, 1, 0, 0),
"times": PackedFloat32Array(0, 0.3)
}
tracks/1/type = "value"
@@ -104,7 +104,6 @@ _data = {
[node name="TipBox" type="PanelContainer"]
offset_right = 79.0
offset_bottom = 34.0
scale = Vector2(1, 2)
theme_override_styles/panel = SubResource("StyleBoxFlat_nooq4")
script = ExtResource("1_7vuk3")
+37
View File
@@ -0,0 +1,37 @@
[gd_scene load_steps=4 format=3 uid="uid://b5ebx8duvgtt5"]
[ext_resource type="PackedScene" uid="uid://ckq2cq6m23hq3" path="res://components/Abstracts/WeaponCardBase.tscn" id="1_8jd12"]
[ext_resource type="Script" uid="uid://bjraoa0lwchon" path="res://scripts/Contents/Weapons/Oxygener.gd" id="2_thqd2"]
[ext_resource type="Texture2D" uid="uid://gpwxs56alc7m" path="res://resources/weapons/oxygener.png" id="2_xmkcx"]
[node name="Oxygener" instance=ExtResource("1_8jd12")]
script = ExtResource("2_thqd2")
avatarTexture = ExtResource("2_xmkcx")
displayName = "氧化加农炮"
quality = 0
typeTopic = 2
store = {
"atk": 10,
"fireatk": 2.0,
"max-n": 7.0,
"min-n": 3.0
}
storeType = {
"atk": 1,
"fireatk": 1,
"max-n": 1,
"min-n": 1
}
descriptionTemplate = "大概率高速喷出火焰,造成$fireatk点伤害。小概率喷出$min-n~$max-n滴[b]浓硝酸[/b],每滴造成$atk点伤害。"
cooldown = 50.0
[node name="avatar" parent="container/info" index="0"]
texture = ExtResource("2_xmkcx")
[node name="name" parent="container/info" index="2"]
displayName = "氧化加农炮"
quality = 0
typeTopic = 2
[node name="description" parent="container" index="2"]
text = "[center]大概率高速喷出火焰,造成[color=cyan]2[/color]点伤害。小概率喷出[color=cyan]3[/color]~[color=cyan]7[/color]滴[b]浓硝酸[/b],每滴造成[color=cyan]10[/color]点伤害。[/center]"