187 Commits

Author SHA1 Message Date
Paradox924X
133d65a2d7 Force a map_quit() call on the session data after a block/ban/changesex/acc deletion to remove leftovers of a player's session caused by when the fd has already been set to eof (player is not connected) but session data is kept (e.g. autotrading).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14398 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-08-29 03:17:54 +00:00
Paradox924X
e93febd7f3 Removed processing for undocumented and unused event 'OnCharIfInit' which is essentially an alias for event 'OnInterIfInit'.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14389 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-08-20 18:56:23 +00:00
Skotlex
e19451d423 - Implemented usage of packets 0x7fa and 0x7f7, 0x7f8, 0x7f9. These are used for proper deletion of items as well as movement/spawn packets for Renewal clients.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14383 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-08-19 15:46:55 +00:00
ultramage
339022cd20 Some generic code cleanups (unused struct, user counting, code comment).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14254 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-02-27 18:01:09 +00:00
Inkfish
9622957e11 * Fixed change cart packet doesn't check for skill.
* Added new packets for Plagiarism.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14218 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-01-15 10:40:18 +00:00
Inkfish
c50cacf28d Fixed quest will never get erased when it's the only quest you have.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14105 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-10-27 13:54:23 +00:00
zephyrus
6b710571ad - Optimization to instance system.
* Removed the crc feature to generate instance npc names. The instance npc name will be "dup_" + instanceid + "_" + srcnpcid.
* Removed the big array under map structure and coded in a different way. It was only used to generate map names, but i just used the instance_id + "origin map name".
* Moved all instance features to separated files.
* Moved the npc duplication for instances into npc.c as Ultramage says (removed npcname_db from npc.h).
* Added recomendations for scripts commands by Saithis.
- Testing required, i will prepare Endless Tower script soon. I hope this do almost anything in bugreport 3276.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14003 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-08-12 21:44:02 +00:00
Inkfish
b753cba749 * Some more updates to Quest Log
- Implemented a new saving mechanism. Now they can be saved every 'autosave_time' in case the char-server is not online when you get a quest.
- Improved 'changequest' code.
- Increase MAX_QUEST_DB to 1200.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13973 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-07-28 04:04:50 +00:00
Inkfish
698e7a0fc0 Rewrote Quest Log system.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13959 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-07-25 20:55:35 +00:00
zephyrus
33e1fbbd66 - Instancing System (Thanks to Sirius White who did most of the code, with some of my work to implement client side information, some optimizations and bugfixes). Also thanks to contributions from UEAUP team and Orcao.
- Fixed a bug on areamobuseskill and changed it to make it as Aegis.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13901 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-06-20 17:56:01 +00:00
ultramage
c2cc0763d9 Increased variable size for status/skill points to remove the 65k cap (bugreport:1579).
Added sql upgrade script to adjust the appropriate char table columns.
This is an enhancement to r5762.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13541 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-02-20 19:47:17 +00:00
zephyrus
a3824eee1c - Fixed divorce should work on both partners. Bug Report #2339.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13284 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-10-12 10:31:05 +00:00
ultramage
85ef827422 Fixed offline divorce not working properly (bugreport:2295).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13259 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-10-04 11:32:43 +00:00
FlavioJS
12b9def7a8 * Delete ST_LOGIN auth in chrif_disconnectplayer (followup to r13256, bugreport:2292)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13257 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-10-03 22:23:31 +00:00
zephyrus
6a1de57730 - A proper mercenary lifetime calculation.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13165 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-31 22:56:05 +00:00
zephyrus
c5cc2257d3 - Moving all content of Homunculus code to a proper file Homunculus.c/h
- Update of all project files.

