Skip to content
This repository was archived by the owner on Dec 28, 2019. It is now read-only.

Commit 6cef01f

Browse files
committed
GMS-like Wedding + Scissors of Karma + Maple Life + Buyback
Properly developed the Marriage feature in the source. Added TRAVEL_RATE server flag, a modifier for the travel frequency rate. Corrected stance for players in 3rd party view when entering a map to work similarly as GMS. Fixed mobs spamming skills incoherently. Added code support for old GMS-like PQ NPCs, where party leaders just need to click once to start a new PQ. Implemented podium system for the Hall of Fame PlayerNPCs. Improved character load-out system, now using way less queries to the DB in the process. Fixed birthday field for accounts not being read correctly. Further implemented the incomplete yet-existing Scissors of Karma mechanic. Fixed Duey not propagating item flags when packaging an item. Added a custom buyback system. Refactored the character creation system, now offering support for Maple Life. Fixed some issues with the PlayerNPC positioning system. Added server flag allowing AP assignment for novices (beginners under level 11). Fixed Strategy Time (GPQ) announcement being sent twice to guilds in certain cases. Tweaked mount EXP system now awarding it accordingly with the amount of tiredness healed. Removed the randomness aspect of closeness gain when feeding the pet, now acting accordingly with amount of fullness gained. Fixed an exploit with Arwen script. Fixed travel-back from Florina forcefully sending players to Lith Harbor in certain situations. Thoroughly reviewed job skill questlines for Explorers and Aran. Localhost edit: removed MTS block in certain maps (useful for the buyback system). Localhost edit: removed party blocks for novices. Localhost edit: removed AP assigning block for novices. Localhost edit: removed speed cap. Localhost edit: removed Maker block popping up when inputting ATK gems on non-weapons.
2 parents fca7b2a + f6c06e5 commit 6cef01f

File tree

230 files changed

+11376
-3457
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

230 files changed

+11376
-3457
lines changed

README.md

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55

66
Credits are to be given too to Nexon(Duh!), the original MapleSolaxia staff and other colaborators, as just some changes/patches on the game were applied by myself, in which some of them diverged from the original v83 patch contents.
77

8-
Regarding distributability and usage of the code presented here: like it was before, this MapleStory server is open-source. By that, it is meant that anyone is free to install, use, modify and redistribute the contents, as long as there is no kind of commercial trading involved and the credits to the original creators are maintained within the codes.
8+
Regarding distributability and usage of the code presented here: like it was before, this MapleStory server is open-source. By that, it is meant that anyone is **free to install, use, modify and redistribute the contents**, as long as there is **no kind of commercial trading involved** and the **credits to the original creators are maintained** within the codes.
99

1010
This is a NetBeans 8.0.2 Project, that MUST be built and run under JDK/JRE 7 in order to run properly. This means that it's easier to install the project via opening the server project folder inside NetBeans' IDE. Once installed, build this project on your machine and run the server using the "launch.bat" application.
1111

12-
In this project, many gameplay-wise issues generated from either the original WZ files and the server sources have been partially or completely solved. Considering the use of the provided edited WZ's and server-side wz.xml files should be of the greatest importance when dealing with this instance of private server, in order to perceive it at it's full potential. My opinion, though! Refer to "README_wzchanges.txt" for more information on what has been changed from Nexon's v83 WZ files.
12+
In this project, many gameplay-wise issues generated from either the original WZ files and the server source have been partially or completely solved. Considering the use of the provided edited WZ's and server-side wz.xml files should be of the greatest importance when dealing with this instance of private server, in order to perceive it at it's full potential. My opinion, though! Refer to "README_wzchanges.txt" for more information on what has been changed from Nexon's v83 WZ files.
1313

1414
The main objective of this project is to try as best as possible to recreate what once was the original MapleStory v83, while adding up some flavors that spices up the gameplay. In other words, aim to get the best of the MapleStory of that era.
1515

@@ -22,37 +22,55 @@ Client files & general tools: https://drive.google.com/drive/folders/0BzDsHSr-0V
2222

2323
**Important note about localhosts**: these executables are red-flagged by antivirus tools as __potentially malicious softwares__, this happens due to the reverse engineering methods that were applied onto these software artifacts. Those depicted here have been put to use for years already and posed no harm so far, so they are soundly assumed to be safe.
2424

25-
Recommended localhost: https://hostr.co/MluJQNtzAnV9
25+
Recommended localhost: https://hostr.co/m2bVtnizCtmD
2626

2727
**Change log:**
2828

