From a10f6d9308baa615d2f5da46be8779a93c580834 Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 26 Dec 2006 16:10:53 +0000 Subject: - Fixed some warnings - 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9575 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/battle.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src/map/battle.c') diff --git a/src/map/battle.c b/src/map/battle.c index 7ff6299e6..beca8752d 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1587,7 +1587,7 @@ static struct Damage battle_calc_weapon_attack( skillratio += 100*(skill_lv-1); break; case KN_CHARGEATK: - skillratio += wflag*15; //FIXME: How much is the actual bonus? [Skotlex] + skillratio += 100*((wflag-1)/3); //+100% every 3 cells.of distance break; case HT_PHANTASMIC: skillratio += 50; @@ -3259,7 +3259,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f { TBL_MOB *md = (TBL_MOB*)t_bl; - if (!agit_flag && md->guardian_data && md->guardian_data->guild_id) + if (!(agit_flag && map[m].flag.gvg_castle) && md->guardian_data && md->guardian_data->guild_id) return 0; //Disable guardians/emperiums owned by Guilds on non-woe times. break; } @@ -3267,10 +3267,6 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f switch(src->type) { //Checks on actual src type - case BL_MOB: - if (!agit_flag && ((TBL_MOB*)src)->guardian_data && ((TBL_MOB*)src)->guardian_data->guild_id) - return 0; //Disable guardians/emperium owned by Guilds on non-woe times. - break; case BL_PET: if (t_bl->type != BL_MOB && flag&BCT_ENEMY) return 0; //Pet may not attack non-mobs. @@ -3333,7 +3329,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f case BL_MOB: { TBL_MOB*md = (TBL_MOB*)s_bl; - if (!agit_flag && md->guardian_data && md->guardian_data->guild_id) + if (!(agit_flag && map[m].flag.gvg_castle) && md->guardian_data && md->guardian_data->guild_id) return 0; //Disable guardians/emperium owned by Guilds on non-woe times. if(md->state.killer/* || !(battle_config.mob_ai&0x400)*/) state |= BCT_ENEMY; //By default everyone hates mobs. -- cgit v1.2.3-60-g2f50