summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-10 05:25:39 +0000
committercelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-10 05:25:39 +0000
commit22c1a797e182554a1e701f5cc0a21f2a605413fb (patch)
tree42374dd8e895269f686d3cc5faa9cff31e28e911 /src
parentd574e16397271aa01b5a8ce41738a89be911b0ac (diff)
downloadhercules-22c1a797e182554a1e701f5cc0a21f2a605413fb.tar.gz
hercules-22c1a797e182554a1e701f5cc0a21f2a605413fb.tar.bz2
hercules-22c1a797e182554a1e701f5cc0a21f2a605413fb.tar.xz
hercules-22c1a797e182554a1e701f5cc0a21f2a605413fb.zip
- Added sc_data check for pc_damage
- Corrected error in skill.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@528 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/map/pc.c9
-rw-r--r--src/map/skill.c7
2 files changed, 10 insertions, 6 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index 3fb63c57b..242462a5a 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -5365,11 +5365,12 @@ int pc_damage(struct block_list *src,struct map_session_data *sd,int damage)
}
// ? いていたら足を止める
- if(sd->sc_data[SC_ENDURE].timer == -1 && sd->sc_data[SC_BERSERK].timer && !sd->special_state.infinite_endure)
- pc_stop_walking(sd,3);
- else if(sd->sc_data[SC_ENDURE].timer != -1 && src->type==BL_MOB) // [Celest]
- if((--sd->sc_data[SC_ENDURE].val2) <= 0)
+ if (sd->sc_data) {
+ if (sd->sc_data[SC_ENDURE].timer == -1 && sd->sc_data[SC_BERSERK].timer == -1 && !sd->special_state.infinite_endure)
+ pc_stop_walking(sd,3);
+ else if(sd->sc_data[SC_ENDURE].timer != -1 && src->type==BL_MOB && (--sd->sc_data[SC_ENDURE].val2) <= 0)
skill_status_change_end(&sd->bl, SC_ENDURE, -1);
+ }
// 演奏/ダンスの中?
if(damage > sd->status.max_hp>>2)
skill_stop_dancing(&sd->bl,0);
diff --git a/src/map/skill.c b/src/map/skill.c
index 31464e932..59f25274f 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -9958,11 +9958,11 @@ int skill_status_change_start(struct block_list *bl, int type, int val1, int val
case SC_BERSERK:
calc_flag=1;
break;
-*/
case SC_ASSUMPTIO:
if(sc_data[SC_KYRIE].timer!=-1 )
skill_status_change_end(bl,SC_KYRIE,-1);
- break;
+ break;*/
+
case SC_WINDWALK: /* ウインドウォ?ク */
calc_flag = 1;
val2 = (val1 / 2); //Flee上昇率
@@ -9982,6 +9982,9 @@ int skill_status_change_start(struct block_list *bl, int type, int val1, int val
break;
case SC_ASSUMPTIO: /* アスムプティオ */
+ if(sc_data[SC_KYRIE].timer!=-1 )
+ skill_status_change_end(bl,SC_KYRIE,-1);
+ break;
*opt3 |= 2048;
break;