NOTE: All functions on homunculus.c should be renamed i think, to remove all the merc_*.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13122 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-24 15:00:26 +00:00
zephyrus
399efe15bd - Completed Mercenary Create, Delete, Save. Tests OK.
- Incremented MAX_SKILL required for a proper load of Mercenary Skills.
- Some fixes.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13118 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-23 19:08:54 +00:00
ultramage
106b44c1e7 Merged the /loginmerge branch (topic:192754)
* the login server storage, ipban and logging systems have been abstracted and now provide a common interface; the rest has been merged into a single login server core (no more login/login_sql duplicity)
 * storage systems are now added via compiler options (WITH_SQL / WITH_TXT)
 * multiple storage engines can be compiled in at the same time, and the config option account.engine defines which one will be used.
 * due to MySQL autoincrement limitations, accounts with id '0' will not be supported; account IDs from this point on should start from '1'.
 * login_log() functions now again record IP addresses in dotted format, not as 4-byte integers (undo from r6868).
 * removed config options that defined column names in the login table
 * removed `memo` and `error message` columns from login db/savefile
 * moved `loginlog` table to the logs database
 * added sql files upgrade_svn12975.sql and upgrade_svn12975_log.sql
 * due to changes to the login table layout, I added an !optional! sql file (upgrade_svn12975_view.sql) that will provide a certain degree of backwards compatibility with existing software; read the instructions inside carefully!
 * moved third-party includes/libs to a separate directory
 * updated project files / makefiles

Changed the way GM levels are handled
 * removed conf/gm_account.txt
 * added the gm level column to the txt savefile (after 'email' column)
 * gm level information is now transferred along with account data
 
For open problems see bugreport:1889.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13000 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-26 20:45:57 +00:00
ultramage
4546c7fc0a Modified storage data loading
* storage is now loaded/saved along with character status
 * as a consequence, a lot of storage handling code was removed
 * there is no more locking done within storage data
 * mapservers no longer cache the data (solves muiltimapserver exploit)
 * loading storage on char select may decrease charserver performance

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12950 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-13 16:14:32 +00:00
ultramage
d8ce1f4aa5 storage code cleanup (no behavioral changes yet)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12948 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-13 11:21:33 +00:00
ultramage
7444eb572c Random assortment of various small corrections and tweaks.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12894 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-29 06:00:05 +00:00
Kevin
679e600fcc Cleaned up auth system after change back to map server request.
- Created function set_char_charselect to get rid of some of the "special case" variables.
- Removed code that involved the char server sending auth data at char select.
- Changed char select code to update the instance of the char data in the DB to fix map/sex info not being propagated to auth request.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12658 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-26 22:13:02 +00:00
FlavioJS
c880052f0f * Changed the data field of timers from int to intptr.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12633 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-21 21:34:31 +00:00
toms
ccb23efe49 Made some cleanup in changesex
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-21 16:19:25 +00:00
zephyrus
7c9411922a * Several updates from Trunk
- Merged the new Auth process to avoid double logins.
- Merged official adoption process.
- Removed @gm command.
- Cleaning of MAX_ACCOUNT_ID and MAX_CHAR_ID
- Update of the online user count (map_getusers)

