mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-30 15:22:30 +08:00
feat(子弹系统): 更新激光子弹效果和属性
- 将BigLaser的父场景从LaserCommoner改为LaserSummoner - 增加激光震动强度从100到150 - 移除succeedToHit方法的伤害加成效果 - 更新激光粒子效果和材质参数 - 修改水杯和蛋糕的字段属性 - 优化调试组件FeedHasField的目标字段 - 更新激光圆圈SVG资源
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://ltqx7fyovhla"]
|
[gd_scene load_steps=2 format=3 uid="uid://ltqx7fyovhla"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://8gjjfju6p3fh" path="res://components/Bullets/Common/LaserCommoner.tscn" id="1_ukbip"]
|
[ext_resource type="PackedScene" uid="uid://8gjjfju6p3fh" path="res://components/Bullets/Common/LaserSummoner.tscn" id="1_ukbip"]
|
||||||
|
|
||||||
[node name="BigLaser" instance=ExtResource("1_ukbip")]
|
[node name="BigLaser" instance=ExtResource("1_ukbip")]
|
||||||
needEnergy = 100.0
|
needEnergy = 100.0
|
||||||
|
|||||||
+11
-12
@@ -1,18 +1,18 @@
|
|||||||
[gd_scene load_steps=18 format=3 uid="uid://8gjjfju6p3fh"]
|
[gd_scene load_steps=18 format=3 uid="uid://8gjjfju6p3fh"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_f67dy"]
|
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_pnxoq"]
|
||||||
[ext_resource type="Script" path="res://scripts/Contents/Bullets/BigLaser.gd" id="2_tdbxh"]
|
[ext_resource type="Script" path="res://scripts/Contents/Bullets/BigLaser.gd" id="2_nk2p8"]
|
||||||
[ext_resource type="Shader" path="res://shaders/BigLaser1.gdshader" id="3_km2v1"]
|
[ext_resource type="Shader" path="res://shaders/BigLaser1.gdshader" id="3_ow2gn"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dy4op6n6vxef3" path="res://resources/bullets/laser-circle/circle.svg" id="4_rs8hf"]
|
[ext_resource type="Texture2D" uid="uid://dy4op6n6vxef3" path="res://resources/bullets/laser-circle/circle.svg" id="4_sewyb"]
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id="SpriteFrames_yip5k"]
|
[sub_resource type="SpriteFrames" id="SpriteFrames_yip5k"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b2oy8"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b2oy8"]
|
||||||
shader = ExtResource("3_km2v1")
|
shader = ExtResource("3_ow2gn")
|
||||||
shader_parameter/laser_color = Color(1, 0, 0, 1)
|
shader_parameter/laser_color = Color(1, 0, 0, 1)
|
||||||
shader_parameter/width = 1.0
|
shader_parameter/width = 1.0
|
||||||
shader_parameter/softness = 0.2
|
shader_parameter/softness = 0.2
|
||||||
shader_parameter/wave_speed = 2.0
|
shader_parameter/wave_speed = 3.0
|
||||||
shader_parameter/wave_frequency = 13.154
|
shader_parameter/wave_frequency = 13.154
|
||||||
shader_parameter/wave_amplitude = 1.151
|
shader_parameter/wave_amplitude = 1.151
|
||||||
shader_parameter/wave_width = 0.032
|
shader_parameter/wave_width = 0.032
|
||||||
@@ -157,7 +157,7 @@ tracks/2/interp = 1
|
|||||||
tracks/2/loop_wrap = true
|
tracks/2/loop_wrap = true
|
||||||
tracks/2/keys = {
|
tracks/2/keys = {
|
||||||
"handle_modes": PackedInt32Array(0, 0),
|
"handle_modes": PackedInt32Array(0, 0),
|
||||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 12.5664, -0.25, 0, 0.25, 0),
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 25.1327, -0.25, 0, 0.25, 0),
|
||||||
"times": PackedFloat32Array(0, 5)
|
"times": PackedFloat32Array(0, 5)
|
||||||
}
|
}
|
||||||
tracks/3/type = "bezier"
|
tracks/3/type = "bezier"
|
||||||
@@ -204,8 +204,8 @@ _data = {
|
|||||||
radius = 40.0
|
radius = 40.0
|
||||||
height = 2000.0
|
height = 2000.0
|
||||||
|
|
||||||
[node name="LaserSummoner" instance=ExtResource("1_f67dy")]
|
[node name="LaserSummoner" instance=ExtResource("1_pnxoq")]
|
||||||
script = ExtResource("2_tdbxh")
|
script = ExtResource("2_nk2p8")
|
||||||
fields = {
|
fields = {
|
||||||
0: 0,
|
0: 0,
|
||||||
1: 25,
|
1: 25,
|
||||||
@@ -220,9 +220,8 @@ sprite_frames = SubResource("SpriteFrames_yip5k")
|
|||||||
[node name="rect" type="ColorRect" parent="texture" index="0"]
|
[node name="rect" type="ColorRect" parent="texture" index="0"]
|
||||||
material = SubResource("ShaderMaterial_b2oy8")
|
material = SubResource("ShaderMaterial_b2oy8")
|
||||||
offset_left = 233.0
|
offset_left = 233.0
|
||||||
offset_top = 50.0
|
|
||||||
offset_right = 333.0
|
offset_right = 333.0
|
||||||
offset_bottom = 2050.0
|
offset_bottom = 2000.0
|
||||||
rotation = -1.5708
|
rotation = -1.5708
|
||||||
scale = Vector2(1e-05, 1)
|
scale = Vector2(1e-05, 1)
|
||||||
|
|
||||||
@@ -247,7 +246,7 @@ libraries = {
|
|||||||
[node name="circle" type="Sprite2D" parent="texture" index="2"]
|
[node name="circle" type="Sprite2D" parent="texture" index="2"]
|
||||||
modulate = Color(1, 1, 1, 0)
|
modulate = Color(1, 1, 1, 0)
|
||||||
scale = Vector2(1e-05, 1e-05)
|
scale = Vector2(1e-05, 1e-05)
|
||||||
texture = ExtResource("4_rs8hf")
|
texture = ExtResource("4_sewyb")
|
||||||
|
|
||||||
[node name="hitbox" parent="." index="1"]
|
[node name="hitbox" parent="." index="1"]
|
||||||
visible = false
|
visible = false
|
||||||
@@ -5,5 +5,5 @@
|
|||||||
[node name="FeedHasField" type="HBoxContainer"]
|
[node name="FeedHasField" type="HBoxContainer"]
|
||||||
theme_override_constants/separation = 0
|
theme_override_constants/separation = 0
|
||||||
script = ExtResource("1_7leag")
|
script = ExtResource("1_7leag")
|
||||||
targetFields = Array[int]([17])
|
targetFields = Array[int]([7])
|
||||||
clickToRefresh = true
|
clickToRefresh = true
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
[node name="Cupcake" instance=ExtResource("1_x5oju")]
|
[node name="Cupcake" instance=ExtResource("1_x5oju")]
|
||||||
avatarTexture = ExtResource("2_qojf3")
|
avatarTexture = ExtResource("2_qojf3")
|
||||||
displayName = "烘焙松糕"
|
displayName = "烘焙松糕"
|
||||||
fields = Array[int]([12, 2])
|
fields = Array[int]([12, 2, 5])
|
||||||
fieldValues = Array[float]([0.15, 0.1])
|
fieldValues = Array[float]([0.15, 0.1, 0.05])
|
||||||
costs = Array[int]([0])
|
costs = Array[int]([0])
|
||||||
costCounts = Array[int]([125])
|
costCounts = Array[int]([125])
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
avatarTexture = ExtResource("2_gsfud")
|
avatarTexture = ExtResource("2_gsfud")
|
||||||
displayName = "水杯"
|
displayName = "水杯"
|
||||||
quality = 4
|
quality = 4
|
||||||
fields = Array[int]([3])
|
fields = Array[int]([3, 7])
|
||||||
fieldValues = Array[float]([0.25])
|
fieldValues = Array[float]([0.25, 3.0])
|
||||||
costs = Array[int]([1])
|
costs = Array[int]([1])
|
||||||
costCounts = Array[int]([400])
|
costCounts = Array[int]([400])
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 14 KiB |
@@ -2,7 +2,7 @@ extends BulletBase
|
|||||||
class_name BigLaser # 这个子弹是玩家的超级武器,耗能高,dps也高
|
class_name BigLaser # 这个子弹是玩家的超级武器,耗能高,dps也高
|
||||||
|
|
||||||
func spawn():
|
func spawn():
|
||||||
CameraManager.shake(5000, 100) # 激光会运行5秒,期间震屏100强度
|
CameraManager.shake(5000, 150) # 激光会运行5秒(5000毫秒),期间震屏超高强度
|
||||||
CameraManager.playAnimation("bigLaser")
|
CameraManager.playAnimation("bigLaser")
|
||||||
fields[FieldStore.Bullet.DAMAGE] *= launcher.fields[FieldStore.Entity.ATTACK_SPEED]
|
fields[FieldStore.Bullet.DAMAGE] *= launcher.fields[FieldStore.Entity.ATTACK_SPEED]
|
||||||
func ai():
|
func ai():
|
||||||
@@ -14,5 +14,3 @@ func applyDot():
|
|||||||
hitbox.disabled = false
|
hitbox.disabled = false
|
||||||
await TickTool.millseconds(100 / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
await TickTool.millseconds(100 / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
||||||
return true
|
return true
|
||||||
func succeedToHit(_dmg: float):
|
|
||||||
fields[FieldStore.Bullet.DAMAGE] *= 1.03
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ func rebuild():
|
|||||||
i.queue_free()
|
i.queue_free()
|
||||||
var files = DirTool.listdir("res://components/Feeds/")
|
var files = DirTool.listdir("res://components/Feeds/")
|
||||||
for file in files:
|
for file in files:
|
||||||
var passed: bool
|
var passed: bool = true
|
||||||
var feed = load(file).instantiate() as Feed
|
var feed = load(file).instantiate() as Feed
|
||||||
for targetField in targetFields:
|
for targetField in targetFields:
|
||||||
var haveThis = false
|
var haveThis = false
|
||||||
|
|||||||
Reference in New Issue
Block a user