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