I've found this on clif.c: //SELF skills can be used with the storage open, issue: 8027
if( (pc_cant_act2(sd) || sd->chatID) && skill_id != RK_REFRESH && !(skill_id == SR_GENTLETOUCH_CURE &&
(sd->sc.opt1 == OPT1_STONE || sd->sc.opt1 == OPT1_FREEZE || sd->sc.opt1 == OPT1_STUN)) &&
sd->state.storage_flag && !(inf&INF_SELF_SKILL) ) //SELF skills can be used with the storage open, issue: 8027
return;
How do I modify it so self skills can not be used with the storage open?
Apparently they fixed it on hercules: http://herc.ws/board/tracker/issue-8027-when-the-storage-is-open-you-can-use-self-skills/ but the syntax seems to be a little different than rAthena, if someone would be so kind to translate the fix so it can be used on rAthena I'd appreciate it enough.
EDIT :
I found a solution myself by replacing:
if( (pc_cant_act2(sd) || sd->chatID) && skill_id != RK_REFRESH && !(skill_id == SR_GENTLETOUCH_CURE &&
(sd->sc.opt1 == OPT1_STONE || sd->sc.opt1 == OPT1_FREEZE || sd->sc.opt1 == OPT1_STUN)) &&
sd->state.storage_flag && !(inf&INF_SELF_SKILL) ) //SELF skills can be used with the storage open, issue: 8027
return;
to:
if( (pc_cant_act2(sd) || sd->chatID) && skill_id != RK_REFRESH && !(skill_id == SR_GENTLETOUCH_CURE &&
(sd->sc.opt1 == OPT1_STONE || sd->sc.opt1 == OPT1_FREEZE || sd->sc.opt1 == OPT1_STUN)) &&
sd->state.storage_flag && (inf&INF_SELF_SKILL) ) //SELF skills can be used with the storage open, issue: 8027
return;
Just had to remove ! from !(inf&INF_SELF_SKILL) and leave it like this: (inf&INF_SELF_SKILL)
Sorry for the inconvenience and thanks to you all for the support, topic can be closed now.