Normalize credit comments
This commit is contained in:
@@ -184,8 +184,8 @@ Server potentials:
|
|||||||
* Implemented old GMS AP assigning for novices level 10 or below. Usage of the edited localhost is mandatory on this.
|
* Implemented old GMS AP assigning for novices level 10 or below. Usage of the edited localhost is mandatory on this.
|
||||||
* Implemented SP capping for players that passed the job upgrade level. After upgrading jobs, the missing SP amount is replenished.
|
* Implemented SP capping for players that passed the job upgrade level. After upgrading jobs, the missing SP amount is replenished.
|
||||||
* Bypassable PIN/PIC system for players that were already authenticated and are currently loggedin and active.
|
* Bypassable PIN/PIC system for players that were already authenticated and are currently loggedin and active.
|
||||||
* Accounts can be created automatically when trying to login on an inexistent account -- credits to shavit.
|
* Accounts can be created automatically when trying to login on an inexistent account - credits to shavit.
|
||||||
* Usage of Bcrypt (up-to-date) as the main password hashing algorithm, replacing old SHA's -- credits to shavit.
|
* Usage of Bcrypt (up-to-date) as the main password hashing algorithm, replacing old SHA's - credits to shavit.
|
||||||
|
|
||||||
Custom NPCs:
|
Custom NPCs:
|
||||||
|
|
||||||
@@ -203,7 +203,7 @@ Server Commands:
|
|||||||
* Spawn Zakum/Horntail/Pinkbean.
|
* Spawn Zakum/Horntail/Pinkbean.
|
||||||
* Several new commands.
|
* Several new commands.
|
||||||
* Rank command highlighting users either by world or server-wide.
|
* Rank command highlighting users either by world or server-wide.
|
||||||
* Revamped command files layout -- thanks Arthur L.
|
* Revamped command files layout - thanks Arthur L.
|
||||||
* Optimized Search command, caching search range contents and added map search functionality.
|
* Optimized Search command, caching search range contents and added map search functionality.
|
||||||
|
|
||||||
External tools:
|
External tools:
|
||||||
|
|||||||
@@ -1871,4 +1871,7 @@ Implementado convite de Party Search sensível ao mapa onde os jogadores líder
|
|||||||
Corrigido pets sendo indevidamente removido da DB ao realizar operações de retirada do inventário.
|
Corrigido pets sendo indevidamente removido da DB ao realizar operações de retirada do inventário.
|
||||||
|
|
||||||
15 Maio 2019,
|
15 Maio 2019,
|
||||||
Revisado, via testes unitários, robustez dos registros/buscas de jogadores e fluidez do sistema de Party Search.
|
Revisado, via testes unitários, robustez dos registros/buscas de jogadores e fluidez do sistema de Party Search.
|
||||||
|
|
||||||
|
26 Maio 2019,
|
||||||
|
Normalizado comentários de créditos.
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Growlie (that fatass uhh.. hungry lion or whatever)
|
Growlie (that fatass uhh.. hungry lion or whatever)
|
||||||
FightDesign @RageZONE
|
|
||||||
|
|
||||||
|
@author FightDesign (RageZONE)
|
||||||
@author Ronan
|
@author Ronan
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Made by RMZero213 of RaGEZONE forums.
|
@author RMZero213 (RaGEZONE)
|
||||||
Just keep this header here and don't claim that you made it.
|
Just keep this header here and don't claim that you made it.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
-- By ---------------------------------------------------------------------------------------------
|
-- By ---------------------------------------------------------------------------------------------
|
||||||
Unknown
|
Unknown
|
||||||
-- Version Info -----------------------------------------------------------------------------------
|
-- Version Info -----------------------------------------------------------------------------------
|
||||||
1.3 - More Cleanup by Moogra (12/17/09)
|
1.3 - More Cleanup by Moogra - 12/17/09
|
||||||
1.2 - Cleanup and Statement fix by Moogra
|
1.2 - Cleanup and Statement fix by Moogra
|
||||||
1.1 - Statement fix [Information]
|
1.1 - Statement fix [Information]
|
||||||
1.0 - First Version by Unknown
|
1.0 - First Version by Unknown
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ jobType = 5;
|
|||||||
var advQuest = 0;
|
var advQuest = 0;
|
||||||
function start() {
|
function start() {
|
||||||
if (cm.isQuestStarted(6330)) {
|
if (cm.isQuestStarted(6330)) {
|
||||||
if (cm.getEventInstance() != null) { // missing script for skill test found thanks to Lost(tm)
|
if (cm.getEventInstance() != null) { // missing script for skill test found thanks to Lost™
|
||||||
advQuest = 5; // string visibility thanks to iPunchEm & Glvelturall
|
advQuest = 5; // string visibility thanks to iPunchEm & Glvelturall
|
||||||
cm.sendNext("Not bad at all. Let's discuss this outside!");
|
cm.sendNext("Not bad at all. Let's discuss this outside!");
|
||||||
cm.setQuestProgress(6330, 0, 1);
|
cm.setQuestProgress(6330, 0, 1);
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ function action(mode, type, selection) {
|
|||||||
else
|
else
|
||||||
status--;
|
status--;
|
||||||
|
|
||||||
if (status == 0) { // missing script for skill test found thanks to Lost(tm)
|
if (status == 0) { // missing script for skill test found thanks to Lost™
|
||||||
if (!cm.isQuestStarted(6400)) {
|
if (!cm.isQuestStarted(6400)) {
|
||||||
cm.sendOk("Who are you talking to me? If you're just bored, go bother somebody else.");
|
cm.sendOk("Who are you talking to me? If you're just bored, go bother somebody else.");
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* Author: aaroncsn - MapleSea Like, Need to add creation of minigame
|
/* Author: aaroncsn <MapleSea Like, Need to add creation of minigame>
|
||||||
NPC Name: Wisp
|
NPC Name: Wisp
|
||||||
Map(s): Ludibrium: Eos Tower Entrance(220000400)
|
Map(s): Ludibrium: Eos Tower Entrance(220000400)
|
||||||
Description: Pet Master
|
Description: Pet Master
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
-- Version Info -----------------------------------------------------------------------------------
|
-- Version Info -----------------------------------------------------------------------------------
|
||||||
1.0 - First Version by Drago (MapleStorySA)
|
1.0 - First Version by Drago (MapleStorySA)
|
||||||
2.0 - Second Version by Ronan (HeavenMS)
|
2.0 - Second Version by Ronan (HeavenMS)
|
||||||
3.0 - Third Version by Jayd - translated CPQ contents to English & added Pirate items
|
3.0 - Third Version by Jayd - translated CPQ contents to English and added Pirate items
|
||||||
Special thanks to 頼晏 (ryantpayton) for also stepping in to translate CPQ scripts.
|
Special thanks to 頼晏 (ryantpayton) for also stepping in to translate CPQ scripts.
|
||||||
---------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------
|
||||||
**/
|
**/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
-- Version Info -----------------------------------------------------------------------------------
|
-- Version Info -----------------------------------------------------------------------------------
|
||||||
1.0 - First Version by Drago (MapleStorySA)
|
1.0 - First Version by Drago (MapleStorySA)
|
||||||
2.0 - Second Version by Ronan (HeavenMS)
|
2.0 - Second Version by Ronan (HeavenMS)
|
||||||
3.0 - Third Version by Jayd - translated CPQ contents to English & added Pirate items
|
3.0 - Third Version by Jayd - translated CPQ contents to English and added Pirate items
|
||||||
---------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
-- Version Info -----------------------------------------------------------------------------------
|
-- Version Info -----------------------------------------------------------------------------------
|
||||||
1.0 - First Version by Drago (MapleStorySA)
|
1.0 - First Version by Drago (MapleStorySA)
|
||||||
2.0 - Second Version by Ronan (HeavenMS)
|
2.0 - Second Version by Ronan (HeavenMS)
|
||||||
3.0 - Third Version by Jayd - translated CPQ contents to English & added Pirate items
|
3.0 - Third Version by Jayd - translated CPQ contents to English and added Pirate items
|
||||||
---------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* Author: aaroncsn - MapleSea Like, Incomplete, Needs skin id
|
/* Author: aaroncsn <MapleSea Like, Incomplete, Needs skin id>
|
||||||
NPC Name: Laila
|
NPC Name: Laila
|
||||||
Map(s): The Burning Road: Ariant(2600000000)
|
Map(s): The Burning Road: Ariant(2600000000)
|
||||||
Description: Skin Care Specialist
|
Description: Skin Care Specialist
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
1.3 - Actually fixed by Alan (SharpAceX)
|
1.3 - Actually fixed by Alan (SharpAceX)
|
||||||
1.2 - Fixed and recoded by Moogra
|
1.2 - Fixed and recoded by Moogra
|
||||||
1.1 - Shortened by Moogra
|
1.1 - Shortened by Moogra
|
||||||
1.0 - First Version by Maple4U, who actually can't code at all
|
1.0 - First Version by Maple4U - who stepped up and coded first version of several Magatia NPCs
|
||||||
---------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* Author: aaroncsn - MapleSea Like, Incomplete
|
/* Author: aaroncsn <MapleSea Like, Incomplete>
|
||||||
NPC Name: Athena Pierce
|
NPC Name: Athena Pierce
|
||||||
Map(s): Altair Camp: Conference Hall(300000010)
|
Map(s): Altair Camp: Conference Hall(300000010)
|
||||||
Description: Unknown
|
Description: Unknown
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* Author: aaroncsn - MapleSea Like, Incomplete
|
/* Author: aaroncsn <MapleSea Like, Incomplete>
|
||||||
NPC Name: Euryth
|
NPC Name: Euryth
|
||||||
Map(s): Elin Forest:Altair Camp(300000000)
|
Map(s): Elin Forest:Altair Camp(300000000)
|
||||||
Description: Unknown
|
Description: Unknown
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* Author: aaroncsn - MapleSea Like, Incomplete
|
/* Author: aaroncsn <MapleSea Like, Incomplete>
|
||||||
NPC Name: Kanderun
|
NPC Name: Kanderun
|
||||||
Map(s): Elin Forest:Entrance to Rocky Mountain(300010400)
|
Map(s): Elin Forest:Entrance to Rocky Mountain(300010400)
|
||||||
Description: Unknown
|
Description: Unknown
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
Debbie
|
Debbie
|
||||||
-- By ---------------------------------------------------------------------------------------------
|
-- By ---------------------------------------------------------------------------------------------
|
||||||
Angel (get31720 ragezone)
|
Angel (get31720)
|
||||||
-- Version Info -----------------------------------------------------------------------------------
|
-- Version Info -----------------------------------------------------------------------------------
|
||||||
1.0 - First Version by Angel
|
1.0 - First Version by Angel
|
||||||
2.0 - Second Version by happydud3 & XotiCraze
|
2.0 - Second Version by happydud3 & XotiCraze
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
Assistant Nancy
|
Assistant Nancy
|
||||||
-- By ---------------------------------------------------------------------------------------------
|
-- By ---------------------------------------------------------------------------------------------
|
||||||
Angel (get31720 ragezone)
|
Angel (get31720)
|
||||||
-- Version Info -----------------------------------------------------------------------------------
|
-- Version Info -----------------------------------------------------------------------------------
|
||||||
1.0 - First Version by Angel
|
1.0 - First Version by Angel
|
||||||
2.0 - Second Version by happydud3 & XotiCraze
|
2.0 - Second Version by happydud3 & XotiCraze
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
Assistant Nancy
|
Assistant Nancy
|
||||||
-- By ---------------------------------------------------------------------------------------------
|
-- By ---------------------------------------------------------------------------------------------
|
||||||
Angel (get31720 ragezone)
|
Angel (get31720)
|
||||||
-- Version Info -----------------------------------------------------------------------------------
|
-- Version Info -----------------------------------------------------------------------------------
|
||||||
1.0 - First Version by Angel
|
1.0 - First Version by Angel
|
||||||
2.0 - Second Version by happydud3 & XotiCraze
|
2.0 - Second Version by happydud3 & XotiCraze
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
Assistant Travis
|
Assistant Travis
|
||||||
-- By ---------------------------------------------------------------------------------------------
|
-- By ---------------------------------------------------------------------------------------------
|
||||||
Angel (get31720 ragezone)
|
Angel (get31720)
|
||||||
-- Version Info -----------------------------------------------------------------------------------
|
-- Version Info -----------------------------------------------------------------------------------
|
||||||
1.0 - First Version by Angel
|
1.0 - First Version by Angel
|
||||||
2.0 - Second Version by happydud3 & XotiCraze
|
2.0 - Second Version by happydud3 & XotiCraze
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
Pila Present
|
Pila Present
|
||||||
-- By ---------------------------------------------------------------------------------------------
|
-- By ---------------------------------------------------------------------------------------------
|
||||||
Angel (get31720 ragezone)
|
get31720 (RaGEZONE)
|
||||||
-- Version Info -----------------------------------------------------------------------------------
|
-- Version Info -----------------------------------------------------------------------------------
|
||||||
1.0 - First Version by Angel
|
1.0 - First Version by Angel
|
||||||
2.0 - Second Version by happydud3 & XotiCraze
|
2.0 - Second Version by happydud3 & XotiCraze
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
var status = -1;
|
var status = -1;
|
||||||
|
|
||||||
function start(mode, type, selection) { // missing script for questid found thanks to Lost(tm)
|
function start(mode, type, selection) { // missing script for questid found thanks to Lost™
|
||||||
if (mode == -1) {
|
if (mode == -1) {
|
||||||
qm.dispose();
|
qm.dispose();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* @author RMZero213 - base
|
* @author RMZero213 - base
|
||||||
* @author Moogra - fixed, clean up
|
* @author Moogra - fixed and clean up
|
||||||
*/
|
*/
|
||||||
function act() {
|
function act() {
|
||||||
var map = rm.getPlayer().getMapId();
|
var map = rm.getPlayer().getMapId();
|
||||||
|
|||||||
@@ -2153,7 +2153,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
public static boolean deleteCharFromDB(MapleCharacter player, int senderAccId) {
|
public static boolean deleteCharFromDB(MapleCharacter player, int senderAccId) {
|
||||||
int cid = player.getId();
|
int cid = player.getId();
|
||||||
if(!Server.getInstance().haveCharacterEntry(senderAccId, cid)) { // thanks zera (EpiphanyMS) for pointing a critical exploit with non-authored character deletion request
|
if(!Server.getInstance().haveCharacterEntry(senderAccId, cid)) { // thanks zera (EpiphanyMS) for pointing a critical exploit with non-authed character deletion request
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3156,7 +3156,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canHoldMeso(int gain) { // thanks lucasziron found pointing out a need to check space availability for mesos on player transactions
|
public boolean canHoldMeso(int gain) { // thanks lucasziron for pointing out a need to check space availability for mesos on player transactions
|
||||||
long nextMeso = (long) meso.get() + gain;
|
long nextMeso = (long) meso.get() + gain;
|
||||||
return nextMeso <= Integer.MAX_VALUE;
|
return nextMeso <= Integer.MAX_VALUE;
|
||||||
}
|
}
|
||||||
@@ -9599,7 +9599,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if (!mquest.isSameDayRepeatable() && !MapleQuest.isExploitableQuest(questid)) {
|
if (!mquest.isSameDayRepeatable() && !MapleQuest.isExploitableQuest(questid)) {
|
||||||
awardQuestPoint(ServerConstants.QUEST_POINT_PER_QUEST_COMPLETE);
|
awardQuestPoint(ServerConstants.QUEST_POINT_PER_QUEST_COMPLETE);
|
||||||
}
|
}
|
||||||
quest.setCompleted(quest.getCompleted() + 1); // count quest completed Jayd's idea
|
quest.setCompleted(quest.getCompleted() + 1); // Jayd's idea - count quest completed
|
||||||
|
|
||||||
announce(MaplePacketCreator.completeQuest(questid, quest.getCompletionTime()));
|
announce(MaplePacketCreator.completeQuest(questid, quest.getCompletionTime()));
|
||||||
} else if (quest.getStatus().equals(MapleQuestStatus.Status.NOT_STARTED)) {
|
} else if (quest.getStatus().equals(MapleQuestStatus.Status.NOT_STARTED)) {
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
package client;
|
package client;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author PurpleMadness Patrick :O
|
* @author PurpleMadness (Patrick) :O
|
||||||
*/
|
*/
|
||||||
public class MapleMount {
|
public class MapleMount {
|
||||||
private int itemid;
|
private int itemid;
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ public class Equip extends Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean isNotWeaponAffinity(StatUpgrade name) {
|
private boolean isNotWeaponAffinity(StatUpgrade name) {
|
||||||
// WATK/MATK expected gains lessens outside of weapon affinity (physical/magic): Vcoc's idea
|
// Vcoc's idea - WATK/MATK expected gains lessens outside of weapon affinity (physical/magic)
|
||||||
|
|
||||||
if (ItemConstants.isWeapon(this.getItemId())) {
|
if (ItemConstants.isWeapon(this.getItemId())) {
|
||||||
if (name.equals(StatUpgrade.incPAD)) {
|
if (name.equals(StatUpgrade.incPAD)) {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ import tools.MaplePacketCreator;
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Matze
|
* @author Matze
|
||||||
* @author Ronan - improved check space feature & removed redundant object calls
|
* @author Ronan - improved check space feature and removed redundant object calls
|
||||||
*/
|
*/
|
||||||
public class MapleInventoryManipulator {
|
public class MapleInventoryManipulator {
|
||||||
|
|
||||||
@@ -427,7 +427,7 @@ public class MapleInventoryManipulator {
|
|||||||
announceModifyInventory(c, item, fromDrop, allowZero);
|
announceModifyInventory(c, item, fromDrop, allowZero);
|
||||||
} else {
|
} else {
|
||||||
int petid = item.getPetId();
|
int petid = item.getPetId();
|
||||||
if (petid > -1) { // thanks Vcoc for finding a d/c issue with equipped pets & pets remaining on DB here
|
if (petid > -1) { // thanks Vcoc for finding a d/c issue with equipped pets and pets remaining on DB here
|
||||||
int petIdx = chr.getPetIndex(petid);
|
int petIdx = chr.getPetIndex(petid);
|
||||||
if(petIdx > -1) {
|
if(petIdx > -1) {
|
||||||
MaplePet pet = chr.getPet(petIdx);
|
MaplePet pet = chr.getPet(petIdx);
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ import tools.Pair;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author RonanLana - synchronization of Fredrick modules & operation results
|
* @author RonanLana - synchronization of Fredrick modules and operation results
|
||||||
*/
|
*/
|
||||||
public class FredrickProcessor {
|
public class FredrickProcessor {
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package constants;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author The Spookster
|
* @author The Spookster (The Real Spookster)
|
||||||
*/
|
*/
|
||||||
public enum EquipSlot {
|
public enum EquipSlot {
|
||||||
|
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ public class ServerConstants {
|
|||||||
public static final boolean USE_ERASE_UNTRADEABLE_DROP = true; //Forces flagged untradeable items to disappear when dropped.
|
public static final boolean USE_ERASE_UNTRADEABLE_DROP = true; //Forces flagged untradeable items to disappear when dropped.
|
||||||
public static final boolean USE_ERASE_PET_ON_EXPIRATION = false;//Forces pets to be removed from inventory when expire time comes, rather than converting it to a doll.
|
public static final boolean USE_ERASE_PET_ON_EXPIRATION = false;//Forces pets to be removed from inventory when expire time comes, rather than converting it to a doll.
|
||||||
public static final boolean USE_BUFF_MOST_SIGNIFICANT = true; //When applying buffs, the player will stick with the highest stat boost among the listed, rather than overwriting stats.
|
public static final boolean USE_BUFF_MOST_SIGNIFICANT = true; //When applying buffs, the player will stick with the highest stat boost among the listed, rather than overwriting stats.
|
||||||
public static final boolean USE_BUFF_EVERLASTING = false; //Every applied buff on players holds expiration time so high it'd be considered permanent. Suggestion thanks to Vcoc.
|
public static final boolean USE_BUFF_EVERLASTING = false; //Every applied buff on players holds expiration time so high it'd be considered permanent. Thanks Vcoc for this suggestion.
|
||||||
public static final boolean USE_MULTIPLE_SAME_EQUIP_DROP = true;//Enables multiple drops by mobs of the same equipment, number of possible drops based on the quantities provided at the drop data.
|
public static final boolean USE_MULTIPLE_SAME_EQUIP_DROP = true;//Enables multiple drops by mobs of the same equipment, number of possible drops based on the quantities provided at the drop data.
|
||||||
public static final boolean USE_BANISHABLE_TOWN_SCROLL = true; //Enables town scrolls to act as if it's a "player banish", rendering the antibanish scroll effect available.
|
public static final boolean USE_BANISHABLE_TOWN_SCROLL = true; //Enables town scrolls to act as if it's a "player banish", rendering the antibanish scroll effect available.
|
||||||
public static final boolean USE_ENABLE_FULL_RESPAWN = true; //At respawn task, always respawn missing mobs when they're available. Spawn count doesn't depend on how many players are currently there.
|
public static final boolean USE_ENABLE_FULL_RESPAWN = true; //At respawn task, always respawn missing mobs when they're available. Spawn count doesn't depend on how many players are currently there.
|
||||||
@@ -202,9 +202,9 @@ public class ServerConstants {
|
|||||||
public static final boolean USE_ULTRA_THREE_SNAILS = true; //Massive damage on shell toss.
|
public static final boolean USE_ULTRA_THREE_SNAILS = true; //Massive damage on shell toss.
|
||||||
|
|
||||||
//Other Skills Configuration
|
//Other Skills Configuration
|
||||||
public static final boolean USE_FULL_ARAN_SKILLSET = false; //Enables starter availability to all Aran job skills. Suggestion thanks to Masterrulax.
|
public static final boolean USE_FULL_ARAN_SKILLSET = false; //Enables starter availability to all Aran job skills. Thanks Masterrulax for this suggestion.
|
||||||
public static final boolean USE_FAST_REUSE_HERO_WILL = true;//Greatly reduce cooldown on Hero's Will.
|
public static final boolean USE_FAST_REUSE_HERO_WILL = true;//Greatly reduce cooldown on Hero's Will.
|
||||||
public static final boolean USE_ANTI_IMMUNITY_CRASH = true; //Crash skills additionally removes the mob's invincibility buffs. Suggestion thanks to Celestial.
|
public static final boolean USE_ANTI_IMMUNITY_CRASH = true; //Crash skills additionally removes the mob's invincibility buffs. Thanks Celestial for this suggestion.
|
||||||
public static final boolean USE_UNDISPEL_HOLY_SHIELD = true;//Holy shield buff also prevents players from suffering dispel from mobs.
|
public static final boolean USE_UNDISPEL_HOLY_SHIELD = true;//Holy shield buff also prevents players from suffering dispel from mobs.
|
||||||
|
|
||||||
//Character Configuration
|
//Character Configuration
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ public class MaplePacketDecoder extends CumulativeProtocolDecoder {
|
|||||||
rcvdCrypto.crypt(decryptedPacket);
|
rcvdCrypto.crypt(decryptedPacket);
|
||||||
MapleCustomEncryption.decryptData(decryptedPacket);
|
MapleCustomEncryption.decryptData(decryptedPacket);
|
||||||
out.write(decryptedPacket);
|
out.write(decryptedPacket);
|
||||||
if (ServerConstants.USE_DEBUG_SHOW_PACKET){ // packet traffic log: Atoot's idea, applied using auto-identation thanks to lrenex
|
if (ServerConstants.USE_DEBUG_SHOW_PACKET){ // Atoot's idea: packet traffic log, applied using auto-identation thanks to lrenex
|
||||||
int packetLen = decryptedPacket.length;
|
int packetLen = decryptedPacket.length;
|
||||||
int pHeader = readFirstShort(decryptedPacket);
|
int pHeader = readFirstShort(decryptedPacket);
|
||||||
String pHeaderStr = Integer.toHexString(pHeader).toUpperCase();
|
String pHeaderStr = Integer.toHexString(pHeader).toUpperCase();
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public final class MesoDropHandler extends AbstractMaplePacketHandler {
|
|||||||
slea.skip(4);
|
slea.skip(4);
|
||||||
int meso = slea.readInt();
|
int meso = slea.readInt();
|
||||||
|
|
||||||
if (c.tryacquireClient()) { // thanks imbee for noticing players not being able to throw mesos too fast, dampening gameplay of some classes
|
if (c.tryacquireClient()) { // thanks imbee for noticing players not being able to throw mesos too fast
|
||||||
try {
|
try {
|
||||||
if (meso <= player.getMeso() && meso > 9 && meso < 50001) {
|
if (meso <= player.getMeso() && meso > 9 && meso < 50001) {
|
||||||
player.gainMeso(-meso, false, true, false);
|
player.gainMeso(-meso, false, true, false);
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import client.MapleClient;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Xotic & BubblesDev
|
* @author Xotic (XoticStory) & BubblesDev
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public final class MobDamageMobFriendlyHandler extends AbstractMaplePacketHandler {
|
public final class MobDamageMobFriendlyHandler extends AbstractMaplePacketHandler {
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ import tools.data.input.SeekableLittleEndianAccessor;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*@author Drago/Dragohe4rt
|
*@author Drago (Dragohe4rt)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public final class MonsterCarnivalHandler extends AbstractMaplePacketHandler {
|
public final class MonsterCarnivalHandler extends AbstractMaplePacketHandler {
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ import java.sql.SQLException;
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Matze
|
* @author Matze
|
||||||
* @author Ronan - concurrency safety & reviewed minigames
|
* @author Ronan - concurrency safety and reviewed minigames
|
||||||
*/
|
*/
|
||||||
public final class PlayerInteractionHandler extends AbstractMaplePacketHandler {
|
public final class PlayerInteractionHandler extends AbstractMaplePacketHandler {
|
||||||
public enum Action {
|
public enum Action {
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import tools.data.input.SeekableLittleEndianAccessor;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author kevintjuh93 :3
|
* @author kevintjuh93 - :3
|
||||||
*/
|
*/
|
||||||
public class RemoteStoreHandler extends AbstractMaplePacketHandler {
|
public class RemoteStoreHandler extends AbstractMaplePacketHandler {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ import tools.packets.Wedding;
|
|||||||
/**
|
/**
|
||||||
* @author Jvlaple
|
* @author Jvlaple
|
||||||
* @author Ronan - major overhaul on Ring handling mechanics
|
* @author Ronan - major overhaul on Ring handling mechanics
|
||||||
* @author Drago/Dragohe4rt - on Wishlist
|
* @author Drago (Dragohe4rt) - on Wishlist
|
||||||
*/
|
*/
|
||||||
public final class RingActionHandler extends AbstractMaplePacketHandler {
|
public final class RingActionHandler extends AbstractMaplePacketHandler {
|
||||||
private static int getBoxId(int useItemId) {
|
private static int getBoxId(int useItemId) {
|
||||||
@@ -466,7 +466,7 @@ public final class RingActionHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
case 9:
|
case 9:
|
||||||
try {
|
try {
|
||||||
// By Drago/Dragohe4rt
|
// By -- Drago (Dragohe4rt)
|
||||||
// Groom and Bride's Wishlist
|
// Groom and Bride's Wishlist
|
||||||
|
|
||||||
MapleCharacter player = c.getPlayer();
|
MapleCharacter player = c.getPlayer();
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ public final class SummonDamageHandler extends AbstractDealDamageHandler {
|
|||||||
List<SummonAttackEntry> allDamage = new ArrayList<>();
|
List<SummonAttackEntry> allDamage = new ArrayList<>();
|
||||||
byte direction = slea.readByte();
|
byte direction = slea.readByte();
|
||||||
int numAttacked = slea.readByte();
|
int numAttacked = slea.readByte();
|
||||||
slea.skip(8); //Thanks Gerald :D, I failed lol (mob x,y and summon x,y)
|
slea.skip(8); // I failed lol (mob x,y and summon x,y), Thanks Gerald
|
||||||
for (int x = 0; x < numAttacked; x++) {
|
for (int x = 0; x < numAttacked; x++) {
|
||||||
int monsterOid = slea.readInt(); // attacked oid
|
int monsterOid = slea.readInt(); // attacked oid
|
||||||
slea.skip(18);
|
slea.skip(18);
|
||||||
|
|||||||
@@ -317,7 +317,7 @@ public final class UseCashItemHandler extends AbstractMaplePacketHandler {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
remove(c, position, itemId);
|
remove(c, position, itemId);
|
||||||
} else if (itemType == 508) { // graduation banner, thanks to tmskdl12. Also, thanks ratency for first pointing lack of Kite handling
|
} else if (itemType == 508) { // thanks tmskdl12 for graduation banner; thanks ratency for first pointing lack of Kite handling
|
||||||
MapleKite kite = new MapleKite(player, slea.readMapleAsciiString(), itemId);
|
MapleKite kite = new MapleKite(player, slea.readMapleAsciiString(), itemId);
|
||||||
|
|
||||||
if (!GameConstants.isFreeMarketRoom(player.getMapId())) {
|
if (!GameConstants.isFreeMarketRoom(player.getMapId())) {
|
||||||
|
|||||||
@@ -30,7 +30,9 @@ import tools.data.input.SeekableLittleEndianAccessor;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author kevintjuh93; modified by Ronan
|
* @author kevintjuh93
|
||||||
|
*
|
||||||
|
* Modified by -- Ronan - concurrency protection
|
||||||
*/
|
*/
|
||||||
public class UseGachaExpHandler extends AbstractMaplePacketHandler {
|
public class UseGachaExpHandler extends AbstractMaplePacketHandler {
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,9 @@ import tools.data.input.SeekableLittleEndianAccessor;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author XoticStory; modified by kevintjuh93, Ronan
|
* @author XoticStory
|
||||||
|
*
|
||||||
|
* Modified by -- kevintjuh93, Ronan
|
||||||
*/
|
*/
|
||||||
public final class UseSolomonHandler extends AbstractMaplePacketHandler {
|
public final class UseSolomonHandler extends AbstractMaplePacketHandler {
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import java.util.List;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author By Drago/Dragohe4rt
|
* @author Drago (Dragohe4rt)
|
||||||
*/
|
*/
|
||||||
public final class WeddingHandler extends AbstractMaplePacketHandler {
|
public final class WeddingHandler extends AbstractMaplePacketHandler {
|
||||||
|
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ import net.server.coordinator.MaplePartySearchCoordinator;
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author kevintjuh93
|
* @author kevintjuh93
|
||||||
* @author Ronan - thread-oriented world schedules, guild queue, marriages & party chars
|
* @author Ronan - thread-oriented (world schedules + guild queue + marriages + party chars)
|
||||||
*/
|
*/
|
||||||
public class World {
|
public class World {
|
||||||
|
|
||||||
|
|||||||
@@ -622,7 +622,7 @@ public class NPCConversationManager extends AbstractPlayerInteraction {
|
|||||||
return sbe != SkillBookEntry.UNAVAILABLE ? " Obtainable through #rquestline#k." : "";
|
return sbe != SkillBookEntry.UNAVAILABLE ? " Obtainable through #rquestline#k." : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
// By Drago/Dragohe4rt CPQ + WED
|
// (CPQ + WED wishlist) by -- Drago (Dragohe4rt)
|
||||||
public int cpqCalcAvgLvl(int map) {
|
public int cpqCalcAvgLvl(int map) {
|
||||||
int num = 0;
|
int num = 0;
|
||||||
int avg = 0;
|
int avg = 0;
|
||||||
|
|||||||
@@ -910,10 +910,14 @@ public class MapleItemInformationProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Issue with clean slate found thanks to Masterrulax
|
||||||
|
Vicious added in the clean slate check thanks to Crypter (CrypterDEV)
|
||||||
|
*/
|
||||||
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 ServerConstants.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 ServerConstants.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) {
|
||||||
@@ -1522,7 +1526,7 @@ public class MapleItemInformationProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Pair<Integer, List<RewardItem>> getItemReward(int itemId) {//Thanks Celino, used some stuffs :)
|
public Pair<Integer, List<RewardItem>> getItemReward(int itemId) {//Thanks Celino - used some stuffs :)
|
||||||
if (rewardCache.containsKey(itemId)) {
|
if (rewardCache.containsKey(itemId)) {
|
||||||
return rewardCache.get(itemId);
|
return rewardCache.get(itemId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ import tools.Pair;
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Matze
|
* @author Matze
|
||||||
* @author Ronan - concurrency safety & check available slots & trade results
|
* @author Ronan - concurrency safety + check available slots + trade results
|
||||||
*/
|
*/
|
||||||
public class MapleTrade {
|
public class MapleTrade {
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import tools.MaplePacketCreator;
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* MapleTVEffect
|
* MapleTVEffect
|
||||||
* @author MrXotic
|
* @author MrXotic (XoticStory)
|
||||||
* @author Ronan - made MapleTV mechanics synchronous
|
* @author Ronan - made MapleTV mechanics synchronous
|
||||||
*/
|
*/
|
||||||
public class MapleTVEffect {
|
public class MapleTVEffect {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import provider.MapleDataTool;
|
|||||||
import server.life.MobSkill;
|
import server.life.MobSkill;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*@author Drago/Dragohe4rt
|
*@author Drago (Dragohe4rt)
|
||||||
*/
|
*/
|
||||||
public class MapleCarnivalFactory {
|
public class MapleCarnivalFactory {
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import server.maps.MapleReactor;
|
|||||||
import tools.MaplePacketCreator;
|
import tools.MaplePacketCreator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Drago/Dragohe4rt
|
* @author Drago (Dragohe4rt)
|
||||||
*/
|
*/
|
||||||
public class MonsterCarnival {
|
public class MonsterCarnival {
|
||||||
|
|
||||||
|
|||||||
@@ -2205,7 +2205,7 @@ public class MaplePacketCreator {
|
|||||||
mplew.write(game.getGameType().getValue());
|
mplew.write(game.getGameType().getValue());
|
||||||
mplew.writeInt(game.getObjectId()); // gameid/shopid
|
mplew.writeInt(game.getObjectId()); // gameid/shopid
|
||||||
mplew.writeMapleAsciiString(game.getDescription()); // desc
|
mplew.writeMapleAsciiString(game.getDescription()); // desc
|
||||||
mplew.writeBool(!game.getPassword().isEmpty()); // password here, thanks GabrielSin!
|
mplew.writeBool(!game.getPassword().isEmpty()); // password here, thanks GabrielSin
|
||||||
mplew.write(game.getPieceType());
|
mplew.write(game.getPieceType());
|
||||||
mplew.write(ammount);
|
mplew.write(ammount);
|
||||||
mplew.write(2); //player capacity
|
mplew.write(2); //player capacity
|
||||||
@@ -2219,7 +2219,7 @@ public class MaplePacketCreator {
|
|||||||
mplew.writeInt(hm.getObjectId());
|
mplew.writeInt(hm.getObjectId());
|
||||||
mplew.writeMapleAsciiString(hm.getDescription());
|
mplew.writeMapleAsciiString(hm.getDescription());
|
||||||
mplew.write(hm.getItemId() % 100);
|
mplew.write(hm.getItemId() % 100);
|
||||||
mplew.write(roomInfo); // visitor capacity here, thanks GabrielSin!
|
mplew.write(roomInfo); // visitor capacity here, thanks GabrielSin
|
||||||
}
|
}
|
||||||
|
|
||||||
public static byte[] updateHiredMerchantBox(MapleHiredMerchant hm) {
|
public static byte[] updateHiredMerchantBox(MapleHiredMerchant hm) {
|
||||||
|
|||||||
@@ -17,7 +17,9 @@ import tools.data.output.MaplePacketLittleEndianWriter;
|
|||||||
/**
|
/**
|
||||||
* CField_Wedding, CField_WeddingPhoto, CWeddingMan, OnMarriageResult, and all Wedding/Marriage enum/structs.
|
* CField_Wedding, CField_WeddingPhoto, CWeddingMan, OnMarriageResult, and all Wedding/Marriage enum/structs.
|
||||||
*
|
*
|
||||||
* @author Eric edited by Drago/Dragohe4rt on Wishlist
|
* @author Eric
|
||||||
|
*
|
||||||
|
* Edited wishlists by -- Drago (Dragohe4rt)
|
||||||
*/
|
*/
|
||||||
public class Wedding extends MaplePacketCreator {
|
public class Wedding extends MaplePacketCreator {
|
||||||
private static final short MARRIAGE_REQUEST = 0x48;
|
private static final short MARRIAGE_REQUEST = 0x48;
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ public class Main {
|
|||||||
ArrayList<Integer> item_ids = DataTool.itemIdsFromName(item_name);
|
ArrayList<Integer> item_ids = DataTool.itemIdsFromName(item_name);
|
||||||
|
|
||||||
if(scroll && item_ids.isEmpty()) {
|
if(scroll && item_ids.isEmpty()) {
|
||||||
// Try adding on the % again. Thanks nexon...
|
// Try adding on the % again. Ty nexon...
|
||||||
if(scrollType == 0) item_name += " 100%";
|
if(scrollType == 0) item_name += " 100%";
|
||||||
if(scrollType == 1) item_name += " 60%";
|
if(scrollType == 1) item_name += " 60%";
|
||||||
if(scrollType == 2) item_name += " 10%";
|
if(scrollType == 2) item_name += " 10%";
|
||||||
|
|||||||
Reference in New Issue
Block a user