diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/map/battle.c | 6 | ||||
-rw-r--r-- | src/map/skill.c | 8 |
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] |