Compare commits

..

No commits in common. "696ec96a5fafef2ec4cd38c58f25823b4f9a07b4" and "bc5df5e27bda18cc0ba2e82232fec8bd2cff2601" have entirely different histories.

3 changed files with 2 additions and 17 deletions

Binary file not shown.

View File

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

View File

@ -769,22 +769,7 @@ public final class MapleMap {
final int cashz = (mob.getStats().isBoss() && mob.getStats().getHPDisplayType() == 0) ? 20 : 1; 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)); final int cashModifier = (int) (mob.getStats().isBoss() ? 0L : ((long) (mob.getMobExp() / 1000) + mob.getMobMaxHp() / 10000L));
for (final MonsterGlobalDropEntry de3 : globalEntry) { for (final MonsterGlobalDropEntry de3 : globalEntry) {
double baseChance = de3.chance * chServerrate; 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 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) { if (droptype == 3) {
pos.x = mobpos + ((d % 2 == 0) ? (40 * (d + 1) / 2) : (-(40 * (d / 2)))); pos.x = mobpos + ((d % 2 == 0) ? (40 * (d + 1) / 2) : (-(40 * (d / 2))));
} else { } else {