summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt8
-rw-r--r--src/map/skill.c15
2 files changed, 21 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 80a8364b6..274ae4e2f 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,14 @@ 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/08/25
+ * The following skills will display a normal attack animation now:
+ NPC_WATERATTACK, NPC_GROUNDATTACK, NPC_FIREATTACK, NPC_WINDATTACK,
+ NPC_POISONATTACK, NPC_HOLYATTACK, NPC_DARKNESSATTACK,
+ NPC_TELEKINESISATTACK, NPC_SPLASHATTACK
+ * Skills that require a weapon and consume spirit spheres will no longer be
+ auto-tagged to require ammo. [Skotlex]
+ * Now MISC skills with delay 0 will also use the attack delay (if the skill
+ is tagged to do damage) [Skotlex]
* Added script commands roclass/eaclass to enable scripts to access eA's
job format. Read script_commands.txt and ea_job_system.txt for a more
complete explanation of how this job system works. [Skotlex]
diff --git a/src/map/skill.c b/src/map/skill.c
index 320c50149..d930dd301 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2037,6 +2037,15 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
case KN_AUTOCOUNTER:
case NPC_CRITICALSLASH:
+ case NPC_WATERATTACK:
+ case NPC_GROUNDATTACK:
+ case NPC_FIREATTACK:
+ case NPC_WINDATTACK:
+ case NPC_POISONATTACK:
+ case NPC_HOLYATTACK:
+ case NPC_DARKNESSATTACK:
+ case NPC_TELEKINESISATTACK:
+ case NPC_SPLASHATTACK:
case TF_DOUBLE:
case GS_CHAINACTION:
case SN_SHARPSHOOTING:
@@ -7789,7 +7798,9 @@ int skill_isammotype (TBL_PC *sd, int skill)
return (
(sd->status.weapon == W_BOW || (sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE)) &&
skill != HT_PHANTASMIC && skill != GS_MAGICALBULLET &&
- skill_get_type(skill) == BF_WEAPON && !(skill_get_nk(skill)&NK_NO_DAMAGE)
+ skill_get_type(skill) == BF_WEAPON &&
+ !(skill_get_nk(skill)&NK_NO_DAMAGE) &&
+ !skill_get_spiritball(skill,1) //Assume spirit spheres are used as ammo instead.
);
}
@@ -8599,7 +8610,7 @@ int skill_delayfix (struct block_list *bl, int skill_id, int skill_lv)
// instant cast attack skills depend on aspd as delay [celest]
if (time == 0) {
- if (skill_get_type(skill_id) == BF_WEAPON && !(skill_get_nk(skill_id)&NK_NO_DAMAGE))
+ if (skill_get_type(skill_id)&(BF_WEAPON|BF_MISC) && !(skill_get_nk(skill_id)&NK_NO_DAMAGE))
time = status_get_adelay(bl); //Use attack delay as default delay.
else
time = battle_config.default_skill_delay;