802 Commits

Author SHA1 Message Date
ultramage
d5775e7e11 Implemented get_percentage() for compact and safe calculation of percentual values.
Fixed integer arithmetic overflows that were occuring in several supernovice checks (bugreport:1135).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12679 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-01 12:14:06 +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
ultramage
9609149c15 * Corrected some invalid syntax in skill_db.txt (wrong usage of commas)
* 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://svn.code.sf.net/p/rathena/svn/trunk@12599 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-15 13:49:40 +00:00
Kevin
a873c21e21 Lolbug.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12541 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-08 22:46:09 +00:00
ultramage
8509bea301 Improved the Mental Sensing fix from r12507 to not start the status at all, instead of starting it and ignoring it later on.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12519 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-07 08:56:54 +00:00
Kevin
70acc1974c Equip speed buffs no longer stack with speed consumables other then speed potion.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12509 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-06 23:01:56 +00:00
Kevin
1e54725b26 Sprint, Fusion, and Increase AGI now stack independently. The other speed buffs still don't take affect if you have any of these three. (bugreport:1155)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12508 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-06 22:01:49 +00:00
Kevin
92ca769f02 Changed Union/Increase AGI stack fix (it should work now). (bugreport:1155)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12506 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-06 19:05:34 +00:00
Kevin
bc0873f681 Fixed seven wind not allowing ghost/shadow. (bugreport:1155)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12505 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-06 18:59:58 +00:00
Kevin
29c5006148 Unequip should no longer remove any buff from seven wind. (bugreport:1155)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12503 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-06 04:19:22 +00:00
Kevin
e74c3c0466 Union and Increase AGI now stack. (bugreport:1155)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12502 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-06 03:03:13 +00:00
Kevin
81a6774764 Running into a wall/npc/pc/mob no longer enables spurt. (bugreport:1155)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12498 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-05 21:51:00 +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
e2960e9af8 Partially fixed the mess in status.c.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12433 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-25 21:41:31 +00:00
zephyrus
7899dc8e4f - Added status changes for netcafe premium items. Status Resist Potion and SP Reduction Potion.
* More Barricade stuff:
- Changed the way "Dir" works. Now it's just like NPC dir definition (from 0 to 7).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12414 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-21 17:12:52 +00:00
zephyrus
fb7daea244 - Added SC_ARMOR_RESIST, used by Undead Scroll, gives you resistance against 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://svn.code.sf.net/p/rathena/svn/trunk@12407 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-20 20:56:55 +00:00
zephyrus
96a72d9d84 - Changed the way SC_ARMOR_ELEMENT is called (Resistance potions)
- Now each val represent an element (1 = Water 2 = Earth 3 = Fire 4 = Wind)
- Fixed bug 1039 (Shadow Armor Scroll's Script Fails)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12393 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-18 17:09:12 +00:00
zephyrus
dbe768cf91 - Changed the way SC_HPREGEN works.
- If you parse val1 as negative, heal will be a % of the maxHP.
- On positive values it will heal a fixed amount.
- Changed this to allow the new attributes of Battleground sets.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12367 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-15 18:39:14 +00:00
zephyrus
0588524caa - Added a fix for Abracadabra, this skills allways should use minimum a Yellow Gem.
- Added some code "suggestion" to handle the new Barricades, please test it with:
- @barricade <x> <y> <size> <direction> <killable> <Event Name>
- @killbarricade <Event Name>
- If x and y are -1, it will use your current position.
- Direction 0 Vertical 1 Horizontal.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12352 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-13 04:03:37 +00:00
ultramage
0088adcbbf * Added code to clear the Illusionary Shadow effect (followup to r12293)
* Added some trim() calls into mapflag code (followup to r12238)
* Fixed mvp exp reward packet not working right for big values
* Added dbghelpplug plugin entry to the plugins configuration file
* Added conf setting for auction table name (see r12287)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12300 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-05 16:23:02 +00:00
skotlex
ccb13e72c0 - Implemented Firepillar's 'target cannot move for 0.2 sec x hit' property.
- 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://svn.code.sf.net/p/rathena/svn/trunk@12299 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-05 15:39:46 +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
c49afb1245 Added missing option changes for Illusionary Shadow and Soul Link that disappeared when you left the screen (bugreport:1053)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12246 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-27 10:31:31 +00:00
zephyrus
3868080ead - Added new settings for autotrade on battle/misc.conf (you can read descriptions there).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12243 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-26 22:14:05 +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
skotlex
1e0a82fab3 - Fixed new guilds displaying online-connect member count at 0 rather than 1, and the guild master not knowing it is one (eg: it cannot edit the guild notice of a newly created guild until relogging).
- Fixed acc_reg2 parsing screwing up the char_id and subtracting 2 from it rather than passing it as it is.
- Extended the auth_node/auth_db system in chrif.c to handle log in/out and mapserver-change procedures. This way players are not in the main dbs when they are not "active", which blocks potential invalid accesses to them.
- Replaced states auth, waiting_disconnect and finalsave with active.  
- Cleaned some the party/guild login and creation procedures, removed the party_sent/guild_sent states.
- Removed a redundant guild_check_member call which is beyond not-needed and into the realm of wasting resources.
- clif_parse will no longer process packets from !sd->state.active players, this also makes checking for finalsave uneccessary (since players re already removed from the maps and dbs by this point, so you can't access them in any other way)
- Separated the roles of unit_free and map_quit, the former will handle cleaning structures from the player so it can be free'd safely, while the latter performs additional routines which are unique to characters logging out normally (map-server changes will invoke unit_free and bypass map_quit).
- Removed pc_isplaying, quit_db, map_knowsaccount, MAPIT_PCISPLAYING among other functions/defines which are no longer needed due to the new login scheme.
- Cleand up a bit some code in the clif_send(_sub) functions.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12223 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-21 00:13:56 +00:00
skotlex
419106681a - added LK's concentration +1 MDEF.
- Corrected delay-consume items being consumed when used while casting or being unable to act.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12216 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-18 18:58:14 +00:00
skotlex
dc789293be - Updated Eye of Hellion to use the new format of the input command.
- corrected login_fd/char_fd being uninitialized in the char servers.
- Changed a bit around how status_base_atk works to avoid overflows.
- Added a check to prevent using consume-delay items when you cannot use skills, since that opens an exploit if the item also has non-skill-casting components to its script.



git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12214 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-17 22:36:02 +00:00
skotlex
7d317be8dd - 'Forget me Not' no longer blocks ASPD bonuses from working or prevents their re-casting, they are simply dispelled when the effect takes place.
- Fixed a possible crash when a player logs out before their create-party request is accepted.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12193 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-11 13:11:15 +00:00
ultramage
7aee90fe03 Added two missing opt2 values, for Angelus and Bleeding status.
Cleaned up pc_statusup and pc_statusup2.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12190 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-10 22:43:22 +00:00
zephyrus
c4fb4f4361 - Some code cleanups.
- Added new Cell types (NoChat and NoDamage)
- Added JobChangeLevel and FreeSKPoints to #stats
- Added a Crash protection in clif_send with invalid fd values.
- Merged a missing update in TK Mission.
- Added script command 'getmapflag'
- Merged some new Status Change to Stable.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12175 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-04 18:23:57 +00:00
ultramage
2ef6778696 Fixes to Devotion (see topic:153345)
- removed totally fake Devotion packet from Marionette Control code (see r3934)
- fixed one devoted chars array management code bug which caused chars to be included in the array multiple times, producing various problems (also see r3934)
- the link will now re-display when coming into view range
- the link will no longer break if the devotee walks away, but instead, if he receives damage while being out of range of Devotion

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12171 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-03 23:26:00 +00:00
ultramage
5ce5cdb524 Added a missing client update when the mute status is manually cancelled by a GM
(followup to r12079)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12169 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-03 17:30:53 +00:00
skotlex
b4a3bad556 - Fixed a comparison whn doing item searches
- Fixed hom_setting&0x2 conflicting with the 'view-range' limit check.
- Stone curse now uses status_percent_damage instead of a precalculated value.
- Merged the SA_MONOCELL and SA_CLASSCHANGE code. After changing class all the status changes that cannot be triggered on bosses are dispelled. 
- SA_CLASSCHANGE now uses the bloody branch list to pick a target MVP class.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12098 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-20 14:32:10 +00:00
ultramage
cbd15650f1 Fixed yet another status code crash, this time when a stonecursed mob with high maxhp changes class to a Poring (see bugreport:621)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12097 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-20 12:36:28 +00:00
ultramage
f855102c48 * Manner system fixing
- better-than-aegis 'red bubble' packet updates; now it shows correctly
- added support for /rc, which is basically mute for 60 minutes
- fixed typo in r12076 making gm-mute start on the gm instead of target
- fixed @mute not ending the status properly when using negative values
- adde missing clif_manner_message(), sends info about manner updates

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12079 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-15 15:05:11 +00:00
ultramage
1859b5e45a Applied a temp patch to make some npc-executed atcommands work again (bugreport:790).
Added support for right-click-gm-menu kicking NPC objects.
Removed redundant function npc_checknear2().

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12073 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14 11:34:59 +00:00
ultramage
d5455fabfc Simplified the BL_CAST macro (see topic:166795)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12072 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-14 08:54:54 +00:00
skotlex
f70624598f - Fixed a compilation warning
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12071 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 23:28:38 +00:00
skotlex
fb100b2f09 - Fixed dangling pointer crashes when bleeding or Deadly poison kills a spawn-once monster.
- Fixed a possible ERS entry corruption when Deadly Poison kills a target that has kaziel active.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12069 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 23:06:06 +00:00
skotlex
16305634d6 - Removed the sc_start_abort define. Since now when a status already exists, it is not modified in any way (no timer deleted, no sc->count reduced), it is completely safe to allow a simple return from within the rest of the function.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12068 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 10:40:46 +00:00
skotlex
0f7c4f24f3 - Fixed a possible ers_entry corruption if you die from bleeding while under the effects of kaizel.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12063 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 03:08:36 +00:00
FlavioJS
04d47e8c6d * Another possible fix to ers/status_change crashing.
- same logic as r12058 but in status_change_timer.
- look out for this error: "[Error]: status_change_timer: Unexpected NULL status change id: ### data: ###"
  getting it means that a crash was avoided and the culprit found.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12061 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-13 02:40:39 +00:00
FlavioJS
a85a22d75a * Possible fix to ers/status_change crashing. [FlavioJS]
- this patch is untested. Didn't find anyone willing to test it and I can't reproduce the crash so can't test the patch.
  symptom:
   status_change_entry.timer is being modified after the entry is freed.
   ers uses that memory location as a pointer when the entry is freed, it crashes when accessing the contents when it points to an invalid location.
  assumption:
   status_change_start starts an already existing status.
   as a consequence of something called inside status_change_start the status is ended.
   when the sce is finally being modified, it's modifying a freed entry.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12058 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-12 17:12:23 +00:00
skotlex
ced9aada8c - Fixed getmonsterinfo to return "null" when returning the name of a non-existing mob instead of -1.
- Extended the status_percent_damage define to include a bolean to specify whether or not the target can be killed from it.
- Corrected CR_CULTIVATION to fail when the target cell has some BL_CHAR on it already.
- Changed the meaning of 'flag' in status_percent_change, to enable differentiation between damage that can kill the object and damage that cannot.
- Script command percentheal will no longer kill the player if the specified amount is negative (and not -100).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12051 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10 22:02:33 +00:00
skotlex
614c28dbf9 - Removed 'skill_steal_type' from skill.conf as said config no longer exists.
- Corrected @slaveclone/@clone behaving as @evilclone when you change the @ symbol.
- Modified SC_ARMOR_ELEMENT so it grants elemental resist as if it they were card granted bonuses.
- fixed a SA_DISPELL crash when casted on an object with no status changes.
- Adjusted the autospell code so that it does not relies on card_id == 0 for subtracting rates.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12041 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-10 13:10:13 +00:00
skotlex
9a2033c364 - Made the pc reg variables receive a const char* as the argument, since they duplicate the value anyway (and they were receiving const char* values from the setd function)
- Fixed Wand of Hermod not starting the SC_HERMOD status change (which blocks spells)
- Fixed a missing break in the cast cancel code.
- Fixed additional def/mdef from vit/int bonuses being lost when a status change that affects def/mdef triggers (for homunculus)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12033 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-08 13:30:43 +00:00
skotlex
38dd2f2fde - Fixed Overthrust's timer not being able to be refreshed when recasting it (conflict on what val2 should mean)
- Changed the code in status_change_timer so that a null pointer no longer causes a crash but prints an error instead.
- Corrected clones not copying over a player's skills properly.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12027 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 23:48:13 +00:00
zephyrus
825d214242 - Fixed a visual itemdupple bug on mail system.
- Fixed Overthrusth status cannot being recalled at same skill lvl.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12023 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-06 16:43:02 +00:00
skotlex
de7ce05609 - Fixed Music Lesson's effect on Assassin Cross of Sunset.
- Fixed a possible crash in status_change_timer when debug mode is disabled.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12006 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-01-04 09:33:24 +00:00