diff --git a/components/CharacterCards/HCN.tscn b/components/CharacterCards/HCN.tscn index fad8862..bc3d7c8 100644 --- a/components/CharacterCards/HCN.tscn +++ b/components/CharacterCards/HCN.tscn @@ -20,9 +20,9 @@ theme_override_styles/panel = SubResource("StyleBoxFlat_1yfsg") displayName = "氰化氢" slogan = "微量便可颠覆生机" avatar = ExtResource("2_1yfsg") -description = "击杀敌人时储能。" +description = "击杀敌人时少量储能。" fields = Array[int]([18, 10, 1]) -fieldValues = Array[float]([3.0, 0.15, -0.15]) +fieldValues = Array[float]([4.0, 0.2, -0.2]) [node name="avatarTexture" parent="wrapper" parent_id_path=PackedInt32Array(2023039659) index="0" unique_id=1334645594] texture = ExtResource("2_1yfsg") @@ -34,4 +34,4 @@ text = "氰化氢" text = "“微量便可颠覆生机”" [node name="descriptionLabel" parent="wrapper/infoContainer" parent_id_path=PackedInt32Array(143242635) index="1" unique_id=808054282] -text = "击杀敌人时储能。" +text = "击杀敌人时少量储能。" diff --git a/components/CharacterCards/Lynx.tscn b/components/CharacterCards/Lynx.tscn index 6be7c00..492f1eb 100644 --- a/components/CharacterCards/Lynx.tscn +++ b/components/CharacterCards/Lynx.tscn @@ -22,7 +22,7 @@ slogan = "栖于寒域密林,孤影独行世间" avatar = ExtResource("2_1s675") description = "拥有更大的冲刺速度。" fields = Array[int]([3, 4, 10]) -fieldValues = Array[float]([0.15, 0.04, -0.3]) +fieldValues = Array[float]([0.2, 0.04, -0.3]) clickToRebuild = true [node name="avatarTexture" parent="wrapper" parent_id_path=PackedInt32Array(2023039659) index="0" unique_id=1334645594] diff --git a/components/CharacterCards/MuyangDog.tscn b/components/CharacterCards/MuyangDog.tscn index ee9a7e2..f352d74 100644 --- a/components/CharacterCards/MuyangDog.tscn +++ b/components/CharacterCards/MuyangDog.tscn @@ -19,9 +19,10 @@ theme_override_styles/panel = SubResource("StyleBoxFlat_fi2nw") displayName = "牧羊犬" slogan = "恪守使命不离不弃" avatar = ExtResource("2_fi2nw") -description = "每隔3秒发动格挡。" +description = "造成伤害时少量吸血, +每秒最多触发一次。" fields = Array[int]([0, 8, 3]) -fieldValues = Array[float]([100.0, 0.2, -0.45]) +fieldValues = Array[float]([35.0, 0.2, -0.5]) clickToRebuild = true [node name="avatarTexture" parent="wrapper" parent_id_path=PackedInt32Array(2023039659) index="0" unique_id=1334645594] @@ -34,4 +35,5 @@ text = "牧羊犬" text = "“恪守使命不离不弃”" [node name="descriptionLabel" parent="wrapper/infoContainer" parent_id_path=PackedInt32Array(143242635) index="1" unique_id=808054282] -text = "每隔3秒发动格挡。" +text = "造成伤害时少量吸血, +每秒最多触发一次。" diff --git a/scripts/Contents/Characters/Lynx.gd b/scripts/Contents/Characters/Lynx.gd index eda0930..8fa96f9 100644 --- a/scripts/Contents/Characters/Lynx.gd +++ b/scripts/Contents/Characters/Lynx.gd @@ -2,4 +2,4 @@ extends PlayerBase func register(): super.register() - sprintMultiplier += 3 + sprintMultiplier += 2 diff --git a/scripts/Contents/Characters/MuyangDog.gd b/scripts/Contents/Characters/MuyangDog.gd index aa72eb7..35a16bb 100644 --- a/scripts/Contents/Characters/MuyangDog.gd +++ b/scripts/Contents/Characters/MuyangDog.gd @@ -1,12 +1,11 @@ extends PlayerBase -var parryCounter: CooldownTimer = CooldownTimer.new(3000) +var healCounter = CooldownTimer.new(1000) -func ai(): - super.ai() - if parryCounter.isCooldowned(): - var track = getTrackingAnchor() - var bullet = BulletTool.findClosetBulletCanDamage(track, get_tree(), self , 300) - if is_instance_valid(bullet): - BulletBase.generate(ComponentManager.getBullet("Parrier"), self , track, track.angle_to_point(bullet.position)) - parryCounter.start() +func register(): + super.register() + madeDamage.connect( + func(_w, _b): + if healCounter.start(): + heal(1) + ) diff --git a/scripts/Statemachine/EntityBase.gd b/scripts/Statemachine/EntityBase.gd index b9eeb51..713f595 100644 --- a/scripts/Statemachine/EntityBase.gd +++ b/scripts/Statemachine/EntityBase.gd @@ -6,6 +6,7 @@ signal healed(amount: float) signal healthChanged(health: float) signal died() signal killEnemy(who: EntityBase, by: BulletBase) +signal madeDamage(who: EntityBase, by: BulletBase) signal energyChanged(energy: float, dontChangeDirection: bool) @@ -172,6 +173,7 @@ func _ready(): healthChanged.emit(health) energyChanged.emit(energy, false) killEnemy.connect(func(_w, _b): return ) + madeDamage.connect(func(_w, _b): return ) spawn() func _process(_delta): health = clamp(health, 0, fields.get(FieldStore.Entity.MAX_HEALTH)) @@ -304,6 +306,7 @@ func bulletHit(bullet: BulletBase, crit: bool, damageOverride = "none"): hit.emit(damage, bullet, crit) health -= damage healthChanged.emit(health) + bullet.launcher.madeDamage.emit(self , bullet) DamageLabel.create(damage, crit || perfectMiss, damageAnchor.global_position + MathTool.sampleInCircle(GameRule.damageLabelSpawnOffset)) if isBoss and bullet.launcher.isPlayer(): bullet.launcher.setBoss(self )