summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/script.c3
-rw-r--r--src/map/skill.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/map/script.c b/src/map/script.c
index 51d5f8376..3a08cfd90 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -11017,6 +11017,9 @@ BUILDIN_FUNC(specialeffect2)
if(sd==NULL)
return 0;
+ if( script_hasdata(st,4) )
+ sd = map_nick2sd(script_getstr(st,4));
+
clif_specialeffect(&sd->bl, type, target);
return 0;
diff --git a/src/map/skill.c b/src/map/skill.c
index 3e63a9211..6b045c43e 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1493,8 +1493,8 @@ int skill_blown(struct block_list* src, struct block_list* target, int count, in
case BL_PC:
{
struct map_session_data *sd = BL_CAST(BL_PC, target);
- if( sd->sc.data[SC_BASILICA] && sd->sc.data[SC_BASILICA]->val4 == sd->bl.id )
- return 0; // Basilica caster can't be knocked-back
+ if( sd->sc.data[SC_BASILICA] && sd->sc.data[SC_BASILICA]->val4 == sd->bl.id && !is_boss(src))
+ return 0; // Basilica caster can't be knocked-back by normal monsters.
if( src != target && sd->special_state.no_knockback )
return 0;
}