Commit Graph

54 Commits

Author SHA1 Message Date
ronancpl
b141efdbf2 Fixed drop count on maps
Fixed an issue with map drop count displaying errouneous info after items are "picked-up" by reactors or commands like cleardrops.
2017-12-12 11:16:34 -02:00
ronancpl
1386891182 Removed useless popup + 3rd job Cygnus revamp + droplimit command
Removed the Stat Upgrade UI that would popup when leveling up to 15/20/25/30.
Improved 3rd job advancement for Cygnus Knights, now working GMS-like.
Added "droplimit" command. When issued, it will show to the player the current drop count on the map.
2017-12-10 11:11:16 -02:00
ronancpl
f698c41f00 Nihal quests + Reactor's mapitem detection + MapleQuestMesoFetcher
Improved quests and game progression in the Nihal Desert region.
Reactors that uses map items now automatically detects those already on the ground after changing states.
New tool: MapleQuestMesoFetcher. This tool parses the Quest.wz XML files, detecting and reporting quest ids from quests that does not properly checks for mesos to take from the player before completing the quest.
2017-12-07 19:08:38 -02:00
ronancpl
85a81b9bf9 Neo City + Revamped EllinPQ + New Release
Fixed Neo City area, now playable.
Overhauled the EllinPQ mechanics, such as the "CLEAR" effect when passing maps, and some bug fixes along the way.
Refactored a lot of out-of-place classes and properly renamed a few others through the project.
Updated readme and licenses through the source, preparing the stage for the new release.
2017-11-29 00:57:50 -02:00
ronancpl
4dd2764776 Reactor spray-drop + Quest with equipped items + MapleMapInfoRetriever
Implemented GMS-like "item spraying" from reactors. All boxes holding more than 5 drops have been changed to use this behavior.
Added information for players trying to start/complete quests having the required item equipped. It is expected to have all required items unequipped before handling a quest operation.
New check-purpose tool: MapleMapInfoRetriever. It's sole function is to detect and report map XMLs that has no "info" node in between the server files.
2017-11-20 15:27:06 -02:00
ronancpl
71ad2ee3a9 Quest clock & ThreadTracker & MapleArrowFetcher patches
Fixed quest timer UI not disappearing on the client on quest complete.
Fixed a bug on ThreadTracker, not displaying properly the last acquired lock-type.
Fixed MapleArrowFetcher giving out same values from min and max ranges. Max should always be greater than min. Updated DB drops.
Readjusted player ids now starting from 1 again, and moved field oids to start counting from 1bil.
2017-11-18 11:24:24 -02:00
ronancpl
2b38b62683 ThreadTracker + Attempt on NPC Disappearing fix
Engineered the ThreadTracker: server-embedded deadlock auditing tool, which will print error messages in case of found deadlocks (also showing all in-use locks on the time of the issue).
Changed the player's id on DB now starting from 20mil, thus preventing players from overwriting NPC/mobs with same oid in-game. Requires proper testing to see if the issue has been cleared.
2017-11-16 12:22:32 -02:00
ronancpl
bc482ee0d2 Aran skill & mount quests + New player IDs + MapleSkillMakerFetcher
Aran skill and mount questlines fixed.
Player ID starts counting from 20mil now, preventing clashes with map objects oid's (trying to solve the NPC disappearing issue).
New tool: MapleSkillMakerFetcher. It compiles a SQL script file containing updated Maker data info from the inputted ItemMake.wz.xml.
Updated Maker tables on the DB.
2017-11-14 16:55:37 -02:00
ronancpl
c46ff82929 Major schedules & DB refactor
Refactored many calls for TimerManager's schedules throughout the source.
Switched all tables using MyISAM to InnoDB: on a multi-threaded environment such as this, table-locking is an instant no-no, and other gains MyISAM would have over InnoDB are minimal.
Altered getConnection() to properly throw an exception (good practice!) in case of no available connection instead of a mere null.
2017-11-09 20:20:21 -02:00
ronancpl
624aca375e WK charges fix + Job level cap + MapleQuestItemFetcher
Fixed WK charges not overriding one another and some concurrency issues within MapleMap and EventInstanceManager.
New feature: job level cap, limits EXP gain until job advancement is done.
New tool: MapleQuestItemFetcher, searches through the server files for missing quest items and reports the results.
2017-11-07 10:44:00 -02:00
ronancpl
1fead59c57 Slot Max & Wind Walk fix + reviewed scripted portals
Fixed slotMax function caching up dirtied player data.
Fixed many portals not supposed to warp players to "random spawnpoints".
Fixed Wind Walk not being cancellable by attacking.
2017-11-03 17:06:48 -02:00
ronancpl
44949aea37 Buff System & Map skipping fix + properly disposing Storage + Fairness to locks
Fixed buff system behaving oddly if a buff has value zero, that would render some skills "broken".
Fixed players skipping maps when trying to access portals while under a poor Internet connection.
Fixed storage not disposing players properly in cases where the players does not meet the storage conditions.
Set some locks to use fairness strategy when dealing with atomic code, in order to make the calls to it properly synchronized.
Fixed Aran introductory questline stucking players when certain conditions were met.
Added drop data for some mob versions of Fairy, Yeti and Pepe.
2017-10-29 16:02:50 -02:00
ronancpl
5f1abf3fb3 HikariCP config + MaxHP/MP & EXP overhaul + Venom fix
Overhauled the HikariCP connection, now it properly tries the best to hand out a DB connection. Fixed "commands" NPC crashing out players when entering the command multiple times in a short time. Rebalanced HP/MP gain on leveling up/AP resetting. Rebalanced HP/MP loss when AP resetting to use the same amount they would be earning on levelup. Fixed EXP distribution now computing overall monster maxHP plus heal instead of flat monter maxHP, that rendered on distributions of over 100% of the raw EXP. Added concurrency protection on MapleMonster. Fixed an issue on venom skills that would let an "1 dmg" appear to the client alongside the DOT.
2017-10-27 13:00:36 -02:00
ronancpl
d91c893400 Map chair patch + other minor fixes
Patched map chair skill not disposing heal task properly in case of player changing maps while resting.
2017-10-22 02:04:36 -02:00
ronancpl
57c29603d1 Fixed chair exploit & beholder issue + Mini-dungeon revamp
Fixed an (quite amusing) exploit with map chairs stacking "extra healing" schedules on certain conditions. Fixed mini-dungeon not disposing players properly in some cases. Refactored the mini-dungeon structure. Fixed an issue on CASH inventory merging same items when trying to swap them. Fixed Beholder crash issue when trying to enter Cash Shop.
2017-10-16 15:13:42 -02:00
ronancpl
1ec7487bd3 White scroll & PiratePQ fix + Party for starters + concurrency protection on event scripts
Fixed successful scrolled items not using up an upgrade slot when using white scroll. Fixed some issues with the PiratePQ and added a "clear all boxes to complete a stage"-mode. Added "Party for Starters" feature. Added concurrency protection on event script modules.
2017-10-13 03:31:51 -03:00
ronancpl
3a882c7f31 Exp gain & Chaos scroll fix + Diet's MK Overhaul
Fixed issues with negative experience being distributed to characters
when killing a mob, rendering "Exp reset". Fixed chaos scroll behaving
oddly. Refactored debuff expirations to manage one list with registered
debuffs and expire times, thus lifting some load from the TimerManager.
Added concurrency protection on how World deals with parties. Thanks to
the DietStory dev team, fixed some issues with the MK maps.
2017-10-04 02:35:52 -03:00
ronancpl
1ffcf47f79 AmoriaPQ + ItemSort fix + revamped GMShop
Implemented AmoriaPQ. Fixed an issue with ItemIdSortHandler where empty
vectors given to the sorting module would cause an exception thrown,
wiping players inventory items. Thanks to Vcoc, revamped shop data for
GMShop (shop id 1337). Mount quest for explorers now uses event script.
2017-09-15 21:32:15 -03:00
ronancpl
f387d589b2 Autosave feature + Pet Ignore fix
Added experimental autosaver feature. Fixed pet ignore feature not
saving/loading data in some cases. Added concurrency protection for
inventory classes and monster book.
2017-09-11 16:53:40 -03:00
ronancpl
e064d5cbfa Vegas's spell + pet/mounts schedule revamp + CafePQ
Added Vega's Spell feature. Refactored mounts and pets schedules (now
one thread runs globally updating stats). Fixed Pet Ignore now saving to
DB. Fixed Flash Jump animation not appearing for other players just
after changing jobs. Fixed 3rd job, now as a proper event with timeout.
Introducing Brand-new PQ: CafePQ.
2017-09-08 14:36:58 -03:00
ronancpl
74b4ca4132 Reworked Autoassigner & Hero's Will & Trade + Visual NX + New commands
Reworked autoassigner (improved limits between required secondary and
surplus primary stats). Hero's will removes most of diseases, tonic
removes slow. Added visual info for collected NX cards. Added commands
cake (cake boss with customizable HP) and setgmlevel. Reworked Trade
system now checking for slots smartly (instead of just checking for
empty slots).
2017-09-01 01:20:01 -03:00
ronancpl
ba6b5bc191 Crafters & keybinding & commands fix + updated MobBook info
Fixed player receiving DOT even if protected on Orbis Tower <B2>, added
HPbar on Rombot, fixed keybinding issue with clashing skill-item id's,
fixed some mischeckings on NPC crafters, fixed "travelling events"
sending players to random spawnpoints when arriving, fixed hair&face
commands, fixed dispel effect not showing to others, updated drop data
on mobbook.
2017-08-18 19:35:23 -03:00
ronancpl
c8e36c10e7 Reworked equip lvlup + Reactor quest item drop + ToT quests fix
Rebalanced the way equipment exp is gained (about 100~200 same-level
range mobs to pass equip level 1 to 2). Fixed reactors dropping quest
items to player if they don't have the quest started. Fixed broken
Temple of Time quests.
2017-08-16 14:06:59 -03:00
ronancpl
e0a27e00ab 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.
2017-08-11 12:41:35 -03:00
ronancpl
f78defec1f Antibanish mechanics + Limited drops on map + SQL tidy-up
Added antibanish mechanics: as like other "diseases" that can be treated
with some useable items, banish will be able to be recovered as well.
Fixed some SQL issues introduced on the last commit, as well as
lingering inexistent ids on drop data. Fixed some concurrency issues
with MapleMapFactory. Set a ceiling for simultaneous items available per
map, where old ones are promptly discarded. Patched MWLB attack block
for higher level GMs.
2017-08-05 19:38:07 -03:00
ronancpl
0a2e382c3b Savior Commit
Fixed some bugs regarding dojo, updated drop data, minor tweaks on
Mystic Doors, added expeditions for Showa Manor, Zakum and Pink Bean,
smart search for item slots on quest/npc rewarding system, attempt on
boss HPbar to focus on player's current target, quests with selectable
rewards now hands the item correctly, after the first PQ instance next
ones are loaded more smoothly.
2017-08-04 00:04:46 -03:00
ronancpl
c09bc02c85 Horntail PQ & Exped + Equip levelup fix
Added Horntail PQ and boss fight. Fixed short integer overflow of
equipment stats on client messing up player stats.
2017-07-20 12:02:59 -03:00
ronancpl
8fab2a6e3e Reworked Singapore/Malaysia + warp fix
Reworked many aspects of the Malaysia/Singapore region (added DB data,
enabled Latanica & Scarga expedition, fixed maps). Fixed some issues
related with player warping.
2017-07-14 20:40:06 -03:00
ronancpl
7f80f45553 More Masteria quests + several minor fixes
Added more quests on Masteria and updated drop data in the region. Fixed
mystic door on slopes deploying players unproperly. Fixed mounts
equipped by low level players crashing the client.
2017-07-12 02:36:20 -03:00
ronancpl
b7c0bb6c07 Attempt on Mystic Doors
Partially fixed Mystic Doors.
2017-07-09 20:00:31 -03:00
ronancpl
ca3838050d Implemented CWKPQ
Made CWKPQ fully-functional, using the Expedition system (won't work
with the lobby system).
2017-06-30 01:26:47 -03:00
ronancpl
a7beff1bb4 CWKPQ inclusion
Added some CWKPQ imports for the server. Enabled basic mechanics for a
run, but still WIP.
2017-06-26 01:34:56 -03:00
ronancpl
6b2b3616d6 Guild & Alliances Patches
As reported by J0k3r613, patched guild system not recognizing properly
the guild leader just after creation. Patched many more issues related
to guilds and alliances.
2017-06-21 01:17:25 -03:00
ronancpl
42fe74955d Guild PQ + fixed negative EXP error
Implemented Guild PQ. Fixed a problem introduced earlier where negative
EXP would be deemed as "integer overflow", provoking many game breaking
issues as result.
2017-06-18 03:19:53 -03:00
ronancpl
81f9226286 GuildPQ Queue system + revamped Warp mechanic
Added a queue system for waiting guilds outside the GPQ area. Changed
the way players are transported through maps on non-portal passing
cases: if not defined, a spawn point is chosen randomly for each player.
2017-06-13 20:47:58 -03:00
ronancpl
1afbac2429 Orbis PQ
Implemented Orbis PQ.
2017-06-11 00:12:11 -03:00
ronancpl
36c3b7dea8 Fixed Horntail command + minor EXP gain issue fix
Now Horntail can be spawned properly by a command. Fixed a rase case
where an extremely high value of EXP gain would cause integer overflow,
potentially crashing one's client.
2017-05-19 19:11:03 -03:00
ronancpl
3fc338467b Henesys PQ
Implemented Henesys PQ.
2017-05-17 00:36:30 -03:00
ronancpl
b26469301d Ludibrium PQ + MapleIdRetriever
Implemented LPQ. New application tool that realizes fetches by names and
returns respective ids, over all items depicted in the GM handbook.
2017-05-13 15:24:02 -03:00
ronancpl
73557f0d61 More PQ-esque script modules + HP Bar on some bosses
Completed (hopefully, now!) implementation of automated modules for PQ
scripting. Added HP bar for some bosses that wouldn't display it before
(like King Slime, Alishar and CRog).
2017-05-09 20:02:10 -03:00
ronancpl
03ab8be97d Cash Pet Food issue + BRPQ minor patch
As issued by vcoc, some pet items not working properly has been patches.
New BRPQ reward announcer NPC. More minor patches.
2017-05-01 13:46:48 -03:00
ronancpl
f5fbb038e9 Quick fix-up + Happyville
Fixed bug introduced on last update regarding events without
event_schedule defined. Added path to Happyville maps, and raid boss
event.
2017-04-26 16:01:12 -03:00
ronancpl
939b214fb5 New PQ: Boss Rush PQ + Ellin/PiratePQ bug fixes
Introducing Boss Rush PQ. Corrected a few issues regarding rewardings in
PiratePQ and EllinPQ and implemented a standardized way to script PQs.
2017-04-25 11:55:44 -03:00
ronancpl
828a8a02a2 Implemented EllinPQ + some bug fixes
Implemented EllinPQ, adjusted several drop rates and data, fixes some
bugs at quests at client-side.
2017-04-22 16:35:27 -03:00
ronancpl
c17e4c93a3 Hit Reactor animation fix + deny spawn points
Fixed reactor sometimes not animating between state changes and
introduced mechanic to deny spawning mobs at spawn points.
2017-04-17 15:44:12 -03:00
ronancpl
6791a3d475 Client clean-up + PiratePQ Implementation
Major update on client packets, now properly making unseen killed
monsters not appear as residual on a player's client. Many updates
revolving the PiratePQ environment as well.
2017-04-12 15:32:55 -03:00
ronancpl
768d9d0264 Crog boat + Pirate&EllinPQ + No dmg cap client
Now assaulter boat appears to client, added support for PiratePQ and
EllinPQ and added a no dmg cap version localhost.
2017-04-10 19:50:17 -03:00
ronancpl
8c61c616f9 More concurrency fixes + Zombify + BPQ available
Fixed some inconsistencies due to race conditions in the project, added
Zombify monster effect, made BPQ available and some minor patches.
2017-04-09 14:23:23 -03:00
ronancpl
7dc163fc76 Concurrency fix + new scripts
Fixed some situation involving concurrency upon using getCharacters()
from MapleMap, added scripts and other bug fixes.
2017-04-08 19:29:27 -03:00
ronancpl
c8f905e1a5 Fixed quest rewarding + Lethal attacks in Dojo
Fixed quests not giving items in some cases, lethal damages rendering
dojo uncompletable and added new scripts.
2017-04-07 21:42:42 -03:00