* Adds a character server config to clear empty parties at start up.
* The commented code was hidden in the source and is pretty useless unless you are digging for it.
Added a configuration that allows you to delete mails without attachment instantly after the given interval.
Introduced a define for the iteration size of how many mails will be deleted in each circle.
It his highly recommended to not increase it too high or your char server might lag, if you have a lot of mails on your server.
Always delete all mails sent by the server after the given interval in a single statement and ignoring the iteration size.
Added transaction safety for mail deletion. With this a mail and it's attachments will always be safely deleted together.
Fixed a duplication issue, when deletion of the mail would have failed, but the mail was still returned.
Fixed notification of online characters in certain rate circumstances.
* Combines item_avail, item_buyingstore, item_delay, item_flag, item_nouse, item_stack, and item_trade databases into one.
* General cleanups and optimizations.
* Includes CSV2YAML conversion tool.
* Includes YAML2SQL conversion tool.
* Adjusts dummy_item from being created by malloc and now creates it by make_shared.
* Item combos are now stored as a STL.
Thanks to @Lemongrass3110, @Atemo, and @cydh!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Fixes#5061.
* Resolves the client crashing when attempting to retrieve all attachments from mail.
* Mail should not be marked as read after retrieving the attachments from them.
* Converts packets to new struct format.
Thanks to @admkakaroto and @attackjom!
Added safestrncpy to char's inter configurations
Added safestrncpy to map's inter configurations
Added safestrncpy to message configurations
Adjusted some char configurations
Cleaned up logging configurations
Fixes#3624
Thanks to @mrjnumber1
* Added a config for disabling novice/summoner character creation.
* Summoner can no longer be created on pre-renewal by default.
Thanks to @Lemongrass3110 for the help
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.
This feature was broken for clients after 2011-11-01.
Added 2 new options for allowing it when the character is inside a party or guild.
The server now delivers the corresponding error messages if the player is inside a party or guild.
This is a squash commit for @cydh's pull request #1299.
Cleaned up the `char_del_option` checks.
Added a comment for `char_del_option`, that only work for clients that send delete request by using 0x0068 or 0x01fb.
Added an enum for values.
Added a function to validate and adjust configuration data.
Resolved character deletion not working properly for clients 2015-10-01 and higher (fixes#1189)
Delete date should be sent as remaining time on some client versions.
Adjusted some comment wording.
Added empty/default birthdate deletion.
Made email deletion case insensitive.
* 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!
-> All Credit to Kisuka for this big work.
Added news commands to alter questinfo conditions :
- setquestinfo_level : Add level range criteria for quest info with quest id 'quest_id'.
- setquestinfo_req : Add quest requirement for quest info with quest id 'quest_id'.
-> Player have / doesn't have the required quest.
- setquestinfo_job : To add additionnal job criteria.
-> Credit to Cydh !
Added some options to allow or disallow certain combinations in the pincode as aegis has it.
In AEGIS it is not allowed to use pincodes like 0000 or 1111 where the pincode only contains 1 character. It is also not allowed to use sequences like 1234 or 5678.
In addition to the official check, which only disallows ascending sequences I also added descending ones.
* Added `console_msg_log` for char-server and login-server.
* Added `console_log_filepath` to determines log filepath.
* Default for map_athena.conf is `./log/map-msg_log.log`, removed the hardcoded filepath.
* Default for char_athena.conf is `./log/char-msg_log.log`.
* Default for login_athena.conf is `./log/login-msg_log.log`.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Moved hardcoded `DEFAULT_MAP`, `DEFAULT_MAP_X`, and `DEFAULT_MAP_Y` definition to conf/char_athena.conf: `default_map`, `default_map_x`, and `default_map_y` for `DEFAULT_MAP`
* Default map existance check only will be checked once, after map_index finished load by char-server, previously map-server also do a check that maybe cause unnecessary debug message
* `instance_start` value should be init'd with `map_num` not by `map_num + 1`. I was causing send extra 1 empty map to char-server.
* A little clean up in `chmapif_parse_getmapname()` and `doc/packet_interserv.txt`
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Fixed mouse cursor displaying incorrectly for PvP scenarios. Thanks to Napster. (bugreport:8605)
* Fixed summons getting stuck when master gets too far off screen or changes maps. (bugreport:9152)
* Added a battle_config 'spawn_direction' for keeping a character's face direction when teleporting/changing maps/logging in. Default is always North (official). (bugreport:8754)
* Cast sensor mobs should always target the caster whenever any skill is used. (bugreport:8555)
* Added a packet version check to char_del_option based on client date. (bugreport:8521)
* Script command query_sql will now return -1 on an empty result or failed result. (bugreport:5937)
Add a check_db on char-serv startup to ensure all sql-tables was loaded
correctly and avoid error on runtime.
Fix OnInterIfInitOnce being executed on reloadscript, (now only done at
server startup)
* Fixed WE_MALE and WE_FEMALE up to You to not consume HP/SP when it's below 10%. (bugreport:3546)
* Fixed WE_CALLPARTNER, WE_CALLPARENT, and WE_CALLBABY to not recall target if they are autotrading. (bugreport:2479)
* Fixed WE_BABY not checking for parents if they are in the same party and in the area. (bugreport:2518)
* Fixed Dragon Breath - Water not requiring a dragon. (bugreport:8237)
* Added a new config 'char_del_option' to set whether email or birthdate should be used for deleting characters. (bugreport:8240)
* Follow up to 9a5a6b9. Fixed a missing define check for 2013 clients when deleting a character. (bugreport:8399)
* Fixed Weapon Refining to use clif_upgrademessage. (bugreport:2135)
* Fixed script command 'prompt' not ending script state when player selects Cancel from menu. (bugreport:7932)
* Fixed nomineeffect display on GvG enabled maps. (bugreport:7754)
Others
* All items, except for Cash items, can no longer be used when storage is open.
* Defined constants for a lot of item and monster IDs used throughout the source.
* Follow up to 0f2dd7f. Corrected a change to the wrong hostname array.
Fix pneuma display for pre-re mode
Add char_maintenance mode to check trought gm_allow_group as a minimum
groupid to enter. (thx to SuperHulk)
Fix UB warning on bonus_script check by type
Properly initialize combo_idx check
Fix bugreport:8301 were groupid wasn't keeping in vip state at new
logon.
Fix groupid wasn't reload without logout when we wasn't vip anymore
Fix decreasing vip_time scenario
Add a timer so vip_member doesn't keep status until they logout.
By default system is disabled (src/config/core.h).
This follows the iRO implementation VIP System. More information can be found on the iRO Wiki.
All settings also have individual configs.
Official VIP scripts will be implemented later.
Big thanks to lighta and Cydh for support and debugging.
* Deleted some code in Global_Functions that really shouldn't have been there. (blame: r15262)
* Other documentation changes and cleaning...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17282 54d463be-8e91-2dee-dedb-b68131a5f0ec
-Upd @mapinfo to count number of vendors in map
-Upd getrandgroupitem to check if valid itemit returned.
-Cleanup and KR style
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17232 54d463be-8e91-2dee-dedb-b68131a5f0ec
If you happen to find any errors feel free to report them, I tested it for some hours now and it should be working as intended.
"the packets used by this feature are still unknown to us", I guess not. :P
Thanks again Yommy and enjoy it Ind.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17194 54d463be-8e91-2dee-dedb-b68131a5f0ec
Features:
- Pincode Force Mode(users need to use a PIN)
- Character switching without being asked for the PIN
- Pincode change time is now in days(yeah Ind, seconds were for testing purposes)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17192 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Revised/added 'npc_isnear' to check if an NPC is nearby when opening chat rooms or using vending. (Hercules bc63ef1)
* Misc. fixes.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17187 54d463be-8e91-2dee-dedb-b68131a5f0ec
Thanks to Yommy for his help with the basic packet information and LightFighter for the PIN decrypt function.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17183 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Grouped all the log file/table settings together, follow up to r15253 (ea:15042).
- Added "DROP TABLE" statements to the mob_skill_db SQL files. (bugreport:5284)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15629 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated VS9/10 project files.
- Updated `configure` & `Makefile`s.
- New GM, Commands & Permissions system:
- '''This is a backwards compatibility breaking update''', please read tid:58877
- Replaced GM levels with Player Groups.
- Commands permissions & other privileges now depend on group, not GM level.
- `@help` command improvements: requires "commandname" param and shows more detailed info about commands.
- Modified GM whisper system to deliver messages basing on permissions, not GM level.
- Remote trade request is now possible only if player is allowed to use `@trade` command as well.
- Added a proper permission to use `/changemaptype` command.
- `clif_displaymessage` is now capable of displaying multiline messages.
- All `ACMD_FUNC`s are static now, and the only way to invoke them is with `is_atcommand()`; all client commands (starting with `/`) are now translated into corresponding atcommands (with exception of `/kick` used on monster, as there is no atcommand to kill single monster).
- Removed nonsense "bot check" triggering when player blocked (`/ex`) Server.
- Merged `@monster`, `@monsterbig` and `@monstersmall`.
- Improved flow of atcommand execution to avoid revealing info about online players or existing commands to non-privileged players.
- Merged `atcommand` and `charcommand` script functions (`charcommand` is aliased to `atcommand`).
- Fixed `atcommand` script function reading unknown memory area (possible access violation).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15572 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Still working on updating the status window to display properly.
* Refine bonuses on armor now apply properly. (+1 additional bonus for every 4 refines.) Refining in general now goes up to 20.
* Criticals will now no longer ignore defense, but will still always hit.
* Converted m/def2 to a short, for testing status window update, will eventually need to surpass 32k. Good like this for now while we work on it.
* Cleaned up some minor things relating tot he arch bishop skill update.
* Applied some of the 30/08/2011 kRO updates to arch bishop skills.
* Added more SI_ Constants from newer clients to status.h.
* Added constants to the database for future updates.
* Updated Runestones and creation items.
* Added Runestone delays to item_delay.
* Added Runestones receipies to produce_db.
* Added dummy rates to refine_db.
* Added Rune Knight skills to skill_cast_db
* Updated Rune Knight skills, and Arch Bishop skills.
* Updated SP requirements in skill_require_db.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/renewal@14964 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Asks for birth date associated with the account and has a waiting time of 24 hours by default (setting).
- For SQL apply upgrade_svn14700.sql to upgrade table `char`; for TXT no action is necessary, as it upgrades itself.
- This completes support for clients 2010-08-03aRagexeRE and later.
* Updated login sql engine version, missed during `birthdate` addition (follow up to r14672).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14700 54d463be-8e91-2dee-dedb-b68131a5f0ec