summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormekolat <mekolat@users.noreply.github.com>2016-05-01 20:31:10 -0400
committermekolat <mekolat@users.noreply.github.com>2016-05-01 20:31:10 -0400
commita1d3ffc6ddefcb56cbf44f0782f6431b6438580b (patch)
tree96a016b8240f882c9bd9d6f74e8b4f099e8da20b
parent1ceff5730e102c64e25769580615af3e4bf0d280 (diff)
parent2120bf7eb41dab7b856324c7b6eb5e657c79feca (diff)
downloadserverdata-a1d3ffc6ddefcb56cbf44f0782f6431b6438580b.tar.gz
serverdata-a1d3ffc6ddefcb56cbf44f0782f6431b6438580b.tar.bz2
serverdata-a1d3ffc6ddefcb56cbf44f0782f6431b6438580b.tar.xz
serverdata-a1d3ffc6ddefcb56cbf44f0782f6431b6438580b.zip
Merge pull request #493 from mekolat/line-of-sight
add missing line of sight checks
-rw-r--r--world/map/npc/magic/level1-aggravate.txt8
-rw-r--r--world/map/npc/magic/level2-lightning-strike.txt2
2 files changed, 8 insertions, 2 deletions
diff --git a/world/map/npc/magic/level1-aggravate.txt b/world/map/npc/magic/level1-aggravate.txt
index 05474a2a..bad64e02 100644
--- a/world/map/npc/magic/level1-aggravate.txt
+++ b/world/map/npc/magic/level1-aggravate.txt
@@ -10,7 +10,13 @@
set Sp, Sp - 3;
misceffect FX_MAGIC_GREEN, strcharinfo(0);
callfunc "magic_exp";
- aggravate getmap(), (POS_X - @distance), (POS_Y - @distance), (POS_X + @distance), (POS_Y + @distance), SFX_DEFAULT;
+ foreach 2, getmap(), (POS_X - @distance), (POS_Y - @distance), (POS_X + @distance), (POS_Y + @distance), strnpcinfo(0) + "::OnMob";
+ end;
+
+OnMob:
+ if (target(BL_ID, @target_id, 0x20) != 0x20) end; // line of sight
+ aggravate @target_id;
+ misceffect SFX_DEFAULT, @target_id;
end;
OnInit:
diff --git a/world/map/npc/magic/level2-lightning-strike.txt b/world/map/npc/magic/level2-lightning-strike.txt
index 2baa2d33..5cc6299b 100644
--- a/world/map/npc/magic/level2-lightning-strike.txt
+++ b/world/map/npc/magic/level2-lightning-strike.txt
@@ -24,7 +24,7 @@
goto L_FreeRecast;
OnAttack:
- if (target(BL_ID, @target_id, 22) != 22) goto L_FreeRecast; // 0x10 | 0x02 | 0x04
+ if (target(BL_ID, @target_id, 0x36) != 0x36) goto L_FreeRecast; // 0x10 | 0x02 | 0x04 | 0x20
set .@p, get(.max_radius, "rain") + 1;
set @ingravspell[5], @target_id; // store it because foreach overwrites it