Преглед на файлове

- 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://svn.code.sf.net/p/rathena/svn/trunk@8483 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex преди 19 години
родител
ревизия
9e90077f67
променени са 2 файла, в които са добавени 21 реда и са изтрити 2 реда
  1. 8 0
      Changelog-Trunk.txt
  2. 13 2
      src/map/skill.c

+ 8 - 0
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]

+ 13 - 2
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;