With this the internal static array was changed to a std::map which manages it's memory dynamically when needed.
Dropped mob_dummy since it was useless to have it in the first place.
Replaced a lot of direct accesses to the mob db by the "get" function.
With this you can now use 20021-31998 for monsters and also 4000-20020 will be used for player clones whenever needed.
Dropped mobdb_exists
Replaced almost all references to MAX_MOB_DB
Moved MAX_MOB_DB from the header directly into the source file to make it only visible to the .cpp file itself and not to any other.
Moved the mob drop calculation function from itemdb.cpp into mob.cpp, because it needs to iterate over the whole mob db.
Added a few missing clone checks.
Thanks to @lighta, @Jeybla and @aleos89.
* Now mob_get_spawn does not add empty vectors to mob_spawn_data, when the
mobid does not exist in mob_spawn_data
* Saves a bit more memory space
* Thanks to @Lemongrass3110 for the suggestion
* Moves the monster spawn infos from the mob_db struct to an own
data structure.
* Fixes whereis after mobdb reload. Fixes#2360
* Fixes Taekwon Mission after mobdb reload. Closes#2460
* Thanks to @uddevil, @mgksrt8, @lighta and @aleos89!
* Fixes#2575 and fixes#2574.
* Adjusted the formula to properly account for bonuses which are additive of one another, not multiplicative.
* Added the global multiplier which is added on after MATK.
* Updated Highness Heal, Fresh Shrimp, and Bunch of Shrimp heal formulas.
Thanks to @Tokeiburu for his extensive research and code!
* Small cleanup of Rune Knight Runes
* Stone Hard Skin weapon break chance only applies to physical melee attacks.
* Giant Growth's physical bonus damage only applies to Rune Knights.
* Corrected weapon break chance to only happen when damage is increased for Giant Growth.
Thanks to @Rytech2 and @Jeybla!
* Adds several dungeons and fields
* Adds options for WOE TE Castles and dungeons
* Adds option to disable satan morroc and re-enable old morroc maps
* Adds option to warp only on the first level (of dungeons/fields)
* Adds Lasagna Town
* Adds castles Kafragarten and Gloria
* Adds several instances
* Adds Dimensional Rift and Para Market
This PR change the emoticons constant name to match emoticonlist from client side.
Note: the previous emoticons names are now deprecated.
Additionnally emotion and unitemote scripts commands are being merged together to the new format
-> emotion <emotion number>{,<target>};
Where target use the target Game ID (GID) of the unit (npc, pet, character etc..).
* unitemote is now deprecated.
* Additionnally fixed incorrect variable in quests_brasilis.txt
Thanks to @aleos89 and @Lemongrass3110 !
* Fixes#2540.
* Added battle config autoloot_adjust that allows autoloot to take player drop penalties and bonuses into account.
Thanks to @ecdarreola!
* Fixes#2572.
* Added a custom rule to avoid optimization causing monsters to not attack. (From tests this appears to be npc.cpp on Centos 7 and mob.cpp on Windows vc141)
* Added -fno-strict-alising to CMake when building with GCC. (Clang and VS have it by default)
* Fixed cmake output path.
Thanks to @lighta!
* Initial progression of moving the map-server to C++ format.
* Converted all core files to .cpp and header files to .hpp.
* Refactored the refine database parser to utilize native YAML C++.
Thanks to @Jeybla and @lighta for their help!
Initial release of Sarah and Fenrir memorial
Notes:
* Some monsters status are inaccurated.
* Sarah seems to cast NPC_WIDESOULDRAIN and Gigantes cast NPC_PETRIFYATTACK (need more infos).
Thanks to @aleos89 for the grammatical fixes !
Big thanks to Divine Pride for the infos!