diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-02-19 20:53:36 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-02-19 20:53:36 +0000 |
commit | d7af6a74ec465f3e741cddeb222b208d4fd38f46 (patch) | |
tree | dab314abfdc188b4d372e93a93b1a296c5c61e5b /src/map/skill.c | |
parent | cba78be11327390da594bf212497e088cc42d8f6 (diff) | |
download | hercules-d7af6a74ec465f3e741cddeb222b208d4fd38f46.tar.gz hercules-d7af6a74ec465f3e741cddeb222b208d4fd38f46.tar.bz2 hercules-d7af6a74ec465f3e741cddeb222b208d4fd38f46.tar.xz hercules-d7af6a74ec465f3e741cddeb222b208d4fd38f46.zip |
- Fixed parsing of @kamic/@kamib to check for case.
- Now you can hide from Pressure.
- Weapon endowing will work on targets already endowed with the same element.
- Now reseff cards will take effect even if the status change is passed with &8 flag. In short, now reseff are ALWAYS applied to the status change defense.
- Removed a missing break that was making AM_TWILIGHT2/3 always fail.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5327 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 405e5a109..07ef6e066 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3424,14 +3424,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case SA_SEISMICWEAPON:
if (dstsd) {
if(dstsd->status.weapon == 0 ||
- (dstsd->sc.count && (
- dstsd->sc.data[SC_FIREWEAPON].timer != -1 ||
- dstsd->sc.data[SC_WATERWEAPON].timer != -1 ||
- dstsd->sc.data[SC_WINDWEAPON].timer != -1 ||
- dstsd->sc.data[SC_EARTHWEAPON].timer != -1 ||
- dstsd->sc.data[SC_SHADOWWEAPON].timer != -1 ||
- dstsd->sc.data[SC_GHOSTWEAPON].timer != -1 ||
- dstsd->sc.data[SC_ENCPOISON].timer != -1
+ (dstsd->sc.count && dstsd->sc.data[type].timer == -1 &&
+ ( //Allow re-enchanting to lenghten time. [Skotlex]
+ dstsd->sc.data[SC_FIREWEAPON].timer != -1 ||
+ dstsd->sc.data[SC_WATERWEAPON].timer != -1 ||
+ dstsd->sc.data[SC_WINDWEAPON].timer != -1 ||
+ dstsd->sc.data[SC_EARTHWEAPON].timer != -1 ||
+ dstsd->sc.data[SC_SHADOWWEAPON].timer != -1 ||
+ dstsd->sc.data[SC_GHOSTWEAPON].timer != -1 ||
+ dstsd->sc.data[SC_ENCPOISON].timer != -1
))
) {
if (sd) clif_skill_fail(sd,skillid,0,0);
@@ -3596,8 +3597,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in dstsd->sc.data[SC_WINDWEAPON].timer != -1 ||
dstsd->sc.data[SC_EARTHWEAPON].timer != -1 ||
dstsd->sc.data[SC_SHADOWWEAPON].timer != -1 ||
- dstsd->sc.data[SC_GHOSTWEAPON].timer != -1 ||
- dstsd->sc.data[SC_ENCPOISON].timer != -1) {
+ dstsd->sc.data[SC_GHOSTWEAPON].timer != -1
+ // dstsd->sc.data[SC_ENCPOISON].timer != -1 //People say you should be able to recast to lengthen the timer. [Skotlex]
+ ) {
clif_skill_nodamage(src,bl,skillid,skilllv,0);
clif_skill_fail(sd,skillid,0,0);
break;
@@ -7968,6 +7970,7 @@ int skill_check_condition(struct map_session_data *sd,int type) clif_skill_fail(sd,skill,0,0);
return 0;
}
+ break;
//SHOULD BE OPTIMALIZED [Komurka]
case SG_SUN_WARM:
if ((sd->bl.m == sd->feel_map[0].m) || (sd->sc.data[SC_MIRACLE].timer!=-1))
|