mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-13 05:44:36 +01:00
Seperate mp from LineupManager for extra lineups
This commit is contained in:
@@ -35,12 +35,16 @@ public class LineupManager {
|
||||
this.validate(player);
|
||||
}
|
||||
|
||||
public void addMp(int i) {
|
||||
protected void addMp(int i) {
|
||||
this.mp = Math.min(this.mp + i, GameConstants.MAX_MP);
|
||||
this.getPlayer().sendPacket(new PacketSyncLineupNotify(player.getCurrentLineup()));
|
||||
}
|
||||
|
||||
public void removeMp(int i) {
|
||||
protected void setMp(int i) {
|
||||
this.mp = i;
|
||||
}
|
||||
|
||||
protected void removeMp(int i) {
|
||||
this.mp = Math.max(this.mp - i, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ public class PlayerLineup {
|
||||
private transient Player owner;
|
||||
private transient int index;
|
||||
private transient int extraLineupType;
|
||||
private transient int mp;
|
||||
|
||||
private String name;
|
||||
private List<Integer> avatars;
|
||||
@@ -61,6 +62,39 @@ public class PlayerLineup {
|
||||
return getAvatars().size();
|
||||
}
|
||||
|
||||
public void addMp(int i) {
|
||||
if (this.getExtraLineupType() > 0) {
|
||||
this.mp = Math.min(this.mp + i, GameConstants.MAX_MP);
|
||||
this.getOwner().sendPacket(new PacketSyncLineupNotify(this.getOwner().getCurrentLineup()));
|
||||
} else {
|
||||
this.getOwner().getLineupManager().addMp(i);
|
||||
}
|
||||
}
|
||||
|
||||
public void setMp(int i) {
|
||||
if (this.getExtraLineupType() > 0) {
|
||||
this.mp = i;
|
||||
} else {
|
||||
this.getOwner().getLineupManager().setMp(i);
|
||||
}
|
||||
}
|
||||
|
||||
public void removeMp(int i) {
|
||||
if (this.getExtraLineupType() > 0) {
|
||||
this.mp = Math.max(this.mp - i, 0);
|
||||
} else {
|
||||
this.getOwner().getLineupManager().removeMp(i);
|
||||
}
|
||||
}
|
||||
|
||||
public int getMp() {
|
||||
if (this.getExtraLineupType() > 0) {
|
||||
return this.mp;
|
||||
} else {
|
||||
return this.getOwner().getLineupManager().getMp();
|
||||
}
|
||||
}
|
||||
|
||||
public void heal(int heal) {
|
||||
// Flag to set if at least one avatar in the team has been healed
|
||||
boolean hasHealed = false;
|
||||
@@ -88,7 +122,7 @@ public class PlayerLineup {
|
||||
.setIndex(index)
|
||||
.setName(this.getName())
|
||||
.setLeaderSlot(this.getOwner().getLineupManager().getCurrentLeader())
|
||||
.setMp(this.getOwner().getLineupManager().getMp())
|
||||
.setMp(this.getMp())
|
||||
.setMaxMp(GameConstants.MAX_MP)
|
||||
.setExtraLineupTypeValue(this.getExtraLineupType());
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ public class EntityProp implements GameEntity {
|
||||
@Override
|
||||
public void onRemove() {
|
||||
if (excel.isRecoverMp()) {
|
||||
scene.getPlayer().getLineupManager().addMp(2);
|
||||
scene.getPlayer().getCurrentLineup().addMp(2);
|
||||
} else if (excel.isRecoverHp()) {
|
||||
scene.getPlayer().getCurrentLineup().heal(2500);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ public class HandlerSceneCastSkillCsReq extends PacketHandler {
|
||||
// Check if player casted a maze skill
|
||||
if (req.getSkillIndex() > 0 && session.getPlayer().getScene().getAvatarEntityIds().contains(req.getAttackerId())) {
|
||||
// Spend one skill point
|
||||
session.getPlayer().getLineupManager().removeMp(1);
|
||||
session.getPlayer().getCurrentLineup().removeMp(1);
|
||||
session.send(new PacketSceneCastSkillMpUpdateScNotify(req.getAttackedGroupId(), session.getPlayer().getLineupManager().getMp()));
|
||||
// Cast skill effects
|
||||
GameAvatar caster = session.getPlayer().getLineupManager().getCurrentLeaderAvatar();
|
||||
|
||||
Reference in New Issue
Block a user