Skip to content

Commit

Permalink
Add viper skill handlers
Browse files Browse the repository at this point in the history
  • Loading branch information
Kaioru committed Oct 12, 2023
1 parent 76ff56c commit a48e5be
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using Edelstein.Common.Gameplay.Constants;
using Edelstein.Protocol.Gameplay.Game.Combat;
using Edelstein.Protocol.Gameplay.Game.Objects.User;
using Edelstein.Protocol.Gameplay.Models.Characters.Stats;

namespace Edelstein.Common.Gameplay.Game.Combat.Skills.Normal;

public class PirateViper2SkillHandler : Pirate1SkillHandler
{
public override int ID => Job.Infighter;

public override Task HandleSkillUse(ISkillContext context, IFieldUser user)
{
switch (context.Skill?.ID)
{
case Skill.InfighterKnuckleBooster:
context.AddTemporaryStat(TemporaryStatType.Booster, context.SkillLevel!.X);
break;
case Skill.InfighterOakCask:
context.AddTemporaryStat(TemporaryStatType.Morph, context.SkillLevel!.Morph);
break;
}

return base.HandleSkillUse(context, user);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using Edelstein.Common.Gameplay.Constants;
using Edelstein.Protocol.Gameplay.Game.Combat;
using Edelstein.Protocol.Gameplay.Game.Objects.User;
using Edelstein.Protocol.Gameplay.Models.Characters.Stats;

namespace Edelstein.Common.Gameplay.Game.Combat.Skills.Normal;

public class PirateViper3SkillHandler : PirateViper2SkillHandler
{
public override int ID => Job.Buccaneer;

public override Task HandleSkillUse(ISkillContext context, IFieldUser user)
{
switch (context.Skill?.ID)
{
case Skill.BuccaneerTransform:
context.AddTemporaryStat(TemporaryStatType.Morph, context.SkillLevel!.Morph);
break;
}

return base.HandleSkillUse(context, user);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using Edelstein.Common.Gameplay.Constants;
using Edelstein.Protocol.Gameplay.Game.Combat;
using Edelstein.Protocol.Gameplay.Game.Objects.User;
using Edelstein.Protocol.Gameplay.Models.Characters.Stats;

namespace Edelstein.Common.Gameplay.Game.Combat.Skills.Normal;

public class PirateViper4SkillHandler : PirateViper3SkillHandler
{
public override int ID => Job.Viper;

public override Task HandleSkillUse(ISkillContext context, IFieldUser user)
{
switch (context.Skill?.ID)
{
case Skill.ViperSuperTransform:
context.AddTemporaryStat(TemporaryStatType.Morph, context.SkillLevel!.Morph);
break;
case Skill.ViperWindBooster:
context.SetTwoStatePartyBooster(context.SkillLevel!.X);
break;
}

return base.HandleSkillUse(context, user);
}
}

0 comments on commit a48e5be

Please sign in to comment.