Implement handler for AdventureModifyTeamPlayerSP

This commit is contained in:
Melledy
2023-10-03 21:39:33 -07:00
parent 2c7d2272df
commit 929710bc06
2 changed files with 12 additions and 3 deletions

View File

@@ -6,6 +6,7 @@ import emu.lunarcore.data.excel.AvatarExcel;
import emu.lunarcore.game.battle.skills.MazeSkill;
import emu.lunarcore.game.battle.skills.MazeSkillAction;
import emu.lunarcore.game.battle.skills.MazeSkillAddBuff;
import emu.lunarcore.game.battle.skills.MazeSkillModifySP;
import lombok.Getter;
/**
@@ -50,9 +51,13 @@ public class SkillAbilityInfo {
// "Simple" way to parse maze attacks/skills
private void parseTask(MazeSkill skill, List<MazeSkillAction> actionList, TaskInfo task) {
if (task.getType().contains("AddMazeBuff")) {
// TODO get duration from params if buff duration is dynamic
actionList.add(new MazeSkillAddBuff(task.getID(), 15));
} else if (task.getType().contains("RemoveMazeBuff")) {
actionList.removeIf(action -> action instanceof MazeSkillAddBuff actionAdd && actionAdd.getBuffId() == task.getID());
} else if (task.getType().contains("AdventureModifyTeamPlayerSP")) {
// TODO get sp increase value from params, also handle target alias
actionList.add(new MazeSkillModifySP(50));
} else if (task.getType().contains("CreateSummonUnit")) {
} else if (task.getSuccessTaskList() != null) {

View File

@@ -5,16 +5,20 @@ import emu.lunarcore.game.battle.Battle;
import emu.lunarcore.proto.MotionInfoOuterClass.MotionInfo;
public class MazeSkillModifySP extends MazeSkillAction {
private int amount;
public MazeSkillModifySP(int sp) {
this.amount = sp * 100;
}
@Override
public void onCast(GameAvatar caster, MotionInfo castPosition) {
// TODO Auto-generated method stub
caster.setCurrentSp(amount + caster.getCurrentSp());
// TODO Perhaps we should send a sync lineup packet here
}
@Override
public void onAttack(GameAvatar caster, Battle battle) {
// TODO Auto-generated method stub
}