MagatiaPQ + several minor fixes

Added MagatiaPQ. Fixed a bug on Dojo where parties quitting the boss
fight without completing until rest point couldn't not start Dojo again
w/o reforming the party. Fixed issues with 2nd job NPC scripts. Reverted
command layout to use "!" and "@" again.
This commit is contained in:
ronancpl
2017-08-11 12:41:35 -03:00
parent f78defec1f
commit e0a27e00ab
185 changed files with 3316 additions and 527 deletions

View File

@@ -447,6 +447,14 @@ public class EventInstanceManager {
}
}
}
public void friendlyKilled(MapleMonster mob) {
try {
em.getIv().invokeFunction("friendlyKilled", mob, this);
} catch (ScriptException | NoSuchMethodException ex) {
//optional
}
}
public void playerKilled(MapleCharacter chr) {
try {

View File

@@ -44,7 +44,6 @@ import server.partyquest.Pyramid;
import server.partyquest.Pyramid.PyramidMode;
import server.quest.MapleQuest;
import tools.LogHelper;
import tools.FilePrinter;
import tools.MaplePacketCreator;
import client.MapleCharacter;
import client.MapleClient;
@@ -56,27 +55,35 @@ import client.SkillFactory;
import client.inventory.Item;
import client.inventory.ItemFactory;
import client.inventory.MaplePet;
import constants.ServerConstants;
/**
*
* @author Matze
*/
public class NPCConversationManager extends AbstractPlayerInteraction {
private int npc;
private int npcOid;
private String scriptName;
private String getText;
public NPCConversationManager(MapleClient c, int npc, String scriptName) {
public NPCConversationManager(MapleClient c, int npc, String scriptName) {
this(c, npc, -1, scriptName);
}
public NPCConversationManager(MapleClient c, int npc, int oid, String scriptName) {
super(c);
this.npc = npc;
this.npcOid = oid;
this.scriptName = scriptName;
}
public int getNpc() {
return npc;
}
public int getNpcObjectId() {
return npcOid;
}
public String getScriptName() {
return scriptName;
@@ -220,9 +227,6 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
}
public void gainMeso(int gain) {
if (gain > 0 && ServerConstants.USE_AUTOBAN == true) {
FilePrinter.printError(FilePrinter.EXPLOITS + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + " gained " + gain + " mesos from NPC " + npc + "\r\n");
}
getPlayer().gainMeso(gain);
}

View File

@@ -32,7 +32,6 @@ import javax.script.Invocable;
import javax.script.ScriptException;
import scripting.AbstractScriptManager;
import server.life.MapleLifeFactory;
import tools.FilePrinter;
import tools.MaplePacketCreator;
@@ -53,10 +52,18 @@ public class NPCScriptManager extends AbstractScriptManager {
public boolean start(MapleClient c, int npc, MapleCharacter chr) {
return start(c, npc, null, chr);
}
public boolean start(MapleClient c, int npc, int oid, MapleCharacter chr) {
return start(c, npc, oid, null, chr);
}
public boolean start(MapleClient c, int npc, String fileName, MapleCharacter chr) {
return start(c, npc, -1, fileName, chr);
}
public boolean start(MapleClient c, int npc, int oid, String fileName, MapleCharacter chr) {
try {
NPCConversationManager cm = new NPCConversationManager(c, npc, fileName);
NPCConversationManager cm = new NPCConversationManager(c, npc, oid, fileName);
if (cms.containsKey(c)) {
dispose(c);
}