summaryrefslogtreecommitdiff
path: root/src/map/pc.c
AgeCommit message (Collapse)AuthorFilesLines
2008-07-31Removed the mob controller system, now a customization (see topic:194375).ultramage1-2/+0
The system consists of * script command to spawn a controlled mob * script commands to attach npcs to such mobs and manipulate their AI * a page of documentation for these commands * callbacks at various source code locations that invoke the attached npcs * two npc examples git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13021 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-26Merged the /loginmerge branch (topic:192754)ultramage1-50/+4
* 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13000 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-26Replaced occurences of '-1' with the more appropriate 'INVALID_TIMER' value ↵ultramage1-9/+9
where appropriate. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12998 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-26- Implemented official Convex Mirror (With help of Yomanda and Sirius White)zephyrus1-0/+2
- Fixed SC_WARN don't receiving reflecting damage (Bug Report 1854). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12997 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-06* Slight cleanup of item-based walk speed bonusesultramage1-8/+2
- removed bSpeed bonus code (was just disabled until now) - changed speed_rate to use base value 0% instead of 100% git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-04* Homunculus will no longer auto-vaporize on master death.L0ne_W0lf1-1/+1
- Added config option to allow for this to be turned on or off. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12912 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-18Fixed cash shop not using points to make up the cash difference when ↵sketchyphoenix1-15/+4
purchasing an item. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12853 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-13Fixed Grandcross and darkgrandcross, should only cause blind against undead ↵shadow1-1/+1
race. Also confirmed that ME, evil land, sanctuary, grandcross/DGC and status recovery are versus element, not race. Removed confusion effect part from AL_CURE, it doesnt work on official anymore. Partial revert of signum crucis modification, it doesnt work against players, but work on ELEMENT undead monsters. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12821 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-13Fixed some skills working on undead element when they were supposed to work ↵shadow1-1/+1
on undead race. Skills Fixed: GrandCross, Dark GrandCross, Cure, Head Crush, Signum Crusis, Blessing, Demons Bane, Divine Protection. Skills needing confirmation: Magnus Exorcismus, Evil Land, Sanctuary, Status Recovery. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12820 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-07Swapped the weapon type IDs of Shotgun and Gatling Gun weapons to match aegis.ultramage1-4/+4
Added Mace Mastery bonus to 2handed maces, and made them unbreakable. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12779 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-29- Support for SP Regen status just like HP Regen (by items, by a little ↵zephyrus1-1/+1
time). Required in some new items from Ep 12.1 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12743 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-28Added extra safeguards against invalid inputs to pc_equipitem / ↵ultramage1-2/+11
pc_unequipitem (bugreport:1568). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12739 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-28Fixed stat values displaying incorrectly when increasing them past 255 ↵ultramage1-4/+4
(wraparound, ack packet only has 1 byte). Reordered the packets so that a status update for the increased stat is sent immediately after the buggy ack packet. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12737 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-09- More scripts fixes.zephyrus1-12/+12
- Some cleanups to the code. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12695 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-07- Added function battle_attr_ratio to handle just getting the attribute ↵skotlex1-42/+17
table data. Fixes Sense messing up with elemental based statuses. - Added Throw tomahawk to the list of items that do not trigger the equipment breaking code. - Moved a bit around the SC_ start of dancing skills to fix Moonlight petals pushing back the casters. - Modified status_damage to handle SC_KAZIEL. The return value of *_dead functions can pass 8 to specify that kaziel should not be triggered (ie: pvp/gvg) - Infinite Endure won't be passed on to devoted characters. - Infinite Endure is no longer saved on logout. - Added check to avoid gms opening vending shops if they don't have the required level. - Moved around the Steel Body S. Novice code, simplified it so it triggers before most of the penalties (death is cancelled). - Fixed the flee penalty not applying when you walk into a gvg map. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12688 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-02Replaced the very ineffective clif_foreachclient() with map_foreachpc() ↵ultramage1-4/+4
since they essentially do the same thing (bugreport:1174). Rewrote map_foreachpc() so that its callback function signature now uses a more natural 'sd' instead of a DBKey/void* pair. Rewrote atcommand_users() to use a single function, instead of depending on two helper functions and global objects. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12683 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-01Replaced the integers+checking approach in r12679 with usage of floating ↵ultramage1-1/+1
point arithmetic. Applied search&replace to use the new name of the function. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12680 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-01Implemented get_percentage() for compact and safe calculation of percentual ↵ultramage1-3/+3
values. Fixed integer arithmetic overflows that were occuring in several supernovice checks (bugreport:1135). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12679 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-27Cleaning up the itemdb reload mess (see r12635, r12643, r12650, r12661, ↵ultramage1-4/+3
r12662, r12663) * the player data inventory-itemdb index is now refreshed using pc_setinventorydata() * mobdb will no longer initialize with nonexistent items, and mobs will no longer drop them in case of a reload * the clif_buylist() function once again hides invalid npc shop items * it is no longer possible to purchase nonexistent items from a npc shop * npc shop loading will not abort if there is a nonexistent item entry, it will just skip over it git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12665 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-27Some major changes to @reloaditemdb to allow unloading of any item while map ↵Kevin1-2/+3
server is running. - Delete any item from inventory/cart/open storages that went missing during the reload. - Delete item from any shop that has this item. - Refresh item screen for anyone who has a shop open. - Delete mob db drop table references. - Delete item from storage during load if it isn't in the item db. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12661 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-21* Changed the data field of timers from int to intptr.FlavioJS1-9/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12633 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-21* Changed Sacrifice status to end on caster's death, not at 25% HP.L0ne_W0lf1-12/+8
- Should also fix over-flow damage returning to sacrificed targets. Partially fixes bugreport:1332 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12631 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-20* Several updates from Trunkzephyrus1-1/+1
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12621 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-16Fixed an issue in r12575 where 'not setting char offline when going from ↵ultramage1-2/+2
mapserver to charserver' also caused a permanent account lockout if the player pressed 'cancel' in the char select screen. Merged some recent changes from SQL to TXT, as someone didn't bother to do it. Ifdefed the quest data request code as SQL-only (this was causing server disconnects whenver someone logged in). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12606 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-15 * Corrected some invalid syntax in skill_db.txt (wrong usage of commas)ultramage1-107/+59
* Renamed BA_FROSTJOKE to BA_FROSTJOKER (aegis server-side name) * Implemented a generic framework for parsing delimited db files (allows specifying min/max column ranges and max number of rows to read) * Corrected a typo in quest_update_objective() * Cleaned up pc.c a bit git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12599 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-14Some more updates to the quest log system. It has been completely moved to ↵Kevin1-4/+2
the inter server instead of the char server. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12584 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-11More questlog code.Kevin1-0/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12556 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-06Unequip should no longer remove any buff from seven wind. (bugreport:1155)Kevin1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12503 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04Small bug for r12481 :)Kevin1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12482 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04Update to Auth Glitch fix: moved unit_free_pc back to where it was and ↵Kevin1-0/+3
updated it so unit_free_pc just tells the script to end(not hard delete). (bugreport:1214) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12481 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-04Bug fixes for Auth Glitch and Map server crash through script warp when ↵Kevin1-3/+1
changing map servers. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12473 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-03Renamed 'connect_until_time' to 'expiration_time'.ultramage1-3/+3
Renamed 'ban_until_time' to 'unban_time'. this also applies to login table columns (see upgrade_svn12464.sql). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12464 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-27Fixed a mistake in r12223, where during warping between mapservers, a ↵ultramage1-1/+2
character's coordinates would get changed before removing the character from the map, producing an infinite loop if the character returned back to the original coordinates. (bugreport:1286) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12442 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-26Adjusted eAthena code to compile cleanly in C++ mode.ultramage1-13/+13
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12436 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-25Partially fixed the mess in status.c.ultramage1-12/+12
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12433 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-22Added a missing null-pointer check to the timed player pvp/gvg respawn ↵ultramage1-1/+3
function (mistake in r12232) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12423 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-20- Added SC_ARMOR_RESIST, used by Undead Scroll, gives you resistance against ↵zephyrus1-0/+8
elements and it's can be used with Resist Potions. - SC_ARMOR_RESIST and SC_BENEDICTIO ends if you change your armor. Tested on iRO. - If you call SC_ELEMENTALCHANGE with val3 = 1 it will use the level in val 1, and not a random value. * Barricades: - Fixed a bug when @reloadscript. Barricades should be destroyed too. - Unbreakable barricades are only wall type (not shootable) According to Doddler info. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12407 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-19- The last bug in Adoption system.zephyrus1-1/+1
- Fixed a bug on trade, if you received a trade without accept it do logout... the other player cannot trade anymore 'til restart. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12396 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-18Fixed OnPCLoginEvent not working correctly (bugreport:1182).ultramage1-4/+7
Cleaned up some code typos/engrish. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12391 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-18- Added the official adoption method.zephyrus1-47/+113
( Parents need to create a party, invite a novice/first class, both equip the wedding rings and someone just right click the future baby ). - Fixed a bug sometimes client don't show job's bonus stats. - Removed the problematic adoption script. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12389 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-16- Added support for offline divorce.zephyrus1-10/+22
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12379 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-14* extended the "npc_event: event queue is full" error message to also print ↵ultramage1-3/+3
the name of the event (so that the cause can be tracked down) * removed a strange (and undocumented) event name check for "GM_MONSTER" in the npc event execution code * added effects from recent sakexes to effects list * removed ladmin from vs8 sql builds * added int_auction.c/.h to vs6 and vs7 project files * some small cleanups git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12362 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-12* Added a message to let know the client if the mail inbox is full.zephyrus1-1/+1
* On LoadEndAck added a flag to know if the client is allready changing map or just doing teleport/fly wing. - This will reduce a little bit some info send to the client that only need to be updated on map change. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12349 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-11Replaced clif_countusers() with a more efficient alternative (thanks to the ↵ultramage1-1/+1
fact that pc_db now only holds fully authed players only). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12339 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-06- Corrected pc_checkitem not behaving correctly when you had more than one ↵skotlex1-26/+14
equip with a restricted card. - Fixed non-chatroom owners being able to kick others from the chatroom. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12310 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-05- Optimized the code to handle #KAFRAPOINTS and #CASHPOINTS. Now you can ↵zephyrus1-24/+22
really edit those vars on scripts. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12304 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-05- Implemented Firepillar's 'target cannot move for 0.2 sec x hit' property.skotlex1-0/+3
- Corrected Earthquake so it behaves as explained in the development topics. - Corrected a missing opt_flag = 0 when using SC_INCATKRATE on mobs. - Added a missing line to actually unequip unallowed compounded cards when changing maps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12299 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-04- Updated firepillar so it cannot be placed on top of others.skotlex1-4/+9
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12293 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-02Fixed wrong mvp format string for @mobinfo (would not show big mvp exp ↵ultramage1-4/+4
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12277 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-29- Added @cash and @points command to manage your cash/kafra points.zephyrus1-22/+25
- Optimized code. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12266 54d463be-8e91-2dee-dedb-b68131a5f0ec