With this you will not have to upgrade your solution everytime you clone a fresh copy of rAthena and the problem with having to stash between branch switches should also be gone.
If you want to compile it for another toolset you simply have to set the target toolset by yourself.
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!
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!
* Item Shop Trade Restriction adjustment
* Fixes#2503.
* Added a config to allow usage of sell-restricted items as currency in Item Shops.
Thanks to @Mickosis!
* Cleaned up some final things
* Fixed some typos in the configuration file.
* Resolved the shop ID not being stored at the time of checking the currency.
* Optimized the inventory check.
Added possibility to override MAP_MAX_MSG with defines_pre.h
Added possibility to override LANG_ENABLE with defines_pre.h
Thanks to @Daegaladh for the idea with LANG_ENABLE.
* Added new 2016 Wedding skills
* Adds Call All Family, One Forever, and Cheer Up skills to the renewal databases.
* Removed Enlarge Weight Limit R skill from a few job skill trees as it's not needed to be defined there.
Thanks to @Rytech2, @Jeybla, and @Lemongrass3110!
* Only checks item names of items with new ids.
* Fixes warnings on import itemdb overwrites.
* Note: The duplicate name check should be refactored after the Cpp
migration. It'd be much faster with a C++ map with the
name string as the key.
* Thanks to @Daegaladh!
* Fixes required equipment check for skills
* Fixes#2372.
* Required equipment check was allowing the skill to cast without the proper equipment.
* Adjusted the skill fail messages to their appropriate responses.
Thanks to @M4karov, @exneval, @Jeybla, and @Lemongrass3110!
* Moved all npc view constants into src
Source side the constants will use Gravity's naming standard(JT_*)
NPC side still supports the old names without JT_
* Moved all effect constants into src
Added check for effect validation to atcommand effect and all script commands using them
Removed the unused and broken function unit_changeviewsize from unit.c
Replaced a lot of hardcoded effect ids with their respective constants
Cleaned up the effect documentations
* Moved all hat effect constants into src
Added check for effect validation to script command hateffect
* Updated Convex Mirror to match official behavior
* Fixes#2498.
* When a MVP dies it will only show the respawn time once instead of flooding the chat window.
* The Boss icon will now properly display itself when the MVP respawns if the player has already consumed a Convex Mirror.
* Converted some integers to constant values.
* Made use of the other BOSS_INFO packet messages.
* Properly end the status when the player changes maps.
* Small cleanups and updated status change documentation.
Thanks to @esu1214 and @Lemongrass3110!
* Updated callshop selling list variables
* Updated script command callshop OnSellItem list to include random item options.
* See documentation for more information.