Blade Stop status no longer prevents item use and equip changing.

Blade Stop skill will now only activate if the attacker is at most 2 cells away (1 if barehanded).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13557 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ultramage 2009-03-02 18:11:49 +00:00
parent 5af84c659d
commit 1d82043903
3 changed files with 8 additions and 6 deletions

View File

@ -3,13 +3,15 @@ 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.
2008/10/13
2009/03/02
* Blade Stop status no longer prevents item use and equip changing.
* Blade Stop skill will now only activate if the attacker is at most 2 cells away (1 if barehanded).
2009/03/01
* Fixes from 2008/10/13 bugreport:2077 (Only commiting because nobody did until now and those bugs would get lost)
* Fixed monster's Spiral Pierce, now it is always blocked by Pneuma.
* Fixed Monk Absorb Spirits mana recovery per spirit absorbed, 7, not 10.
* Fixed Monk spirit balls not being removed on death (like happens with gunslingers).
* Fixed Swordman Auto-Berserk sp cost, 1, not 5. Should be 0, but eA wont allow the skill to work.
2009/03/01
* Ankle Snare cannot be knocked back anymore (bugreport:2804) [ultramage]
2009/02/25

View File

@ -2980,7 +2980,7 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
}
}
if( tsc && tsc->data[SC_BLADESTOP_WAIT] && !is_boss(src) )
if( tsc && tsc->data[SC_BLADESTOP_WAIT] && !is_boss(src) && distance_bl(src, target) <= (tsd->status.weapon == W_FIST ? 1 : 2) )
{
int skilllv = tsc->data[SC_BLADESTOP_WAIT]->val1;
int duration = skill_get_time2(MO_BLADESTOP,skilllv);

View File

@ -3390,7 +3390,6 @@ int pc_useitem(struct map_session_data *sd,int n)
sd->sc.data[SC_MARIONETTE] ||
(sd->sc.data[SC_GRAVITATION] && sd->sc.data[SC_GRAVITATION]->val3 == BCT_SELF) ||
sd->sc.data[SC_TRICKDEAD] ||
sd->sc.data[SC_BLADESTOP] ||
sd->sc.data[SC_HIDING] ||
(sd->sc.data[SC_NOCHAT] && sd->sc.data[SC_NOCHAT]->val1&MANNER_NOITEM)
))
@ -6622,7 +6621,7 @@ int pc_equipitem(struct map_session_data *sd,int n,int req_pos)
return 0;
}
if(sd->sc.data[SC_BERSERK] || sd->sc.data[SC_BLADESTOP])
if( sd->sc.data[SC_BERSERK] )
{
clif_equipitemack(sd,n,0,0); // fail
return 0;
@ -6768,7 +6767,8 @@ int pc_unequipitem(struct map_session_data *sd,int n,int flag)
}
// if player is berserk then cannot unequip
if(!(flag&2) && sd->sc.count && (sd->sc.data[SC_BLADESTOP] || sd->sc.data[SC_BERSERK])){
if( !(flag&2) && sd->sc.count && sd->sc.data[SC_BERSERK] )
{
clif_unequipitemack(sd,n,0,0);
return 0;
}