- Hopefully fixed changing a mob's class causing them to get all sort of stat bonuses due to the mobs-level-up setting.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6994 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added a missing status_calc_mob on mob_spawn_guardian_sub
- Added clif_fixpos packets before attacking for the first time to clear any position sync issues with the client.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6985 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added SC_INCDEXRATE/SC_INCAGIRATE. NPC_POWERUP/NPC_AGIUP now correctly increase dex/agi by 40% per level.
- Fixed char-sql server not deleting character variables
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6984 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Moved MOB_SLAVEDISTANCE to mob.h
- NPC_CALLSLAVES now uses the slave-distance previously mentioned.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6940 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated Two-HandQuicken, One-HandQuicken to give 30 +2*lv% aspd-rate for skill levels above 10 (meant for boss casted skills)
- Fixed Spear-Quicken messing with the calc_flag
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6936 54d463be-8e91-2dee-dedb-b68131a5f0ec
- AL_TELEPORT will fail when used by slave mobs.
- Added NPC_ENERGYDRAIN, NPC_MENTALBREAKER to the list of undodgeable attacks.
- slaves inherit speed setting will now work regardless of whether the slave or master has the MD_CANMOVE mode bit.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6865 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added battle_config min_chat_delay (default 0) specifies in ms what is the min delay between player sent chats (whisper/global/party/guild). Messages that exceed this threshold are silently ignored for now (perhaps need to add a "DON'T SPAM" reply to the player?)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6859 54d463be-8e91-2dee-dedb-b68131a5f0ec
- clif_specialeffect to use the enums.
[Improved]:
- buildin_specialeffect and buildin_specialeffect2 to accept effect area definition.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6855 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Optimized a bit the SC_PROVOKE code (to use val3/val4)
- Fixed draining when the amount drained is negative (invoke zap rather than heal)
- Implemented GS_FLING as per the current skill description.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6819 54d463be-8e91-2dee-dedb-b68131a5f0ec
- status.c:920: warning: 'mbl' might be used uninitialized in this function
- skill.c:6648: warning: 'matk_min' might be used uninitialized in this function
- skill.c:6648: warning: 'matk_max' might be used uninitialized in this function
- skill.c:2826: warning: 'sid' might be used uninitialized in this function
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6816 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Corrected alive, raisemap, raiseall to use these functions.
- Updated resurrection/mob-kaizel to use status_revive
- Added SC_BLADESTOP to the skill enum at the beginning of status.c (fixes Bladestop causing an unknown status change message)
- Fixed MSS_DEAD state skills not triggering.
- Corrected some compilation warnings on the merc.* files.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6807 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned up TBL_PC, TBL_MOB, TBL_PC and mob_db structures to use status_data.
- Set the NPC-Change Attribute duration on Time1, updated their max to 1 in the db.
- Berserk's HP cost interval is now defined as time2.
- Split damage received functions into pc_damage/pc_dead and mob_damage/mob_dead
- Rewrote the @heal related functions to use the new status_* healing functions.
- Added status functions to deal with damage and healing (status_damage, status_heal, status_percent_change) and a bunch of defines for easier handling of them (status_percent_heal, status_percent_damage, status_fix_damage, status_kill, etc)
- Splitted mob_once_spawn into two. mob_once_spawn_sub creates the mob instance without spawning it.
- Added defines for Elements (ELE_*)
- Modified battle_calc_(weapon/magic/misc)_attack to use the status data structure.
- Rewrote and cleaned up battle_calc_misc_attack
- Merged config options pc_attack_attr_none, mob_attack_attr_none, pet_attack_attr_none into attack_attr_none (type 4)
- Removed config options player_defense_type, monster_defense_type, pet_defense_type in favor of weapon_defense_type
- Cleaned up pet.c to stop invoking status_calc_pc when unnecessary
- Modified skill_calc_heal to take into account the MEDITATION bonus.
- Cleaned up code of Adjustment, Madness Cancel and other GS/NJ skills inside skill_check_condition
- Added status change SC_MODECHANGE which handles mob state changes (this SC is continous until manually ended, eg: like Weight50)
- Modified Slim Pitcher so it will work when casted by non-players. Will now also work with SP-healing items.
- Rewrote Freedom of Cast code to use function status_freecast_switch to switch adelay/speed when cast begins/ends.
- Modified Magic Power to store amplified MATK/MATK2 in val3/val4 for easier updating when used in conjunction with ground skills.
- Fixed Asura Strike being usable from within a combo regardless of combo skill.
- Modifed SC_DANCING to store speed-change in val3 (it is shared with skill duration...)
- Added StatusChangeFlagTable to store which statuses are changed by each SC
- Added SCB_* constants to specify the different stats that each sc changes. SCB_PC is the only one that means a change hardcoded in status_calc_pc, the rest are handled by status_calc_bl
- Added some helper functions to simplify with basic status calculations (status_base_atk, status_calc_misc, status_base_pc_maxhp, status_base_pc_maxsp)
- Added status_calc_mob which calculates initial status and special base status alterations (HP changes, stat changes due to big/small mobs, etc)
- Made all the status_calc functions static.
- Added status_calc_bl_sub_pc for PC related calculations that must happen after status-change adjustments.
- Added status_calc_bl which does status-change related calculations using as base the base_status of the bl object and the SCB_* flag passed.
- Added status_get_status_data and status_get_base_status to retrieve the bl objects current status_data and basic status_data (current never returns null, instead it returns a dummy structure with basic data)
- The main switch in status_change_start now only sets the tick and val values, therefore it is skipped when loading (flag&4)
- Cleaned up status_change_start and replaced many of the ex-japanese comments for english ones.
- Changed Hiding to store the speed penalty on val3. val4 stores interval SP cost.
- Changed Chase Walk to store Speed adjustment on val3, sp cost in val4
- Changed Cloaking to store speed penalty on val3, val4&2 signals wall-present, val4&1 is infinite cloaking.
- Changed Wind walk to store speed bonus on val3
- Rewrote Marionette Control to store the status to add/substract in val3/val4, it now works on anyone (players/mobs)
- Changed Improve concentration to store Card bonuses (which are not counted for total % increase) on val3/val4
- Changed SC_ADRENALINE, SC_CONCENTRATION, SC_ANGELUS, SC_IMPOSITIO, SC_MELTDOWN, SC_TRUESIGHT, SC_SUN_COMFORT, SC_MOON_COMFORT, SC_STAR_COMFORT, SC_QUAGMIRE, SC_GATLINGFEVER to store the bonus modifiers in their val values rather than calculate them in status_calc_*
- Status_change_start/end will use clif_status_load rather than clif_status_change when related bl is not on a map.
- Modified status_change_timer to use the status_charge function rather than directly substracting SP
- Added SC_ELEMENTALCHANGE to modify someone's base defense element.
- pc_clean_skilltree will now also remove item-granted skills.
- Learning skills will now only invoke status_calc_pc when the skill is passive.
- Cleaned up pc_steal_coin
- Cleaned up pc_check_base/job_lvup to only invoke the lv-up related packets and functions ONCE regardless of skill-levls earned.
- Cleaned up pc_ regen related functions.
- Made player-sprite mobs have item pickup animation and walkdelay when taking items.
- Cleaned up mob_dead code.
- Removed paramb, parame from struct map_session_data, replaced them by param_bonus[6],param_equip[6]
- mob special ai state 3 signals summon flora.
- Moved petDB pet_hungry_timer vars from TBL_PC to TBL_PET
- Cleaned up some pet functions, made the menu functions receive as argument both pet and master.
- Clones will copy a player's base status rather than battle status (so status-change alterations are not cloned)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6791 54d463be-8e91-2dee-dedb-b68131a5f0ec
- The move-enable condition checks for skills are now checked for only when on skill use, not at cast-end time.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6714 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Corrected Soul Drain draining from all non-ground-based skills including non-magic attacks.
- Corrected pc_setoption to change the option and then change class. changing option-wedding will automatically convert the view-class as well.
- Corrected the 15% drop rate increase when killing higher level mobs in pk-mode triggering for all mobs with lower level than yourself. Thanks to Vayu.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6709 54d463be-8e91-2dee-dedb-b68131a5f0ec
- cardillust_read_grffile, item_equip_override_grffile, item_slots_override_grffile, and item_name_override_grffile are set to 0 after map-server loads to prevent crashes on item_db reloading.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6656 54d463be-8e91-2dee-dedb-b68131a5f0ec
- skill reiteration code now does not checks for the trigger-area of the skill in the case of non-players, which means mobs can now place traps in cells adjacent to each other.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6640 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed WZ_WATERBALL number of hits when used by non-players.
- MO_BODYRELOCATION will send the slide packet with the actual src's coordinates rather than selected tile.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6638 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Blood Drain always hits now.
- Fixed Mob Area Skills not updating their use-time (rendering their skill delay useless)
- Search free cell will now skip picking the center-tile as target location. Will prevent slaves from walking on top of their master, or mobs placing stuff right under themselves with the "around" target conditions.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6621 54d463be-8e91-2dee-dedb-b68131a5f0ec
- SC_COMBO state will now end in skill_attack rather than skill_check_condition (as it is required there to apply damage bonuses based on combo-casted skills)
- Spirit skills now have 500ms delay.
- KA skills can now be casted on other Soul Linkers as well without the Spirit requirement.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6607 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Modified mob_spawn_once so that coordinates -1,-1 are "random around the player" while 0,0 are random around the whole map (regardless of whether there's a player attached or not)
- Knockback will no longer work on traps during woe.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6566 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Rewrote npc_selllist for a more proper-clean implementation.
- Increased NPC_POWERUP's dex bonus to +25*lv
- Moved TK_DOWNKICK's stun time from time to time2
- Added TK_TURNKICK's stun to splash-pushed mobs. Duration is 2secs (time2)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6557 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added @request commands, sends a request to all connected GMs of lowest_gm_level or above as a whisper message. Defaults to gm level 20 users.
- Made SC_COMBO status start delay attackabletime and walkdelay by sc's duration regardless of skill used (previously it was only for TK kicks, now it's for both those and Monk combos)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6542 54d463be-8e91-2dee-dedb-b68131a5f0ec