summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-02-03 14:58:02 -0200
committershennetsind <ind@henn.et>2013-02-03 14:58:02 -0200
commit4671a3910c923b473d2f4efb50daf0fb343a67a9 (patch)
tree46178301604f987e7d83e1f40ccb5f21fd082fc9
parent0dbbe22a43c72737349b5907088bd5c90d5c3d3a (diff)
downloadhercules-4671a3910c923b473d2f4efb50daf0fb343a67a9.tar.gz
hercules-4671a3910c923b473d2f4efb50daf0fb343a67a9.tar.bz2
hercules-4671a3910c923b473d2f4efb50daf0fb343a67a9.tar.xz
hercules-4671a3910c923b473d2f4efb50daf0fb343a67a9.zip
Fixed Bug #7044
Monsters in stone curse pre-stone state no longer are able to attack. http://hercules.ws/board/tracker/issue-7044-stone-curse/ Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r--src/map/status.c34
-rw-r--r--src/map/unit.c2
2 files changed, 18 insertions, 18 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 8171f20ec..ce792cd75 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1585,7 +1585,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, uin
if( sc && sc->count ) {
- if (skill_id != RK_REFRESH && sc->opt1 >0 && (sc->opt1 != OPT1_CRYSTALIZE && src->type != BL_MOB) && sc->opt1 != OPT1_BURNING && skill_id != SR_GENTLETOUCH_CURE) { //Stuned/Frozen/etc
+ if (skill_id != RK_REFRESH && sc->opt1 >0 && !(sc->opt1 == OPT1_CRYSTALIZE && src->type == BL_MOB) && sc->opt1 != OPT1_BURNING && skill_id != SR_GENTLETOUCH_CURE) { //Stuned/Frozen/etc
if (flag != 1) //Can't cast, casted stuff can't damage.
return 0;
if (!(skill_get_inf(skill_id)&INF_GROUND_SKILL))
@@ -1678,22 +1678,22 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, uin
}
}
- if (sc && sc->option)
- {
- if (sc->option&OPTION_HIDE)
- switch (skill_id) { //Usable skills while hiding.
- case TF_HIDING:
- case AS_GRIMTOOTH:
- case RG_BACKSTAP:
- case RG_RAID:
- case NJ_SHADOWJUMP:
- case NJ_KIRIKAGE:
- case KO_YAMIKUMO:
- break;
- default:
- //Non players can use all skills while hidden.
- if (!skill_id || src->type == BL_PC)
- return 0;
+ if (sc && sc->option) {
+ if (sc->option&OPTION_HIDE) {
+ switch (skill_id) { //Usable skills while hiding.
+ case TF_HIDING:
+ case AS_GRIMTOOTH:
+ case RG_BACKSTAP:
+ case RG_RAID:
+ case NJ_SHADOWJUMP:
+ case NJ_KIRIKAGE:
+ case KO_YAMIKUMO:
+ break;
+ default:
+ //Non players can use all skills while hidden.
+ if (!skill_id || src->type == BL_PC)
+ return 0;
+ }
}
if (sc->option&OPTION_CHASEWALK && skill_id != ST_CHASEWALK)
return 0;
diff --git a/src/map/unit.c b/src/map/unit.c
index afb7cf19f..e901d3138 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -939,7 +939,7 @@ int unit_can_move(struct block_list *bl) {
if( sc->data[SC_ANKLE] && ( battle_config.skill_trap_type || !unit_is_walking(bl) ) ) // Ankle only stops you after you're done moving
return 0;
- if (sc->opt1 > 0 && sc->opt1 != OPT1_STONEWAIT && sc->opt1 != OPT1_BURNING && (sc->opt1 != OPT1_CRYSTALIZE && bl->type != BL_MOB))
+ if (sc->opt1 > 0 && sc->opt1 != OPT1_STONEWAIT && sc->opt1 != OPT1_BURNING && !(sc->opt1 == OPT1_CRYSTALIZE && bl->type == BL_MOB))
return 0;
if ((sc->option & OPTION_HIDE) && (!sd || pc_checkskill(sd, RG_TUNNELDRIVE) <= 0))