diff options
Diffstat (limited to 'world/map')
-rw-r--r-- | world/map/npc/magic/_procedures.txt | 5 | ||||
-rw-r--r-- | world/map/npc/magic/level0-antiprotect.txt | 7 |
2 files changed, 6 insertions, 6 deletions
diff --git a/world/map/npc/magic/_procedures.txt b/world/map/npc/magic/_procedures.txt index 95b5cd93..5d7e5c8a 100644 --- a/world/map/npc/magic/_procedures.txt +++ b/world/map/npc/magic/_procedures.txt @@ -26,11 +26,14 @@ OnClear: // this function is call()-only function|script|magic_checks { + set .@flags, getarg(0); + set .@nonmagic, .@flags & (1<<0); + if(HIDDEN) goto L_Hidden; // can not cast with @hide if(@_M_BLOCK == 2) goto L_Login; // login warmup if(@_M_BLOCK) goto L_Blocked; // check if last debuff ended if(Hp < 1) goto L_Dead; // can not cast when dead - if (MATK1 < 1) goto L_Greybar; // can not cast with a grey mana bar + if (MATK1 < 1 && .@nonmagic < 1) goto L_Greybar; // can not cast with a grey mana bar return 0; L_Hidden: diff --git a/world/map/npc/magic/level0-antiprotect.txt b/world/map/npc/magic/level0-antiprotect.txt index 8e9b700c..129d3c62 100644 --- a/world/map/npc/magic/level0-antiprotect.txt +++ b/world/map/npc/magic/level0-antiprotect.txt @@ -1,6 +1,6 @@ -|script|antiprotect|32767 { - if(call("magic_checks")) end; + if(call("magic_checks", 1)) end; callfunc "magic_exp"; if (@antiprotect) @@ -17,10 +17,7 @@ L_Disable: end; OnInit: - set .school, SKILL_MAGIC_NATURE; set .invocation$, chr(MAGIC_SYMBOL) + "detsanc"; // used in npcs that refer to this spell - void call("magic_register"); - set .level, 0; - set .exp_gain, 0; + registercmd .invocation$, strnpcinfo(0); end; } |