mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
feat(HCN): 修改角色技能为击杀敌人时储能
修改HCN角色的技能触发机制,从召唤物死亡时储能改为击杀敌人时储能 更新角色描述和属性数值 更换角色默认武器为AcidWind 添加killEnemy信号到EntityBase用于触发击杀事件 为AcidWind武器添加升华选项
This commit is contained in:
@@ -20,9 +20,9 @@ theme_override_styles/panel = SubResource("StyleBoxFlat_1yfsg")
|
|||||||
displayName = "氰化氢"
|
displayName = "氰化氢"
|
||||||
slogan = "微量便可颠覆生机"
|
slogan = "微量便可颠覆生机"
|
||||||
avatar = ExtResource("2_1yfsg")
|
avatar = ExtResource("2_1yfsg")
|
||||||
description = "在召唤物死亡时储能。"
|
description = "击杀敌人时储能。"
|
||||||
fields = Array[int]([18, 27])
|
fields = Array[int]([18, 1])
|
||||||
fieldValues = Array[float]([5.0, 1.0])
|
fieldValues = Array[float]([3.0, -0.15])
|
||||||
clickToRebuild = true
|
clickToRebuild = true
|
||||||
|
|
||||||
[node name="avatarTexture" parent="wrapper" parent_id_path=PackedInt32Array(2023039659) index="0" unique_id=1334645594]
|
[node name="avatarTexture" parent="wrapper" parent_id_path=PackedInt32Array(2023039659) index="0" unique_id=1334645594]
|
||||||
@@ -35,4 +35,4 @@ text = "氰化氢"
|
|||||||
text = "“微量便可颠覆生机”"
|
text = "“微量便可颠覆生机”"
|
||||||
|
|
||||||
[node name="descriptionLabel" parent="wrapper/infoContainer" parent_id_path=PackedInt32Array(143242635) index="1" unique_id=808054282]
|
[node name="descriptionLabel" parent="wrapper/infoContainer" parent_id_path=PackedInt32Array(143242635) index="1" unique_id=808054282]
|
||||||
text = "召唤物死亡时为自身恢复生命值。"
|
text = "击杀敌人时储能。"
|
||||||
|
|||||||
@@ -2,11 +2,10 @@
|
|||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bs863g2s8r770" path="res://components/Abstracts/PlayerBase.tscn" id="1_eeneu"]
|
[ext_resource type="PackedScene" uid="uid://bs863g2s8r770" path="res://components/Abstracts/PlayerBase.tscn" id="1_eeneu"]
|
||||||
[ext_resource type="Script" uid="uid://bevc4f6apql4t" path="res://scripts/Contents/Characters/HCN.gd" id="2_f7uj3"]
|
[ext_resource type="Script" uid="uid://bevc4f6apql4t" path="res://scripts/Contents/Characters/HCN.gd" id="2_f7uj3"]
|
||||||
[ext_resource type="PackedScene" uid="uid://wl8u5m52708w" path="res://components/Weapons/LGBT.tscn" id="3_2fpmn"]
|
[ext_resource type="PackedScene" uid="uid://yq7vmijwvgx1" path="res://components/Weapons/AcidWind.tscn" id="3_2fpmn"]
|
||||||
|
|
||||||
|
|
||||||
[node name="HCN" unique_id=1711205167 instance=ExtResource("1_eeneu")]
|
[node name="HCN" unique_id=1711205167 instance=ExtResource("1_eeneu")]
|
||||||
script = ExtResource("2_f7uj3")
|
script = ExtResource("2_f7uj3")
|
||||||
displayName = "氰化氢"
|
displayName = "氰化氢"
|
||||||
|
|
||||||
[node name="LGBT" parent="weaponStore" index="0" unique_id=1938660022 instance=ExtResource("3_2fpmn")]
|
[node name="AcidWind" parent="weaponStore" parent_id_path=PackedInt32Array(1319091445) index="0" unique_id=1599717188 instance=ExtResource("3_2fpmn")]
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
extends PlayerBase
|
extends PlayerBase
|
||||||
|
|
||||||
func summoned(entity: SummonBase):
|
func register():
|
||||||
entity.died.connect(func(): storeEnergy(10))
|
super.register()
|
||||||
|
killEnemy.connect(
|
||||||
|
func(_who, _by):
|
||||||
|
storeEnergy(1)
|
||||||
|
)
|
||||||
|
|||||||
@@ -3,6 +3,53 @@ extends Weapon
|
|||||||
|
|
||||||
var acids: Array[String] = ["AcidS", "AcidN", "AcidCl", "AcidP", "AcidC"]
|
var acids: Array[String] = ["AcidS", "AcidN", "AcidCl", "AcidP", "AcidC"]
|
||||||
|
|
||||||
|
func sublimateOptions() -> Array[SublimateOption]:
|
||||||
|
return [
|
||||||
|
SublimateOption.new(
|
||||||
|
"浓度提高",
|
||||||
|
"硫酸最大溅射数+1,弱酸伤害+0.03",
|
||||||
|
func(w: Weapon, _e):
|
||||||
|
w.addStoreExtra("s-count-max", 1)
|
||||||
|
w.addStoreExtra("weakatk", 0.03),
|
||||||
|
1,
|
||||||
|
CategoryStore.Quality.COMMON
|
||||||
|
),
|
||||||
|
SublimateOption.new(
|
||||||
|
"王水效应",
|
||||||
|
"硝酸额外伤害+10%,盐酸减速效果+0.02%",
|
||||||
|
func(w: Weapon, _e):
|
||||||
|
w.addStoreExtra("n-atk", 0.1)
|
||||||
|
w.addStoreExtra("cl-speed", 0.0002)
|
||||||
|
w.addStoreExtra("cl-atkspeed", 0.0002),
|
||||||
|
1,
|
||||||
|
CategoryStore.Quality.RARE
|
||||||
|
),
|
||||||
|
SublimateOption.new(
|
||||||
|
"脱钙反应",
|
||||||
|
"碳酸降伤比例+0.2%,磷酸散射角增加+0.02°",
|
||||||
|
func(w: Weapon, _e):
|
||||||
|
w.addStoreExtra("c-atk", 0.002)
|
||||||
|
w.addStoreExtra("p-offset", 0.02),
|
||||||
|
1,
|
||||||
|
CategoryStore.Quality.EPIC
|
||||||
|
),
|
||||||
|
SublimateOption.new(
|
||||||
|
"离心涡流",
|
||||||
|
"风暴吸引频率+1Hz",
|
||||||
|
func(w: Weapon, _e):
|
||||||
|
w.addStoreExtra("f", 1),
|
||||||
|
1,
|
||||||
|
CategoryStore.Quality.LEGENDARY
|
||||||
|
),
|
||||||
|
SublimateOption.new(
|
||||||
|
"强酸蚀骨",
|
||||||
|
"强酸基础伤害+0.05",
|
||||||
|
func(w: Weapon, _e):
|
||||||
|
w.addStoreExtra("atk", 0.05),
|
||||||
|
1,
|
||||||
|
CategoryStore.Quality.COMMON
|
||||||
|
),
|
||||||
|
]
|
||||||
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
||||||
origin["atk"] += 0.15 * to * soulLevel
|
origin["atk"] += 0.15 * to * soulLevel
|
||||||
origin["c-atk"] *= soulLevel
|
origin["c-atk"] *= soulLevel
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ signal hit(damage: float, bullet: BulletBase, crit: bool)
|
|||||||
signal healed(amount: float)
|
signal healed(amount: float)
|
||||||
signal healthChanged(health: float)
|
signal healthChanged(health: float)
|
||||||
signal died()
|
signal died()
|
||||||
|
signal killEnemy(who: EntityBase, by: BulletBase)
|
||||||
|
|
||||||
signal energyChanged(energy: float, dontChangeDirection: bool)
|
signal energyChanged(energy: float, dontChangeDirection: bool)
|
||||||
|
|
||||||
@@ -170,6 +171,7 @@ func _ready():
|
|||||||
)
|
)
|
||||||
healthChanged.emit(health)
|
healthChanged.emit(health)
|
||||||
energyChanged.emit(energy, false)
|
energyChanged.emit(energy, false)
|
||||||
|
killEnemy.connect(func(): return )
|
||||||
spawn()
|
spawn()
|
||||||
func _process(_delta):
|
func _process(_delta):
|
||||||
health = clamp(health, 0, fields.get(FieldStore.Entity.MAX_HEALTH))
|
health = clamp(health, 0, fields.get(FieldStore.Entity.MAX_HEALTH))
|
||||||
@@ -446,6 +448,8 @@ func tryDie(by: BulletBase = null):
|
|||||||
EffectController.create(ComponentManager.getEffect("DeadBlood"), texture.global_position).shot()
|
EffectController.create(ComponentManager.getEffect("DeadBlood"), texture.global_position).shot()
|
||||||
await die()
|
await die()
|
||||||
died.emit()
|
died.emit()
|
||||||
|
if is_instance_valid(by):
|
||||||
|
by.launcher.killEnemy.emit(self , by)
|
||||||
if isBoss:
|
if isBoss:
|
||||||
UIState.showTip("[b]%s[/b] 已被打败!" % displayName, TipBox.MessageType.CONGRATULATION)
|
UIState.showTip("[b]%s[/b] 已被打败!" % displayName, TipBox.MessageType.CONGRATULATION)
|
||||||
elif isPlayer():
|
elif isPlayer():
|
||||||
|
|||||||
Reference in New Issue
Block a user