Compare commits

...

3 Commits

Author SHA1 Message Date
雪风 696ec96a5f Merge branch 'master' of http://192.168.200.25:3000/Lenheart/MXD-Server 2025-06-04 22:12:00 +08:00
雪风 bcbfd2d9a7 全局 2025-06-04 15:00:12 +08:00
雪风 153d0fe5fa 1111 2025-06-04 13:44:45 +08:00
3 changed files with 17 additions and 2 deletions

BIN
src (2).zip Normal file

Binary file not shown.

View File

@ -293,7 +293,7 @@ public class PlayerStats implements Serializable {
public void recalcLocalStats() {
this.recalcLocalStats(false);
}
private final AtomicInteger dsbbh = new AtomicInteger(0); // 替代 int dsbbh
private static final AtomicInteger dsbbh = new AtomicInteger(0); // 替代 int dsbbh
public void recalcLocalStats(final boolean first_login) {
final MapleCharacter chra = (MapleCharacter) this.chr.get();
if (chra == null) {

View File

@ -769,7 +769,22 @@ public final class MapleMap {
final int cashz = (mob.getStats().isBoss() && mob.getStats().getHPDisplayType() == 0) ? 20 : 1;
final int cashModifier = (int) (mob.getStats().isBoss() ? 0L : ((long) (mob.getMobExp() / 1000) + mob.getMobMaxHp() / 10000L));
for (final MonsterGlobalDropEntry de3 : globalEntry) {
if (Randomizer.nextInt(999999) < (int) ((double) ((long) (de3.chance * chServerrate) * Math.round((double) chr.getDropMod() * chr.getStat().dropBuff / 100.0)) * (showdown / 100.0) / (double) ((Integer) Start.ConfigValuesMap.get("砍爆率")).intValue()) && (de3.continent < 0 || (de3.continent < 10 && this.mapid / 100000000 == de3.continent) || (de3.continent < 100 && this.mapid / 10000000 == de3.continent) || (de3.continent < 1000 && this.mapid / 1000000 == de3.continent))) {
double baseChance = de3.chance * chServerrate;
double dropModFactor = Math.round((double) chr.getDropMod() * chr.getStat().dropBuff / 100.0);
double showdownFactor = showdown / 100.0;
double configRate = ((Integer) Start.ConfigValuesMap.get("砍爆率")).intValue();
double finalChance = (baseChance * dropModFactor * showdownFactor) / configRate;
int chanceInt = (int) finalChance;
// boolean isGlobalDrop = de3.continent < 0;
// boolean isContinent1 = de3.continent < 10 && this.mapid / 100000000 == de3.continent;
// boolean isContinent4 = de3.continent < 10 && this.mapid / 100000000 == de3.continent;
// boolean isContinent2 = de3.continent < 100 && this.mapid / 10000000 == de3.continent;
// boolean isContinent3 = de3.continent < 1000 && this.mapid / 1000000 == de3.continent;
// boolean isValidMap = isGlobalDrop || isContinent1 || isContinent2 || isContinent3;
if (Randomizer.nextInt(999999) < chanceInt ){
if (droptype == 3) {
pos.x = mobpos + ((d % 2 == 0) ? (40 * (d + 1) / 2) : (-(40 * (d / 2))));
} else {