Quest & Command tweak + MapleCashDropFetcher + Cash drop tidyup

Solved a possible exploit on starting/completing non-scripted quests.
Added missing drop data for Aran's puppeteer questline.
Moved GM tier level of some commands.
Applied proper synchronization for BuddyList modules.
Issued commands now requires "@" heading for normal players and donators (GM level < 2) and "!" for Jr. GM and above (GM level >= 2).
Added custom feature: a message will be sent to acquaintances of a player (friends, family, guild, spouse) when they change/upgrade jobs.
Removed cash drop entries from the DB.
New tool: MapleCashDropFetcher. Reports on a text file all cash-type drop data on DB.
This commit is contained in:
ronancpl
2018-04-14 13:38:14 -03:00
parent 6d91c79f28
commit 6a63f9d95e
38 changed files with 3472 additions and 1057 deletions

View File

@@ -199,7 +199,6 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
private int expRate = 1, mesoRate = 1, dropRate = 1, expCoupon = 1, mesoCoupon = 1, dropCoupon = 1;
private int omokwins, omokties, omoklosses, matchcardwins, matchcardties, matchcardlosses;
private int owlSearch;
private int married;
private long lastfametime, lastUsedCashItem, lastHealed, lastMesoDrop = -1, jailExpiration = -1;
private transient int localmaxhp, localmaxmp, localstr, localdex, localluk, localint_, magic, watk;
private boolean hidden, canDoor = true, berserk, hasMerchant, whiteChat = false;
@@ -1093,6 +1092,36 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
}
createDragon();
}
if(ServerConstants.USE_ANNOUNCE_CHANGEJOB) {
if(gmLevel > 1) {
broadcastAcquaintances(6, "[" + GameConstants.ordinal(GameConstants.getJobBranch(newJob)) + " Job] " + name + " has just become a " + newJob.name() + ".");
}
}
}
public void broadcastAcquaintances(int type, String message) {
broadcastAcquaintances(MaplePacketCreator.serverNotice(type, message));
}
public void broadcastAcquaintances(byte[] packet) {
buddylist.broadcast(packet, client.getWorldServer().getPlayerStorage());
if(family != null) {
//family.broadcast(packet, id); not yet implemented
}
MapleGuild guild = getGuild();
if(guild != null) {
guild.broadcast(packet, id);
}
/*
if(partnerid > 0) {
partner.announce(packet); not yet implemented
}
*/
announce(packet);
}
public void changeKeybinding(int key, MapleKeyBinding keybinding) {
@@ -3955,10 +3984,6 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
return marriageRing;
}
public int getMarried() {
return married;
}
public int getMasterLevel(Skill skill) {
if (skills.get(skill) == null) {
return 0;