mirror of
https://github.com/Melledy/LunarCore.git
synced 2026-02-04 15:05:07 +01:00
Implement handler for AdventureModifyTeamPlayerSP
This commit is contained in:
@@ -6,6 +6,7 @@ import emu.lunarcore.data.excel.AvatarExcel;
|
|||||||
import emu.lunarcore.game.battle.skills.MazeSkill;
|
import emu.lunarcore.game.battle.skills.MazeSkill;
|
||||||
import emu.lunarcore.game.battle.skills.MazeSkillAction;
|
import emu.lunarcore.game.battle.skills.MazeSkillAction;
|
||||||
import emu.lunarcore.game.battle.skills.MazeSkillAddBuff;
|
import emu.lunarcore.game.battle.skills.MazeSkillAddBuff;
|
||||||
|
import emu.lunarcore.game.battle.skills.MazeSkillModifySP;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -50,9 +51,13 @@ public class SkillAbilityInfo {
|
|||||||
// "Simple" way to parse maze attacks/skills
|
// "Simple" way to parse maze attacks/skills
|
||||||
private void parseTask(MazeSkill skill, List<MazeSkillAction> actionList, TaskInfo task) {
|
private void parseTask(MazeSkill skill, List<MazeSkillAction> actionList, TaskInfo task) {
|
||||||
if (task.getType().contains("AddMazeBuff")) {
|
if (task.getType().contains("AddMazeBuff")) {
|
||||||
|
// TODO get duration from params if buff duration is dynamic
|
||||||
actionList.add(new MazeSkillAddBuff(task.getID(), 15));
|
actionList.add(new MazeSkillAddBuff(task.getID(), 15));
|
||||||
} else if (task.getType().contains("RemoveMazeBuff")) {
|
} else if (task.getType().contains("RemoveMazeBuff")) {
|
||||||
actionList.removeIf(action -> action instanceof MazeSkillAddBuff actionAdd && actionAdd.getBuffId() == task.getID());
|
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.getType().contains("CreateSummonUnit")) {
|
||||||
|
|
||||||
} else if (task.getSuccessTaskList() != null) {
|
} else if (task.getSuccessTaskList() != null) {
|
||||||
|
|||||||
@@ -5,16 +5,20 @@ import emu.lunarcore.game.battle.Battle;
|
|||||||
import emu.lunarcore.proto.MotionInfoOuterClass.MotionInfo;
|
import emu.lunarcore.proto.MotionInfoOuterClass.MotionInfo;
|
||||||
|
|
||||||
public class MazeSkillModifySP extends MazeSkillAction {
|
public class MazeSkillModifySP extends MazeSkillAction {
|
||||||
|
private int amount;
|
||||||
|
|
||||||
|
public MazeSkillModifySP(int sp) {
|
||||||
|
this.amount = sp * 100;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCast(GameAvatar caster, MotionInfo castPosition) {
|
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
|
@Override
|
||||||
public void onAttack(GameAvatar caster, Battle battle) {
|
public void onAttack(GameAvatar caster, Battle battle) {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user