From b94954ac49b4bf3c7d7d5e07c70887badb18a535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=AA=E9=A3=8E?= <1213457484@qq.com> Date: Sun, 16 Mar 2025 20:42:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=98=E5=8A=9B=E5=8D=95=E4=BD=8D=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client/MapleCharacter.java | 2 ++ src/server/life/MapleMonster.java | 14 +++++++---- src/tools/MaplePacketCreator.java | 39 ++++++++++++++++++++++++++----- 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/src/client/MapleCharacter.java b/src/client/MapleCharacter.java index 2e5af3c..84a16f6 100644 --- a/src/client/MapleCharacter.java +++ b/src/client/MapleCharacter.java @@ -4035,6 +4035,8 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject implements Se statup.put(MapleStat.EXP, exp); statup.put(MapleStat.LEVEL, (long) level); this.client.sendPacket(MaplePacketCreator.updatePlayerStats(statup, this)); + + c.getSession().write(MaplePacketCreator.fuckGuildInfo(c.getPlayer())); } public void levelUp() { if (this.getLevel() >= this.maxLevel) { diff --git a/src/server/life/MapleMonster.java b/src/server/life/MapleMonster.java index a12ae56..8365d7b 100644 --- a/src/server/life/MapleMonster.java +++ b/src/server/life/MapleMonster.java @@ -68,7 +68,7 @@ public class MapleMonster extends AbstractLoadedMapleLife { private long hp; private BigInteger bigIntHp; - private int bs = 1; + private BigInteger bs = BigInteger.ONE; private BigInteger hpmax ; private long nextKill; @@ -205,9 +205,13 @@ public class MapleMonster extends AbstractLoadedMapleLife { this.hpmax = this.bigIntHp; if (i1 > 0) { - int i = bigIntHpstr.length() - 18; - bs = (int) Math.pow(10, i - 1); - BigInteger divide = bigIntHp.divide(BigInteger.valueOf(bs)); + int i2 = bigIntHpstr.length() - 18; + String bss = "1"; + for (int i = 0; i < i2; i++) { + bss += "0"; + } + this.bs =new BigInteger(bss); + BigInteger divide = bigIntHp.divide(this.bs); hp = divide.longValue(); }else { setHp(Long.parseLong(bigIntHpstr)); @@ -316,7 +320,7 @@ public class MapleMonster extends AbstractLoadedMapleLife { bigIntHp = bigIntHp.subtract(damage); } - BigInteger divide = damage.divide(BigInteger.valueOf(bs)); + BigInteger divide = damage.divide(bs); int i1 = divide.compareTo(new BigInteger("9223372036854775807")); if (i1 > 0){ divide =new BigInteger("9223372036854775806"); diff --git a/src/tools/MaplePacketCreator.java b/src/tools/MaplePacketCreator.java index 8beaa9a..9de5e38 100644 --- a/src/tools/MaplePacketCreator.java +++ b/src/tools/MaplePacketCreator.java @@ -898,19 +898,33 @@ public class MaplePacketCreator { xl = "[☆超级王者☆]"; else if (chr.getCombat() > 1100000) xl = "[☆宇宙王者☆]"; + + + String name=""; + if (Start.zlkg == 1) { + int 转生次数 = chr.getAccountidLogByCid("飞升"); + int cs = 转生次数; + name = "转生次数" + cs + "层"; + for (ZLConfig zlConfig : Start.zlConfigs) { + if (zlConfig.getNum() <= 转生次数) { + name = zlConfig.getName() + (转生次数 - zlConfig.getNum()) + zlConfig.getName2(); + } + } + } + if (chr.getGuildId() <= 0) { - mplew.writeMapleAsciiString("战力:" + chr.getCombat()); + mplew.writeMapleAsciiString("战力:" + chr.getCombat() +name); mplew.writeZeroBytes(6); } else { final MapleGuild gs = Guild.getGuild(chr.getGuildId()); if (gs != null) { - mplew.writeMapleAsciiString("[" + gs.getName() + "] - 战力:" + chr.getCombat()); + mplew.writeMapleAsciiString("[" + gs.getName() + "] - 战力:" + chr.getCombat()+name); mplew.writeShort(gs.getLogoBG()); mplew.write(gs.getLogoBGColor()); mplew.writeShort(gs.getLogo()); mplew.write(gs.getLogoColor()); } else { - mplew.writeMapleAsciiString(" 战力:" + chr.getCombat()); + mplew.writeMapleAsciiString("战力:" + chr.getCombat()+" "+name); mplew.writeZeroBytes(6); } } @@ -2947,13 +2961,26 @@ public class MaplePacketCreator { xl = "[☆超级王者☆]"; else if (c.getCombat() > 1100000) xl = "[☆宇宙王者☆]"; + String name=""; + if (Start.zlkg == 1) { + int 转生次数 = c.getAccountidLogByCid("飞升"); + int cs = 转生次数; + name = "转生次数" + cs + "层"; + for (ZLConfig zlConfig : Start.zlConfigs) { + if (zlConfig.getNum() <= 转生次数) { + name = zlConfig.getName() + (转生次数 - zlConfig.getNum()) + zlConfig.getName2(); + } + } + } + if (c != null) { - mplew.writeMapleAsciiString("[" + guild.getName() + "] - 战力:" + c.getCombat()); + + mplew.writeMapleAsciiString("[" + guild.getName() + "] - 战力:" + c.getCombat()+name); } else { - mplew.writeMapleAsciiString("[" + guild.getName() + "] - 战力:" + c.getCombat()); + mplew.writeMapleAsciiString("[" + guild.getName() + "] - 战力:" + c.getCombat() + name); } for (int i = 1; i <= 5; ++i) { - mplew.writeMapleAsciiString(guild.getRankTitle(i)); + mplew.writeMapleAsciiString("战力:" + c.getCombat()+" "+name); } guild.addMemberData(mplew); mplew.writeInt(guild.getCapacity());