29+
* Removed block on applying attack-based strengthening gems on non-weapon equipments.
30+
31+
* Set a higher cap for SPEED.
32+
33+
* Removed the AP assigning block for beginners below level 10. https://hostr.co/AHAHzneCti9B
34+
35+
* Removed block on party for beginners level 10 or below. https://hostr.co/JZq53mMtToCz
36+
37+
* Removed block on MTS entering in some maps, rendering the buyback option available.
38+
2939
* Removed "AP excess" popup and limited actions on Admin/MWLB, credits to kevintjuh93.
3040

3141
* Removed "You've gained a level!" popup, credits to PrinceReborn.
3242

33-
* Removed caps for WATK, WDEF, MDEF, ACC, AVOID
43+
* Removed caps for WATK, WDEF, MDEF, ACC, AVOID.
3444

35-
* 'n' problem fixed
45+
* 'n' problem fixed.
3646

3747
* Fraysa's https://hostr.co/gJbLZITRVHmv
3848

39-
* MapleSilver's starting on window-mode
49+
* MapleSilver's starting on window-mode.
4050

4151
---
42-
### Support us
52+
### Development status
4353

44-
Feel free to __root for us__ on our endeavour at our Discord channel, or even actively **help us improve** the server by issuing pull requests with informative details about what's changing.
54+
Status: <span style="color:green">__Released__</span>.
4555

46-
Also, if you liked this project, please don't forget to __star__ the repo ;) .
56+
HeavenMS development achieved an acceptable state-of-art and will get into a halt. A heartfelt thanks for everyone that contributed in some way for the progress of this server!
4757

48-
Discord: https://discord.gg/Q7wKxHX
58+
Although development is halted, support for fixing features that were implemented here is still up. You can still actively help us improve the server by issuing pull requests with informative details about what's changing.
59+
60+
If you liked this project, please don't forget to __star__ the repo ;) .
61+
62+
Our Discord channel is still available on: https://discord.gg/Q7wKxHX
4963

5064
### Donation
5165

5266
If you REALLY liked what you have seen on the project, please feel free to donate a little something as a helping hand for my contributions towards Maple development. Also remember to **support Nexon**!
5367

5468
Paypal: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3K8KVTWRLFBQ4
5569

70+
### Note about public server
71+
72+
HeavenMS staff has __no current intention__ to publicly open a server with this source, if that ever comes to happen this note will be lifted. __Don't be scammed!__
73+
5674
---
5775
### Preparing the ambient
5876

docs/area_bosses/BossEvent.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// @Author: Resinate
2+
3+
var towns = new Array(800020120, 251010102, 260010201, 107000300, 200010300, 100040105, 100040106, 261030000, 110040000, 250010504, 240040401, 104000400, 222010310, 230040420, 230040420, 230020100, 105090310, 101030404, 250010304, 220050100, 220050000, 220050200, 221040301);
4+
var spawns = new Array(6090002, 5220004, 3220001, 6220000, 8220000, 5220002, 5220002, 8220002, 5220001, 7220002, 8220003, 2220000, 7220001, 8510000, 8520000, 4220001, 8220008, 3220000, 7220000, 5220003, 5220003, 5220003, 6220001);
5+
var x = new Array(560, 560, 645, 90, 208, 456, 474, -300, 200, 400, 0, 400, 0, 527, 138, 0, -626, 800, -300, -300, 0, 0, -4224);
6+
var y = new Array(50, 50, 275, 119, 83, 278, 278, 180, 140, 540, 1125, 455, 33, -437, 138, 520, -604, 1280, 390, 1030, 1030, 1030, 776);
7+
var mapObj;
8+
var mobObj;
9+
10+
function init() {
11+
scheduleNew();
12+
}
13+
14+
function scheduleNew() {
15+
setupTask = em.schedule("start", 0);
16+
}
17+
18+
function cancelSchedule() {
19+
if (setupTask != null)
20+
setupTask.cancel(true);
21+
}
22+
23+
function start() {
24+
var time = (Math.floor(Math.random() * 10) + 10) * (60 * 1000);
25+
for(var i = 0; i < towns.length; i++) {
26+
mapObj = em.getChannelServer().getMapFactory().getMap(towns[i]);
27+
mobObj = Packages.server.life.MapleLifeFactory.getMonster(spawns[i]);
28+
if(mapObj.getMonsterById(spawns[i]) == null) {
29+
mapObj.spawnMonsterOnGroundBelow(mobObj, new Packages.java.awt.Point(x[i],y[i]));
30+
}
31+
}
32+
em.schedule("start", time);
33+
}

docs/feature_list.md

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Feature list:
2222

2323
PQs:
2424

