summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
author(no author) <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-02-11 16:58:06 +0000
committer(no author) <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-02-11 16:58:06 +0000
commit0c87b6196c334797f487e9c8a82ea1e0b4a4bdbe (patch)
tree894b8e4bade3d9a718ac403bebacc5f81828bca0 /src/map
parent94661807ec510d48ca6dd135f0e02a3a835bc614 (diff)
downloadhercules-0c87b6196c334797f487e9c8a82ea1e0b4a4bdbe.tar.gz
hercules-0c87b6196c334797f487e9c8a82ea1e0b4a4bdbe.tar.bz2
hercules-0c87b6196c334797f487e9c8a82ea1e0b4a4bdbe.tar.xz
hercules-0c87b6196c334797f487e9c8a82ea1e0b4a4bdbe.zip
* Tidied up battle_check_target abit
* Updated traps to affect allies as well in GvG * Updated cast and delay time for Soul Breaker git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1077 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r--src/map/battle.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 1bc612e0c..9f3361237 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3682,15 +3682,22 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
// スキルユニットの場合、親を求める
if( src->type==BL_SKILL) {
- int inf2 = skill_get_inf2(((struct skill_unit *)src)->group->skill_id);
- if( (ss=map_id2bl( ((struct skill_unit *)src)->group->src_id))==NULL )
+ struct skill_unit *su = (struct skill_unit *)src;
+ int skillid, inf2;
+
+ nullpo_retr (-1, su);
+ nullpo_retr (-1, su->group);
+ skillid = su->group->skill_id;
+ inf2 = skill_get_inf2(skillid);
+ if( (ss=map_id2bl( su->group->src_id))==NULL )
return -1;
if(ss->prev == NULL)
return -1;
if(inf2&0x80 &&
- (map[src->m].flag.pvp || pc_iskiller((struct map_session_data *)src, (struct map_session_data *)target)) && // [MouseJstr]
- !(target->type == BL_PC && pc_isinvisible((struct map_session_data *)target)))
- return 0;
+ (map[src->m].flag.pvp ||
+ (skillid >= 115 && skillid <= 125 && map[src->m].flag.gvg)) &&
+ !(target->type == BL_PC && pc_isinvisible((struct map_session_data *)target)))
+ return 0;
if(ss == target) {
if(inf2&0x100)
return 0;