NOTE: i will do a second check to see if i forget something else.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12621 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-20 16:17:24 +00:00
Kevin
236c7cba43 Some more updates to the quest log system. It has been completely moved to the inter server instead of the char server.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12584 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-14 02:32:24 +00:00
FlavioJS
49aac80ed6 * Quick&dirty reversal of the inter-server behaviour introduced in r3255/r3256:
- the behaviour enabled a desynch between the char-server and the map-server
- now the map-server asks the char-server to authenticate the auth info (the char-server doesn't send the auth info immediatelly)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12579 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-13 18:31:49 +00:00
ultramage
00a5bccbd3 The max_account_id packetver detection mechanism will never cause any connection problems ever again. (bugreport:388)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12563 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11 09:31:32 +00:00
Kevin
12aff369d9 Some quest log changes and removed one of the set char offline calls that was added in revision 12552.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12557 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11 02:42:30 +00:00
Kevin
9bcdb353a4 More questlog code.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12556 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11 01:38:41 +00:00
zephyrus
1c7cf5aa3e - Fixed a bug in de-adopt code (parent skills need to be removed).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12555 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11 00:42:34 +00:00
Kevin
7a04bbfed2 Crash fix for (r12552).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12554 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10 22:11:35 +00:00
Kevin
c62b5e223f Lolwhoops.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12553 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10 21:45:03 +00:00
Kevin
3c7a81a079 Client not marked online until map receives auth request from the client and is approved. Also added some online/offline sets to the auth system that were being looked over and not properly updating the char server as to what's going on.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12552 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10 21:28:27 +00:00
ultramage
fd5f918452 Modified the charservers to use a DBMap instead of a cyclic array for auth data.
Merged the auth fix from r12473 to TXT as well.
Removed the no-op from r12547.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12551 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-10 19:07:00 +00:00
ultramage
255f0fe3fc Removed the 'wait close' timer that closed a session's socket after 5 seconds.
This was causing random disconnects when logging in. (bugreport:1330)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12520 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-07 13:49:13 +00:00
Kevin
41cccac36c Update to Auth Glitch fix: moved unit_free_pc back to where it was and updated it so unit_free_pc just tells the script to end(not hard delete). (bugreport:1214)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12481 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04 22:10:04 +00:00
toms
7dc57bf5ce Fixed a little bug in Kevin's commit (r12473)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12475 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04 12:42:29 +00:00
Kevin
e45a10cf13 Bug fixes for Auth Glitch and Map server crash through script warp when changing map servers.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12473 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04 07:19:47 +00:00
ultramage
77826dfdf8 Renamed 'connect_until_time' to 'expiration_time'.
Renamed 'ban_until_time' to 'unban_time'.
this also applies to login table columns (see upgrade_svn12464.sql).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12464 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-03 12:46:55 +00:00
ultramage
76eb9581b9 Some more txt/sql login server synchronization:
- removed the option to specify multiple IPs/subnets for 'ladminallowip'
- removed the @gm command and all associated management code
- removed the 'save unknown packets' code
- removed the lengthy TXT ipban code (which was essentially a copy of what's already handled by the socket layer/packet_athena.conf)
- implemented 'start_limited_time' in SQL (expiration for new accounts)
- applied some missing TXT changes from the last update

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12446 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-28 18:53:51 +00:00
ultramage
94943b2b6a Adjusted eAthena code to compile cleanly in C++ mode.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12436 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-26 10:37:45 +00:00
ultramage
49f1f4434d * Reorganized the contents of the mapserver's header files.
- map.h is no longer a generic dumping spot of all the shared structs, and instead, each such structure now resides in its logical component
- map.h now only holds mostly map-related things (needs more cleaning)
- there's still a lot of room for improvement (reorganization within individual header files, etc...)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12429 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-24 21:20:48 +00:00
zephyrus
e87cef990d - Added support for offline divorce.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12379 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-16 20:33:01 +00:00
zephyrus
74692598a9 - Fixed a compilation error. ops :3
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12378 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-16 17:51:25 +00:00
zephyrus
2934ff8468 - Added De-adopt support when deleting a baby.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12377 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-16 17:27:19 +00:00
ultramage
a5f7761c0f Replaced clif_countusers() with a more efficient alternative (thanks to the fact that pc_db now only holds fully authed players only).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12339 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-11 09:44:12 +00:00
skotlex
8ae4bd12ad - Updated firepillar so it cannot be placed on top of others.
- Updated the firepillar code so it behaves like the other traps.
- Changed the default format for @me and @main to avoid crashes on the newer clients.
- Fixed the char-sql server so it returns a valid 'not found' packet when attempting to load a non-existing homunculus.
- Fixed jump to use 0,0 for random coordinates rather than -1,-1
- Added missing \n to error reporting in getmonsterinfo
- Additional status changes now only get triggered if the attack did damage, not if they get absorbed.
- Fixed a logical comparison in unit_free to properly remove pets/homuncs when their intimacy is reduced to 0.
- Properly set the opt3 value for Moonlight, Changeundead and Soul Link
- Fixed the "no equip" flag of cards not being properly applied when attemting to equip items.
- Added a check to avoid invoking pet menu entries when the pet is incuvated.
- Fixed the session_data de-association in chrif_auth_delete
- Cleaned chrif_auth_ok so that the latest received char info is kept when previous char login data was already in there.
- Corrected docs mentioning non-existing flag 'mf_nopvp'


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12293 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-04 18:04:04 +00:00
ultramage
d84310bc4e Fixed wrong mvp format string for @mobinfo (would not show big mvp exp rewards correctly).
Added data length check to chrif_authok(), to detect a mismatch between charserver's and mapserver's mmo_charstatus structure size.
Corrected some typos in the cash shop code.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12277 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-02 17:36:59 +00:00
skotlex
9c638fa6b2 - Added status_calc_life to properly calculate hp/max_hp as a ratio taking into accounts overflows (and for now also avoids divisions by 0). Applied this function around clif.c, mob.c and pet.c
- Implemented the correct walk-speed bonus from the Bard/Dancer spirit.
- Added a few error messages in case something goes wrong in the new auth db system.
- Fixed logarithmic drops turning 0% drop rates into 100%.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12225 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-21 10:36:26 +00:00