* Clean-up permanent monster spawn:
- <delay1>,<delay2>,<event> are actually optionnal field
- <event> value 0 and 1 are meaningless (actually event name with length < 4 are skipped)
* Exported monster AI constants
* Updated docs for monster size constants (already exported)
Notes:
- the default size for monster script cmd was small not medium
- monster script cmd now display a warning for size above SZ_BIG (previously SZ_ALL)
* - Fixed an issue to make <xs> and <ys> optionnals
- Updated npcs scripts
* Leftover in the docs for permanent monster spawn
* Corrected english docs. Credit to @aleos89
Added additionnal warning for xs / ys negative input. Credit @Lemongrass3110
Thanks to @cydh for the idea
While refactoring those events the following other changes were made:
Introducing OnInstanceDestroy event. This event can be used to hook script code right in front of the instance destruction. This can be useful if you have any stored references to an instance id for example.
The script command cmdothernpc will now check if the target event exists and report failures. Therefore it now returns true or false.
All agit(FE,SE,TE) start and end commands from atcommand and script commands have been merged in their respective guild function which now returns a bool value of true for successful actions and false if it did not succeed(if the specific WoE was [not] running).
All global triggered events with mapserver status output now call the same function and therefore have the same mapserver output(including their respective event name of course).
Renamed a few events in the script configuration to match the other names
Added constants for months and weekdays
Additionally added constants for gettime types to make it easier to read.
Replaced all existing usages I found with their proper new syntax or better fitting functions.
* Added parameters for `savepoint are range for `x` and `y` for random savepoint coordinates.
* Added documentation for new savepoint params. Credits to @aleos89
* Updated savepoint on script to follow official behaviour (random save in 3x3). All credits to @Atemo
* Replaced hardcoded gender codes in source
Introduced a new constant for the account based gender and replaced all hardcoded gender references to code 99 with it.
* Replaced hardcoded gender codes in npcs
Exported the gender constants into the script engine and replaced all usages with references to the constants instead of expecting a value behind them.
* Corrected a typo
Thanks to Machiezmo from Discord.
* Fixed an inverted gender logic
Thanks to @secretdataz
- Added default arguments in function Func_JupHist to avoid being stuck (fixes#1444)
- Implemented quest log
Investment Rewards:
- Added missing Elemental Converter menu selection
Fixes to some quests and typo errors
* Corrected miscellaneous Korean to English translations.
* Corrected the position and facing direction of NPC [Promotional Staff#iz] from [Onward to the New World] Quest (pre-renewal).
* Fixed NPC [Iromo's Mother#ep3_2] from [Alberta Boy] Quest where players could have their quest progress reset.
* Fixed NPC [The Blacksmith#rus06] from [Koschei the Immortal] Quest giving Iron_Boots01 instead of Iron_Boots02 to Ninja and Gunslinger classes.
Thanks to @AtlantisRO!
The boots Iron_Boots01 is only equipable by Swordsman Class, Archer Class, Merchant Class and Thief Class.
Any other job must receive Iron_Boots02 (included Ninja and Gunslinger).
When player is in step 9 from Alberta Boy quest (variable "ep13_2_hiki"), this NPC restart the entire quest, because there is no case to prevent variable > 8.
* Added missing UMOB_CANMOVETICK option.
* Restructured script command getunittype return values to match the order of script command getmapxy to allow for more universal usage.
* Created constants for script commands getmapxy and getunittype.
* Updated NPCs using script command getmapxy to use the new constant values.
* Updated Battleground NPCs to use constant value for script command setunitdata.
- Moved VIP_Third_Class function from other/CashShop_Functions into other/re/CashShop_Functions (only used in re folder).
- Fixed a mistake in quests/quests_nameless.txt blame me 36f337ea41a876ef471bfbb78128e35fa0d9aa56
- re/quest/quests_eclage clean-up and bug fix
Signed-off-by: Atemo <capucrath@gmail.com>
* Changed skill_db array to better memory allocation.
* Reduced MAX_SKILL_LEVEL from 100 to 10 (part of Hercules 0f4a50d135), also has changes on skill_get checks for skill level that more than 10.
* Reduced MAX_SKILL from 5020 to 1200 (actually only 1109 skills are used).
* Added macros for checking Homunculus, Guild, Mercenary, & Elemental skill ranges.
* Added skill check & index validation when player logged in and when @reloadskilldb.
* Corrected `enum e_skill_flag` order for SKILL_FLAG_REPLACED_LV_0's sake.
* Merged 'addtoskill' script command just as alias of 'skill' script command.
* Fixed#277
* Changed 'skill' script command flag to constant value
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
NOTE:
* Decreased memory usage by map-server reduced up to 50 MB.
* Decreased memory for each player because of mmo_charstatus::skill[] only has 1200 array, before is 5020.
* Please use skill_get_index() for accessing sd->status.skill[] or skill_db[], don't reckless use skill_id as array index.
* Please import upgrade_20150211_skillset.sql
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>