summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt5
-rw-r--r--conf/battle/battle.conf2
-rw-r--r--doc/script_commands.txt9
-rw-r--r--src/map/script.c3
-rw-r--r--src/map/skill.c4
5 files changed, 17 insertions, 6 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 9b3b2cb9d..b252ebf7a 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,8 +4,11 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2010/06/27
+ * Rev. 14357 Updated specialeffect2 to accept player names. (follow up to r14353) [L0ne_W0lf]
+ * Bascilica now allows boss-flagged monsters to knock you back as per official.
+2010/06/27
* Rev. 14356 Follow up to r13895, added a battle.conf setting to control if ranges should be checked with autocasts. [L0ne_W0lf]
- 'autospell_check_range', by default is set to no, as this is official behavior. This does not affect autospellwhenhit.
+ 'autospell_check_range', by default is set to no, as this is official behavior. This also affects autospellwhenhit.
* Sonic Blow autocast now stops players attacking when it triggers. It's possible there is more depth to this
on official servers, and should 'stop' attacking on regular casts as well. It appears so far that this is the
only skill that behaves this way.
diff --git a/conf/battle/battle.conf b/conf/battle/battle.conf
index 044acac17..1ee207ff2 100644
--- a/conf/battle/battle.conf
+++ b/conf/battle/battle.conf
@@ -169,5 +169,5 @@ arrow_decrement: 1
// Should the item script bonus 'Autospell' check for range/obstacles before casting?
// Official behavior is "no", setting this to "yes" will make skills use their defined
// range. For example, Sonic Blow requires a 2 cell distance before autocasting is allowed.
-// This setting does not affect autospellwhenhit.
+// This setting also affects autospellwhenhit.
autospell_check_range: no
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index 12afe7221..cac34320f 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -4561,7 +4561,7 @@ character.
---------------------------------------
-*specialeffect <effect number>{,<send_target>}{,"<NPC Name>"</NPC>};
+*specialeffect <effect number>{,<send_target>}{,"<NPC Name>"};
This command will display special effect with the given number, centered on the
specified NPCs coordinates, if any. For a full list of special effect numbers
@@ -4584,11 +4584,16 @@ will retain the default behavior of the command.
---------------------------------------
-*specialeffect2 <effect number>{,<send_target>};
+*specialeffect2 <effect number>{,<send_target>}{,"<Player Name>"};
This command behaves identically to the 'specialeffect', but the effect will be
centered on the invoking character's sprite.
+<Player name> parameter will display <effect number> on another Player than the
+one currently attached to the script. Like with specialeffect, when specifying
+a player, <send_target> must be supplied, specifying AREA will retain the default
+behavior of the command.
+
---------------------------------------
*statusup <stat>;
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;
}