From d6c1b5bd0216cdd07ba959d6a049ae1899329f7f Mon Sep 17 00:00:00 2001 From: Yang Chun Ung Date: Thu, 16 May 2024 17:55:01 +0900 Subject: [PATCH] Add SKillId on ArenaSkill --- Lib9c/Model/BattleStatus/Arena/ArenaAreaAttack.cs | 3 ++- Lib9c/Model/BattleStatus/Arena/ArenaBlowAttack.cs | 3 ++- Lib9c/Model/BattleStatus/Arena/ArenaBuff.cs | 4 ++-- Lib9c/Model/BattleStatus/Arena/ArenaBuffRemovalAttack.cs | 3 ++- Lib9c/Model/BattleStatus/Arena/ArenaDoubleAttack.cs | 3 ++- Lib9c/Model/BattleStatus/Arena/ArenaDoubleAttackWithCombo.cs | 3 ++- Lib9c/Model/BattleStatus/Arena/ArenaHeal.cs | 3 ++- Lib9c/Model/BattleStatus/Arena/ArenaNormalAttack.cs | 3 ++- Lib9c/Model/BattleStatus/Arena/ArenaShatterStrike.cs | 3 ++- Lib9c/Model/BattleStatus/Arena/ArenaSkill.cs | 5 ++++- Lib9c/Model/BattleStatus/Arena/ArenaTick.cs | 5 +++-- Lib9c/Model/BattleStatus/Arena/ArenaTickDamage.cs | 4 ++-- Lib9c/Model/Buff/Bleed.cs | 1 + Lib9c/Model/Buff/Vampiric.cs | 1 + Lib9c/Model/Character/ArenaCharacter.cs | 1 + Lib9c/Model/Skill/Arena/ArenaAreaAttack.cs | 2 +- Lib9c/Model/Skill/Arena/ArenaBlowAttack.cs | 2 +- Lib9c/Model/Skill/Arena/ArenaBuffRemovalAttack.cs | 2 +- Lib9c/Model/Skill/Arena/ArenaBuffSkill.cs | 2 +- Lib9c/Model/Skill/Arena/ArenaDoubleAttack.cs | 4 ++-- Lib9c/Model/Skill/Arena/ArenaHealSkill.cs | 2 +- Lib9c/Model/Skill/Arena/ArenaNormalAttack.cs | 2 +- Lib9c/Model/Skill/Arena/ArenaShatterStrike.cs | 2 +- 23 files changed, 39 insertions(+), 24 deletions(-) diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaAreaAttack.cs b/Lib9c/Model/BattleStatus/Arena/ArenaAreaAttack.cs index d4c73c971a..ff9672cbdd 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaAreaAttack.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaAreaAttack.cs @@ -8,10 +8,11 @@ namespace Nekoyume.Model.BattleStatus.Arena public class ArenaAreaAttack : ArenaSkill { public ArenaAreaAttack( + int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) - : base(character, skillInfos, buffInfos) + : base(skillId, character, skillInfos, buffInfos) { } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaBlowAttack.cs b/Lib9c/Model/BattleStatus/Arena/ArenaBlowAttack.cs index 74494d343e..c8119d17a4 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaBlowAttack.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaBlowAttack.cs @@ -8,10 +8,11 @@ namespace Nekoyume.Model.BattleStatus.Arena public class ArenaBlowAttack : ArenaSkill { public ArenaBlowAttack( + int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) - : base(character, skillInfos, buffInfos) + : base(skillId, character, skillInfos, buffInfos) { } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaBuff.cs b/Lib9c/Model/BattleStatus/Arena/ArenaBuff.cs index 8df33df82c..56c343c677 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaBuff.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaBuff.cs @@ -7,8 +7,8 @@ namespace Nekoyume.Model.BattleStatus.Arena [Serializable] public class ArenaBuff : ArenaSkill { - public ArenaBuff(ArenaCharacter character, IEnumerable skillInfos) - : base(character, skillInfos, null) + public ArenaBuff(int skillId, ArenaCharacter character, IEnumerable skillInfos) + : base(skillId, character, skillInfos, null) { } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaBuffRemovalAttack.cs b/Lib9c/Model/BattleStatus/Arena/ArenaBuffRemovalAttack.cs index fd268c0575..78bdc26ec2 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaBuffRemovalAttack.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaBuffRemovalAttack.cs @@ -8,10 +8,11 @@ namespace Nekoyume.Model.BattleStatus.Arena public class ArenaBuffRemovalAttack : ArenaSkill { public ArenaBuffRemovalAttack( + int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) - : base(character, skillInfos, buffInfos) + : base(skillId, character, skillInfos, buffInfos) { } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaDoubleAttack.cs b/Lib9c/Model/BattleStatus/Arena/ArenaDoubleAttack.cs index c2981308cb..9bb246a21c 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaDoubleAttack.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaDoubleAttack.cs @@ -8,10 +8,11 @@ namespace Nekoyume.Model.BattleStatus.Arena public class ArenaDoubleAttack : ArenaSkill { public ArenaDoubleAttack( + int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) - : base(character, skillInfos, buffInfos) + : base(skillId, character, skillInfos, buffInfos) { } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaDoubleAttackWithCombo.cs b/Lib9c/Model/BattleStatus/Arena/ArenaDoubleAttackWithCombo.cs index eff8febae6..dc5c97b865 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaDoubleAttackWithCombo.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaDoubleAttackWithCombo.cs @@ -8,10 +8,11 @@ namespace Nekoyume.Model.BattleStatus.Arena public class ArenaDoubleAttackWithCombo : ArenaSkill { public ArenaDoubleAttackWithCombo( + int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) - : base(character, skillInfos, buffInfos) + : base(skillId, character, skillInfos, buffInfos) { } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaHeal.cs b/Lib9c/Model/BattleStatus/Arena/ArenaHeal.cs index d754e3b56f..86e83d6088 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaHeal.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaHeal.cs @@ -8,10 +8,11 @@ namespace Nekoyume.Model.BattleStatus.Arena public class ArenaHeal : ArenaSkill { public ArenaHeal( + int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) - : base(character, skillInfos, buffInfos) + : base(skillId, character, skillInfos, buffInfos) { } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaNormalAttack.cs b/Lib9c/Model/BattleStatus/Arena/ArenaNormalAttack.cs index 93aaf6d250..0aafdcc7db 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaNormalAttack.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaNormalAttack.cs @@ -8,10 +8,11 @@ namespace Nekoyume.Model.BattleStatus.Arena public class ArenaNormalAttack : ArenaSkill { public ArenaNormalAttack( + int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) - : base(character, skillInfos, buffInfos) + : base(skillId, character, skillInfos, buffInfos) { } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaShatterStrike.cs b/Lib9c/Model/BattleStatus/Arena/ArenaShatterStrike.cs index 5ee0189c58..c4de0fd76c 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaShatterStrike.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaShatterStrike.cs @@ -8,10 +8,11 @@ namespace Nekoyume.Model.BattleStatus.Arena public class ArenaShatterStrike : ArenaSkill { public ArenaShatterStrike( + int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos - ) : base(character, skillInfos, buffInfos) + ) : base(skillId, character, skillInfos, buffInfos) { } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaSkill.cs b/Lib9c/Model/BattleStatus/Arena/ArenaSkill.cs index 5c0d59a94b..d285751b12 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaSkill.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaSkill.cs @@ -47,17 +47,20 @@ public ArenaSkillInfo(ArenaCharacter character, long effect, bool critical, Skil } } - public readonly IEnumerable SkillInfos; + public readonly int SkillId; + public readonly IEnumerable SkillInfos; public readonly IEnumerable? BuffInfos; protected ArenaSkill( + int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) : base(character) { + SkillId = skillId; SkillInfos = skillInfos; BuffInfos = buffInfos; } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaTick.cs b/Lib9c/Model/BattleStatus/Arena/ArenaTick.cs index 980a806f4f..1e9f8e823b 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaTick.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaTick.cs @@ -8,14 +8,15 @@ namespace Nekoyume.Model.BattleStatus.Arena public class ArenaTick : ArenaSkill { public ArenaTick(ArenaCharacter character) : this( + 0, character, ArraySegment.Empty, ArraySegment.Empty) { } - public ArenaTick(ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) - : base(character, skillInfos, buffInfos) + public ArenaTick(int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) + : base(skillId, character, skillInfos, buffInfos) { } diff --git a/Lib9c/Model/BattleStatus/Arena/ArenaTickDamage.cs b/Lib9c/Model/BattleStatus/Arena/ArenaTickDamage.cs index 876dbf5068..199d6d83aa 100644 --- a/Lib9c/Model/BattleStatus/Arena/ArenaTickDamage.cs +++ b/Lib9c/Model/BattleStatus/Arena/ArenaTickDamage.cs @@ -7,8 +7,8 @@ namespace Nekoyume.Model.BattleStatus.Arena [Serializable] public class ArenaTickDamage : ArenaSkill { - public ArenaTickDamage(ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) - : base(character, skillInfos, buffInfos) + public ArenaTickDamage(int skillId, ArenaCharacter character, IEnumerable skillInfos, IEnumerable buffInfos) + : base(skillId, character, skillInfos, buffInfos) { } diff --git a/Lib9c/Model/Buff/Bleed.cs b/Lib9c/Model/Buff/Bleed.cs index c5ec159068..16c9228ae1 100644 --- a/Lib9c/Model/Buff/Bleed.cs +++ b/Lib9c/Model/Buff/Bleed.cs @@ -70,6 +70,7 @@ public ArenaSkill GiveEffectForArena( }; return new ArenaTickDamage( + RowData.Id, clone, damageInfos, null); diff --git a/Lib9c/Model/Buff/Vampiric.cs b/Lib9c/Model/Buff/Vampiric.cs index 3b8a202ee7..d9f1ca2a94 100644 --- a/Lib9c/Model/Buff/Vampiric.cs +++ b/Lib9c/Model/Buff/Vampiric.cs @@ -73,6 +73,7 @@ public ArenaSkill GiveEffectForArena(ArenaCharacter affectedCharacter, ArenaSkil RowData.TargetType) }; return new ArenaTick( + RowData.Id, clone, infos, null); diff --git a/Lib9c/Model/Character/ArenaCharacter.cs b/Lib9c/Model/Character/ArenaCharacter.cs index 6cda9bb48b..f415fb6853 100644 --- a/Lib9c/Model/Character/ArenaCharacter.cs +++ b/Lib9c/Model/Character/ArenaCharacter.cs @@ -665,6 +665,7 @@ private ArenaSkill GiveThornDamage(long targetThorn) }; var tickDamage = new ArenaTickDamage( + default, clone, damageInfos, null); diff --git a/Lib9c/Model/Skill/Arena/ArenaAreaAttack.cs b/Lib9c/Model/Skill/Arena/ArenaAreaAttack.cs index c2d57cd052..3dab48f16b 100644 --- a/Lib9c/Model/Skill/Arena/ArenaAreaAttack.cs +++ b/Lib9c/Model/Skill/Arena/ArenaAreaAttack.cs @@ -27,7 +27,7 @@ public override BattleStatus.Arena.ArenaSkill Use( var damage = ProcessDamage(caster, target, turn); var buff = ProcessBuff(caster, target, turn, buffs); - return new BattleStatus.Arena.ArenaAreaAttack(clone, damage, buff); + return new BattleStatus.Arena.ArenaAreaAttack(SkillRow.Id, clone, damage, buff); } } } diff --git a/Lib9c/Model/Skill/Arena/ArenaBlowAttack.cs b/Lib9c/Model/Skill/Arena/ArenaBlowAttack.cs index 3189f56157..72c6148e95 100644 --- a/Lib9c/Model/Skill/Arena/ArenaBlowAttack.cs +++ b/Lib9c/Model/Skill/Arena/ArenaBlowAttack.cs @@ -27,7 +27,7 @@ public override BattleStatus.Arena.ArenaSkill Use( var damage = ProcessDamage(caster, target, turn); var buff = ProcessBuff(caster, target, turn, buffs); - return new BattleStatus.Arena.ArenaBlowAttack(clone, damage, buff); + return new BattleStatus.Arena.ArenaBlowAttack(SkillRow.Id, clone, damage, buff); } } } diff --git a/Lib9c/Model/Skill/Arena/ArenaBuffRemovalAttack.cs b/Lib9c/Model/Skill/Arena/ArenaBuffRemovalAttack.cs index cb2641d958..3e8256da10 100644 --- a/Lib9c/Model/Skill/Arena/ArenaBuffRemovalAttack.cs +++ b/Lib9c/Model/Skill/Arena/ArenaBuffRemovalAttack.cs @@ -28,7 +28,7 @@ public override BattleStatus.Arena.ArenaSkill Use( var buff = ProcessBuff(caster, target, turn, buffs); target.RemoveRecentStatBuff(); - return new BattleStatus.Arena.ArenaBuffRemovalAttack(clone, damage, buff); + return new BattleStatus.Arena.ArenaBuffRemovalAttack(SkillRow.Id, clone, damage, buff); } } } diff --git a/Lib9c/Model/Skill/Arena/ArenaBuffSkill.cs b/Lib9c/Model/Skill/Arena/ArenaBuffSkill.cs index 5512fe9930..4ee1ae6c65 100644 --- a/Lib9c/Model/Skill/Arena/ArenaBuffSkill.cs +++ b/Lib9c/Model/Skill/Arena/ArenaBuffSkill.cs @@ -26,7 +26,7 @@ public override BattleStatus.Arena.ArenaSkill Use( var clone = (ArenaCharacter)caster.Clone(); var buff = ProcessBuff(caster, target, turn, buffs); - return new BattleStatus.Arena.ArenaBuff(clone, buff); + return new BattleStatus.Arena.ArenaBuff(SkillRow.Id, clone, buff); } } } diff --git a/Lib9c/Model/Skill/Arena/ArenaDoubleAttack.cs b/Lib9c/Model/Skill/Arena/ArenaDoubleAttack.cs index 7f884a83b5..a449dbf67c 100644 --- a/Lib9c/Model/Skill/Arena/ArenaDoubleAttack.cs +++ b/Lib9c/Model/Skill/Arena/ArenaDoubleAttack.cs @@ -30,11 +30,11 @@ public override BattleStatus.Arena.ArenaSkill Use( if (SkillRow.Combo) { - return new BattleStatus.Arena.ArenaDoubleAttackWithCombo(clone, damage, buff); + return new BattleStatus.Arena.ArenaDoubleAttackWithCombo(SkillRow.Id, clone, damage, buff); } else { - return new BattleStatus.Arena.ArenaDoubleAttack(clone, damage, buff); + return new BattleStatus.Arena.ArenaDoubleAttack(SkillRow.Id, clone, damage, buff); } } } diff --git a/Lib9c/Model/Skill/Arena/ArenaHealSkill.cs b/Lib9c/Model/Skill/Arena/ArenaHealSkill.cs index fdb4aedca1..bd06c1c5ff 100644 --- a/Lib9c/Model/Skill/Arena/ArenaHealSkill.cs +++ b/Lib9c/Model/Skill/Arena/ArenaHealSkill.cs @@ -27,7 +27,7 @@ public override BattleStatus.Arena.ArenaSkill Use( var heal = ProcessHeal(caster, turn); var buff = ProcessBuff(caster, target, turn, buffs); - return new BattleStatus.Arena.ArenaHeal(clone, heal, buff); + return new BattleStatus.Arena.ArenaHeal(SkillRow.Id, clone, heal, buff); } private IEnumerable ProcessHeal( diff --git a/Lib9c/Model/Skill/Arena/ArenaNormalAttack.cs b/Lib9c/Model/Skill/Arena/ArenaNormalAttack.cs index 1d80931c66..ea6ec35be1 100644 --- a/Lib9c/Model/Skill/Arena/ArenaNormalAttack.cs +++ b/Lib9c/Model/Skill/Arena/ArenaNormalAttack.cs @@ -27,7 +27,7 @@ public override BattleStatus.Arena.ArenaSkill Use( var damage = ProcessDamage(caster, target, turn, true); var buff = ProcessBuff(caster, target, turn, buffs); - return new BattleStatus.Arena.ArenaNormalAttack(clone, damage, buff); + return new BattleStatus.Arena.ArenaNormalAttack(SkillRow.Id, clone, damage, buff); } } } diff --git a/Lib9c/Model/Skill/Arena/ArenaShatterStrike.cs b/Lib9c/Model/Skill/Arena/ArenaShatterStrike.cs index cab04595c0..a2c13e6afc 100644 --- a/Lib9c/Model/Skill/Arena/ArenaShatterStrike.cs +++ b/Lib9c/Model/Skill/Arena/ArenaShatterStrike.cs @@ -18,7 +18,7 @@ public override BattleStatus.Arena.ArenaSkill Use(ArenaCharacter caster, ArenaCh var damage = ProcessDamage(caster, target, turn); var buff = ProcessBuff(caster, target, turn, buffs); - return new BattleStatus.Arena.ArenaShatterStrike(clone, damage, buff); + return new BattleStatus.Arena.ArenaShatterStrike(SkillRow.Id, clone, damage, buff); } } }