152 Commits

Author SHA1 Message Date
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
Aleos
bae5c31201 Miscellaneous atcommand parsing cleanups (#2238)
* Removed several typecasts.
* Adjusted atcommands that interpret character names to make use of atcmd_player_name.
* Added some missing comments.
* Adjusted a few return messages to match the appropriate scenario.
* Assume atcommand changeleader is successful after initial checks.
Thanks to @Lemongrass3110!
2017-07-06 17:15:45 -04:00
Lemongrass3110
f86ba2b6b8 Added a state check for the cash shop
If the cash shop is open you can not use the atcommands cash and points.
This is because no update packet exists and the cash shop only gets the current amount when you open the cash shop.
The second way to update the cash shop values is on a successful purchase.
2017-07-03 22:14:34 +02:00
Cydh Ramdh
c87dba5a52 Channel System is Expanded! (#1933)
* Many changes on conf/channel.conf!
- Now capable of setting default values for channels through the config such as the channel name, channel password, member capacity, chat color, chat delay, and more.
* Many new channel script commands!
- Added script commands channel_create, channel_setopt channel_setcolor, channel_setpass, channel_setgroup, channel_chat, channel_ban, channel_unban, channel_kick, and channel_delete.
2017-04-19 14:12:00 -04:00
hazimjauhari90
39e54d65bb Expanded baby jobs (#2039)
* Added support for expanded baby jobs.
* All jobs listed below are now fully playable.
- Baby Summoner
- Baby Ninja
- Baby Kagerou
- Baby Oboro
- Baby Taekwon
- Baby Star Gladiator
- Baby Soul Linker
- Baby Gunslinger
- Baby Rebellion
2017-04-06 18:00:30 -04:00
aleos
0c20c596e0 Expanded script command setbattleflag
* Fixes #1945.
* Adds an optional flag to reload the monster database for specific map flags that are EXP/drop related.
* This resolves having to add atcommand reloadmobdb after setting the battle configs.
* Adjusted atcommand setbattleflag to also have the optional parameter.
* The reload should only have to be called on the final setbattleflag use.
2017-02-11 20:55:35 -05:00
aleos89
65427737bf Follow up to 9c2026d
* Renamed atcommand reloadnpc to reloadnpcfile.
* Adjusted documentation to fit.
2017-01-25 13:48:37 -05:00
aleos89
9c2026d216 Fixed atcommands for NPC loading (fixes #203)
* Resolves atcommand loadnpc not working in sequence with atcommand unloadnpc multiple times on the same NPC.
* Added atcommand reloadnpc.
Thanks to @Tokeiburu!
2017-01-25 13:06:45 -05:00
Lemongrass3110
633d50fa72 Atcommand clanspy 2017-01-16 23:36:52 +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
Lemongrass3110
f0dd764095 Merge branch 'master' into cleanup/storages_optimization
# Conflicts:
#	src/map/script.c
2016-10-10 13:06:52 +02:00
aleos89
bd36b294ad Merge branch 'master' into cleanup/storages_optimization 2016-08-30 19:40:36 -04:00
Cydh Ramdh
8805e7e1d8 Merge branch 'master' into woe_te-restrictions 2016-08-27 07:04:41 +07:00
Lemongrass3110
93c01ee056 Fixed monsterinfo and whereis
Also updated the german translation.
Follow up to 604e805
2016-06-16 23:40:14 +02:00
aleos89
604e805c03 Corrected some MAX_SEARCH results (fixes #1345)
* The count was already being capped by itemdb_searchname_array() so the check was never hit.
* Adjusted the return message to match the corrected result.
2016-06-16 13:46:15 -04:00
aleos89
eeccb70050 Merge branch 'master' into cleanup/storages_optimization
Conflicts:
	doc/script_commands.txt
	src/map/pc.c
	src/map/script.c
2016-06-01 13:24:27 -04:00
aleos89
93aa624828 Added missing jobs to atcommand accinfo
* Added Rebellion, Oktoberfest, and Summoner job names.
* Adjusted some variable array lengths to use defines.
2016-05-30 11:02:23 -04:00
aleos89
f0b093f0fd Follow up to 6ab9fd0
* Adjusted the message returned.
2016-04-25 11:10:53 -04:00
Lemongrass3110
6ab9fd0eea Small refactor of pc_setpos
pc_setpos now delivers an enum for the error that happened.
Additionallly it now returns a different return value when the targeted player is in autotrade state.
Added usage of this new return value to all recall commands.
2016-04-24 20:32:05 +02:00
aleos89
55e4df14c2 Overhaul of the mob mode system
* This rewrite allows for better adaptation from the Aegis Class and Attribute fields.
* Refactored the renewal level penalty function.
* Slaves are now properly assigned an official slave mode of CanWalk, CanAttack, and NoRandomWalk.
* Removed extra Boss checks and adjusted others to use their proper functions.
* Properly implemented Skill Immunity mode to match Aegis.
* Separated MVP and Boss modes.
-- MVP mode defines when mobs should give MEXP, MVP Drops, and show the MVP sign.
-- MVP now have their own item drop configurations.
* Updated the mob_db and mob_skill_db to match the new mode structure.
-- Included a Perl tool (tools/convert_monstermode.pl) to allow people to convert their custom mobs to the new mode structure.
Thanks to @Playtester and @Lemongrass3110 for help with debugging and information!
2016-04-18 14:49:27 -04:00
Atemo
b3d150c3a5 Merge branch 'master' into woe_te-restrictions 2016-04-04 20:22:25 +02:00
Lemongrass3110
b53e00bcc2 Added support for arrays to atcommand set
Removed allocation and freeing of an unneeded script data structure.
Additionally removed a message that could never be shown.
2016-03-31 22:47:20 +02:00
aleos89
d88a6aca45 Optimized Inventory, Cart Inventory, and Storage usage
* These storage types now mimic Guild Storage and can be loaded/saved whenever needed.
* Relieves mmo_charstatus from having to send storage types and lets the char-server handle it.
* All storage types now have an increased max amount.
* Fixes #441 - Players will no longer be required to log out to resync cart item data before opening a Vending Store.
* Refactored player weight and cart weight calculations into their own functions.
* Added script commands guildstoragecountitem[2] and guildstoragedelitem[2].
* Refactored several function return types as well as documentation.
Thanks to @lighta and @cydh for their help with it!
2016-03-29 13:30:27 -04:00
aleos89
daa9e018f4 Release of Doram Race!
* Requires client 2015-10-01 and newer.
* All skills are usable from from the base list to all 3 branch types.
-- Some skills still need their official activation chance and durations.
* Adjusted the char-server start point and start item split functions to be more dynamic.
Thanks to Rytech and @NovaRagnarok for their information!
2016-03-19 14:09:30 -04:00
Napster (icxbb-xx)
ae10da3a61 Follow up 85749e84b9
thank you @cydh
2016-03-15 21:31:29 +07:00
Napster (icxbb-xx)
85749e84b9 Fixed #850 MVP exp message issue clients 2013-12-23cRagexe and newer.
* gravity remove packet MVP exp message, if you want re-enables the message
  check you battle config mvp_exp_reward_message
2016-03-15 09:51:55 +07:00
aleos89
0f5b6db813 Implemented new adoption methods
* Implemented atcommand adopt.
* Implemented script command adopt.
* Circumvents adoption issues with 2013-08+ clients (Related to #768).
* Suggested from https://rathena.org/board/topic/104014-suggestion-add-adopt-or-etc/
2016-03-11 13:45:17 -05:00
aleos89
a16fb7c176 Updated Item and Point Shop (fixes #843)
* Item and Point Shop now works like the NPC Cash Shop.
* No longer has issues with player Zeny checks.
2016-02-29 20:54:23 -05:00
Cydh Ramdh
f2f135708b Follow up 70a67d6c5790f9fa61edcf7f2eda339b5e8df9e0
* On EXP lost by death penalty. EXP will be shown as negative value.
* Fixed check for EXP value on packet `0x07f6`. EXP is limited to INT_MIN until INT_MAX by client (so don't expect client to displays value more than this!)
* Added EXP gained/lost message by `@showexp` on death penalty too.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2016-02-22 12:33:39 +07:00
Atemo
9373c697b5 Added some source part. Thanks @aleos89 / @Cydh
Some debug thanks @Cydh
2016-02-05 15:48:26 +01: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
aleos89
523cb145f5 Follow up to a7b8fd4
* Resolves a check for skills that have required equipment items to check for all items in the list.
* Fixes #782 - Removed renewal items from pre-renewal skill requirements for 3rd classes.
2015-12-03 11:20:12 -05:00
Lemongrass3110
057384aa51 Partial revert of a674869
Fixes atcommands heal and jump not working without parameters anymore.
2015-11-17 14:46:05 +01:00
lighta
46d417a458 merge master into cppcheck 2015-10-30 02:48:40 -04:00
Napster
766c1301b7 follow up to d2b03479b566c4a73947fb60b2ce97a30dfcdcd6 : forgot uncomment XD 2015-08-20 22:27:10 +07:00
Napster
d2b03479b5 Update : map_msg_tha.conf , Thank you @renniw 2015-08-20 22:13:05 +07:00
Cydh Ramdh
c0e4b06005 Implemented 'Broadcast Obtain Special Item'
* Added flag &16 to add manually special item that will be broadcasted if: Dropped by monster -> player pick it up. Added items with this flag:
  * Gold_Key77 (7782)
  * Silver_Key77 (7783)
* Be used also to broadcast item in package/group with flag 'isAnnounced', replaced intif_broadcast().
* The message is using msgstringtable.txt on client side, make sure your translation is not messy.
* Credits:
  * fcba8a2161
  * 2761bb0af9

* Misc updates: Fixed job and class for items:
  * Sealed_Gloom_Under_Night_Gachapon (14696)
  * Sealed_General_Egnigem_Cenia_Scroll (14739)
  * Sealed_Vesper_Scroll (14740)
  * Midgard_Celebration_Lucky_Egg (14741)
  * Hero_Midgard_Egg (14753)
  * Safe_To_Smelting_Scroll (14758)
  * Limited_Edition_JOB_Battle_Manual (14765)
  * Rise_Midgard_Lucky_Egg (17494)
  * Lucky_Silvervine_Fruit_Box_III10 (17495)
  * Lucky_Silvervine_Fruit_Box_III110 (17496)
  * Epic_Heroes_Scroll (17519)
  * Majestic_Lucky_Egg (17526)

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-08-12 00:43:04 +07:00
nanakiwurtz
09871468c4 Follow up to 8e4027d1
* Thanks to @julia40124009

Signed-off-by: nanakiwurtz <nanakiwurtz240@gmail.com>
2015-07-20 03:16:07 +07:00
Cydh Ramdh
8e4027d1b9 Update map_msg_idn.conf
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-07-19 19:46:58 +07: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
Lemongrass3110
a674869113 Fixed a lot of scanf issues reported by rathena's cppcheck 2015-05-13 14:47:07 -04: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
Cydh Ramdh
47e33084ea A little clean up in atcommand
* Typo "status" should be "equip" at 267d521
* Follow up 3428ae2, use the 'parent' command name -atcommand_checkalias()- to compare the command, so it won't breaks alias recognition

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-12-09 13:22:40 +07:00
Cydh Ramdh
a212839665 Fixed #122 @accountinfo issue
* Now inter-server always asking to login-server for account info instead using direct query to `login` table. Merged from HerculesWS/Hercules@da233d5
* Inter-server packet usage: HA 0x2720 & AH 0x2721
* Additional changes from inter-server to map-server to parse the account info result with type 1 by using packet 0x3808 for clif_account_name(). Just some changes from @lighta at his old diff
* Moved some messages to char_msg.conf
* Updated inter-server packet documentation

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-11-22 18:58:29 +07:00
aleos89
c8758478b4 Bug Fixes
* Fixed the stun effect from Berkana Rune. (bugreport:9057)
* Adjusted Thorn Wall to be a placeable skill and to ignore caster's % damage cards.
* Field Manuals (SC_EXPBOOST and SC_JEXPBOOST) now increase EXP gained from NPC quests (through the getexp script command). (bugreport:9091)
* Lif's Mental Change no longer fully restores her HP and SP upon activation.
* Fixed fakename atcommand not working while disguised. (bugreport:8896) (Hercules 1e492e3)
* Fixed speed atcommand resetting when swapping equipment/changing maps. (bugreport:8915) (Hercules 37fdcba)
* Cleaned up some compile warnings.
2014-07-24 11:45:57 -04:00
Cydh Ramdh
2bfe1d6f6e - Fixed bugreport:9146, wrong message for msg 380. Thank Napster
- Changed Monster, Mercenary, & Elemental defense element check, from %10 to %20, to support 10 custom elements. Thank @Atemo
- Updated some arrays in ACMD_FUNC(mobinfo)
- Removed element number limit for each level in db/[pre-]re/attr_fix.txt
- Allowing 'getitembound' and 'getitembound2' to put bound type 0 (no bound) for scripting easier
- Updated doc/mob_db.txt, follow up ca4a0ea
- Updated map_msg_idn.conf

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-07-19 13:50:46 +07:00
aleos89
237579c957 Bug Fixes
* Corrected some battle calculations for status changes to be applied during skill calculations. (bugreport:9109)
* Fixed Fire Expansion hitting players in all maps. (bugreport:9056)
* Fixed skill duration for Elemental Shield. (bugreport:9078)
* Fixed bSetDefRace and bSetMDefRace not zeroing out values. (bugreport:9108)
* Corrected Inspiration checking for the wrong damage formula. (bugreport:9098)
* Fixed combo type skills causing issues with usable items. (bugreport:9090) (Hercules 0100bae)
* Updated usable skills while riding a Warg. (Hercules cc4c87c)
* Updated the display message for using items that have a delay. (bugreport:9107)
* Fixed an issue when players couldn't attack they also couldn't talk to NPC with mob view IDs. (Hercules 9dd6ee6)
* Reverted 7a9aa7f so that the prompt script command will return 255 on cancel. (bugreport:9104)
2014-07-15 13:47:43 -04:00
Cydh Ramdh
be9ffaf7e6 - Fixed 'atcommand' script failure for group with 'command_enable: false' (bugreport:9050)
- Replaced 'atcommand_max_stat_bypass' config (conf/gm.conf) to group permission 'bypass_max_stat'

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-07-07 12:26:07 +07:00
Cydh Ramdh
6c5d4a730f * Follow up 7cd82d0
-- Changed itemdb_array (array) to itemdb (DBMap)
-- Removed itemdb_other (DBMap)
-- Changed MAX_ITEMDB to MAX_ITEMID, by default limit is USHRT_MAX (65,535)
-- Changed item_drop_ratio_db (array) to mob_item_drop_ratio (DBMap)
-- Now all item datas stored in itemdb (DBMap) and mob item ratio datas in mob_item_drop_ratio (DBMap)

PS: I just realized that db/import/mob_item_ratio.txt doesn't work, because it loaded after mob_db.txt (another thing to do)
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-06-20 19:13:45 +07:00