From a1fddcf716995eddf1c26e1395c8cc24ce6b3eba Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 30 May 2006 15:29:17 +0000 Subject: - Small optimization in battle_check_target - Disabled ontouch npcs triggering on hidden/chase-walk characters. - Added the SC* code blocks relevant to SC_AVOID, SC_CHANGE, SC_BLOODLUST, SC_FLEET - Added structure status_data to homun_data - Added handling of BL_HOMUNCULUS in status_heal, status_damage. - Cleaned up the homun-submitted code, moved the relevant code to status_calc_homunculus. - Updated map-server Makefile to compile mercenary.* files. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6847 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/battle.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/map/battle.c') diff --git a/src/map/battle.c b/src/map/battle.c index f655c4619..52aee5c69 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3043,9 +3043,9 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f case BL_MOB: { TBL_MOB *md = (TBL_MOB*)t_bl; - if(md->state.killer) - if(md->master_id != s_bl->id) - state |= BCT_ENEMY; // If he can attack you, you can attack him. + if(md->state.killer) //Enable retaliation + state |= BCT_ENEMY; + if (!agit_flag && md->guardian_data && md->guardian_data->guild_id) return 0; //Disable guardians/emperiums owned by Guilds on non-woe times. if (md->special_state.ai == 2) @@ -3062,8 +3062,8 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f return 0; //Pets cannot be targetted. } case BL_HOMUNCULUS: - { - t_bl=(struct block_list *)((struct homun_data*)target)->master; //...and vice versa. + { //Just fallback on master. + t_bl=(struct block_list *)((TBL_HOMUNCULUS*)target)->master; break; } case BL_SKILL: //Skill with no owner? Kinda odd... but.. let it through. -- cgit v1.2.3-70-g09d2