Slot Max & Wind Walk fix + reviewed scripted portals

Fixed slotMax function caching up dirtied player data.
Fixed many portals not supposed to warp players to "random spawnpoints".
Fixed Wind Walk not being cancellable by attacking.
This commit is contained in:
ronancpl
2017-11-03 17:06:48 -02:00
parent 64af2cfa00
commit 1fead59c57
145 changed files with 3139 additions and 2726 deletions

View File

@@ -21,6 +21,7 @@
*/
package net.server.channel.handlers;
import client.MapleBuffStat;
import client.MapleClient;
import client.SkillFactory;
import constants.skills.Bishop;
@@ -31,6 +32,7 @@ import constants.skills.FPArchMage;
import constants.skills.ILArchMage;
import constants.skills.Marksman;
import constants.skills.WindArcher;
import constants.skills.NightWalker;
import net.AbstractMaplePacketHandler;
import net.MaplePacketHandler;
import tools.MaplePacketCreator;
@@ -43,6 +45,11 @@ public final class CancelBuffHandler extends AbstractMaplePacketHandler implemen
int sourceid = slea.readInt();
switch (sourceid) {
case NightWalker.DARK_SIGHT: // wind walk as a dark sight...
c.getPlayer().cancelEffect(SkillFactory.getSkill(NightWalker.DARK_SIGHT).getEffect(1), false, -1);
c.getPlayer().cancelEffect(SkillFactory.getSkill(WindArcher.WIND_WALK).getEffect(1), false, -1);
break;
case FPArchMage.BIG_BANG:
case ILArchMage.BIG_BANG:
case Bishop.BIG_BANG:
@@ -54,6 +61,7 @@ public final class CancelBuffHandler extends AbstractMaplePacketHandler implemen
case Evan.ICE_BREATH:
c.getPlayer().getMap().broadcastMessage(c.getPlayer(), MaplePacketCreator.skillCancel(c.getPlayer(), sourceid), false);
break;
default:
c.getPlayer().cancelEffect(SkillFactory.getSkill(sourceid).getEffect(1), false, -1);
break;

View File

@@ -26,7 +26,6 @@ import java.util.Iterator;
import java.util.List;
import server.MapleStatEffect;
import server.TimerManager;
import tools.MaplePacketCreator;
import tools.Pair;
import tools.data.input.SeekableLittleEndianAccessor;
@@ -53,11 +52,12 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler {
MapleCharacter player = c.getPlayer();
player.setPetLootCd(System.currentTimeMillis());
/*long timeElapsed = System.currentTimeMillis() - player.getAutobanManager().getLastSpam(8);
if(timeElapsed < 300) {
AutobanFactory.FAST_ATTACK.alert(player, "Time: " + timeElapsed);
}
player.getAutobanManager().spam(8);*/
/*long timeElapsed = System.currentTimeMillis() - player.getAutobanManager().getLastSpam(8);
if(timeElapsed < 300) {
AutobanFactory.FAST_ATTACK.alert(player, "Time: " + timeElapsed);
}
player.getAutobanManager().spam(8);*/
AttackInfo attack = parseDamage(slea, player, false, false);
if (player.getBuffEffect(MapleBuffStat.MORPH) != null) {
if(player.getBuffEffect(MapleBuffStat.MORPH).isMorphWithoutAttack()) {