- Re-applied change r9593 that got accidentally reverted by r9595.
- Added the official behavior of monsters regaining full hp when they morph.
- Added support for text/comments at the end of monster spawn lines (<tab> required)
- Silenced the debug message in socket.c that's been freaking people out.
- Modified the useless error message in atcommand_effect.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9608 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Corrected the comment for the global functions file.
- Updated Charge Attack's damage equation as per the only source I've seen of it so far.
- Now Guardians/Emperium can't hit /be hit if their current map isn't a gvg_castle or woe is off. This enables "localized" WoE by removing/setting the mapflag gvg_castle on the castles where you want WoE to take effect (note that even though normal players can't be hit on non gvg_castle maps, normal mobs can still be killed in such maps, you'd still need to modify the WoE scripts to use this kind of feature)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9575 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Made flooritem_lifetime a int so you can specify much longer life times (the default of 60k was already very close to the max of 65k)
- Removed monster_ai 0x80 since it's now handled by hom_setting.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9519 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added monster_ai&0x400 to use the previous 'smart' criteria that prevents mobs from fighting each another.
- Moved "unsetting" the angry mode from the mob_ai to the mob_damage function, where it'll work regardless of who hits the mob.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9481 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Moved the OPTION_MASK define to status.h
- Reverted the knockback implementation to use clif_slide instead of clif_fixpos
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9469 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed skill damage card bonuses not working on magic skills.
- Moved the setting of sd->npc_id = 0 in npc_dequeue to the beginning, since this function is called when a script is cancelled (TODO: but when this happens, shouldn't the previously ongoing script also be free'd?)
- Made homunc's speed be recalculated when you respawn it from rest state.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9453 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned up status_calc_bl_sub_hom, fixed recasting dex/str/vit/int bonuses skills making their atk/def/mdef stack with itself over and over.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9350 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Self Destruction will only hit everyone and not just enemies when used by mobs (non marine spheres) unless the map is a versus map.
- Spider Web's duration is now halved on players (before it was halved in pvp maps only)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9314 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Reenabled usage of mode MD_CHANGETARGET, so mobs with mode 0x200 will be able to switch targets while attacking.
- Simplified some more the chase-changetarget function.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9294 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed GS_PIERCINGSHOT, it should ignore defense
- Corrected Gatling Fever costing SP when trying to turn it off. Also, speed increases bonuses won't take effect while it's active.
- Updated the main makefile with a new OPT line. It is commented by default since it only works with GCC 4.X, when unset, it will hide away a huge amount of warnings that have to do with stuff that is not gonna be corrected in eA anyway.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9287 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated GS_CRACKER's stun chance using Doddler's info as reference.
- GS_FLING won't reduce armor defense when used on players.
- Added constant MAX_STEAL_DROP to determine up to which slot you can steal.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9286 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Implemented NPC_DEFENDER. Reduces ranged Physical+Misc damage by 80%
- Improved the battle config reader so it accepts hexadecimal values. Updated the monster_ai description to make use of this.
- Added monster_ai&0x200. When set, mob skill delays are shared. That is, if the mob has several lines with the same skill, when the skill is used, the delay will be set to all of them, not just the one entry used.
- Cleaned mob.c to use hex values when refering mob_ai
- Corrected NPC_BARRIER so it grants 100 def/mdef (and not just mdef)
- Weapon ATK bonuses will now only apply to watk and NOT watk2 on players (on players watk2 is refine bonus)
- Corrected NPC_KEEPING. it should give 90 def, not 100
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9277 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Corrected Zeny Nage so the Zeny spent on the attack is always the exact same value as the damage you are dealing. Also corrected it so it does half damage when used on players.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9229 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added mapflags partylock and guildlock, which lock the state of the parties/guilds on said maps. partylock blocks user party requests to create/invite/leave/kick, while guildlock blocks user guild requests to create/invite/leave/expel/make alliance/make opposition/delete alliance/delete opposition/break
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9216 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed Spider Web not ending when hit by a fireelemental attack.
- Cast-time reductions from status changes will not be executed until right before casting, to prevent status changes from ending when attempting to cast and the attempt fails (invalid cells, not enough sp, wrong target, etc, etc)
- Added check to prevent Wand of Hermod from seeking for a partner to encore, since the partner is supposed to be the warp.
- Moved the duel auto-reject on logout from map_quit to unit_free
- Corrected the mob spawn reading code so that the event-name can be up to 50 characters long (which is the actual event length) and so that it can read spaces within them, it will also strip the leading/trailing quotes if you use them so that the event is actually found on mob-death (so you can do stuff like "My NPC::OnDead" as a valid event).
- Moved the homunc inherit speed from the master from status_calc_pc to LoadEndAck, since the hom's speed matches that of the master each time the master changes maps.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9173 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added Bull's Eye 0.5 sec cast time
- Corrected Bull's Eye implementation, it should deal normal damage against non brute/demi-human targets.
- GS_DUST is now considered a short-range attack
- Implemented Desperado's hit rate based on distance to caster as it's believed to behave.
- Suiton's Speed/Agi penalty will affect everyone when used in versus maps.
- GS_TRACKING's range is no longer affected by Snake Eye.
- Cleaned up some skill_trap_splash
- GS_FLING's defense reduction is now 5*lv%
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9158 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Applied some cleaning to the way Tatami Gaeshi knocks back.
- Cleaned up the way mobskill_use checks for the correct event. It should fix unlimited mob-skill-casting issues.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9154 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated the code so mobs can use ChainAction as a targetted skill.
- Added GroundDrift effects for Wind (Stun) and Fire (knockback). The knockback value is unknown, so 3 is used for now.
- Cleaned up some more the steal code, now you can't steal the last slot regardless of skill level used.
- Added consideration of Chain Action when cloning GunSlingers.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9100 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Modified battle_calc_return_damage to take the skill id as well, now magic damage return will not work on skills tagged as ground or self targetted.
- Fixed Gank not working at all with the default max steal tries setting.
- Soul Drain won't work with skills tagged as self-targetted.
- Improved the Suiton code so that the walk/agi penalty only applies to enemies of whoever casted the skill.
- Moved the initial status_calc_pc call to when you finish loading the map, should fix equipment scripts which are based on character variables not working.
- Some cleanup of the clif_parse_LoadEndAck function.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9099 54d463be-8e91-2dee-dedb-b68131a5f0ec
- exp_bonus_attacker: Indicates how much additional exp a mob gives per additional attacker (eg: 10 -> +10%*attacker)
- exp_bonus_max_attacker: Indicates at which number of attackers the bonus is capped (eg: 5 -> 5 attackers, so a mob yield the same exp whether 5 or 10 people attack it)
- Changed the way the party_even_share_bonus setting works. It now uses a simple linear bonus increase (eg: 10 -> +10%*party member)
- The defaults are as explained by Tharis: +25%/attacker, capped at 12 attackers, no party bonus.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9067 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned up the pc_steal_item implementation (again). It now uses a more random, simple approach in each steal attempt.
- Changed the way the skill_steal_max_tries work. Now it actually MEANS the max number of steal tries, use 0 to disable (unlimited tries).
- Changed the default of skill_steal_max_tries to 0 as there's no proof anywhere that there should be such a limit.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9057 54d463be-8e91-2dee-dedb-b68131a5f0ec
- When nonplayers use Cloaking, it will be forced to level 10 since mobs shouldn't have movement/attack restrictions while walking cloaked.
- Should fix a warning in int_homun.c
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9043 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Moved the homunculus DB information from the player structure to the homun structure. Modified the homunculus creation packets to hold this information during creation, also, all initial values are handled by the map-server, the char server only assigns it a homun ID.
- Removed target_id/attacked_id from homun_data as it wasn't really used.
- Codes cleanup (removing of commented code mostly)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9031 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Likely fixed pc_steal_item always failing to steal (it was attempting to steal random item IDs...)
- Cleaned up a bit the mob on-death event so that when the killer is a homunculus, it's master will be taken. Also, the variable killerrid will be set before running the script to specify who delivered the final blow. If the killerrid matches with the script attached player, you can be sure your player did the final blow to the mob, otherwise, the attached player is who did the most damage to the mob.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9026 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Altered Trick Dead. It doesn't prevents skills from being casted on you now, but damage-based skills will do no damage.
- Made the battle_config.attack_attr_none apply to pets when using the "fixed damage" pet skill scripts.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8978 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed SC_NOCHAT printing the "skills are now available" message twice on natural expiration.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8953 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Updated Land Protector to block absolutely every land-based skills with the exception of Encores/Dances.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8948 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added an underflow check to prevent sending to the client negative mdef2 value (for Frenzy'ed characters)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8934 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Steal zeny won't work on treasure chests now.
- Small optimization in the dual-wielding check.
- Some cleaning in char_sql/itemdb.c
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8875 54d463be-8e91-2dee-dedb-b68131a5f0ec
- The double continuation error will now display both scripts that triggered it.
- Loading the storage from the char-server will fail if player is already tagged in final save state.
- Removed setting ban_spoof_namer, sending invalid global-talk packets will now just kick the player out of the server.
- Added BL_NPC support to status_get_name
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8812 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Made Global chat always reply back to you even on @/# commands, this prevents the client from muting yourself due to "hack". However, this same fix isn't easily applicable to @ commands invoked from whispers or party/guild messages, those are still pending.
- Some fixes in socket.c
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8801 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Due to this, the max sc resistance settings (battle/status.conf) no longer apply to equipment/card-granted resistances.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8795 54d463be-8e91-2dee-dedb-b68131a5f0ec
- If val3 for a combo is set, then the combo will no longer delay attack/movement.
- When TK_DODGE triggers, it will no longer delay your attack or movement.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8757 54d463be-8e91-2dee-dedb-b68131a5f0ec