25-
* HPQ/KPQ/LPQ/LMPQ/OPQ/EllinPQ/PiratePQ/MagatiaPQ/HorntailPQ/AmoriaPQ/TreasurePQ.
25+
* HPQ/KPQ/LPQ/LMPQ/OPQ/EllinPQ/PiratePQ/MagatiaPQ/HorntailPQ/AmoriaPQ/TreasurePQ/ElnathPQ.
2626
* CWKPQ as Expedition-based event.
2727
* Expeditions: Scarga/Horntail/Showa/Balrog/Zakum/Pinkbean.
2828
* GuildPQ + Guild queue with multi-lobby systems available.
@@ -32,7 +32,7 @@ PQs:
3232

3333
Skills:
3434

35-
* Some skills behaving oddly have been patched, such as Venomous Star/Stab and Mystic Doors.
35+
* Some skills behaving oddly have been patched, such as Steal, Venomous Star/Stab and Mystic Doors.
3636
* Maker skill features properly developed.
3737
* Server is using heuristics to calculate fee costs for the Maker (errors sums up to 8k mesos, reagent errors stacks up comformant with it's level).
3838
* New skill: Chair Mastery (max lv 1) - Players having this passive skill can gain a significant boost of HP/MP recovery when sitting on a field/map chair.
@@ -44,18 +44,23 @@ Quests:
4444
* Quest rewards according to jobs works properly.
4545
* Reward selection and randomed reward works properly.
4646
* Loads of quests have been patched.
47+
* Meso requirement for starting/completing quests now must be met by the player.
4748
* Lots of job questlines (rewarding skills) have been patched/implemented.
48-
* Enchanced rewarding system: checks for stacking opportunities on the inventory before checking for new slots.
49+
* Enhanced rewarding system: checks for stacking opportunities on the inventory before checking for new slots.
50+
* Improved the quest expiration system, one of the tweaks making the clock UI disappear when completing/expiring quests.
51+
* Reviewed Aran questline.
52+
* Reviewed 4th job skill questlines as a whole.
4953
* Complete overhaul on the 3rd job quiz (explorers), with all 40-question pool now made available.
5054

5155
Player Social Network:
5256

5357
* Guild and Alliance system fully functional.
58+
* Implemented Marriage system from the ground-up (excluding character packet encoding parts that were already present, proper credits given throughout the source files).
5459
* Beginners can create and join a "beginner-only" party (characters up to level 10).
5560
* Enhanced synchronization on Player Shops and Hired Merchants. Transactions made are instantly informed to the owner.
5661
* Game minirooms such as match cards and omok now has semi-functional password system.
5762
* Item pickup cooldown on non-owned/non-partyowned items functional.
58-
* Further improved the server's ranking system, to now display properly daily player ranking movement.
63+
* Further improved the server's ranking system, now displaying properly daily player ranking movement.
5964
* Automated support for Player NPCs and Hall of Fame.
6065

6166
Cash & Items:
@@ -66,12 +71,14 @@ Cash & Items:
6671
* New scroll: antibanish. For use only in cases where bosses send a player back to town.
6772
* Inventory system properly checks for item slot free space and ownership.
6873
* Storage with "Arrange Items" feature functional.
74+
* Spikes on shoes.
6975
* Vega's spell.
7076
* Owl of Minerva.
7177
* Pet item ignore.
7278
* New Year's card (New Year effect sometimes d/c's a player).
7379
* Kite.
7480
* Cash Shop Surprise.
81+
* Maple Life.
7582

7683
Monsters, Maps & Reactors:
7784

@@ -80,12 +87,18 @@ Monsters, Maps & Reactors:
8087
* Monsterbook displays drop data info conformant with the underlying DB (needs custom wz). See more on the MobBookUpdate feature.
8188
* Every skill/mastery book is now droppable by mobs.
8289
* Mobs now can drop more than one of the same equipment (number of possible drops defined at droptime, uses the minimum/maximum quantity fields on DB).
90+
* Improved map bounding checks for item drop points, assuring most of the items dropped will be available to pickup inside the accessible map area.
91+
* Limited item count on maps, smartly expiring oldest registered items, preventing potential item flooding.
92+
* Implemented Zombify disease status.
8393
* Added Boss HP Bar for dozens of bosses (needs provided custom wz).
8494
* If multiple bosses are on the same area, client will prioritize Boss HP bar of the target of the player.
8595
* Boats, elevator and other travelling mechanics fully working.
96+
* HP decreasing overtime on maps and mechanics to prevent them (consumables, equips) fully functional.
8697
* Crimson Balrog boat approaching visual effect made functional.
8798
* PQs, Taxis and other event-driven situations warps players at random spawnpoints, GMS-like.
88-
* Some reactors (PQ bonus boxes) now sprays items on the map, instead of dropping everything at once.
99+
* Some reactors (PQ bonus boxes) spraying items on the map, instead of dropping everything at once.
100+
* Reactors pick items up smartly, checking for an option to pick up on many-items-nearby scenario.
101+
* Updated many scripted portals not implementing SFX properly.
89102
* Updated Crimsonwood, World Tour, Nihal Desert and Neo City, enabling quest completion and game progression in these areas.
90103
* Giant Cake (anniversary-themed boss) drops Maple equipments, Maple scrolls, summoning bags and many more interesting items.
91104

