59 Commits

Author SHA1 Message Date
Jittapan Pluemsumran
ac558d7c1e
Initial implementation of pet evolution system + Pet DB conversion to YAML (#3544)
* Implemented official pet evolution system
* Added evolved pets to pet database
* Corrected various pet system mechanics
* Migrated pet database to YAML format and the converter from CSV format

Thanks to @Lemongrass3110 @aleos89 and @Atemo for their suggestions and additional fixes
2019-03-26 22:51:57 +07:00
Daegaladh
cbe0d6b271 Splitted guild_skill_tree.txt into re and pre-re (#3841)
Converted Guild Skill Tree database to YAML

Please run csv2yaml to convert your existing databases if necessary.

Thanks to @aleos89, @Atemo and @Lemongrass3110
2019-03-11 19:57:52 +01:00
Aleos
78eed02273 Updated the YAML parsing method (#3694)
Synchronized the process of loading and parsing YAML databases.
Provides more robust parse warnings/errors.
Added Header checks to validate database versions.
Adjusted root keys to a standard name of Body.
Adjusted inter-server storages, achievements, and attendance to follow the new format.

Fixes #3483

Thanks to @Lemongrass3110!
2019-02-28 22:19:39 +01:00
Lemongrass3110
016d15b79a
Unified infinite tick usage (#3755)
Introducing a new constant INFINITE_TICK
Changed current usages in items, npcs and source to use the new and correct constant.
Replaced some invalid usages of INVALID_TIMER and replaced them with the new constant.
2018-12-18 17:46:56 +01:00
Lemongrass3110
bde580fdbd
Add drop highlighting effect feature (#3710)
Fixes #3610

Thanks to @Balferian, @admkakaroto and credits to @Asheraf
2018-11-29 22:34:57 +01:00
Aleos
7040057a9f
Corrected Taekwon Mission mob generator (#3509)
* Fixes #3499.
* Corrected the way target monsters are generated for Taekwon Mission.
* Requires: The mob ID is in the range [MOBID_PORING, MOBID_GREEN_IGUANA], the mob must have below 30,000 HP, the mob must give Base EXP, the mob must be CLASS_NORMAL.
* Added a new mob group: MOBG_Taekwon_Mission
* Removed hard coded checks.
* Created constants for random monster group flags.
Thanks to @mrjnumber1, @Lemongrass3110, and @cydh!
2018-09-25 13:32:11 -04:00
Lemongrass3110
a5588dd9ab
Initial Release of Attendance Feature (#3297)
Thanks to @secretdataz and @aleos89 for their help.
Thanks to @Haikenz and @admkakaroto for testing.
Thanks to @Daegaladh for his ideas.
2018-07-16 21:39:42 +02:00
Aleos
dc413a3c57
Updated Mado Gear effects (#2103)
* Fixes #2099.
* Added Emergency Magic Gear.
-- Mounts the user to a Madogear.
-- Only usable by Mechanic class.
-- Has a reuse delay of 3 minutes.
* Increased maximum weight limit by 1500.
* HP naturally recovers similar to Swordman Moving HP-Recovery.
* Updated Emergency Cool's interaction with Overheat calculation.
* Added new Emergency Cool cooling devices.
* The three cooling devices now lower Overheat by 45, 75, and 105 respectively.
* Overheat now only increases on every attack by 1 or by 3 with Fire element.
* The Overheat limit is increased to 150, 200, 280, 360, and 450 respective to skill level.
* Updated the check for Acceleration, Self Destruction, Shape Shift, Emergency Cool, Magnetic Field, Neutral Barrier, and Stealth Field to also check inventory for required equipment.
* Updated Magic Gear Master NPC.
-- Added Emergency Magic Gear purchase option.
-- Added High Quality Cooler and Special Cooler upgrade options.
Thanks to @Felleonel, @Rytech2, @exneval and @mrjnumber1!
2018-06-14 17:28:16 -04:00
Lemongrass3110
4ffb1b043a Reverted 0184671
This commit broke the "clear" command, which only required 2 columns.
2018-04-25 22:17:52 +02:00
Lemongrass3110
7c1a88270b Added support for custom constant import (#2656) 2017-12-01 13:58:24 -05:00
Jittapan Pluemsumran
e24d30a711 Refine overhaul (#2295)
* 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.
2017-09-18 21:52:52 +07:00
aleos
ac1cf0499a Follow up to dcbb2df
* Adjusted the checks to one-line.
* Corrected the map-server from spitting out an error for the achievements import file.
2017-08-08 21:12:20 -04:00
Aleos
fe5f1e115d Added a new item flag for delayed consumption (#2300)
* Added a new item flag for delayed consumption
* Fixes #550.
* The new flag will never consume the item.
* Supports script command itemskill.
Thanks to @cydh!
2017-08-04 18:38:39 -04:00
aleos
0126759d00 Fixed some typos in the achievement database
* Corrected documentation in the import database.
* Corrected a typo for dependent achievements in renewal.
Thanks to @Atemo!
2017-07-28 16:47:16 -04:00
Aleos
7f5411da07 Initial release of the Achievement System (#2044)
* Information based on kRO patch notes.
- http://ro.gnjoy.com/news/update/View.asp?seq=163&curpage=1
* Includes Title System which is integrated into the Achievement System.
* Includes RODEX integration for rewards.
* Added new atcommand reloadachievementdb.
* Added new script commands achievementinfo, achievementadd, achievementremove, achievementcomplete, and achievementexists.
Thanks to @Lux-uri, @RagnarokNova, @Lemongrass3110, and @Tokeiburu for their help!
2017-07-27 09:33:03 -04:00
Lemongrass3110
f0ab8d2a52 Overhauled and dropped packet db (#2263)
Adds support for a lot of missing clients and features almost all clients from 2016 and 2017
clientinfo.xml's version value will be ignored from now on
By setting PACKETVER the server will configure everything else on it's own from now on
Dropped is_clientver script command
And a lot more
2017-07-15 22:45:12 +02:00
Cydh Ramdh
e59cdfff90 RE:Initial release item random option for monster drop (#2065)
* Initial release item random option for monster drop
* To add item for monster with random option group, see 'db/[pre-]re/mob_drop.txt'
* To add item random option group with random option group, see 'db/[pre-]re/mob_item_randomopt_group.txt'
* Default entries for random options are follow iRO Crimson/Scarlet Weapon based on
  * "[Renewal] Episode 15.2 Crimson Weapon System", see http://www.playragnarok.com/news/updatedetail.aspx?id=280&p=1.
  * File uploaded by Oda (iRO's CM) on https://forums.warpportal.com/index.php?/topic/168763-fansitedb-information-distribution-and-request-station/?p=2495922

Signed-off-by: Cydh Ramdh <cydh@pservero.com>

* Follow up 3b7db36288d70b6f40632e7397af4ed073595c8c
* Moved `RDMOPTG_Crimson_Weapon` from const.txt to `enum Random_Option_Group` in `itemdb.h`.
* Removed `RDMOPT_WEAPON_ATTR_POISON`, `RDMOPT_WEAPON_ATTR_TELEKINESIS`, and `RDMOPT_WEAPON_ATTR_UNDEAD` from Crimson Weapon random group (`RDMOPTG_Crimson_Weapon`), thanks to @atemo
* Added db header for impot-tmpl files, thanks to @secretdataz

Signed-off-by: Cydh Ramdh <cydh@pservero.com>

* Follow up ac0cdd8dc87c534d26510cf3d37cb1609629919a
* Fixed type on steal checking

Signed-off-by: Cydh Ramdh <cydh@pservero.com>

* Cleared some drop slot for crimson weapon
2017-04-28 00:43:09 +02:00
Lemongrass3110
aaa4ea919e Initial release of the cash shop sales (#1825)
Added a permission for the cashshop sales

Thanks to @Angelic234 and everyone else who tested this feature while it was sleeping waiting in a pull request.
Thanks to @aleos89, @secretdataz and @lighta for reviewing and commenting.
2017-02-15 14:04:18 +01:00
Lemongrass3110
c770990973 Added better documentation for skill splash range
This was brought up because of #1940.
Thanks to @Joy-Ro
2017-02-07 00:27:52 +01:00
Jittapan Pluemsumran
b62f4a2c36
Made Para_Team_Mark_ (22508) follow kRO effect.
Fixed #1820.
2016-12-21 14:03:54 +07:00
Lemongrass3110
9040613fa6 Added missing empty newlines to a lot of files 2016-11-23 13:54:45 +01:00
Cydh Ramdh
0df1ba0a20 TE Updates
* Implemented `job_noenter_map.txt` for TE maps.
* Added job list that cannot enter TE Castles and Guild Dungeons.
* Replaced `getpermissionwoete` with `jobcanentermap`.
* Added missing quest `7516`.
* Fixed typo in TE Mission NPC.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2016-08-31 14:42:49 +07:00
Cydh Ramdh
d84d6ba1e5 Initial release: Map X Job restriction (#1526)
* Listed job with matched map zone is restricted to enter the map.
* Added db file `job_noenter_map.txt` with format: `JobID,FlagZone,GroupLevelBypass`.
* Reserved usage for WOE:TE implementation.
* Typo correction, thanks @aleos89 @Lemongrass3110
2016-08-30 22:09:02 +07:00
Aleos
c575fede4f Merge pull request #1495 from rathena/cleanup/skill_tree
Skill Tree cleanup
2016-08-17 20:17:37 -04:00
Jittapan Pluemsumran
f296409ada
Initial Release of Random Option System
* Added basic support for random option system
* Don't forget to import upgrade_20160814.sql and upgrade_20160814_log.sql to make your existing rAthena installation functional!
2016-08-14 22:21:07 +07:00
aleos89
e40c88ecbf Skill Tree cleanup
* Added an optional base level requirement for skills.
* Refactored some variable types and names.
2016-08-11 18:31:59 -04:00
aleos89
bec9845499 Updated Camouflage behavior (fixes #1438)
* Camouflage now ends when attacking plant type monsters.
* Camouflage bonus is applied to the first skill after activating Camouflage.
* Corrected movement speed bonus checks.
* Removed INF3_NOENDCAMOUFLAGE enum as it is no longer needed.
* Updated skill_db documentation.
2016-07-26 16:58:44 -04:00
Lemongrass3110
65b716f586 Removed some hardcoded mob ids
Created some race2 values for mobs used in the Manuk and Splendide status changes
2016-06-23 00:41:21 +02:00
Aleos
48a4ee162d Merge pull request #1324 from rathena/cleanup/monster_groups
Cleaned up monster group parsing
* Adjusted monster groups to support sv_readdb.
* Updated the import folder documentation for the related monster groups.
* Fixes #1269.
Thanks to @Lemongrass3110!
2016-06-01 10:21:26 -04:00
Aleos
1591e9ade7 Merge pull request #1308 from rathena/cleanup/item_groups
Cleaned up item group parsing
* Adjusted item groups to support sv_readdb.
* Now allows for proper usage of the import directory for these item groups.
Thanks to @Lemongrass3110!
2016-05-31 14:10:16 -04:00
Lemongrass3110
968c2ef24d Fixed the old import templates 2016-05-28 17:23:54 +02:00
Jittapan Pluemsumran
5287f82a0e
Add support for unsetting bit flag in item_noequip (Closes #1319).
* Unset the flag by passing in negative value.
* Thanks to @Everade
2016-05-28 00:20:08 +07:00
aleos89
6babca3689 Corrected a few minor issues
* Follow up to 2cfb844.
* Adjusted the instance_db documentation.
* Adjusted script command instance_announce to check when instance ID is 0 rather than -1 since instance IDs are stored as unsigned now.
* Added a couple of checks when sending instance information to the client.
* Fixed a compile warning.
2016-05-24 09:22:03 -04:00
aleos89
2cfb844429 Refactored a bit of the instance modes
* Follow up to c97be60.
* Added some safety measures when sending the instance name to the client.
* Adjusted the stored maps of instances to dynamic arrays to conserve memory.
- Max amount of possible maps increased to 255.
* Removed Map1 from the instance_db as the EnterMap is always the same value.
* Instances will now be destroyed even if the owner cannot be found.
* Corrected the return value when entering an instance when a character, party, or guild does not have an instance.
* Corrected a few script commands to properly stop the script engine on failures for instance script commands.
* Removed the instance name lookup for when entering an instance as instance_id is now passed.
- Adjusted script command instance_enter to no longer require the instance name.
* Adjusted script command instance_create to keep backwards compatibility.
* Cleaned up script command instance_warpall.
* Updated script documentation to reflect changes.
* Updated instance_db to reflect changes.
2016-05-23 14:12:34 -04:00
Lemongrass3110
208407cfe6 Added the new import templates 2016-05-22 03:59:13 +02:00
aleos89
cb703c5bfa Expanded instance_db to include idle time
* Follow up to c97be60.
* Adjusted the instance_db to allow instance idle time to be adjustable.
2016-05-14 12:06:04 -04:00
Playtester
a4aad69750 Exp tables updated (fixes #1102)
* Fixed a problem that many of the exp requirements were 1 level off
* Removed custom level requirements from the default pre-re/re rAthena files
* Optimized the structure of these files; no more redundant data
* Added a few custom exp rows to import-tmpl/job_exp.txt that can optionally be used
* Updated 1st and 2nd trans job exp requirements to the new official values from 2015
* Fixed a bug that caused monsters to still give 1 base/job exp even though their exp in the db is 0
* Updated Summoner EXP requirements according to latest test results; as Summoner has exactly the same base exp requirements as 3rd classes starting at level 99, it will now use the same row
2016-03-25 18:36:16 +01:00
aleos89
d457d2f5f9 Implemented SC Blocking Database
* This database contains status (SC) that will be disabled/blocked on certain map.
* The specified map for SC is determined by map type or zone.
* The disabled SC will be removed if player has the SC from previous map and will fail to be applied again.
Thanks to @cydh!
2016-02-01 12:20:18 -05:00
Cydh Ramdh
230811c8ab Bug fixes:
* Fixed #651, now quest_db is separated between Renewal and Pre-Renewal to avoid non-existent monster/item (current missing monster/items are removed on Pre-Renewal). Thank @lordganja.
* Fixed #622, cast warning in script.c::get_val2. Thank @Litro .

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-09-24 07:41:02 +07:00
Cydh Ramdh
d8da4dd2dc Follow up 9b87ca2b7cd826b42d9a1753da055e2c9e7adf33, added mob_random_db.txt in db/import-tmpl
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-30 05:10:04 +07:00
Cydh Ramdh
2ae4bcb694 Implemented 'NeedLevel' for Homunculus skill tree
* Changed 'JobLevel' to 'NeedLevel' and don't make it as optional.
* Make sure homun_skill_tree.txt column number is 15!

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-02-16 00:38:09 +07:00
Cydh Ramdh
c32b8e0c09 Merge pull request #229 from rathena/cleanup/itemmaxlv_n_equipitemack
Cleanup item maxlv and clif_equipitemack
2015-01-21 10:29:27 +07:00
Cydh Ramdh
44d599875a Merge pull request #206 from rathena/feature/import-maps
Import support for map data
2015-01-21 10:28:03 +07:00
Cydh Ramdh
fa75733cc1 Item Max Level clif_equipitemack messages
* Max level to equip item now works for Pre-Renewal too, since the field is optional. 0 means no max level limit.
* Fixed fail message on clif_equipitemack when item cannot be equipped because level limitation

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-15 01:17:54 +07:00
Lemongrass3110
85b229d5f4 Added the required import template files
Note: The map_cache.dat is an empty mapcache, it does not contain any map data.
2015-01-06 16:23:02 +01:00
Cydh Ramdh
0987aeeb5d Official Item BindOnEquip Support
* Added item flag value: 8 to init default item with BindOnEquip. Item with this flag will be character bound item once equipped.
* Added optional config 'default_bind_on_equip' in conf/battle/items.conf to set default bind type. By default the type is character bound.
* Hercules merge 1f5161a2bd

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-02 14:44:49 +07:00
Cydh Ramdh
5ce80555a7 Corrected guid implementation of item package in 51074a0
* GUID
  - `guid` field in official PackageItem.lua supposed to make item will be separated even item is stackable item.
  - Currently `guid` usage is using item Unique ID that generated when item with GUID flag is appear from package.
  - Some item containers in official PackageItem.lua are also separated, not stacked when player obtain it. Example when using atcommand "@item Xmas_Bless". For current implementation, the items are flagged in item_flag.txt (db folder) with flag 4.
  - `isNamed` field in item group is replaced by `GUID` and move the `isNamed` as new additional field. See doc/item_group.txt or db/re/item_package.txt.
* NPC:
  - Enabled npc/re/other/item_merge.txt and it's now usable.
* Script Command:
  - Added `mergeitem` to merge separated items in player's inventory. See doc/script_commands.txt.
* Misc:
  - Changed how to broadcast the item that obtained from package with flag `isAnnounced` to intif_broadcast, so it will be announced to all connected map-servers.
  - Added some items that flagged as 'item group container' in db/re/item_flag.txt

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-11-30 13:52:52 +07:00
aleos89
3be6f5a4f3 * Adjusted new renewal changes and added missing bonus damage modifiers for several skills. (bugreport:9280)
* Put Gloomy Shyness into INF3_*.
2014-11-27 22:37:25 -05:00
Cydh Ramdh
ce090ce916 Skill Changes:
* Wizard/Warlock Skill
  * Moved Sightrasher (WZ_SIGHTRASHER) requirement to check Sight (SC_SIGHT) is active or not to skill_check_condition_castend section.
  * Fixed Sightrasher (WZ_SIGHTRASHER) splash area to 3x3. (bugreport:9298)
  * Now Comet (WL_COMET) cannot hits Hiding target (The mistake is not at flag 0x10000 in skill_db.txt, the flash should be added by SD_ANIMATION). (bugreport:8909).
  * Now Reading Spell Book (WL_READING_SB) checking the number of available spell books in Spell Book DB first to prevent infinite loop.
* Sage Skill
  * Now Abracadabra (SA_ABRACADABRA) checking the number of available skills in Abra DB first to prevent infinite loop.
  * Reduced MAX_SKILL_ABRA_DB from 350 to 160.
* Shadow Chaser Skill
  * Fixed Chaos Panic (SC_CHAOSPANIC) effect. (bugreport:9321).
* Genetic Skill
  * Now Wall of Thorn (GN_WALLOFTHORN) can be knocked back but not a whole skill group and durability (HP & max hit) for each skill unit.
* Guillotine Cross Skill
  * Now Magic Mushroom (SC_MAGICMUSHROOM) effect checks the number of available skills in Magic Mushroom DB first to prevent infinite loop.
  * Changed 'RemoveFlag' in db/magicmushroom_db.txt value to 1 to remove skill by importing. (bugreport:9322).
* Wanderer/Minstrel Skill
  * Now Randomize Spell (WM_RANDOMIZESPELL) checks the number of available skills in Improvise DB first to prevent infinite loop.
  * Reduced MAX_SKILL_IMPROVISE_DB from 50 to 30.
* Rebellion Skill
  * Cleaned up, added, corrected some (missing) sequences & DB values.
  * Fixed Hammer of God (RL_HAMMER_OF_GOD) splash damage.
  * Fixed Shaterred Strom (RL_S_STORM) push back & force to sit effect (for player, or stun for monsters) (first implementation leftover).
  * Fixed Slug Shot (RL_SLUGSHOT) hitrate-distance penalty (first implementation leftover).
  * Fixed Howling Mine (RL_H_MINE) damage ratios (first implementation leftover).
  * Now Bind Trap (RL_B_TRAP) only can be placed 1 at same time.
  * Fixed Bind Trap (RL_B_TRAP) damage calculation by using Caster's DEX, Target's Current HP, & Skill Level. FIXME: Exact formula still unknown (refers to idAthena formula).
  * Now Dragon Tail (RL_D_TAIL) doesn't split damage among targets anymore.
  * Now Crimson Marker (RL_C_MARKER) will fails to cast if no slot available.
  * Implemented official packet `ZC_C_MARKERINFO` of Crimson Marker (RL_C_MARKER) mini-map marker (first implementation leftover). !TODO: Confirm the packet for older or newer clients (idAthena partial merge r1497)
  * References: http://forums.irowiki.org/showpost.php?p=1387992&postcount=968, follow up 507f047, dd67f9d

Misc:
* Fixed some skills that should work only in shoot range (map_foreachinshootange, by default), and added check for respecting *skill_wall_check* (map_foreachinrange).
* Fixed item stackable check for `/item` command, follow up 9b4d922.
* Fixed npc source file isn't removed properly by @unloadnpcfile. (bugreport:9311).
* Added constantan for status_change_start() and sc_start() scripts as well
  * SCSTART_NONE = 0x0
  * SCSTART_NOAVOID = 0x1
  * SCSTART_NOTICKDEF = 0x2
  * SCSTART_LOADED = 0x4
  * SCSTART_NORATEDEF = 0x8
  * SCSTART_NOICON = 0x10
* Moved and changed itemdb_unique_id() to pc_generate_unique_id().
* Seperated check for skill SC requirement to skill_check_condition_sc_required().
* Added skill unit flag `UF_KNOCKBACK_GROUP`, just an option to make skill unit can be knocked back a whole group.
* Typos and other minor changes!

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-10-01 17:42:30 +07:00
aleos89
a080117a74 Bug Fixes
* Switching arrows no longer stops attacks. (bugreport:9270)
* Looter monsters will now randomly pick items rather than going for the closest one. (bugreport:9268)
* Follow up to 0fed97c. Moved pc_setsit before skill_sit to not break skills that count players who are sitting. (bugreport:8966)
* Follow up to 2d2991a. Cleaned up some compile warnings.
* Updated the inf3 descriptions in the skill_db.
2014-09-20 11:44:44 -04:00