Skip to content

Commit

Permalink
P. Search on DB & Bamboo Rain patch
Browse files Browse the repository at this point in the history
Revised bosses on Dojo taking OHKO's from Bamboo Rain.
Fixed default table attribute "partySearch" on DB.
Preparing for new release.
  • Loading branch information
ronancpl committed Dec 27, 2019
1 parent 07fe495 commit b22813c
Show file tree
Hide file tree
Showing 8 changed files with 123 additions and 66 deletions.
10 changes: 3 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Java 8 SDK & NetBeans bundle: https://www.oracle.com/technetwork/pt/java/javase/

**Change log:**

* Fixed Monster Magnet crashing the caster when trying to pull fixed mobs. https://gofile.io/?c=BW7dVM
* Fixed Monster Magnet crashing the caster when trying to pull fixed mobs, credits to Shavit. https://gofile.io/?c=BW7dVM

* Cleared need for administrator privileges (OS) to play the game, credits to Ubaware.

Expand Down Expand Up @@ -98,11 +98,7 @@ By taking the v83 MapleStory as the angular stone, incrementally look forward to

HeavenMS development as we can see right now achieved an acceptable state-of-the-art. A heartfelt thanks for everyone that contributed in some way for the progress of this server!

As development and support for fixing features that were implemented here is still up, with **your** help we can improve it even further! Please help where you can to better the server for everyone.

Furthermore, you can actively help improving the server by issuing pull requests with informative details about what's changing.

Note for anyone up to contribute further pull requests: make awareness to use __english language__ in codes and messages, as usage of any other languages will render it open to faculty of whether this content will be ready to be accepted or *further changes are going to be requested* before it becomes apt to merge.
A case study has been conducted with the objective of overview results achieved during HeavenMS development. Those can be checked out on: https://heavenms-survey.home.blog/2019/12/24/project-visualizations/

#### Support HeavenMS

Expand Down Expand Up @@ -204,7 +200,7 @@ The client's set-up is quite straightforward:
2. Once done, erase these files: "HShield" (folder), "ASPLnchr.exe", "MapleStory.exe" and "Patcher.exe".
3. Extract into the client folder the "localhost.exe" from the provided link.
4. Overwrite the original WZ files with the ones provided from either one of those folders on the Google Drive:
- "commit???_wz" (last published RELEASE, referring to commit of same number).
- "commit397_wz" (last published RELEASE, referring to commit of same number).
- "current_wz" (latest source update).

#### Editing localhost IP target
Expand Down
102 changes: 51 additions & 51 deletions config.yaml

Large diffs are not rendered by default.

47 changes: 43 additions & 4 deletions docs/feature_list.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# HeavenMS
<img src="https://heavenmssurveyhome.files.wordpress.com/2018/12/heavenmslogo.png" width="370" height="auto">

Credits:

Expand All @@ -10,6 +10,10 @@ Thora - Contributor

GabrielSin - Contributor

Masterrulax - Contributor

MedicOP - Adjunct Developer

---------------------------
DISCLAIMER:
---------------------------
Expand All @@ -26,13 +30,17 @@ Feature list:

PQs:

* HPQ/KPQ/LPQ/LMPQ/OPQ/EllinPQ/PiratePQ/MagatiaPQ/HorntailPQ/AmoriaPQ/TreasurePQ/ElnathPQ/HolidayPQ.
* HPQ/KPQ/LPQ/LMPQ/OPQ/APQ/EllinPQ/PiratePQ.
* RnJPQ/HorntailPQ/TreasurePQ/ElnathPQ/HolidayPQ.
* CWKPQ as Expedition-based event.
* Expeditions: Scarga/Horntail/Showa/Balrog/Zakum/Pinkbean.
* Monster Carnival 1 & 2 - thanks Dragohe4rt & Jayd!
* AriantPQ - thanks Dragohe4rt & Jayd!
* 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).
* Expeditions with daily/weekly entries system available.

Skills:

Expand All @@ -42,6 +50,10 @@ Skills:
* 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).
* 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.
* Mu Lung Dojo skills functional.
* M. Magnet on bosses no longer crash.
* M. Magnet on fixed mobs no longer crash - thanks shavit!
* Skills that uses up HP/MP triggers pet autopot.
* Skills that imbue weapon with elemental attribute (WK Charges, Snow Charge, etc) is now visible for other players.

Quests:

Expand All @@ -57,6 +69,11 @@ Quests:
* Reviewed Aran questline.
* Reviewed 4th job skill questlines as a whole.
* Complete overhaul on the 3rd job quiz (explorers), with all 40-question pool now made available.
* Quest items supposed to be lootable, as those are required to start quests, shows up properly.
* Exclusive quest items that went missing from inventory reacquireable from NPC quest talk.
* Mechanics for Item Raise functionality operational.
* Players no longer are given movement control just after completing a quest but still talking with the NPC.
* Quests that makes use of progress data shows up as completeable to the player on conditions met.

