summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-11-09 20:02:56 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-11-09 20:02:56 +0000
commit7d946b866e576b8cafb8a81ba82c8a1d49dab832 (patch)
tree46eab1ceb60c5d26a69f47c08156f3b87a52a005 /src
parentc71baed92b4102a2197c955627bec3728d66a4df (diff)
downloadhercules-7d946b866e576b8cafb8a81ba82c8a1d49dab832.tar.gz
hercules-7d946b866e576b8cafb8a81ba82c8a1d49dab832.tar.bz2
hercules-7d946b866e576b8cafb8a81ba82c8a1d49dab832.tar.xz
hercules-7d946b866e576b8cafb8a81ba82c8a1d49dab832.zip
- Reduced the check area of hermod to 3x3, you now have to literally stand next to a warp for it to work.
- Corrected the Fog of Wall check so that it lasts 2x when it is placed on TOP of a suiton/deluge, not when the caster is on top of them. - Updated status_check_skilluse so that when the caster has a disabling status change (stun/petrify/etc) it will block the skill in all cases EXCEPT on cast-end when the skill is ground-targetted. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9185 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/map/skill.c7
-rw-r--r--src/map/status.c11
2 files changed, 11 insertions, 7 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index c59020002..c27b187e8 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -6661,9 +6661,10 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, int skillid,
val2 = skilllv*10; //Status ailment resistance
break;
case PF_FOGWALL:
- if(sc && (
- sc->data[SC_DELUGE].timer!=-1 || sc->data[SC_SUITON].timer != -1
- )) limit *= 2;
+ //When casted on top of Deluge/Suiton: Double duration.
+ if (map_find_skill_unit_oncell(src,x,y,SA_DELUGE,NULL) ||
+ map_find_skill_unit_oncell(src,x,y,NJ_SUITON,NULL))
+ limit *= 2;
break;
case RG_GRAFFITI: /* Graffiti */
count=1; // Leave this at 1 [Valaris]
diff --git a/src/map/status.c b/src/map/status.c
index 99b8cfec4..e74e7a5a5 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -963,10 +963,13 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
if(sc && sc->count)
{
- if(sc->opt1 >0 && flag != 1)
- //When sc do not cancel casting, the spell should come out, and when it does, we can never have
- //a flag == 1 && sc->opt1 case, since cancelling should had been stopped before.
- return 0;
+ if(sc->opt1 >0)
+ { //Stuned/Frozen/etc
+ if (flag != 1) //Can't cast, casted stuff can't damage.
+ return 0;
+ if (!skill_get_inf(skill_num)&INF_GROUND_SKILL)
+ return 0; //Targetted spells can't come off.
+ }
if (
(sc->data[SC_TRICKDEAD].timer != -1 && skill_num != NV_TRICKDEAD)