diff options
author | Michieru <Michieru@users.noreply.github.com> | 2014-08-08 19:58:25 +0200 |
---|---|---|
committer | Michieru <Michieru@users.noreply.github.com> | 2014-08-08 19:58:25 +0200 |
commit | 9395ed3cfe3129111459ceec00d92f5706a27e1a (patch) | |
tree | 4c6ce9bda49ef84ec323a07153b28cce5a7936f1 | |
parent | 73089923e91b88bb2470cd7abab8616b5e68d374 (diff) | |
download | hercules-9395ed3cfe3129111459ceec00d92f5706a27e1a.tar.gz hercules-9395ed3cfe3129111459ceec00d92f5706a27e1a.tar.bz2 hercules-9395ed3cfe3129111459ceec00d92f5706a27e1a.tar.xz hercules-9395ed3cfe3129111459ceec00d92f5706a27e1a.zip |
- Fix during Severe Rainstorm you can't swith equipment (bug:8193)
-rw-r--r-- | src/map/pc.c | 4 | ||||
-rw-r--r-- | src/map/skill.c | 2 | ||||
-rw-r--r-- | src/map/status.h | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 6c8e3403d..936dd0d36 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -8776,7 +8776,7 @@ int pc_equipitem(struct map_session_data *sd,int n,int req_pos) return 0; } - if (sd->sc.data[SC_BERSERK]) + if (sd->sc.data[SC_BERSERK] || sd->sc.data[SC_NO_SWITCH_EQUIP]) { clif->equipitemack(sd,n,0,EIA_FAIL); // fail return 0; @@ -8980,7 +8980,7 @@ 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_BERSERK])) + if (!(flag & 2) && sd->sc.count && (sd->sc.data[SC_BERSERK]) || sd->sc.data[SC_NO_SWITCH_EQUIP]) { clif->unequipitemack(sd,n,0,UIA_FAIL); return 0; diff --git a/src/map/skill.c b/src/map/skill.c index e8217d5d3..2bc46c40e 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -10134,6 +10134,8 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui case MH_XENO_SLASHER: flag|=1;//Set flag to 1 to prevent deleting ammo (it will be deleted on group-delete). case GS_GROUNDDRIFT: //Ammo should be deleted right away. + if ( skill_id == WM_SEVERE_RAINSTORM )
+ sc_start(src,src,SC_NO_SWITCH_EQUIP,100,0,skill->get_time(skill_id,skill_lv)); skill->unitsetting(src,skill_id,skill_lv,x,y,0); break; case RG_GRAFFITI: /* Graffiti [Valaris] */ diff --git a/src/map/status.h b/src/map/status.h index d1b3c6471..942f86d7c 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -722,6 +722,8 @@ typedef enum sc_type { SC_DEFSET, SC_MDEFSET, + SC_NO_SWITCH_EQUIP, + SC_MAX, //Automatically updated max, used in for's to check we are within bounds. } sc_type; |