Player Social Network:

Expand All @@ -74,6 +91,9 @@ Player Social Network:
* 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.
* Further improved the existent minigame mechanics: remarkably checking out for no-item match requests, allowing different omok/matchcard match layouts and status update on the player matchbox tooltips.
* Further improved the trading system.
* Party Search system nominal.
* Wedding Wishlists - thanks Dragohe4rt!

Cash & Items:

Expand All @@ -90,6 +110,10 @@ Cash & Items:
* Close-quarters evaluation mode for items (sandbox).
* Further improved Karma scissors & Untradeable items mechanics.
* Reviewed pet/item position data inconsistency within CASH inventory.
* Implemented close-quarters trial mode for items.
* Reviewed stylish-related contents, close to GMS-like.
* Plastic surgeons/stylists no longer stuck characters.
* Reworked gachapon loots, website-lists lookalike.
* Spikes on shoes.
* Vega's spell.
* Owl of Minerva.
Expand All @@ -98,6 +122,7 @@ Cash & Items:
* Kite.
* Cash Shop Surprise.
* Maple Life.
* EXP Increase.

Monsters, Maps & Reactors:

Expand All @@ -106,15 +131,16 @@ Monsters, Maps & Reactors:
* Monsterbook displays drop data info conformant with the underlying DB (needs custom wz). See more on the MobBookUpdate feature.
* Every skill/mastery book is now droppable by mobs.
* 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.
* Mobs only drops loot from items that are visible/collectable by the player's party.
* Mobs shouldn't fall from foothold too often now.
* 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).
* If multiple bosses are on the same area, client will prioritize Boss HP bar of the target of the player.
* Boss HP Bar and Server Messages now toggles (server message disappears when a boss battle is detected, and returns afterwards). Idea thanks to GabrielSin.
* Improved map bounding checks for item drop points, assuring most of the items dropped will be available to pickup inside the accessible map area.
* Improved map bounding checks for item drop points, assuring most of the items dropped will be available to pickup inside the walkable map area.
* Boats, elevator and other travelling mechanics fully working.
* HP decreasing overtime on maps and mechanics to prevent them (consumables, equips) fully functional.
* Crimson Balrog boat approaching visual effect made functional.
Expand All @@ -128,6 +154,10 @@ Monsters, Maps & Reactors:
* Added World Tour and Masteria continents in the world map.
* Reviewed World Map's town/field tooltips and links from the main world map and Masteria region.
* Giant Cake (anniversary-themed boss) drops Maple equipments, Maple scrolls, summoning bags and many more interesting items.
* Enhanced aggro system, with real-time damage output target redirection.
* Puppets influence mob aggroing.
* Limited quantity of summons an individual mob can perform.
* Damage Reflect (MobSkill) status no longer lags to display.

PQ potentials:

Expand All @@ -148,6 +178,7 @@ Player potentials:
* Reviewed keybinding system.
* Account's Character slots: either each world has it's own count or there's a shared value between all worlds.
* Optional cash shop inventory separated by player classes or fully account-ranged.
* Rock-paper-scissors minigame - thanks Arnah!

Server potentials:

Expand All @@ -163,6 +194,7 @@ Server potentials:
* 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.
* Fredrick Store Bank now has expirable storage, which warns the player of time remaining and eventually delete unclaimed items.
* NPC crafters (equips, plates/jewels, etc) now won't take items freely if the requirement conditions are not properly met.
* Improved Duey mechanics: package received popup and reviewed many delivery mechanics.
* Pet item pickup now gives preference to player attacks rather than forcing attack disables when automatically picking up.
Expand All @@ -173,6 +205,8 @@ Server potentials:
* Mastery book announcer displays droppers of needed books of a player, by reading underlying DB.
* Custom jail system (needs provided custom wz).
* Custom buyback system.
* Custom fishing system, having planned 'seasonal' catch times.
* Custom map leasing system.
* Delete Character (requires ENABLE_PIC activated).
* Smoothed up view-all-char feature, now showing properly all available characters and not disconnecting players too often.
* Centralized getcurrenttime throughout several server handlers, boosting it's performance overall.
Expand All @@ -186,6 +220,8 @@ Server potentials:
* 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.
* Usage of Bcrypt (up-to-date) as the main password hashing algorithm, replacing old SHA's - credits to shavit.
* Implemented matching system, on which all involved players accepts the term or at least one denies/times-out before an event takes place.
* Implemented support for custom spawn areas for NPCs & mobs.

Custom NPCs:

Expand All @@ -196,6 +232,7 @@ Custom NPCs:
* Dalair: automatized equipment-merger.
* Donation Box: automatized item-buyer.
* Coco & Ace of Hearts: C. scroll crafters.
* Barry (MapleTV): fill book & exchange items for scroll.

