How do you disable a skill from having any effect on a monster, eg. dragon roar and genesis.
Printable View
How do you disable a skill from having any effect on a monster, eg. dragon roar and genesis.
I guess you could go to the attack method and check for certain mob ids. If the mob you're hitting and that particular mob and skill (if its a parameter..) is used you can simply return.
Gimme the entire method.
Nup not working at all.
Magic Damage Handler
Code:package net.sf.odinms.net.channel.handler;
import java.util.List;
import net.sf.odinms.client.ISkill;
import net.sf.odinms.client.MapleCharacter;
import net.sf.odinms.client.MapleClient;
import net.sf.odinms.client.SkillFactory;
import net.sf.odinms.net.MaplePacket;
import net.sf.odinms.server.MapleStatEffect;
import net.sf.odinms.tools.MaplePacketCreator;
import net.sf.odinms.tools.Pair;
import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
public class MagicDamageHandler extends AbstractDealDamageHandler {
@Override
public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
AttackInfo attack = parseDamage(slea, false);
MapleCharacter player = c.getPlayer();
MaplePacket packet = MaplePacketCreator.magicAttack(player.getId(), attack.skill, attack.stance,
attack.numAttackedAndDamage, attack.allDamage, attack.charge);
player.getMap().broadcastMessage(player, packet, false, true);
// MaplePacket packet = MaplePacketCreator.magicAttack(30000, attack.skill, attack.stance,
// attack.numAttackedAndDamage, attack.allDamage);
// c.getPlayer().getMap().broadcastMessage(null, packet);
MapleStatEffect effect = attack.getAttackEffect(c.getPlayer());
int maxdamage;
maxdamage = 40000;
//if (player.getReborns() > 0) {
// maxdamage *= ((player.getReborns() / 5) + 1);
//}
applyAttack(attack, player, maxdamage, effect.getAttackCount());
// MP Eater
for (int i = 1; i <= 3; i++) {
ISkill eaterSkill = SkillFactory.getSkill(2000000 + i * 100000);
int eaterLevel = player.getSkillLevel(eaterSkill);
if (eaterLevel > 0) {
for (Pair<Integer, List<Integer>> singleDamage : attack.allDamage) {
eaterSkill.getEffect(eaterLevel).applyPassive(player, player.getMap().getMapObject(singleDamage.getLeft()), 0);
}
break;
}
}
if (player.getMap().getId() == 104010001 && attack.skill == 2321008) {
maxdamage = 1;
return;
}
}
}
before the applyAttack line.Code:if (player.getMap().getId() == 104010001 && attack.skill == 2321008) {
maxdamage = 1;
return;
}
And also for ranged attack which should be dragon roar, where would I put it, not working for me:
package net.sf.odinms.net.channel.handler; import java.util.concurrent.Schedu - Pastebin.com
closerangehandler is for roar