summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-24 17:28:13 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-24 17:28:13 +0000
commitf8ebb28853a8a9c51725778688af0c4bb54d31e0 (patch)
treee4a98a2a275761ced9d306ca399837c7a1955787 /src/map/skill.c
parent252476c27cc0829e15fb1f08a50a52e1ec5041b5 (diff)
downloadhercules-f8ebb28853a8a9c51725778688af0c4bb54d31e0.tar.gz
hercules-f8ebb28853a8a9c51725778688af0c4bb54d31e0.tar.bz2
hercules-f8ebb28853a8a9c51725778688af0c4bb54d31e0.tar.xz
hercules-f8ebb28853a8a9c51725778688af0c4bb54d31e0.zip
- Added a check to prevent Deluge/Volcano/Violent Gale from being placed on top of each other. Reverted the previous 'fix' where atk was being increased based on armor element rather than element of attack.
- Added flag 0x002 (no reiteration) to Deluge/Volcano/Violent Gale (skill_unit_db) - Removed the noreturn mapflag check from script command warp. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7858 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 46280601e..230b35e55 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2194,6 +2194,20 @@ static int skill_check_unit_range_sub (struct block_list *bl, va_list ap)
if(g_skillid != MG_SAFETYWALL && g_skillid != AL_PNEUMA)
return 0;
break;
+ //Cannot stack among themselves.
+ case SA_VOLCANO:
+ case SA_DELUGE:
+ case SA_VIOLENTGALE:
+ switch (g_skillid)
+ {
+ case SA_VOLCANO:
+ case SA_DELUGE:
+ case SA_VIOLENTGALE:
+ break;
+ default:
+ return 0;
+ }
+ break;
case AL_WARP:
case HT_SKIDTRAP:
case HT_LANDMINE:
@@ -5831,7 +5845,7 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data)
break;
}
- if(sd && !skill_check_condition(sd,ud->skillid, ud->skilllv,1)) /* 使用条件チェック */
+ if(sd && !skill_check_condition(sd,ud->skillid, ud->skilllv,1))
break;
if(hd && !skill_check_condition_hom(hd,ud->skillid, ud->skilllv,1)) //[orn]
@@ -7683,7 +7697,7 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap)
if(pc_isdead(tsd))
return 0;
- if (tsd->sc.count && (tsd->sc.data[SC_SILENCE].timer != -1 || tsd->sc.data[SC_STUN].timer != -1))
+ if (tsd->sc.count && (tsd->sc.data[SC_SILENCE].timer != -1 || tsd->sc.opt1))
return 0;
switch(skillid)