From 33acd2a024b28d8f1a9e637a1353bf4bdb37f430 Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 25 Aug 2006 19:15:50 +0000 Subject: - 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. - Now MISC skills with delay 0 will also use the attack delay (if the skill is tagged to do damage) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8483 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src') 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; -- cgit v1.2.3-70-g09d2