* 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>
Fixes various bugs with higher level players not gaining experience.
Also properly fixed Renewal EXP reward in Turbo Track script (incorrectly fixed in be95412).
Signed-off-by: Euphy <euphy.raliel@rathena.org>
- 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>
- Added Renewal location for "Knight De Thomas" NPC (previously inaccessible), and upgraded the script to the latest version.
- Fixed Pre-Renewal Merchant Quest questlog commands. (bugreport:9218)
http://rathena.org/board/tracker/issue-9218-merchant-quest-add-error-quest-add-1010/
- Corrected a handful of 'rand(1)' statements.
Signed-off-by: Euphy <euphy.raliel@rathena.org>
-- Added questlog support on The Moving Island, Help Mikhail, Banish Winter quests
-- fixed bugreport 8532
Signed-off-by: Capuche <capucrath@gmail.com>
-- Miscs follow up af266777402e07428388e80db35544fbb9bcbe8e
-- Another clean-up in comodo_gambling.txt (thx @SkittleNugget)
-- Replaced occurrence of PcName and clean-up in tu_magician01.txt
Signed-off-by: Capuche <capucrath@gmail.com>
Added autotrade persistence support.
- Players who are autotrading during a crash/shut down will be restored on start up.
- Live vendor data is stored in SQL.
- Credits to Ind and Lemongrass.
Credits to @cydh for helping out with the quest bonus.
Follow-up 1a9b54: added missing SQL item_db entries.
Clarified description of "delayed consumption" item type (11) in item_db documentation. (tid:91187, thanks Annie!)
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 format string to "F_InsertPlural" for added flexibility.
* Added more checks to "F_GetPlural" for better handling of multi-word arguments (e.g. items).
* Updated some more scripts with new functions.
Some misc. cleanup of constants in scripts.
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>
* Removed unnecessary labels, particularly those in warp scripts.
* Some optimization of the Hugel Bingo script.
* Fixed a mob_db error. (bugreport:8051)
* Fixed incorrect/incomplete random Glast Heim warp.
* Removed useless 'getJobName' function from GlobalFunctions.txt.
Signed-off-by: Euphy <euphy@rathena.org>
- Added Renewal features to PVP script and removed duplicate warps.
- Added "Acolyte Warpers" script (Keiki and Isalei), disabled since it may be an event script.
- Added "Mergician" NPC, but it currently doesn't function and is disabled.
- Moved "Stone Change" script from merchants/ to other/.
- Follow-up 8acde7e: further bug fixes.
Signed-off-by: Euphy <euphy@rathena.org>
- Updated Renewal item_combo_db with new item entries.
- Updated Renewal item_noequip with Vellum gears/siege items.
- Some small updates to Renewal item_db.
* Other changes:
- Added some towns to various Renewal mapflag files.
- Fixed two typos in Nameless Island quest. (bugreport:8021)
- Fixed an error with the '+=' operator on string variables. When attempting to concatenate and assign to a previously empty string with +=, it'd throw a memory manager error. (Hercules 1afeabf)
Signed-off-by: Euphy <euphy@rathena.org>
- When attempting to use a value greater than INT_MAX or smaller than INT_MIN (about +/- 2 billions), a warning message will be shown and the values capped to INT_MAX or INT_MIN.
- Corrected some scripts that were attempting to use such values.
- Fixed some possible issues when using literal negative values in scripts.
* Added a note to @job documentation.
Signed-off-by: Euphy <euphy@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>
- Added Renewal changes to "God Seal Status" signpost and moved from "npc/other/sealstatus.txt" to "npc/quests/seals/seal_status.txt".
- Applied item_db changes to Pre-Renewal and SQL databases.
* Fixed issue in Cursed Spirit quest where an OnTouch NPC wouldn't activate.
Signed-off-by: Euphy <euphy@rathena.org>
- Updated Nameless Island quests and added questlog support in quests_nameless and quests_prontera. (fixes bugreport:7992)
- Updated "God Item Creation" scripts to their latest versions: seals roll at 25/50 instead of 50/100 in Renewal.
- Updated Soul Linker job quest with new checks.
- Fixed an untranslated Manuk NPC.
- Some follow-ups to previous commits.
* GM Management System:
- Enabled all official GM Management NPCs and wrote a function to control their usage.
- Implemented some missing GM Management NPCs (still incomplete).
Signed-off-by: Euphy <euphy@rathena.org>
[npc/cities/geffen.txt]
- fixed bug with Psychic Advisor (bugreport:7928)
[npc/quests/seals/megingard_seal.txt]
- fixed small bug with Librarian where he would spam the NPC dialogue
because of a misplaced "next"
[npc/re/merchants/enchan_mora.txt]
- fixed bug with wrong enchants (bugreport:7930)
- Added warpers and duplicates for Izlude (izlude_[a-d]) and Prontera Field 8 (prt_fild08[a-d]) maps.
- Updated Eden Group warpers and added new duplicates.
- Changed "Kelitula Academy" to "Cryptura Academy".
- Added a missing OnMyMobDead label in Buwaya Cave instance. (bugreport:7929)
- Added version information to Airport script headers.
* Mob spawn organization:
- Split "City Cleaners" into Pre-Renewal and Renewal directories.
- Restored Thief Bug (Pre-Renewal) vs. Thief Bug Egg (Renewal) spawns.
- Created "Town" spawn files, holding all city spawns not in "City Cleaners" files.
- Added Prontera Training Dummies and Alberta Ship Mouses.
- Moved Jawaii spawns from "fields/" into "towns.txt".
- Moved Brasilis spawns from its own directory into "towns.txt".
Signed-off-by: Euphy <euphy@rathena.org>
- Added new Renewal warpers for Satan Morroc maps.
- Updated "Succession of the Prince" quest with some new cases, and fixed checkquests.
- Updated portions of Ecology quest in 13.1 quests with new checks and cases.
- Added some missing 'disable_items' commands to 2004 Headgear quests.
* Other changes:
- Changed some strnpcinfo(1) -> strnpcinfo(0) in 13.2 quests. (bugreport:7853)
- Moved Rune Knight Kafra into main Kafras file.
- Revised documentation for 'addrid'. (follow-up 6572a9f)
- 'instance_id()' no longer throws an error upon failure.
- Fixed Desert Twilight/Sandstorm combo. (bugreport:7897, credits: Playtester)
Signed-off-by: Euphy <euphy@rathena.org>