97 Commits

Author SHA1 Message Date
Aleos
e13ca63cc8
Added Guild Storage Expansion Skill (#3244)
* Fixes #499 and part of #1303.
* Implements Guild Storage Expansion Skill which requires client 2013-12-23 or newer (enable by default depending on client date in src/config/packets.hpp).
* Implements guild storage permission which requires client 2014-02-05 or newer.
* Expanded script command guildopenstorage return values.
2018-07-03 08:49:34 -04:00
Lemongrass3110
aff70f6482 Added support for homunculus autofeeding (#3007)
* Added support for homunculus autofeeding
This feature is available in 2017-09-20bRagexeRE or later

Credits to @Asheraf in HerculesWS/Hercules#1898
2018-04-04 13:55:51 +07:00
Aleos
c73e10cb30 Added new 2016 Wedding skills (#2479)
* Added new 2016 Wedding skills
* Adds Call All Family, One Forever, and Cheer Up skills to the renewal databases.
* Removed Enlarge Weight Limit R skill from a few job skill trees as it's not needed to be defined there.
Thanks to @Rytech2, @Jeybla, and @Lemongrass3110!
2017-10-19 13:22:55 -04:00
Jittapan Pluemsumran
f20ac015d1 Fixed random options with negative values being stored as 0 in database. (#2465)
* Made random option database columns signed
* Negative values can now be stored for random options
* Fixed #2415
Thanks to @uddevil

* Follow up to ea28ff4. Updated main SQL scripts.
2017-10-02 09:05:41 +07:00
Aleos
fc115b85a1 Adjusted HP, Max HP, SP, and Max SP SQL defines (#2389)
* Fixes #2387.
* Adjusted column define from mediumint to unsigned int.
* Synchronized default values to 0.
* Adjusted the parser format specifier
* Adjusted the specifiers to support unsigned.
Thanks to @M45T3Ryu and @Lemongrass3110!
2017-08-31 10:49:48 -04:00
Lemongrass3110
983d164b7d Fixed public equip switch not being saved
Fixes #2310

Thanks to @mrjnumber1
2017-08-06 13:49:29 +02:00
aleos
fdbdcb266e Renamed the Achievement SQL upgrade file
* Renamed the Achievement SQL upgrade file date to match the release date.
Thanks to @sikiro!
2017-07-27 19:54:04 -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
Akkarinage
d912c5039b Removed SQL upgrade files dated prior to 2016 (#2282)
Signed-off-by: Akkarinage <akkarin@rathena.org>
2017-07-24 15:35:05 +01:00
Lemongrass3110
a3c0590508 Added some checks to guild leader change
Introduces two new configurations:
1) Allow guild leader changes in WoE (yes/no)
	Default: no
2) Delay between the changes (in minutes)
	Default: 1440 minutes = 1 day

Follow up to b51617c
2017-07-02 23:40:30 +02:00
Lemongrass3110
58776da1ac Basic RODEX support (#2186)
Adds basic support for the new mail UI RODEX.

Fixes #1567

Thanks to @RagnarokNova, @Atemo, @aleos89 and everyone else that helped me with this.
Additionally I would like to thank @jezznar and @hazimjauhari90 for their good testing in the pull request.
2017-06-21 00:00:29 +02:00
Lemongrass3110
562d6d1e34 Added automatic clan member removal (#2135) 2017-05-10 23:27:20 +02:00
Lemongrass3110
799f781ac2 Fixed MySQL 5.7 compatibility (#2074) 2017-05-02 22:59:05 +02:00
Akkarinage
9af37d21b7 Removed ancient SQL Upgrade files.
* Old SVN upgrades are no longer needed.
* Retained the last 3 years of upgrades.

Signed-off-by: Akkarinage <akkarin@rathena.org>
2017-04-11 17:58:18 +01:00
Lemongrass3110
6eb4cc408f Fixes #2004
Thanks to @daisyanne1380

Make sure to make a backup of your tables' content before running the upgrade script - in case of any conversion problems that might occur.
2017-03-27 00:31:02 +02:00
aleos
6c0debb9ba Increased the integer storage type for EXP
* Adjusted the homunculus and mvplog tables to support increased EXP amounts.
2017-02-18 15:30:29 -05: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
vstumpf
11f0a1f9d1 Clan Chat logging is now available 2017-01-14 17:47:36 +01:00
Lemongrass3110
9040613fa6 Added missing empty newlines to a lot of files 2016-11-23 13:54:45 +01:00
Lemongrass3110
ecc8cf9f0b Initial release of the clan system
Thanks to @cydh, @RagnarokNova and @aleos89 for their help.
2016-11-16 15:36:08 +01:00
aleos89
5aa53e4738 Merge branch 'master' into cleanup/storages_optimization 2016-11-11 14:54:43 -05:00
Cydh Ramdh
46b1de7d50 Initial release 'premium' storage
* Adapting official multiple storages.
* Added config to defines storages. See conf/import-tmpl/inter_server.conf.
* Added packet IZ `0x388c` for sending storage definitions.
* Added script command `openstorage2` to open premium storages.
* Removed `sd->storage_size`, replaced by `sd->storage.max_amount`. The value is defined in inter_server.conf in storage entries.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2016-11-01 09:08:55 +07:00
Lemongrass3110
6a8985531b Fixed NPC markets
Fixed signedness warnings for the sanity zero-terminations
2016-10-14 09:14:22 +02: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
a14e21f4dd Follow up to 15fdc12
* Adjusted the item database parser cast type.
* Adjusted the SQL tables to reflect the increased limit.
2016-06-14 17:37:04 -04:00
Jey
9bd10dacf4 Follow up to 879ddcc1af2600b90420d1c876e28866f68489ef:
Upgrade Script for feeding log.
2016-05-17 02:27:55 +02:00
Napster
d70b1734c8 Add support body style implementation
* This feature require the client support before 2015-05-13 or newer
   Make sure you data&lub support for this

  note : read info to https://rathena.org/board/topic/104205-2015-client-support/

  Special Thanks you to Rytech, @aleos89
2016-01-12 01:55:30 +07:00
Lemongrass3110
09a87306b1 Added a unique index for aegis name to the item tables 2016-01-06 02:13:19 +01:00
marha
fd9251579c Narrow the query results to named items only (card0 IN (254,255)) 2015-11-19 22:18:23 +01:00
marha
f34deb0ebc Fixing upgrade 2014 06 12 losing data when having negative data (e.g. char ids) in card slots. Easiest way to reproduce is on a Wedding Ring. 2015-11-10 00:19:57 +01:00
Vennren
ea1ffb578a Update upgrade_20150619.sql
Fixed 'db_roulette' table in relation to Error Code: 1064.
2015-10-08 05:10:51 +02:00
aleos89
039e1b65a3 Quest System Update
* Added support for the new quests that grant item drops from mobs.
2015-09-17 13:24:42 -04:00
Aleos
6295c77d39 Merge pull request #457 from rathena/feature/script_engine_upgrade
Script Engine Upgrade
* More information here: https://rathena.org/board/topic/102946-script-engine-upgrade/
2015-08-31 14:26:15 -04:00
aleos89
3452b931b9 Small Changes
* Renamed SQL upgrade file.
* Fixed a buffer overflow in 'set' atcommand.
2015-08-31 14:15:30 -04:00
Napster
e444270b0a Follow up to 53868d5
* Fixed #600, Hotkey Rotate Packet Implemented, Thank You @dastgir

Credits : Hercules 2b4b33b06a
2015-08-28 16:32:23 +07:00
Cydh Ramdh
e1b658e462 * Item GUID Updates:
* Removed `ENABLE_ITEM_GUID` from src/config/core.h, after long time introduction it's worth to be enabled by default. Just remove all items with GUID flag if want to remove it generates GUID .
  * Implemented client interface to merge the items. Packet struct credits: 856b6f1feb
  * Edited `mergeitem` script command to use the interface, moved the 'old' `mergeitem` to `mergeitem2`.
  * Fixed the behavior to add GUID'd item to inventory in Cash Shop.
  * Updated item_flag.txt for listing `IT_CASH` items (item type 18).
  * NOTE: `IT_CASH` items which defined in item_flag.txt with flag `4`, cannot be merged.
  * NOTE: Please check the packets for older clients. Tested work on 2012-04-10, 2013-08-07 and 2014-10-22.
  * NOTE: Please import 'upgrade_20150804.sql' for MySQL Log Database.
* Removed duplicate clif functions:
  * `clif_msgtable()` -> `clif_msg()`
  * `clif_msgtable_num()` -> `clif_msg_value()`
* Item DB Updates:
  * Indonesia_Box2 (17079) should gives 5x Wing_Of_Butterfly (602).
  * Changed some item types to 18.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-08-04 20:57:49 +07:00
aleos89
35cd68873b Merged with master 2015-06-26 10:36:40 -04:00
aleos89
9fd34b2439 Bug Fixes
* Fixes #475 - Added missing Roulette packet lengths.
* Fixed a few issues with character gender changes for 20141016 and up. Thanks to @cydh's eagle eyes!
* Fixed a small typo in 'upgrade_20150619_log.sql'.
* Removed an unused variable.
2015-06-22 15:05:18 -04:00
aleos89
b6212a676d Follow up to 3d9c6e7.
* Fixed missing index for Roulette SQL table.
2015-06-19 14:39:49 -04:00
aleos89
3d9c6e7763 2014 Client Support
* Implemented the Roulette Game feature.
* Implemented per-character sex change feature.
* More info: https://rathena.org/board/topic/102247-2014-client-support/
- Special thanks to HerculesWS/Hercules@239d480 for the base.
2015-06-19 14:07:34 -04:00
aleos89
0696125b82 Script Engine Upgrade
* Upgraded the script engine variables to no longer be limited.
* Increased array limit from 127 to 2 billion.
* Improvement in overall speed and storage size.
* All variable types now support arrays.
- Merge from HerculesWS/Hercules@82b583b. Thanks to those who worked on it.
2015-06-11 10:44:13 -04:00
Cydh Ramdh
5ed75dc877 * Merge pull request #294 and its clean up
* Moved Bank Vault from `login` table (login-server level) to `global_reg_value` as #BANKVAULT (char-server level)
  * IMPORTANT: Read & import upgrade_20150408.sql
* Follow up cbdc0127, another fix for Point Shop NPC.
* Follow up 022d7289, corrected picklog initial for bound items that removed when member of guild/party or guild/party is broken. Please import upgrade_20150408_log.sql

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-09 01:26:17 +07:00
Cydh Ramdh
7d929a06a3 NPC Market Shop support
* New shop script definition: `<map name>,<x>,<y>,<facing>%TAB%marketshop%TAB%<NPC Name>%TAB%<sprite id>,<itemid>:<price>:<quantity>{,<itemid>:<price>:<quantity>...}`
* Added script command to update shop NPC: 'npcshopupdate "<name>",<itemid>,<price>{,<stock>}'
* Added NPCMarketDB (DBMap) for market data persistance method.
* Added `market_table` definition for market table in conf/inter_athena.conf.
* Thank to @aleos89, @Lemongrass, @icxbb-xx, merged HerculesWS/Hercules@cf19b26.

NOTES:
* Minimum client needed 2013-12-23 (but this client has bugs there-and-there).
* There's new table, see `upgrade_20150327.sql`.
* Market shop doesn't support discount.
* Added items by script `npcshopitem` or `npchopadditem` will be assumed as persistance items, will be loaded on next script reload or server start even market_shop NPC does't list them (unless NPC is not exists, entries will be removed).

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-27 21:11:07 +07:00
aleos89
d3625e5c10 Cleaned up merge issues. 2015-02-21 15:43:58 -05:00
Cydh Ramdh
9d3d34205f Skill DB clean ups
* 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>
2015-02-12 15:50:50 +07:00
Aleos
0e533fa7ab Revert "Skill DB clean ups" 2015-02-10 09:33:00 -05:00
Cydh Ramdh
72617ac98b Skill DB clean ups
* 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>
2015-01-31 19:45:52 +07:00
Cydh Ramdh
95705d41be Bonus Script clean up
* Removed fixed array size (MAX_PC_BONUS_SCRIPT) of bonus_script on players.
* Changed fixed script string on player's bonus_script to StringBuf, reduce memory usage for each connected player.
* Added new flags to expand duplicated script and flag to allow duplicate script.
* Reduced buf lenght from 1024 to 512 on bonus_script_data (used for saving/loading bonus_script from char-server). Still, MAX_PC_BONUS_SCRIPT is used to gives limit data can be loaded.

NOTE:
Please import 'upgrade_20150131.sql' for `bonus_script` table changes

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-31 15:07:13 +07:00
Cydh Ramdh
022d72891e Changed Guild/Party Bound Item Retrieval Methods:
* Bug Fixes bug:9338
* Now resend the list to map-server from char/inter-server to avoid "weird" item allocation on guild storage. Example, previously you will meet stacked item like GUID does, but it shouldn't!
* Also will check the maximum amount that can be store in guild store. If guild storage is full (the slots or item stack limit is reach) the rest value/item will be dropped.
* Account of kicked guild member won't be kicked from server anymore if the player idle on character select window (just prevents player to login when retriving items are in progress)
* Delete guild bound items from guild master when guild is disbanded! Previously, the bound type just changed to NONE. Also for party bound item.
* If kicked guild/party member is trading bound item when be kicked, the trade will be canceled!
* If the guild member is being kicked when open guild storage, storage will be closed first waiting for next item retrieval.
* Now when guild storage is opened, storage_status (changed the var to 'opened') will be used to hold char_id who opens it.
Misc:
* Cleanup guild storage prefix functions, changed them to "gstorage_*"
* Added `picklog` type 'B' for logging deleted bound item because of kicked from guild/party.
* Updated documentation for new used packet 0x3857

NOTE: Please import upgrade-20150103_log.sql
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-03 20:37:38 +07:00
Cydh Ramdh
9b4d922ef4 Bug Fixes:
* Follow up 2d2991a, remove trailing spaces in inter_athena.conf
* Added `bound` field on `picklog` table (bugreport:9240) Thank @icxbb-xx (Napster)
* Fixed Randomize Spell infinite loop. Failure of skill improvise db reading. (bugreport:9288)
* Added **max_extended_aspd** for caping max ASPD for KO/Rebellion, default is 193. Pointed by @raynra & Ziu
* Mail attachment
  * Added `bound` field on `mail` table, since group with PC_PERM_TRADE_BOUNDED can put bound item into attachment
  * Fixed wrong data type causing wrong zeny amount (bugreport:9291)
* Fixed item color issue for bound item (bugreport:9238)
  * Stackable item shouldn't be displayed as yellow color
  * Equip doesn't shown as yellow after relog or item is moved
* Silence status immunity for Renewal (bugreport:9227)
  * Bleeding (SC_BLEEDING): Vit -> Agi
  * Silence (SC_SILENCE): Vit -> Int
  * Sleep (SC_SLEEP): Int -> Agi
  * Thank @Playtester, @Lilith-, partial merge of Hercules:6f26451
* Fixed status check when cast a skill to hidden target
  * Stone Curse shouldn't be casted to hidden enemy when the caster has intravision (bugreport:9266)
  * Added **INF3_HIT_HIDING** for skills that *maybe* have effect to/can hit the hidden target. Previously, every Earth Element skills *always* had it, doesn't matter ground skill or single-target skill
  * **!TODO: Confirm other skills that have ability for this!**
  * **!FIXME: For now, I rely as the previous check did, I put some Earth Element skills (and) with area/ground effect**
* Correcting Devotion behavior (Hercules:e7be725, 41f28c0)
  * Failing to cast Devotion to the 6th player
  * Only player who devotes other that 'shout' Auto Guard when it active also with the walk delay
  * Status icon that inherited from devoter won't be displayed at devoted player
  * Reflect Damage on devoted player won't reflect normal attack, only melee skill attack
  * Added config **devotion_rdamage_skill_only** for backward compability, ignore the behavior above

**IMPORTANT**
  * Please import sql-files/upgrades/upgrade_20140915_log.sql
  * Please import sql-files/upgrades/upgrade_20140915.sql

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-09-15 18:02:49 +07:00