- 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
- Icewall now uses basic cell type 5 (nonwalkable, shootable)
- as a consequence, you can now warp to a nonwalkable cell - but only via gm command or scripted warp bug (hopefully :)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12247 54d463be-8e91-2dee-dedb-b68131a5f0ec
- 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