Level/exp on all equips + Player stats overhaul + Chair handler patch
Implemented a massive overhaul on Character.wz, adding in equipment level-related nodes in order to make equipments level/EXP info available for anyone to check. Implemented a major overhaul on the player stat management throughout the source, properly encapsulating and concurrency protecting it's mechanics. Reviewed several MoveLifeHandler aspects, some of them trying to prevent mobs from falling from footholds in certain circumstances. Fixed MP Recovery instant killing players when they run out of HP to use. Fixed some chairs arbitrarily disconnecting players upon HP/MP recovery. Fixed Puppets sticking to maps in certain scenarios. Cached data and added concurrency protection for EXP gain on equipments. Reworked Chair Mastery skill, now with recovering amounts based on a player's base HP/MP pool. Fixed several deadlock issues revolving rate coupons and character inventory. Improved overall autopot handler performance. Reworked door bosses (such as Crocell), now spawning each 3 hours instead of upon player's demand. Fixed alliances not saving rank names on DB at creation time. Fixed alliances retaining disbanded guild info on DB. Added Mystic Door support for the Mushroom Castle area.
This commit is contained in:
@@ -25,7 +25,7 @@ PQs:
|
||||
* HPQ/KPQ/LPQ/LMPQ/OPQ/EllinPQ/PiratePQ/MagatiaPQ/HorntailPQ/AmoriaPQ/TreasurePQ/ElnathPQ/HolidayPQ.
|
||||
* CWKPQ as Expedition-based event.
|
||||
* Expeditions: Scarga/Horntail/Showa/Balrog/Zakum/Pinkbean.
|
||||
* GuildPQ + Guild queue with multi-lobby systems available.
|
||||
* GuildPQ + Guild queue with multi-lobby system available.
|
||||
* Brand-new PQs: BossRushPQ, CafePQ.
|
||||
* Mu Lung Dojo.
|
||||
* Capt. Latanica remade as an event (parties can now fight the boss).
|
||||
@@ -67,6 +67,7 @@ Player Social Network:
|
||||
* Further improved the server's ranking system, now displaying properly daily player ranking movement.
|
||||
* Automated support for Player NPCs and Hall of Fame.
|
||||
* Protected concurrently and improved the face expression system, guarding from trivial packet spam and exploits.
|
||||
* All upgradeable non-cash equipments in inventory with level & EXP information available for read by anyone, given proper visibility.
|
||||
|
||||
Cash & Items:
|
||||
|
||||
@@ -98,6 +99,7 @@ Monsters, Maps & Reactors:
|
||||
* 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).
|
||||
* Mobs only drops items that are visible/collectable by the player's party.
|
||||
* Redesigned HT mechanics for spawn and linked damage to the sponge.
|
||||
* Reviewed aspects of MoveLifeHandler: implemented banish move, patched MP cost not contabilized on non-skill mob moves and slightly fixed mobs dropping from footholds in certain cases.
|
||||
* Limited item count on maps, smartly expiring oldest registered items, preventing potential item flooding.
|
||||
* Implemented Zombify disease status.
|
||||
* Added Boss HP Bar for dozens of bosses (needs provided custom wz).
|
||||
@@ -113,6 +115,7 @@ Monsters, Maps & Reactors:
|
||||
* Reactors pick items up smartly, checking for an option to pick up on many-items-nearby scenario.
|
||||
* Updated many scripted portals not implementing SFX properly.
|
||||
* Updated Crimsonwood, World Tour, Nihal Desert and Neo City, enabling quest completion and game progression in these areas.
|
||||
* Added world maps for Mushroom Castle, World Tour (Singapore, Malaysia and Zipangu) & Ellin Forest areas.
|
||||
* Giant Cake (anniversary-themed boss) drops Maple equipments, Maple scrolls, summoning bags and many more interesting items.
|
||||
|
||||
PQ potentials:
|
||||
@@ -122,13 +125,14 @@ PQ potentials:
|
||||
* Expedition system - Multiples parties can attempt on a same instance (lobbies and expeds are mutually-exclusive).
|
||||
* Guild queue system - Guilds can register themselves on a queue for the GPQ.
|
||||
* EIM Pool system - After the first instance setup, next event instances are loaded beforehand and set on a pooling queue, optimizing future loadouts.
|
||||
* Recall system - Players can rejoin the last event instance they were in before disconnection.
|
||||
|
||||
Player potentials:
|
||||
|
||||
* Adventurer Mount quests functional.
|
||||
* All Equipment levels up.
|
||||
* Player level rates.
|
||||
* Gain fame by quests.
|
||||
* Gain fame by quests and event instances.
|
||||
* Pet evolutions functional (not GMS-like).
|
||||
* Reviewed keybinding system.
|
||||
* Account's Character slots: either each world has it's own count or there's a shared value between all worlds.
|
||||
@@ -145,6 +149,7 @@ Server potentials:
|
||||
* Enhanced AP auto-assigner: exactly matches AP with the needed for the player's current level, surplus assigned to the primary attribute.
|
||||
* Enhanced inventory check: free slots on inventory smartly fetched on demand.
|
||||
* Enhanced auto-loot handler: optimized the brute-force checks for some cash items on the player equipped inventory at every requisition.
|
||||
* Added players-appointed bestsellers item ranking system for Owl of Minerva and Cash Shop.
|
||||
* Tweaked pet/mount hunger: calculations for fullness/tiredness takes active time of the subject into account.
|
||||
* Consistent experience and meso gain system.
|
||||
* NPC crafters (equips, plates/jewels, etc) now won't take items freely if the requirement conditions are not properly met.
|
||||
@@ -191,6 +196,7 @@ External tools:
|
||||
* MapleBossHpBarFetcher - Searches the quest WZ files and reports in all relevant data regarding mobs that has a boss HP bar whilst not having a proper "boss" label.
|
||||
* MapleCashDropFetcher - Searches the DB for any CASH drop data entry and lists them on a report file.
|
||||
* MapleCouponInstaller - Retrieves coupon info from the WZ and makes a SQL table with it. The server will use that table to gather info regarding rates and intervals.
|
||||
* MapleEquipmentOmnileveler - Updates the equipment WZ nodes with item level information, allowing thus access for item level and EXP info for common equipments.
|
||||
* MapleIdRetriever - Two behaviors: generates a SQL table with relation (id, name) of the handbook given as input. Given a file with names, outputs a file with ids.
|
||||
* MapleInvalidItemIdFetcher - Generates a file listing all inexistent itemid's currently laying on the DB.
|
||||
* MapleInvalidItemWithNoNameFetcher - Generates two files: one listing all itemid's with inexistent name and "cash" property. And other with a prepared XML to solve the name issue.
|
||||
|
||||
@@ -1292,4 +1292,36 @@ Corrigido valores incorretos sendo retirado de jogadores para expansão de guild
|
||||
Adicionado world map em Ellin Forest.
|
||||
Protegido concorrentemente sistema de fames.
|
||||
Adicionado ganho de quest points para jogadores que participam de PQs. Reformulado sistema de quest points para viabilizar a nova feature.
|
||||
Otimizado método de ganho de experiência em equipamentos, agora devidamente cacheado e sem busca em strings no processo.
|
||||
Otimizado método de ganho de experiência em equipamentos, agora devidamente cacheado e sem busca em strings no processo.
|
||||
|
||||
08 Agosto 2018,
|
||||
MapleServerHandler agora é devidamente deregistrado ao finalizar uma instância de channel, eliminando possível foco de memory leak.
|
||||
Funções playerDead e playerRevive são agora opcionais em EIM scripts.
|
||||
Nova ferramenta: MapleEquipmentOmnileveler. Permite adicionar e atualizar nodos referentes a níveis para todos os equipamentos. Em jogo, essa adição permite jogadores a ver nível de qualquer equipamento do jogo.
|
||||
|
||||
09 - 10 Agosto 2018,
|
||||
Adicionado cálculo de MP ao realizar ataques de mobs.
|
||||
Aplicado vários pequenos ajustes no handler que lida com movimentação de mobs, procurando assim reduzir ruidos no fluxo do jogo (e.g. mob caindo de foothold).
|
||||
Corrigido schedules de event instances sendo chamados após finalização da mesma, levando locks já liberados a serem chamados inesperadamente.
|
||||
Corrigido casos onde jogadores poderiam requisitar instanciação de uma nova PQ, cujo EM que já tenha sido liberado.
|
||||
Aplicado reformatação geral no Character.wz, adicionando nodos de level para todos os equipamentos do jogo. Tal mudança permite que todos os equipamentos exponham nível e experiência em todos os equipamentos no inventário.
|
||||
Implementado cálculo de experiência no lado do servidor que permite mostrar adequadamente EXP dos equipamentos no lado do cliente.
|
||||
|
||||
11 - 19 Agosto 2018,
|
||||
Corrigido MP Recovery skill não atuando segundo descrição, além de matando jogador com pouco HP disponível.
|
||||
Refatorado completamente acessos de stats no código do server.
|
||||
Refatorado check de Berserk sendo chamado em múltiplas seções do código.
|
||||
Corrigido algumas cadeiras levando jogadores a desconectarem aleatoriamente.
|
||||
Corrigido puppets ficando no mapa indeterminadamente em certos cenários.
|
||||
Acrescentado proteção contra acesso concorrente em ganhos de EXP em equipamentos.
|
||||
Door bosses (Marbas, Crocell, etc) agora spawnam de tempos em tempos, ao invés de serem chamados ao entrar no mapa.
|
||||
Retrabalhado Chair Mastery, agora com cura atuando em porcentagem de HP/MP base.
|
||||
Corrigido problema de deadlock com inventário de jogadores e EXP/DROP coupons.
|
||||
Corrigido problema de deadlock com pickup de mesos e detecção de jogadores em party.
|
||||
Corrigido problema de deadlock com o handler de pet autopot.
|
||||
Melhorado desempenho do autopot handler.
|
||||
Corrigido diversos aspectos do novo modelo de acesso de stats, agora propriamente protegido contra acesso concorrente.
|
||||
Revitalizers de mounts são devidamente consumidos mesmo em casos mount tiredness seja zero.
|
||||
Corrigido alliances retendo informações de guilds que foram desfeitas na DB.
|
||||
Corrigido alliances não salvando nomes de ranks na DB ao serem criadas.
|
||||
Adicionado suporte para doors na região de Mushroom Castle.
|
||||
Reference in New Issue
Block a user