mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
feat(角色): 添加KukeMC的重型水晶攻击和环形着色器
refactor(武器): 将攻击类型从VALUE改为INTEGER 调整大激光武器的能量消耗为200 style(界面): 更新武器卡牌文本显示为整数 移除调试标记和多余属性 fix(角色): 调整KukeChild的移动速度 移除KukeMC的射击偏移常量
This commit is contained in:
@@ -28,6 +28,7 @@ offset_right = 350.0
|
|||||||
offset_bottom = 304.0
|
offset_bottom = 304.0
|
||||||
theme_override_styles/panel = SubResource("StyleBoxFlat_n2ewr")
|
theme_override_styles/panel = SubResource("StyleBoxFlat_n2ewr")
|
||||||
script = ExtResource("1_g802t")
|
script = ExtResource("1_g802t")
|
||||||
|
debugRebuild = true
|
||||||
metadata/_edit_lock_ = true
|
metadata/_edit_lock_ = true
|
||||||
|
|
||||||
[node name="sounds" type="Node2D" parent="."]
|
[node name="sounds" type="Node2D" parent="."]
|
||||||
@@ -111,7 +112,7 @@ displayName = "未命名饲料"
|
|||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
bbcode_enabled = true
|
bbcode_enabled = true
|
||||||
text = "[center]造成[color=cyan]10.00[/color]点伤害。[/center]"
|
text = "[center]造成[color=cyan]10[/color]点伤害。[/center]"
|
||||||
fit_content = true
|
fit_content = true
|
||||||
|
|
||||||
[node name="costs" type="GridContainer" parent="container"]
|
[node name="costs" type="GridContainer" parent="container"]
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
[gd_scene load_steps=5 format=3 uid="uid://dxd6ikymj0fge"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_mf7ha"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/Statemachine/ShaderStage.gd" id="2_75div"]
|
||||||
|
[ext_resource type="Shader" path="res://shaders/Ring.gdshader" id="2_utujj"]
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_1i43q"]
|
||||||
|
shader = ExtResource("2_utujj")
|
||||||
|
shader_parameter/inner = 0.5
|
||||||
|
shader_parameter/outer = 0.75
|
||||||
|
|
||||||
|
[node name="BulletBase" instance=ExtResource("1_mf7ha")]
|
||||||
|
|
||||||
|
[node name="track" type="Node2D" parent="texture" index="1"]
|
||||||
|
material = SubResource("ShaderMaterial_1i43q")
|
||||||
|
script = ExtResource("2_75div")
|
||||||
@@ -20,9 +20,8 @@ storeType = {
|
|||||||
"time": 0.0
|
"time": 0.0
|
||||||
}
|
}
|
||||||
descriptionTemplate = "每$time秒造成$atk点伤害。"
|
descriptionTemplate = "每$time秒造成$atk点伤害。"
|
||||||
needEnergy = 100.0
|
needEnergy = 200.0
|
||||||
cooldown = 6000.0
|
cooldown = 6000.0
|
||||||
debugRebuild = true
|
|
||||||
|
|
||||||
[node name="attack" parent="sounds" index="0"]
|
[node name="attack" parent="sounds" index="0"]
|
||||||
stream = ExtResource("4_cb5nh")
|
stream = ExtResource("4_cb5nh")
|
||||||
@@ -31,10 +30,7 @@ stream = ExtResource("4_cb5nh")
|
|||||||
texture = ExtResource("2_qe8gb")
|
texture = ExtResource("2_qe8gb")
|
||||||
|
|
||||||
[node name="energy" parent="container/info/infos/energyInfo" index="1"]
|
[node name="energy" parent="container/info/infos/energyInfo" index="1"]
|
||||||
text = "100.0"
|
text = "200.0"
|
||||||
|
|
||||||
[node name="beachball" parent="container/info/infos/beachballInfo" index="1"]
|
|
||||||
text = "500"
|
|
||||||
|
|
||||||
[node name="name" parent="container/info" index="2"]
|
[node name="name" parent="container/info" index="2"]
|
||||||
displayName = "湮灭激光"
|
displayName = "湮灭激光"
|
||||||
|
|||||||
@@ -4,8 +4,7 @@ var masterMine: KukeMC
|
|||||||
|
|
||||||
func register():
|
func register():
|
||||||
fields[FieldStore.Entity.MAX_HEALTH] = 25
|
fields[FieldStore.Entity.MAX_HEALTH] = 25
|
||||||
fields[FieldStore.Entity.OFFSET_SHOOT] = 5
|
fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.35
|
||||||
fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.25
|
|
||||||
attackCooldownMap[0] = 50
|
attackCooldownMap[0] = 50
|
||||||
func ai():
|
func ai():
|
||||||
PresetEntityAI.follow(self, currentFocusedBoss, 700)
|
PresetEntityAI.follow(self, currentFocusedBoss, 700)
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ class_name KukeMC
|
|||||||
|
|
||||||
func register():
|
func register():
|
||||||
fields[FieldStore.Entity.MAX_HEALTH] = 2500
|
fields[FieldStore.Entity.MAX_HEALTH] = 2500
|
||||||
fields[FieldStore.Entity.OFFSET_SHOOT] = 25
|
|
||||||
fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.5
|
fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.5
|
||||||
attackCooldownMap[0] = 2000
|
attackCooldownMap[0] = 2000
|
||||||
attackCooldownMap[1] = 5000
|
attackCooldownMap[1] = 5000
|
||||||
@@ -30,6 +29,7 @@ func ai():
|
|||||||
func attack(type):
|
func attack(type):
|
||||||
if type == 0:
|
if type == 0:
|
||||||
for i in randi_range(8, 16):
|
for i in randi_range(8, 16):
|
||||||
|
fields[FieldStore.Entity.OFFSET_SHOOT] = 25
|
||||||
BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, findWeaponAnchor("normal"), position.angle_to_point(currentFocusedBoss.position))
|
BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, findWeaponAnchor("normal"), position.angle_to_point(currentFocusedBoss.position))
|
||||||
await TickTool.millseconds(randi_range(10, 50))
|
await TickTool.millseconds(randi_range(10, 50))
|
||||||
elif type == 1:
|
elif type == 1:
|
||||||
@@ -38,9 +38,10 @@ func attack(type):
|
|||||||
child.currentFocusedBoss = currentFocusedBoss
|
child.currentFocusedBoss = currentFocusedBoss
|
||||||
child.masterMine = self
|
child.masterMine = self
|
||||||
elif type == 2:
|
elif type == 2:
|
||||||
var count = randi_range(50, 60)
|
var count = randi_range(60, 80)
|
||||||
for i in count:
|
for i in count:
|
||||||
var count1 = 3
|
var count1 = 3
|
||||||
for j in count1:
|
for j in count1:
|
||||||
|
fields[FieldStore.Entity.OFFSET_SHOOT] = 0
|
||||||
BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, findWeaponAnchor("normal"), 360.0 / count * i + 360.0 / count1 * j)
|
BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, findWeaponAnchor("normal"), 360.0 / count * i + 360.0 / count1 * j)
|
||||||
await TickTool.millseconds(50)
|
await TickTool.millseconds(50)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ static var WAVE_NORMAL = [
|
|||||||
]
|
]
|
||||||
static var WAVE_TESTBOSS = [
|
static var WAVE_TESTBOSS = [
|
||||||
# Wave.create(preload("res://components/Characters/Chick.tscn"), 0, 0, true, 0, INF, 10),
|
# Wave.create(preload("res://components/Characters/Chick.tscn"), 0, 0, true, 0, INF, 10),
|
||||||
Wave.create(preload("res://components/Characters/KukeMC.tscn"), 0, 0, true, 1, INF, 10),
|
Wave.create(preload("res://components/Characters/KukeMC.tscn"), 0, 0, true, 0, INF, 10),
|
||||||
# Wave.create(preload("res://components/Characters/Bear.tscn"), 0, 0, true, 2, INF, 10),
|
# Wave.create(preload("res://components/Characters/Bear.tscn"), 0, 0, true, 2, INF, 10),
|
||||||
]
|
]
|
||||||
static var data = WAVE_TESTBOSS
|
static var data = WAVE_TESTBOSS
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class_name Weapon
|
|||||||
"atk": 10
|
"atk": 10
|
||||||
}
|
}
|
||||||
@export var storeType: Dictionary = {
|
@export var storeType: Dictionary = {
|
||||||
"atk": FieldStore.DataType.VALUE
|
"atk": FieldStore.DataType.INTEGER
|
||||||
}
|
}
|
||||||
@export var descriptionTemplate: String = "造成$atk点伤害。"
|
@export var descriptionTemplate: String = "造成$atk点伤害。"
|
||||||
@export var needEnergy: float = 0
|
@export var needEnergy: float = 0
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
shader_type canvas_item;
|
||||||
|
uniform float inner:hint_range(0.0, 1.0, 0.01)=0.5;
|
||||||
|
uniform float outer:hint_range(0.0, 1.0, 0.01)=0.75;
|
||||||
|
void fragment() {
|
||||||
|
vec2 center=vec2(0.5);
|
||||||
|
float dist=distance(UV,center)*2.0;
|
||||||
|
COLOR.a=float(inner<dist&&dist<outer);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user