Compare commits
3 Commits
bc5df5e27b
...
696ec96a5f
| Author | SHA1 | Date |
|---|---|---|
|
|
696ec96a5f | |
|
|
bcbfd2d9a7 | |
|
|
153d0fe5fa |
Binary file not shown.
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue