- Added a code to activate a Kill Steal protection and the required mapflags.
* (I will explain this later on forums).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12203 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Changed suiton's element to water (apparently fixes not being able to use water-based skills on it)
- Fixed Landmine doing no damage (decreased trigger range to 0 to match its splash range)
- Fixed the disguise commands using the wrong variable when attempting to disguise as an npc.
- Fixed a compilation warning on CELL_CHKNODAMAGE (which is a totally bad-ripoff of basilica cells anyway)
- Corrected and optimized npc_remove_map's npc array cleanup (@reloadscripts no longer report 'too many npcs per map and related dangling pointer crashes are fixed)
- Removed suspicious, yet totally unused npc_data variable 'n'
- HP loss item scripts can no longer kill you.
- Corrected the item-drop-rate check to avoid duplicate entries in @whodrops after a @reloadmobdb
- Cleaned up and optimized map_addnpc (there are never any gaps in the npc array so npc_num always points to the last valid entry)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12180 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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
- Moved pc_delinvincibletimer from unit_removemap to unit_free as the previous method has a logic glitch that could cause an on-place event to trigger after the on-left event.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12130 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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
- 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
- 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
- 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
- Pneuma now again works via status change (see r3969)
- removed unused CELL_SAFETYWALL
- removed custom CELL_REGEN, it just increased regen rate (r1192, r1518)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12005 54d463be-8e91-2dee-dedb-b68131a5f0ec
Added missing bAddStealRate reference to doc/item_bonus.txt.
Removed skill_steal_rate, as it was never used in the code (see r231).
Removed skill_steal_type, it's just a one-liner source mod (see r231).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11992 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Added map/path.h, moved path-related function headers to path.h.
* Removed the macroed _real() path functions.
* Modified some functions to use boolean return values instead of 1/0 or 0/-1.
* Modified path_search_long() to allow a NULL output pointer (in which case a temporary local buffer will be used instead).
* Removed an unused ->path_half member variable from struct walkpath_data.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11958 54d463be-8e91-2dee-dedb-b68131a5f0ec
- removed guardian hp from the castle data structure, database, savefiles and various script functions (use upgrade_svn11914.sql)
- removed guardian hp calculation and manipulation from the castle manager npc, now the hp values are updated by the server itself (glitch: when castle defense changes, all guardians are healed to full)
- tweaked script function 'guardianinfo' to provide some data needed by the manager npc (currently available are hp, maxhp and visibility); also, it doesn't need a player attached to execute anymore
The whole thing is experimental, use at your own risk (seems to work though...)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11915 54d463be-8e91-2dee-dedb-b68131a5f0ec
- cleaned up npc event execution code
- cleaned up guild data loading/saving code; to be improved later
- removed dummy 'account name' expulsion list management code
- removed columns 'rsv1' and 'rsv2' from guild member data
- removed columns 'rsv1' 'rsv2' 'rsv3' and 'acc' from guild expulsion data
- added upgrade_svn11895.sql for SQL
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11895 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added missing range/skill-mask info to reflected damage (fixes autospells not triggering on it)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11880 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Modified skill_blown and skill_attack so that reflected spells do not cause knockback.
- SG Blessing skills now grant the extra experience to everyone when the SG killed the mob.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11840 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Had to add a few 'ugly' flags to status_change since now you can't track SC related information while said SC is not active (happens only for Storm Gust, Joint Beat and Magic Power).
- Since I am unable to fully test, watch out for any bugs~
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11786 54d463be-8e91-2dee-dedb-b68131a5f0ec
Changed skill db loading code to work similarly to how itemdb/mobdb is loaded (generic file loader + specialized function to process rows).
* all skill db files are now checked for inconsistencies the same way.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11659 54d463be-8e91-2dee-dedb-b68131a5f0ec
Removed function skill_count_target() because it's a duplicate (see topic:169337).
Renamed skill_get_pl to skill_get_ele (because it retrieves element ids).
The block_list structure now uses the BL_ enums instead of 'unsigned char'.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11640 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned a bit the loop for the Warmth skills.
- Added a mising pc_class2idx invocation (fixes a very minor bug when you request max skill lv for a skill in your tree with different max than the skill_db max)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11578 54d463be-8e91-2dee-dedb-b68131a5f0ec
- removed code for Crimson Fire Formation it now uses the same code as Fire Wall
- added same knockback behavior as Fire Wall for Fire Formation
- Heat now does 50 hits a second in pvp too
- please let me know of any bugs that might appear
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11510 54d463be-8e91-2dee-dedb-b68131a5f0ec
- added passive skillv*30% bonus from Poison React
- added official splash damage calculation - damage gets split by the number of targets at range 1, then applied to all targets in range 2
- reverted some very old code - clif_calc_delay() - that was preventing skills from displaying properly, by erroneously assuming that if the target has ddelay 0, it has endure effect activated
- TODO: the skill should not consume a gemstone when it fails
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11494 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Commented out clif_skill_damage2() as it is not used anymore
* Made Venom Splasher a splash attack that distributes damage
* Fixed displaying of several splash skills (see bugreport:238)
- added flag SD_PREAMBLE for skills that need the 'magic' packet (fixes Grimtooth / Cart Revolution displaying out of sync)
- hacked together Venom Splasher's "no animation for central mob"
- hacked in a custom packet to make Dragonfear display semi-correctly
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11491 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Renamed the config default_skill_delay to default_walk_delay as that is the only thing it does now.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11446 54d463be-8e91-2dee-dedb-b68131a5f0ec
- wiped out r8478 and its multiple levels of useless flag propagation
- skill_unit_onlimit (expiration) no longer executes in skill_delunit
- added skill_unit_ondelete for proper handling of this event
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11399 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Increased MAX_GUILDCASTLE in mmo.h to 29 for future implementation of the 12.1 Guild Castles.
* Added constants for Summer Outfit and updated the Summer_Event_Suit item script.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11321 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Ignore %MDef bonuses now only reduce target's base MDEF, not MDEF2.
- Updated the 'skills that cause no damage are blocked now if the skill element is blocked by the target' to only apply if the skill has a status change associated (fixes Resurrection/Heal being blocked).
- Reverted the opt_flag2 change in status_change_start (clif_changeoption2) since it never served its purpose.
- Added a warning to prevent loading mobs with IDs that belong to the clone range.
- Changed MAX_MOB_DB to 3000, updated the definitions of the clone range defines so they are updated automatically with the change of MAX_MOB_DB.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11287 54d463be-8e91-2dee-dedb-b68131a5f0ec
- cast time is between 100% and 300% (+ infinite waiting fixed)
- damage is also between 100% and 300% (doesn't increase past range 9)
- added knockback that's equal to the distance to target
- no longer causes teleportation on WoE grounds
- if target runs behind an obstacle, the skill will still teleport you, but will not perform the attack or do knockback
- this should be official behavior, so enjoy the weirdness!
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11256 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Abstraction for the sql code (sql.c/h).
- New configure script and makefiles.
- Restored txt zeny logging code. (r10814)
- Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814)
- Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833)
- Improved db reading code a bit for consistency. (r11077)
- Added separate atcommand for mail deletion. (r11077)
- Corrected a few messages that said "new" instead of "unread". (r11077)
- Broadcast (*) messages now use "*" as the target's name (not ""). (r11077)
- Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117)
- Some misc login server cleanups (reformatting etc). (r11136)
- Corrected/modified some header entries. (r11141 r11147 11148)
- Adjusted VS project files. (r11147)
- Adjusted the way the sql charserver does item saving. (r11192)
- Corrected usage of reserved keyword 'friend' in mmo.h. (r11192)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11245 54d463be-8e91-2dee-dedb-b68131a5f0ec
- battle_calc_return_damage now is only for BF_WEAPON attacks, added skill_magic_reflect to check whether a spell is bounced back or not.
- Magic reflection now effectively switches the caster/target (after damage has been calculated)
- Now when GTB completely blocks a spell, the spell animation will still come off, but with a single bolt and MISS damage.
- Removed hom_setting&0x2 since Homunculus can be hit by land spells.
- Monster Property now gives a Skill Failed message when attempted on players.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11203 54d463be-8e91-2dee-dedb-b68131a5f0ec