summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-01 21:35:46 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-01 21:35:46 +0000
commitd96c45b5a69548d7943b598323383ecd803f29be (patch)
treeeec66d8e63044e7416c2934836e4d6696a5eb590 /src/map/status.c
parentde5d6cb3e5c319f09c9014ce2a3bcd9041ad3323 (diff)
downloadhercules-d96c45b5a69548d7943b598323383ecd803f29be.tar.gz
hercules-d96c45b5a69548d7943b598323383ecd803f29be.tar.bz2
hercules-d96c45b5a69548d7943b598323383ecd803f29be.tar.xz
hercules-d96c45b5a69548d7943b598323383ecd803f29be.zip
- Silence will only block skills when they have begun casting, not when the cast bar is done.
- opt1 status will block skills when they are done casting only if the sc_castcancel option is set. - strcharinfo now returns blank instead of crashing the map server when there's no player attached. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5417 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/map/status.c b/src/map/status.c
index a39adbc62..a5595d953 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -376,7 +376,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
if (src) sc = status_get_sc(src);
- if(sc && sc->opt1 >0)
+ if(sc && sc->opt1 >0 && (!flag || battle_config.sc_castcancel))
return 0;
if(sc && sc->count)
@@ -407,7 +407,8 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
(sc->data[SC_MARIONETTE].timer != -1 && skill_num != CG_MARIONETTE) ||
(sc->data[SC_MARIONETTE2].timer != -1 && skill_num == CG_MARIONETTE) ||
(sc->data[SC_HERMODE].timer != -1 && skill_get_inf(skill_num) & INF_SUPPORT_SKILL) ||
- sc->data[SC_SILENCE].timer != -1 || sc->data[SC_STEELBODY].timer != -1 ||
+ (sc->data[SC_SILENCE].timer != -1 && !flag) || //Silence only blocks initial casting of skills.
+ sc->data[SC_STEELBODY].timer != -1 ||
sc->data[SC_BERSERK].timer != -1 || sc->data[SC_SKA].timer != -1 ||
sc->data[SC_NOCHAT].timer != -1
)
@@ -4188,7 +4189,7 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
case SC_COMA: //Coma. Sends a char to 1HP
battle_damage(NULL, bl, status_get_hp(bl)-1, 0);
- return 0;
+ return 1;
case SC_CARTBOOST: /* カ?トブ?スト */
if(sc->data[SC_DECREASEAGI].timer!=-1 )