Server Commands:

Expand Down Expand Up @@ -246,8 +283,10 @@ Project:
* Developed many survey tools for content profiling.
* Developed a robust anti-exploit login coordinator system.
* Protected many flaws with login management system.
* Remodeled item scripts, properly using NPC dialogs.
* Channel, World and Server-wide timer management.
* Heavily reviewed future task management inside the project. Way less trivial schedules are spawned now, relieving task overload on the TimerManager.
* Developed services to act as a central task scheduler, in order to spawn less timer threads.
* ThreadTracker: embedded auditing tool for run-time deadlock scanning throughout the server source (relies heavily on memory usage, designed only for debugging purposes).

Exploits patched:
Expand Down
6 changes: 5 additions & 1 deletion docs/mychanges_ptbr.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2355,4 +2355,8 @@ Corrigido autoaggro não atuando devidamente em mobs assim que jogador entra no
Corrigido anunciador de skillbooks não reportando etc de quest para começar, quando lidando com questlines onde se obtém a skill diretamente.

21 Dezembro 2019,
Corrigido mobs em estado "fake" desaparecendo da tela assim que muda-se o controlador do mesmo.
Corrigido mobs em estado "fake" desaparecendo da tela assim que muda-se o controlador do mesmo.

26 Dezembro 2019,
Revisado bosses no Dojo levando dano integral de Bamboo Rain (deveria ser 30% do MaxHP do mesmo).
Corrigido atributo padrão "partySearch" definido com valor booleano inadequado na DB.
4 changes: 3 additions & 1 deletion scripts/npc/9977777.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ function writeFeatureTab_Skills() {
addFeature("Maker skill features developed - pckts thanks Arnah.");
addFeature("Chair Mastery - map chair boosts HP/MP rec.");
addFeature("Mu Lung Dojo skills functional.");
addFeature("Monster Magnet skill on bosses no longer crash.");
addFeature("M. Magnet on bosses no longer crash.");
addFeature("M. Magnet on fixed no longer crash - thanks shavit!");
addFeature("HP/MP consumption from skills triggers pet autopot.");
addFeature("Elemental weapon imbue visibility for other players.");
}
Expand All @@ -70,6 +71,7 @@ function writeFeatureTab_Quests() {
addFeature("Doll house quest functional.");
addFeature("Q. items required to start quests shows up properly.");
addFeature("Quests are now rewarding items properly.");
addFeature("Items from starting quest reacquireable on NPC talk.");
addFeature("Selection of rewards works properly.");
addFeature("Loads of quests have been patched.");
addFeature("Aran questline has been reviewed.");
Expand Down
2 changes: 1 addition & 1 deletion sql/db_database.sql
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ CREATE TABLE IF NOT EXISTS `characters` (
`dataString` varchar(64) NOT NULL DEFAULT '',
`lastLogoutTime` timestamp NOT NULL DEFAULT '2015-01-01 05:00:00',
`lastExpGainTime` timestamp NOT NULL DEFAULT '2015-01-01 05:00:00',
`partySearch` tinyint(1) NOT NULL DEFAULT '0',
`partySearch` tinyint(1) NOT NULL DEFAULT '1',
`jailexpire` bigint(20) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `accountid` (`accountid`),
Expand Down
5 changes: 4 additions & 1 deletion src/constants/game/GameConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -589,11 +589,14 @@ public static boolean isDojoPartyArea(int mapid) {
return mapid >= 925030100 && mapid < 925040000;
}

public static boolean isDojoBoss(int mobid) {
return mobid >= 9300184 && mobid < 9300216;
}

public static boolean isDojoBossArea(int mapid) {
return isDojo(mapid) && (((mapid / 100) % 100) % 6) > 0;
}


public static boolean isPyramid(int mapid) {
return mapid >= 926010010 & mapid <= 930010000;
}
Expand Down
13 changes: 13 additions & 0 deletions src/net/server/channel/handlers/AbstractDealDamageHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

Expand Down Expand Up @@ -290,6 +291,18 @@ else if(attack.skill == Shadower.BOOMERANG_STEP)
}
}

if (GameConstants.isDojoBoss(monster.getId())) {
if (attack.skill == 1009 || attack.skill == 10001009 || attack.skill == 20001009) {
int dmgLimit = (int) Math.ceil(0.3 * monster.getMaxHp());
List<Integer> _onedList = new LinkedList<>();
for (Integer i : onedList) {
_onedList.add(i < dmgLimit ? i : dmgLimit);
}

onedList = _onedList;
}
}

for (Integer eachd : onedList) {
if(eachd < 0) eachd += Integer.MAX_VALUE;
totDamageToOneMonster += eachd;
Expand Down

0 comments on commit b22813c

Please sign in to comment.