From 8066ddee9b937a7f835f0af8a1fb393dfd0256b6 Mon Sep 17 00:00:00 2001 From: L0ne_W0lf Date: Mon, 28 Jun 2010 16:54:21 +0000 Subject: * Updated specialeffect2 to accept player names. (follow up to r14353) * Bascilica now allows boss-flagged monsters to knock you back as per official. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14357 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 5 ++++- conf/battle/battle.conf | 2 +- doc/script_commands.txt | 9 +++++++-- src/map/script.c | 3 +++ src/map/skill.c | 4 ++-- 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 @@ -3,9 +3,12 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. 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 {,}{,""}; +*specialeffect {,}{,""}; 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 {,}; +*specialeffect2 {,}{,""}; This command behaves identically to the 'specialeffect', but the effect will be centered on the invoking character's sprite. + parameter will display on another Player than the +one currently attached to the script. Like with specialeffect, when specifying +a player, must be supplied, specifying AREA will retain the default +behavior of the command. + --------------------------------------- *statusup ; 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; } -- cgit v1.2.3-60-g2f50