- Modified yet again SC_SILENCE after iRO tests from Entwined on IRC. Silence now ONLY blocks skills from being used, it will not stop on-going casts.
- Updated status_cast_cancel to also include silence (so the cast bar is cancelled if you are silenced during it) git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8086 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
59d5ec0acf
commit
aebca964db
@ -4,6 +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.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2006/08/02
|
2006/08/02
|
||||||
|
* Modified yet again SC_SILENCE after iRO tests from Entwined on IRC.
|
||||||
|
Silence now ONLY blocks skills from being used, it will not stop on-going
|
||||||
|
casts. [Skotlex]
|
||||||
|
* Updated status_cast_cancel to also include silence (so the cast bar is
|
||||||
|
cancelled if you are silenced during it) [Skotlex]
|
||||||
* Updated the way SC_SILENCE works. From what I remember (from previous
|
* Updated the way SC_SILENCE works. From what I remember (from previous
|
||||||
forum discussions) it: 1- Always blocks skills from being used. 2- Will
|
forum discussions) it: 1- Always blocks skills from being used. 2- Will
|
||||||
only block a skill when the cast-bar ends IF the skill is targetted. If
|
only block a skill when the cast-bar ends IF the skill is targetted. If
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
// features.
|
// features.
|
||||||
//--------------------------------------------------------------
|
//--------------------------------------------------------------
|
||||||
|
|
||||||
// Should skill casting be cancelled when inflicted by curse/stun/sleep/etc?
|
// Should skill casting be cancelled when inflicted by curse/stun/sleep/etc (includes silence)?
|
||||||
status_cast_cancel: no
|
status_cast_cancel: no
|
||||||
|
|
||||||
// Will certain skill status-changes be removed on logout?
|
// Will certain skill status-changes be removed on logout?
|
||||||
|
@ -957,6 +957,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
|
|||||||
(src->type != BL_PC || ((TBL_PC*)src)->skillitem != skill_num)
|
(src->type != BL_PC || ((TBL_PC*)src)->skillitem != skill_num)
|
||||||
) { //Skills blocked through status changes...
|
) { //Skills blocked through status changes...
|
||||||
if (!flag && ( //Blocked only from using the skill (stuff like autospell may still go through
|
if (!flag && ( //Blocked only from using the skill (stuff like autospell may still go through
|
||||||
|
sc->data[SC_SILENCE].timer != -1 ||
|
||||||
(sc->data[SC_MARIONETTE].timer != -1 && skill_num != CG_MARIONETTE) ||
|
(sc->data[SC_MARIONETTE].timer != -1 && skill_num != CG_MARIONETTE) ||
|
||||||
(sc->data[SC_MARIONETTE2].timer != -1 && skill_num == CG_MARIONETTE) ||
|
(sc->data[SC_MARIONETTE2].timer != -1 && skill_num == CG_MARIONETTE) ||
|
||||||
sc->data[SC_STEELBODY].timer != -1 ||
|
sc->data[SC_STEELBODY].timer != -1 ||
|
||||||
@ -964,10 +965,6 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
|
|||||||
))
|
))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
//Silence is a special, but weird, case. It prevents skill begin, and skill end only when there's a target. [Skotlex]
|
|
||||||
if(sc->data[SC_SILENCE].timer != -1 && flag <= (target?1:0))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
//Skill blocking.
|
//Skill blocking.
|
||||||
if (
|
if (
|
||||||
(sc->data[SC_VOLCANO].timer != -1 && skill_num == WZ_ICEWALL) ||
|
(sc->data[SC_VOLCANO].timer != -1 && skill_num == WZ_ICEWALL) ||
|
||||||
@ -5472,6 +5469,10 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
|
|||||||
case SC_CHASEWALK:
|
case SC_CHASEWALK:
|
||||||
unit_stop_attack(bl);
|
unit_stop_attack(bl);
|
||||||
break;
|
break;
|
||||||
|
case SC_SILENCE:
|
||||||
|
if (battle_config.sc_castcancel)
|
||||||
|
unit_skillcastcancel(bl, 0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vd && pcdb_checkid(vd->class_)) //Only for players sprites, client crashes if they receive this for a mob o.O [Skotlex]
|
if (vd && pcdb_checkid(vd->class_)) //Only for players sprites, client crashes if they receive this for a mob o.O [Skotlex]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user