* Fixes#3100.
* Script command getmapxy will now allow integer values for the search value.
* Deprecated UNITTYPE constants as they were replaced by BL.
* Defaulted BL_PC as the target for script command getmapxpy.
* Updated script command getunittype return value to return BL constants.
* Updated scripts to new BL constants.
Thanks to @pajodex's suggestion and @Lemongrass3110!
Banquet for Heroes ep16.1 - walkthrough conversion
* Added main quests of ep16.1 and the quests entries
*** Walther's daily quest will be enabled after quest_db refactor
* Added instances Ritual of Blessing and Room of Consciousness
* Added monsters spawn and entries on prt_prison, prt_cas and prt_q maps
* Prontera castle map changed in this ep
- Moved some NPCs from prt_castle to prt_cas
- Added warps on prt_cas
- Succession of the Prince quest is removed in ep16.1
Thanks to @admkakaroto, https://www.divine-pride.net/
@yoonjunho72, @teededung, @ecdarreola, @spinzaku and to all the contributors !
* Fixes#2510.
* Added Holink and Wagjak values to their own entries in the refine database.
* Added several anti-hack checks to refine NPC.
Thanks to the suggestion from @mazvi and @Atemo!
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 !
* 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
* 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 support for Summoner Basic Skill to Kafra (fixes#1117)
* Added two new global NPC functions F_CanOpenStorage and F_CanChangeJob to remove redundancy.
Thanks to @secretdataz!
* 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.
-> All Credit to Kisuka for this big work.
Added news commands to alter questinfo conditions :
- setquestinfo_level : Add level range criteria for quest info with quest id 'quest_id'.
- setquestinfo_req : Add quest requirement for quest info with quest id 'quest_id'.
-> Player have / doesn't have the required quest.
- setquestinfo_job : To add additionnal job criteria.
-> Credit to Cydh !
* 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>
The job quests now (all) support servers where the 2nd classes can be over baselevel 99.
Most of them were correct anyway, because they check for BaseLevel > 98 and JobLevel > 49.
- Replaced lots of numerics with constants.
- Added spacing to make some scripts more readable.
Fixed a mistake in 14fddd3.
Signed-off-by: Euphy <euphy.raliel@rathena.org>
Uses official script structure, with iRO dialogue taken from M45T3Ryu/KO-Proyect@d78f847.
Added Kagerou/Oboro support to other Ninja-related files.
Signed-off-by: Euphy <euphy.raliel@rathena.org>
* Added the following functions:
- "F_GetPlural" (returns plural of noun) / "F_InsertPlural" (returns plural if arg != 1) [credits: EnglishClub for formation rules]
- "F_InsertArticle" (returns 'a' or 'an' preceding word)
- "F_InsertComma" (formats number with commas)
- "F_GetNumSuffix" (formats number with '-st', '-nd', '-rd', or '-th' suffix)
* Added and removed new functions where necessary. (incomplete)
* Added new types to "F_GetArmorType" function, and weapons will now pass to "F_GetWeaponType".
* Reformatted comments.
Other changes:
* Removed some garbage text from scripts.
* Slight edits to custom warper script.
Signed-off-by: Euphy <euphy.raliel@rathena.org>
- VIP players gain two more badges after Battleground matches.
- VIP players pay ten times less for transportation to Brasilis and Dewata.
- VIP players get free buffs and mercenary rentals in the Eden Group Headquarters. (iRO only, disabled)
- Non-VIP players must use a Reset Stone to begin the third job quests.
- Non-VIP players must have a Marriage Covenant to get married.
- Non-VIP players pay double for Kafra and Cool Event Corp. Teleport Services.
- Non-VIP players pay considerably more for refining equipment.
- Non-VIP players gain less quest reward items in Port Malaya quests.
- Non-VIP players gain less EXP rewards in Brasilis quests.
- Non-VIP players cannot access all towns in Acolyte Warpers script. (iRO only, disabled)
- A Reset Stone is required for Bossnia entry.
Note that official servers run different VIP/premium systems; the changes above are based on euRO, unless otherwise stated.
* Other script changes:
- Adding Marriage Covenant item in marriage script.
- Fixed some EXP values in Brasilis quests.
- Minor updates to Kafra functions.
- Turned Cool Event Corp. scripts into a basic function.
- Turned Battleground badge rewards into basic functions.
Signed-off-by: Euphy <euphy.raliel@rathena.org>
- Standardized cases on constants (Zeny, Sex, BaseLevel, etc.).
- Replaced numerics with constants.
- Standardized parts of script headers.
- Changed some script styles to K&R.
- Added some official script file names as comments.
- Replaced most 'misceffect' commands with 'specialeffect'.
Signed-off-by: Euphy <euphy@rathena.org>