425 Commits

Author SHA1 Message Date
flaviojs
b02133b422 * Merges from charmerge:
- Added DBMap::exists. (r14090)
- Added sv_parse_next, a stepped version of sv_parse (delim-separated parser). (r14100 r14104)
- Added missing fd check to do_close. (r14145)
- Normalized, refactored and restructured some code (in preparation for shutdown/reconnect code). (r14145 r14150)
- Changed the char select request code to allow the char-server to reject it. (player in map-server trying to go to char select) (r14150)
- Added shutdown support to the servers. (incomplete) (r14152)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14851 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-06-16 10:22:35 +00:00
ai4rei
600e9e8320 * Moved bitfield 'boss' inside 'spawn_data' and 'mob_data' into the respective state struct (from r13813, follow up to r14795).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14818 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-14 12:07:33 +00:00
ai4rei
aaab80fb80 * Some NPC event related cleaning.
- Made event label deprecation message a warning rather than an error, as the scripts still work regardless of whether '::On' is used or not (since r6592).
- Introduced constant EVENT_NAME_LENGTH (51) for all event name struct fields to eliminate size inconsistency across all objects (was 50 and 51).
- Fixed event names, that are considered special attributes, were not wiped when the value was 0 (since r5707).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14817 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-14 11:04:30 +00:00
ai4rei
9d505aed9b * Random accumulated bits and pieces.
- Added checks/warnings to pc_paycash and pc_getcash (follow up to r12264).
- Added missing packet_db.txt and packet length table entries for packet 0x0859 (follow up to r14799).
- Added set of map_id2xx wrappers for map_id2bl for most common map objects, which return NULL when the bl-type is not the expected one (also updated map_id2nd to behave this way).
- Fixed missing ',' in mob_skill_db.txt example (follow up to r14270).
- Updated mapcache with recent maps (up to que_lhz).
- Functions 'msg_txt' and 'job_name' now return a const pointer.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14813 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-14 03:15:51 +00:00
ai4rei
847809a9e7 * Added support for visible garments/robes.
- For SQL apply upgrade_svn14797.sql to upgrade table `char`; for TXT no action is necessary, as it upgrades itself.
- This also fixes NPCs not being visible with clients 2011-01-11aRagexeRE+ (bugreport:4865).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14797 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-16 20:15:20 +00:00
ai4rei
4ac5525eb8 * Fixed mapflags not getting initialized upon @reloadscript (bugreport:2247, since r1275).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14548 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-02 18:50:34 +00:00
ultramage
74872445ff Changed 'killerrid' and 'killedrid' from player vars to player params (bugreport:3249).
Now stored in player session data, so they don't get saved on logout anymore.
Added sql upgrade script 'upgrade_svn14507.sql' to remove the now unused player variables.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14507 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-11-26 14:03:41 +00:00
ai4rei
103e46fdab * Added enumeration RC2_* for mob data 'race2' (bugreport:4561).
- Fixed race2-related bonus arrays using RC_MAX, rather than race2 maximum (since r6221, related r1277).
- Fixed bSubRace2 lacking bounds check (since r1257).
- Fixed bSubRace2 being documented as bSPSubRace2 (since r1257).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14480 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-11-21 16:20:26 +00:00
Gepard
123a803ccb * Removed unused 'indoors' mapflag (follow-up to r3729).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14434 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-10-21 00:38:57 +00:00
Skotlex
1a2fd04b19 - Merged Shinryo's patch to speed up map-cache loading.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14377 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-08-16 19:16:14 +00:00
L0ne_W0lf
a39d3e704f * Implemented the fix for Slim Pitcher working on WoESE objects (bugreport:3618).
* Added SC_SPIRIT to the list of buffs that are dispelled when the player logs out.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14115 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-11-01 19:23:34 +00:00
Inkfish
da07c3b06e Reverted renaming foreach functions and create a new one for OnTouch so that last commit will hopefully break NOTHING in use.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14098 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-10-25 11:20:47 +00:00
Inkfish
42987f61ad * Implemented the official version of 'OnTouch' named as 'OnTouch_'.(it can be defined in script_athena.conf)
* Adapted 'map_foreachinarea' to 'map_forsomeinarea' so that it allows you to specify the number of bl you wanna operate on.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14097 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-10-25 09:38:33 +00:00
Inkfish
b0d8294419 Added bMagicHPGainValue and bMagicSPGainValue.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14018 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-08-21 06:21:44 +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
ab4ae85ca5 * Extended ATF_SKILL to ATF_MAGIC and ATF_MISC.
* r13932 Fixed a wrong check on hp in Intimidate code. (bugreport:3305) (I forgot to write the message.)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13933 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-07-04 13:17:08 +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
L0ne_W0lf
7807036efd * Updates to ST_PRESERVE and a few other minor details!
- Recasting Preserve no longer toggles the skill off while active.
- Preserve is no longer saved on log-out or mapserver changes.
* Added SC_CRITICALWOUND and SC_SLOWCAST to negative statuses not saved with battle_config.debuff_on_logout&1
* Implemented the skills NPC_HELLPOWER and NPC_WIDEHELLDIGNITY, as per my personal experiences with the skill on iRO.
* Increased MAX_MOBSKILLS to 50, as Satan Morroc has over 40 active skills now.
* Added skill information for NPC_HELLPOWER and NPC_WIDEHELLDIGNITY, and enabled skills in mob_skill_db.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13843 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-06-04 22:46:14 +00:00
Inkfish
ac5aa55ae7 * Added new bonuses bHealPower and bHealPower2.
* Heal skills code clean up. 
- bSkillHeal can affect offensive heal now. 
- bSkillHeal2 can affect AppleIdun and SlimPitcher now.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13820 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-05-29 12:21:59 +00:00
Inkfish
766143d109 Added new bonuses bUnbreakableGarment and bUnbreakableShoes.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13819 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-05-29 06:45:58 +00:00
Inkfish
d7d626e578 Now we can use 'boss_monster' to summon whatever monsters that need to be radared by Convex Mirror. (bugreport:2653)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13813 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-05-25 13:05:59 +00:00
ultramage
4acc0932f2 Removed the undocumented custom level feature from monster spawn lines (bugreport:3076).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13772 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-05-15 07:33:39 +00:00
zephyrus
ed5eee1dcb - Implemented new item and bonuses for Kreiger Von Midgard rewards.
* Execute script on skill (bonusautoscript3)
* Add effect on skill (bAddEffOnSkill)
* Execute skill on skill (bAutoSpellOnSkill)
- Fixed some boxes Rental time according to item descriptions.
- Implemented SC_ITEMSCRIPT, a status that gives you temporally the effect of an item. Check items 14597 to 14605 if you want to get the idea.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13596 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-03-18 02:50:39 +00:00
zephyrus
7fd0aa832a - Implemented official battlechat packets (thanks to Pakpil).
- Implemented the scoreboard packets (thanks to Pakpil).
- Updates to Tierra Valley according to official info.
* There are no barricades around each base, barricades are in the middle left path.
* There is another graveyard used for the owners of the middle base, with faster spawn (each 20 seconds).
* I added a flag respawn in the middle, currently I don't know if this if official or not, but it allows each team recapture the middle base.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13593 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-03-17 22:32:49 +00:00
zephyrus
e9153a3c17 - Fixed item Nemesis.
- Fixed Tarot Card being used on Emperium.
- First Part of BattleGround Implementation (please wait).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13550 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-02-26 21:27:12 +00:00
ultramage
54993d74aa objects[] array removal (bugreport:2559)
- Removed the 2 MB wide static array in favor of a general-purpose DBMap (id_db for now).
- Inlined functions map_addobject, map_delobject and map_delobjectnofree into their callers' code.
- Replaced the free id lookup algorithm from ancient jathena with something more efficient.
- Moved the algorithm to map_get_new_object_id() (similar idea as r13481).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13503 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-01-31 15:48:04 +00:00
zephyrus
ede9af3b29 - Implemented new item bonus scripts required for battlegrounds.
- Battlegrounds items rewards for Tierra Valley and Flavius done (but autoscript rate is suggested - 5%).
- Restricted trade/storage/drop for those items.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13490 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-01-25 19:50:02 +00:00
zephyrus
551e20a850 - Added support for item effect Ignore Def Rate by Race. bonus2 bIgnoreDefRate,<race>,<%>;
- Added support for item status effects on skills. bonus3 bAddEff,<sc_effect>,<rate>,ATF_SKILL;
- Update to battleground equipment.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13457 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-01-20 02:19:05 +00:00
ultramage
b80a8cdc87 Added regen_db to reduce hp/sp processing delays (bugreport:2256).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13443 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-01-12 14:26:33 +00:00
sketchyphoenix
76ff905e03 Removed charcommand code while allowing atcommand code to support its functionality.
Charcommands still retain their '#' symbol but now looks for a character name as the first parameter instead of last.
Atcommand configs now support charcommand level configurations by comma seperation (e.g. 60,99)
As a result of this, all atcommands that don't affect multiple users already (@kickall, @doom, @mapexit) are capable of remote usage.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13403 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-12-18 02:36:01 +00:00
L0ne_W0lf
331e0a0a15 Enabled WoE SE to be run independently of WoE. Let's see how long it is before something blows up, or Ultramage pulls out his hair while cursing my existence.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13202 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-09 17:33:10 +00:00
zephyrus
5acebe170f - Starting Mercenary Skill implementation.
- MS_BASH Completed.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13189 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-03 13:32:38 +00:00
zephyrus
3fd4ec074a - Something i forget to commit mmo.h.
- Preparatives for Faith/Calls/Kills for mercenaries.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13167 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-01 00:45:56 +00:00
zephyrus
62c214e0f2 - Mercenary Dismiss packet and some corrections.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13127 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-24 23:26:14 +00:00
zephyrus
4ca3bd6ce3 - Mercenary data structures.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13110 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-22 18:53:11 +00:00
zephyrus
c1fa49b7e6 - New invisible walls system (for WOE SE and Battlegrounds).
- New script commands for this system "setwall" and "delwall"
- Added other scripts commands "changelook" (can be used to try clothes colors, hair styles, headgears, etc without saving this on logout).
- Added getmobdrops to request a list of drop and rate of an specified class.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13101 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-20 20:56:35 +00:00
zephyrus
6b6ef43c4b - Removed my barricade implementation. Not required in WoE SE.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13097 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-20 19:40:53 +00:00
ultramage
fb0a123f7a Some small code cleaning
- removed unused create_storage() function
- removed unused char_db mapserver config setting
- adjusted formatting of mapserver config loading code

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13063 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-10 08:08:59 +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
zephyrus
d48a482180 - Implemented official Convex Mirror (With help of Yomanda and Sirius White)
- Fixed SC_WARN don't receiving reflecting damage (Bug Report 1854).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12997 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-26 11:13:39 +00:00
ultramage
0c9d9f5a48 * Slight cleanup of item-based walk speed bonuses
- removed bSpeed bonus code (was just disabled until now)
- changed speed_rate to use base value 0% instead of 100%

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-06 03:46:00 +00:00
ultramage
2ecdab9606 Moved the options to disable specific compiler warnings from the generic 'AdditionalOptions' to the appropriate 'DisableSpecificWarnings' section.
Corrected an ancient mistake in the grfio/zlib code (calling inflateEnd in case of an error during the Deflate process).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12726 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-26 12:16:53 +00:00
ultramage
6b904e34cb Increased the allowed packet size for chat messages.
Changed the capacity of the message column in chatlog (see sql update).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12725 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-26 11:25:12 +00:00
zephyrus
31320fcc9d - Added some new items and headgears.
- Changed the way DEF Potion and MDEF potion works to official.
- Cleanups to Barricade Engine. It now can be used in WoE 2.0, i will release optional scripts soon.
- Fixes to @noks. Now if the mob is targeting someone else the protection get lost.
- Added new status effects icons to cash items.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12693 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-08 16:58:57 +00:00
FlavioJS
1be6ba4a63 * Changes to map_foreach* functions:
- removed the unecessary use of va_copy in map_foreachpc
- applied the same function pattern to map_foreachmob and map_foreachiddb
- created map_foreachnpc
- extended the behaviour of map_foreach* functions to stop iterating when func returns -1
(also added missing changelog entries from ultramage >.>)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12684 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-02 17:14:00 +00:00
ultramage
62cc01866b Replaced the very ineffective clif_foreachclient() with map_foreachpc() 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://svn.code.sf.net/p/rathena/svn/trunk@12683 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-02 15:08:14 +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
FlavioJS
cd1f48cc9e * Made script command 'flagemblem' and guild_emblem_change send an update of the emblem_id to the players in the area.
- known bug: ui components that are displaying the emblem at the time (emblem in flag npc and emblem over head in gvg maps) are not updated, but putting the mouse over the target shows the new emblem
* Modified script command 'guardian':
- returns the id of the guardian
- if guardian index isn't supplied, it generates a temporary guardian
* Implemented support for temporary guardians (not saved with castle).
* Added missing includes from r12520.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12525 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-07 21:04:28 +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