summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/map/battle.c6
-rw-r--r--src/map/skill.c8
3 files changed, 12 insertions, 5 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 19df6e568..a1897c997 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/07/21
+ * Added the necessary checks so that Suiton makes Fogwall have double
+ duration, and to make water-requiring skills to consume their cells.
+ [Skotlex]
* Corrected the loadmap event description to specify that the mapflag
required is actually "loadevent", NOT "loadmap"! [Skotlex]
* Now when the char-txt server does not finds a requested party, it will
diff --git a/src/map/battle.c b/src/map/battle.c
index 484c65b01..ad59a9685 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -198,11 +198,11 @@ int battle_attr_fix(struct block_list *src, struct block_list *target, int damag
ratio = attr_fix_table[def_lv-1][atk_elem][def_type];
if (sc && sc->count)
{
- if(sc->data[SC_VOLCANO].timer!=-1 && atk_elem == 3)
+ if(sc->data[SC_VOLCANO].timer!=-1 && atk_elem == ELE_FIRE)
ratio += enchant_eff[sc->data[SC_VOLCANO].val1-1];
- if(sc->data[SC_VIOLENTGALE].timer!=-1 && atk_elem == 4)
+ if(sc->data[SC_VIOLENTGALE].timer!=-1 && atk_elem == ELE_WIND)
ratio += enchant_eff[sc->data[SC_VIOLENTGALE].val1-1];
- if(sc->data[SC_DELUGE].timer!=-1 && atk_elem == 1)
+ if(sc->data[SC_DELUGE].timer!=-1 && atk_elem == ELE_WATER)
ratio += enchant_eff[sc->data[SC_DELUGE].val1-1];
}
if (tsc && tsc->count)
diff --git a/src/map/skill.c b/src/map/skill.c
index 45eebf558..9e8d6add8 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2434,6 +2434,8 @@ int skill_count_water (struct block_list *src, int range)
continue;
}
unit = map_find_skill_unit_oncell(src,x,y,SA_DELUGE,NULL);
+ if (!unit)
+ unit = map_find_skill_unit_oncell(src,x,y,NJ_SUITON,NULL);
if (unit) {
cnt++;
skill_delunit(unit);
@@ -6717,8 +6719,10 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, int skillid,
val1 = 55 + skilllv*5; //Elemental Resistance
val2 = skilllv*10; //Status ailment resistance
break;
- case PF_FOGWALL: /* フォグウォール */
- if(sc && sc->data[SC_DELUGE].timer!=-1) limit *= 2;
+ case PF_FOGWALL:
+ if(sc && (
+ sc->data[SC_DELUGE].timer!=-1 || sc->data[SC_SUITON].timer != -1
+ )) limit *= 2;
break;
case RG_GRAFFITI: /* Graffiti */
count=1; // Leave this at 1 [Valaris]