* Moved the old stylists npcs to pre-renewal folder
* Implemented and updated the stylists npcs which use the new UI on renewal
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Everade <Everade@users.noreply.github.com>
Overhaul of the refine database
Added blacksmith blessing to existing NPCs.
Thanks to @Atemo, @aleos89, @cydh and everyone who tested it.
Co-authored-by: Atemo <capucrath@gmail.com>
* Fixes#2745.
* Disabled the ability to equip old spheres and old slugs.
* Corrected some of the newer bullets name, weight, price, and effects.
* Updated the ASPD for Gunslinger/Rebellion when equipping guns.
* Spread Attack and Ground Drift now only use bullets.
* Adjusted Slug Shot skill item requirement to the new Slug Bullet.
* Separated pre-renewal and renewal ammo NPC (Kenny and Tony).
-- Renewal no longer has Tony.
-- Kenny can now trade in the Sphere bullets for new bullets.
-- Kenny can now trade in the old Slugs for Slug Bullet.
-- Added new bullets into Kenny.
Thanks to @cydh and @exneval!
* 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 !
* Follow up to e24d30a.
* Fixes#2505 and fixes#2507.
* Added a missing material check for Suhnbi.
* Added a missing safe limit check for normal refiners. Safe limit was always 0.
Thanks to @mazvi, @Mickosis, and @cydh!
* Converted refine_db.txt to refine_db.yml
* Refine success rates can now be set in refine_db.yml. rAthena's default NPCs will respect this database by default.
* Added shadow equipment refiner
Thanks to @Akkarinage @aleos89 @Atemo and @Mikegyver for their inputs.
* 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
Fixes#1497.
Thanks to @Darkelfen for reporting it.
Additionally exported the EQP_* constants into the script engine.
Replaced some hardcoded equip positions with their respective constants.
* 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>
* 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.
Summary:
* 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.
NOTE:
* Please import upgrade_20150131_skillset.sql
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Wrong calls, should be callfunc. Thank @raynra
* Follow up 8256194, updated const.txt following new MAPID values for Super Novices
* EAJL_SUPER_NOVICE 0x8000, for Super Novice masking
* EAJ_SUPER_NOVICE 0x8100
* EAJ_SUPER_BABY 0xA100
* EAJ_SUPER_NOVICE_E 0xC100
* EAJ_SUPER_BABY_E 0xE100
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* 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>
- This consists of a few traders, warpers, cashshop-related scripts, and duplicates from various locations.
- There are a lot of placeholders and some entirely missing scripts; these may be added later, but we don't intend to implement all of iRO's custom features.
- Some of the item sprites may be unviewable without iRO's data.grf.
* Minor database updates:
- Corrected all *_C (rental) equipment entries; to be updated later on with VIP bonuses.
- Fixed some bHpDrainRate item_db entries. (incl. bugreport:8049)
- Fixed a mob_skill_db entry. (bugreport:8050)
* Other changes:
- Renamed 'F_RandMes' to 'F_Rand', to clear up any confusion. (follow-up 66a2bfd)
- Small changes in Armor Enchanter script (thanks to Emistry for pointing it out :p).
Signed-off-by: Euphy <euphy@rathena.org>
- Updated dialogue for advanced and Renewal refiners.
- Added an extra check in the main refiner scripts to prevent empty menus from appearing.
- Renamed Renewal NPCs to "Vestri" and "Austri".
- Slightly updated dialogue for the Catalog Magician script.
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 Malangdo Card Separation NPC "Richard", who refines weapons and shields.
- Added new "Job Repair" script, which fixes potential errors with job data (RE).
- Marriage script changes:
-- Permanent global variables are now temporary.
-- Added GM NPCs (The King of Midgart, Divorce Staff, Remarry Staff), commented. (bugreport:6795)
- Added some missing [Official Conversion] comments.
Signed-off-by: Euphy <euphy@rathena.org>