Updating more credits
This commit is contained in:
@@ -53,8 +53,6 @@ public class AutobanManager {
|
|||||||
|
|
||||||
if (points.get(fac) >= fac.getMaximum()) {
|
if (points.get(fac) >= fac.getMaximum()) {
|
||||||
chr.autoban(reason);
|
chr.autoban(reason);
|
||||||
//chr.autoban("Autobanned for " + fac.name() + " ;" + reason, 1);
|
|
||||||
//chr.sendPolice("You have been blocked by #bMooplePolice for the HACK reason#k.");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (YamlConfig.config.server.USE_AUTOBAN_LOG) {
|
if (YamlConfig.config.server.USE_AUTOBAN_LOG) {
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class GotoCommand extends Command {
|
|||||||
sortGotoEntries(towns);
|
sortGotoEntries(towns);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// thanks shavit for noticing goto areas getting loaded from wz needlessly, only for the name retrieval
|
// thanks shavit for noticing goto areas getting loaded from wz needlessly only for the name retrieval
|
||||||
|
|
||||||
for (Map.Entry<String, Integer> e : towns) {
|
for (Map.Entry<String, Integer> e : towns) {
|
||||||
GOTO_TOWNS_INFO += ("'" + e.getKey() + "' - #b" + (MapleMapFactory.loadPlaceName(e.getValue())) + "#k\r\n");
|
GOTO_TOWNS_INFO += ("'" + e.getKey() + "' - #b" + (MapleMapFactory.loadPlaceName(e.getValue())) + "#k\r\n");
|
||||||
|
|||||||
@@ -858,7 +858,7 @@ public class Server {
|
|||||||
} catch (SQLException sqle) {
|
} catch (SQLException sqle) {
|
||||||
sqle.printStackTrace();
|
sqle.printStackTrace();
|
||||||
}
|
}
|
||||||
applyAllNameChanges(); //name changes can be missed by INSTANT_NAME_CHANGE
|
applyAllNameChanges(); // -- name changes can be missed by INSTANT_NAME_CHANGE --
|
||||||
applyAllWorldTransfers();
|
applyAllWorldTransfers();
|
||||||
//MaplePet.clearMissingPetsFromDb(); // thanks Optimist for noticing this taking too long to run
|
//MaplePet.clearMissingPetsFromDb(); // thanks Optimist for noticing this taking too long to run
|
||||||
MapleCashidGenerator.loadExistentCashIdsFromDb();
|
MapleCashidGenerator.loadExistentCashIdsFromDb();
|
||||||
|
|||||||
@@ -164,7 +164,7 @@ public abstract class AbstractDealDamageHandler extends AbstractMaplePacketHandl
|
|||||||
int mobCount = attackEffect.getMobCount();
|
int mobCount = attackEffect.getMobCount();
|
||||||
if (attack.skill != Cleric.HEAL) {
|
if (attack.skill != Cleric.HEAL) {
|
||||||
if (player.isAlive()) {
|
if (player.isAlive()) {
|
||||||
if(attack.skill == Aran.BODY_PRESSURE || attack.skill == Marauder.ENERGY_CHARGE || attack.skill == ThunderBreaker.ENERGY_CHARGE) { // thanks IxianMace for noticing Energy Charge skills refreshing on touch, leading to misleading buff applies
|
if(attack.skill == Aran.BODY_PRESSURE || attack.skill == Marauder.ENERGY_CHARGE || attack.skill == ThunderBreaker.ENERGY_CHARGE) { // thanks IxianMace for noticing Energy Charge skills refreshing on touch
|
||||||
// prevent touch dmg skills refreshing
|
// prevent touch dmg skills refreshing
|
||||||
} else if(attack.skill == NightWalker.POISON_BOMB) {// Poison Bomb
|
} else if(attack.skill == NightWalker.POISON_BOMB) {// Poison Bomb
|
||||||
attackEffect.applyTo(player, new Point(attack.position.x, attack.position.y));
|
attackEffect.applyTo(player, new Point(attack.position.x, attack.position.y));
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ public abstract class AbstractMovementPacketHandler extends AbstractMaplePacketH
|
|||||||
lea.skip(9); // jump down (?)
|
lea.skip(9); // jump down (?)
|
||||||
break;
|
break;
|
||||||
case 10: // Change Equip
|
case 10: // Change Equip
|
||||||
//ignored by server
|
//ignored server-side
|
||||||
lea.readByte();
|
lea.readByte();
|
||||||
break;
|
break;
|
||||||
/*case 11: { // Chair
|
/*case 11: { // Chair
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ public final class AcceptFamilyHandler extends AbstractMaplePacketHandler {
|
|||||||
newEntry.setSenior(inviterEntry, true);
|
newEntry.setSenior(inviterEntry, true);
|
||||||
// save new family
|
// save new family
|
||||||
insertNewFamilyRecord(inviter.getId(), newFamily.getID(), 0, true);
|
insertNewFamilyRecord(inviter.getId(), newFamily.getID(), 0, true);
|
||||||
insertNewFamilyRecord(chr.getId(), newFamily.getID(), inviter.getId(), false); // char was already saved by setSenior() above
|
insertNewFamilyRecord(chr.getId(), newFamily.getID(), inviter.getId(), false); // char was already saved from setSenior() above
|
||||||
newFamily.setMessage("", true);
|
newFamily.setMessage("", true);
|
||||||
} else { //new family for inviter, absorb invitee family
|
} else { //new family for inviter, absorb invitee family
|
||||||
insertNewFamilyRecord(inviter.getId(), newFamily.getID(), 0 , true);
|
insertNewFamilyRecord(inviter.getId(), newFamily.getID(), 0 , true);
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ public final class AdminCommandHandler extends AbstractMaplePacketHandler {
|
|||||||
c.announce(MaplePacketCreator.getGMEffect(6, (byte) 1));
|
c.announce(MaplePacketCreator.getGMEffect(6, (byte) 1));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x10: // /h, information added by vana <and tele mode f1> ... hide ofcourse
|
case 0x10: // /h, information added by vana -- <and tele mode f1> ... hide ofcourse
|
||||||
c.getPlayer().Hide(slea.readByte() == 1);
|
c.getPlayer().Hide(slea.readByte() == 1);
|
||||||
break;
|
break;
|
||||||
case 0x11: // Entering a map
|
case 0x11: // Entering a map
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class FamilySeparateHandler extends AbstractMaplePacketHandler {
|
|||||||
if(senior.getSenior() != null) senior.getSenior().gainReputation(-(repCost/2), false);
|
if(senior.getSenior() != null) senior.getSenior().gainReputation(-(repCost/2), false);
|
||||||
forkOn.announceToSenior(MaplePacketCreator.serverNotice(5, forkOn.getName() + " has left the family."), true);
|
forkOn.announceToSenior(MaplePacketCreator.serverNotice(5, forkOn.getName() + " has left the family."), true);
|
||||||
forkOn.fork();
|
forkOn.fork();
|
||||||
c.announce(MaplePacketCreator.getFamilyInfo(forkOn)); //pedigree info will be requested by the client if the window is open
|
c.announce(MaplePacketCreator.getFamilyInfo(forkOn)); //pedigree info will be requested from the client if the window is open
|
||||||
forkOn.updateSeniorFamilyInfo(true);
|
forkOn.updateSeniorFamilyInfo(true);
|
||||||
c.announce(MaplePacketCreator.sendFamilyMessage(1, 0));
|
c.announce(MaplePacketCreator.sendFamilyMessage(1, 0));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ public final class MoveLifeHandler extends AbstractMovementPacketHandler {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
long movementDataStart = slea.getPosition();
|
long movementDataStart = slea.getPosition();
|
||||||
updatePosition(slea, monster, -2); // Thanks Doodle and ZERO傑洛 for noticing sponge-based bosses moving out of stage in case of no-offset applied
|
updatePosition(slea, monster, -2); // Thanks Doodle & ZERO傑洛 for noticing sponge-based bosses moving out of stage in case of no-offset applied
|
||||||
long movementDataLength = slea.getPosition() - movementDataStart; //how many bytes were read by updatePosition
|
long movementDataLength = slea.getPosition() - movementDataStart; //how many bytes were read by updatePosition
|
||||||
slea.seek(movementDataStart);
|
slea.seek(movementDataStart);
|
||||||
|
|
||||||
|
|||||||
@@ -926,7 +926,7 @@ public class MapleItemInformationProvider {
|
|||||||
*/
|
*/
|
||||||
public boolean canUseCleanSlate(Equip nEquip) {
|
public boolean canUseCleanSlate(Equip nEquip) {
|
||||||
Map<String, Integer> eqstats = this.getEquipStats(nEquip.getItemId());
|
Map<String, Integer> eqstats = this.getEquipStats(nEquip.getItemId());
|
||||||
return YamlConfig.config.server.USE_ENHANCED_CLNSLATE || nEquip.getUpgradeSlots() < (byte) (eqstats.get("tuc") + nEquip.getVicious()); // issue with clean slate found thanks to Masterrulax, vicious added in the check thanks to Crypter (CrypterDEV)
|
return YamlConfig.config.server.USE_ENHANCED_CLNSLATE || nEquip.getUpgradeSlots() < (byte) (eqstats.get("tuc") + nEquip.getVicious());
|
||||||
}
|
}
|
||||||
|
|
||||||
public Item scrollEquipWithId(Item equip, int scrollId, boolean usingWhiteScroll, int vegaItemId, boolean isGM) {
|
public Item scrollEquipWithId(Item equip, int scrollId, boolean usingWhiteScroll, int vegaItemId, boolean isGM) {
|
||||||
|
|||||||
@@ -274,7 +274,7 @@ public class MapleMapFactory {
|
|||||||
MapleData mcData = mapData.getChildByPath("monsterCarnival");
|
MapleData mcData = mapData.getChildByPath("monsterCarnival");
|
||||||
if (mcData != null) {
|
if (mcData != null) {
|
||||||
map.setDeathCP(MapleDataTool.getIntConvert("deathCP", mcData, 0));
|
map.setDeathCP(MapleDataTool.getIntConvert("deathCP", mcData, 0));
|
||||||
map.setMaxMobs(MapleDataTool.getIntConvert("mobGenMax", mcData, 20)); // thanks Atoot for noticing CPQ1 bf. 3 & 4 not accepting spawns due to undefined limits, Lame for noticing a need to cap mob spawns even on such undefined limits
|
map.setMaxMobs(MapleDataTool.getIntConvert("mobGenMax", mcData, 20)); // thanks Atoot for noticing CPQ1 bf. 3 and 4 not accepting spawns due to undefined limits, Lame for noticing a need to cap mob spawns even on such undefined limits
|
||||||
map.setTimeDefault(MapleDataTool.getIntConvert("timeDefault", mcData, 0));
|
map.setTimeDefault(MapleDataTool.getIntConvert("timeDefault", mcData, 0));
|
||||||
map.setTimeExpand(MapleDataTool.getIntConvert("timeExpand", mcData, 0));
|
map.setTimeExpand(MapleDataTool.getIntConvert("timeExpand", mcData, 0));
|
||||||
map.setMaxReactors(MapleDataTool.getIntConvert("guardianGenMax", mcData, 16));
|
map.setMaxReactors(MapleDataTool.getIntConvert("guardianGenMax", mcData, 16));
|
||||||
|
|||||||
@@ -2291,7 +2291,7 @@ public class MaplePacketCreator {
|
|||||||
|
|
||||||
private static void rebroadcastMovementList(LittleEndianWriter lew, SeekableLittleEndianAccessor slea, long movementDataLength) {
|
private static void rebroadcastMovementList(LittleEndianWriter lew, SeekableLittleEndianAccessor slea, long movementDataLength) {
|
||||||
//movement command length is sent by client, probably not a big issue? (could be calculated on server)
|
//movement command length is sent by client, probably not a big issue? (could be calculated on server)
|
||||||
//if multiple write/reads are slow, could use a (cached?) byte[] buffer
|
//if multiple write/reads are slow, could use (and cache?) a byte[] buffer
|
||||||
for(long i = 0; i < movementDataLength; i++) {
|
for(long i = 0; i < movementDataLength; i++) {
|
||||||
lew.write(slea.readByte());
|
lew.write(slea.readByte());
|
||||||
}
|
}
|
||||||
@@ -3478,7 +3478,7 @@ public class MaplePacketCreator {
|
|||||||
return mplew.getPacket();
|
return mplew.getPacket();
|
||||||
}
|
}
|
||||||
|
|
||||||
// thanks NPC Quiz packets thanks to Eric
|
// NPC Quiz packets thanks to Eric
|
||||||
public static byte[] OnAskQuiz(int nSpeakerTypeID, int nSpeakerTemplateID, int nResCode, String sTitle, String sProblemText, String sHintText, int nMinInput, int nMaxInput, int tRemainInitialQuiz) {
|
public static byte[] OnAskQuiz(int nSpeakerTypeID, int nSpeakerTemplateID, int nResCode, String sTitle, String sProblemText, String sHintText, int nMinInput, int nMaxInput, int tRemainInitialQuiz) {
|
||||||
MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
|
MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
|
||||||
mplew.writeShort(SendOpcode.NPC_TALK.getValue());
|
mplew.writeShort(SendOpcode.NPC_TALK.getValue());
|
||||||
|
|||||||
@@ -54,10 +54,10 @@ typedef struct StrMap StrMap;
|
|||||||
* Parameters:
|
* Parameters:
|
||||||
*
|
*
|
||||||
* key: A pointer to a null-terminated C string. The string must not
|
* key: A pointer to a null-terminated C string. The string must not
|
||||||
* be modified by the client.
|
* be modified.
|
||||||
*
|
*
|
||||||
* value: A pointer to a null-terminated C string. The string must
|
* value: A pointer to a null-terminated C string. The string must
|
||||||
* not be modified by the client.
|
* not be modified.
|
||||||
*
|
*
|
||||||
* obj: A pointer to a client-specific object. This parameter may be
|
* obj: A pointer to a client-specific object. This parameter may be
|
||||||
* null.
|
* null.
|
||||||
@@ -168,7 +168,7 @@ int sm_get_count(const StrMap *map);
|
|||||||
* map: A pointer to a string map. This parameter cannot be null.
|
* map: A pointer to a string map. This parameter cannot be null.
|
||||||
*
|
*
|
||||||
* enum_func: A pointer to a callback function that will be
|
* enum_func: A pointer to a callback function that will be
|
||||||
* called by this procedure once for every key associated
|
* called from this procedure once for every key associated
|
||||||
* with a value. This parameter cannot be null.
|
* with a value. This parameter cannot be null.
|
||||||
*
|
*
|
||||||
* obj: A pointer to a client-specific object. This parameter will be
|
* obj: A pointer to a client-specific object. This parameter will be
|
||||||
|
|||||||
Reference in New Issue
Block a user