@@ -110,16 +123,20 @@ Server potentials:
110123
* Enhanced auto-pot system: pet uses as many potions as necessary to reach the desired threshold.
111124
* Enhanced buff system: smartly checks for the best available buff effects to be active on the player.
112125
* Enhanced AP auto-assigner: exactly matches AP with the needed for the player's current level, surplus assigned to the primary attribute.
126+
* Tweaked pet/mount hunger: calculations for fullness/tiredness takes active time of the subject into account.
127+
* NPC crafters (equips, plates/jewels, etc) now won't take items freely if the requirement conditions are not properly met.
113128
* Pet item pickup now gives preference to player attacks rather than forcing attack disables when automatically picking up.
114129
* Channel capacity bar functional and world servers with max capacity checks.
115130
* Disease status are now visible for other players, even when changing maps.
116131
* Poison damage value are now visible for other players.
117132
* Mastery book announcer displays droppers of needed books of a player, by reading underlying DB.
118133
* Custom jail system (needs provided custom wz).
134+
* Custom buyback system.
119135
* Delete Character (requires ENABLE_PIC activated).
120136
* Autosaver (periodically saves on DB current state of every player in-game).
121137
* Both fixed and randomized versions of HP/MP growth rate available, regarding player job (enable one at ServerConstants). Placeholder for HP/MP washing feature.
122138
* Reallocated mapobjectids utilization throughout the source, preventing issues such as "NPC disappearing mysteriously after some server time" from happening.
139+
* Implemented old GMS statup mechanic for novices level 10 or below. Usage of the edited localhost is mandatory on this.
123140
* Accounts can be created automatically when trying to login on an inexistent account -- credits to shavit.
124141
* Usage of Bcrypt (up-to-date) as the main password hashing algorithm, replacing old SHA's -- credits to shavit.
125142

@@ -157,6 +174,7 @@ Project:
157174
* Fixed/added some missing packets for MoveEnvironment, summons and others.
158175
* Uncovered many Send/Recv opcodes throughout the source.
159176
* Reviewed many Java object aspects that needed concurrency protection.
177+
* Usage of HikariCP to improve the DB connection management.
160178
* Protected many flaws with login management system.
161179
* Heavily reviewed future task management inside the project. Way less trivial schedules are spawned now, relieving task overload on the TimerManager.
162180
* ThreadTracker: embedded auditing tool for run-time deadlock scanning throughout the server source (relies heavily on memory usage, designed only for debugging purposes).
@@ -174,5 +192,17 @@ Localhost:
174192
* Removed caps for MATK, WDEF, MDEF, ACC and AVOID.
175193
* Removed "AP excess" popup and "Admin/MWLB" action block, original credits to kevintjuh93.
176194
* Removed "You've gained a level!" popup, original credits to PrinceReborn.
195+
* Removed "Cannot enter MTS from this map." popup on maps that blocks transitions (such change channel, CS/MTS), rendering the buyback option now available for all maps.
196+
* Removed a check for players wishing to create/join a party being novices under level 10.
197+
* Set a new high cap for SPEED.
198+
* Removed the AP assign block for novices.
199+
* Removed a block that would show up when trying to apply an attack gem on equipments that aren't weapons.
200+
201+
Custom NPCs:
202+
203+
* Agent E: Accessory crafter.
204+
* Donation Box: Instant-sell NPC.
205+
* Ace of Hearts & Coco: C. scroll crafter.
206+
* Spiegelmann: Instant-ore refiner NPC.
177207

178208
---------------------------

docs/issues.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,22 @@ Known issues:
1010
- Passwords on minirooms are not encoded for players entering/logging into the map.
1111
- Some criticals (e.g. from Aran skills) will not show up as crit for other players.
1212
- Deadlocks may start appearing if the server stays online long enough with many players logged in.
13+
- If there are multiple bosses that shows HPBar on the map, if a player hits more than one the HPBar may start flickering on the screen.
1314
---------------------------
1415

1516
---------------------------
1617
Missing features list:
1718
- Miniroom tooltips (such as number of players in store/host awaiting game) not showing up properly.
19+
- Change name/World transfer.
20+
- Some pirate skills doesn't work for 3rd parties.
21+
- Medal quests.
1822
---------------------------
1923

2024

2125
---------------------------
2226
** Others **
23-
- Marriage
2427
- Family system
28+
- MTS
2529
---------------------------
2630

2731

0 commit comments

Comments
 (0)