Crafters & keybinding & commands fix + updated MobBook info
Fixed player receiving DOT even if protected on Orbis Tower <B2>, added HPbar on Rombot, fixed keybinding issue with clashing skill-item id's, fixed some mischeckings on NPC crafters, fixed "travelling events" sending players to random spawnpoints when arriving, fixed hair&face commands, fixed dispel effect not showing to others, updated drop data on mobbook.
This commit is contained in:
@@ -328,7 +328,7 @@ public class Server implements Runnable {
|
||||
|
||||
System.out.println("Listening on port 8484\r\n\r\n");
|
||||
|
||||
System.out.println("Solaxia is now online.");
|
||||
System.out.println("Solaxia is now online.\r\n");
|
||||
online = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -44,22 +44,24 @@ public final class KeymapChangeHandler extends AbstractMaplePacketHandler {
|
||||
int type = slea.readByte();
|
||||
int action = slea.readInt();
|
||||
|
||||
Skill skill = SkillFactory.getSkill(action);
|
||||
boolean isBanndedSkill;
|
||||
if (skill != null) {
|
||||
isBanndedSkill = GameConstants.bannedBindSkills(skill.getId());
|
||||
if (isBanndedSkill || (!c.getPlayer().isGM() && GameConstants.isGMSkills(skill.getId())) || (!GameConstants.isInJobTree(skill.getId(), c.getPlayer().getJob().getId()) && !c.getPlayer().isGM())) { //for those skills are are "technically" in the beginner tab, like bamboo rain in Dojo or skills you find in PYPQ
|
||||
//AutobanFactory.PACKET_EDIT.alert(c.getPlayer(), c.getPlayer().getName() + " tried to packet edit keymapping.");
|
||||
//FilePrinter.printError(FilePrinter.EXPLOITS + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + " tried to use skill " + skill.getId() + "\r\n");
|
||||
//c.disconnect(true, false);
|
||||
//return;
|
||||
|
||||
continue; // fk that
|
||||
}
|
||||
/* if (c.getPlayer().getSkillLevel(skill) < 1) { HOW WOULD A SKILL EVEN BE AVAILABLE TO KEYBINDING
|
||||
continue; IF THERE IS NOT EVEN A SINGLE POINT USED INTO IT??
|
||||
} */ //Nice to know some skills have the same ids as items, heh.
|
||||
}
|
||||
if(type == 1) {
|
||||
Skill skill = SkillFactory.getSkill(action);
|
||||
boolean isBanndedSkill;
|
||||
if (skill != null) {
|
||||
isBanndedSkill = GameConstants.bannedBindSkills(skill.getId());
|
||||
if (isBanndedSkill || (!c.getPlayer().isGM() && GameConstants.isGMSkills(skill.getId())) || (!GameConstants.isInJobTree(skill.getId(), c.getPlayer().getJob().getId()) && !c.getPlayer().isGM())) { //for those skills are are "technically" in the beginner tab, like bamboo rain in Dojo or skills you find in PYPQ
|
||||
//AutobanFactory.PACKET_EDIT.alert(c.getPlayer(), c.getPlayer().getName() + " tried to packet edit keymapping.");
|
||||
//FilePrinter.printError(FilePrinter.EXPLOITS + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + " tried to use skill " + skill.getId() + "\r\n");
|
||||
//c.disconnect(true, false);
|
||||
//return;
|
||||
|
||||
continue; // fk that
|
||||
}
|
||||
/* if (c.getPlayer().getSkillLevel(skill) < 1) { HOW WOULD A SKILL EVEN BE AVAILABLE TO KEYBINDING
|
||||
continue; IF THERE IS NOT EVEN A SINGLE POINT USED INTO IT??
|
||||
} */
|
||||
}
|
||||
}
|
||||
|
||||
c.getPlayer().changeKeybinding(key, new MapleKeyBinding(type, action));
|
||||
}
|
||||
|
||||
@@ -45,6 +45,8 @@ import constants.skills.DarkKnight;
|
||||
import constants.skills.Hero;
|
||||
import constants.skills.Paladin;
|
||||
import constants.skills.Priest;
|
||||
import constants.skills.Hermit;
|
||||
import constants.skills.SuperGM;
|
||||
|
||||
|
||||
public final class SpecialMoveHandler extends AbstractMaplePacketHandler {
|
||||
@@ -111,6 +113,12 @@ public final class SpecialMoveHandler extends AbstractMaplePacketHandler {
|
||||
int gain = lose * (ef.getY() / 100);
|
||||
chr.setMp(chr.getMp() + gain);
|
||||
chr.updateSingleStat(MapleStat.MP, chr.getMp());
|
||||
} else if (skillid == Hermit.FLASH_JUMP) {
|
||||
slea.skip(2); // always 0? Also 3rd party FJ effect doesn't seem to work, agh!
|
||||
//chr.getMap().broadcastMessage(c.getPlayer(), MaplePacketCreator.showBuffeffect(chr.getId(), skillid, chr.getSkillLevel(skillid), (byte)0), false);
|
||||
} else if (skillid == Priest.DISPEL || skillid == SuperGM.HEAL_PLUS_DISPEL) {
|
||||
slea.skip((skillid == Priest.DISPEL) ? 10 : 11);
|
||||
chr.getMap().broadcastMessage(c.getPlayer(), MaplePacketCreator.showBuffeffect(chr.getId(), skillid, chr.getSkillLevel(skillid)), false);
|
||||
} else if (skillid % 10000000 == 1004) {
|
||||
slea.readShort();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user