Переглянути джерело

* Kaahi heals no matter if attack connects. (bugreport:2440)
* Fixed a typo causing skillitem always resets skill delay. (bugreport:3431)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13977 54d463be-8e91-2dee-dedb-b68131a5f0ec

Inkfish 16 роки тому
батько
коміт
4cafc71047
4 змінених файлів з 8 додано та 8 видалено
  1. 3 0
      Changelog-Trunk.txt
  2. 3 0
      src/map/battle.c
  3. 0 6
      src/map/skill.c
  4. 2 2
      src/map/unit.c

+ 3 - 0
Changelog-Trunk.txt

@@ -3,6 +3,9 @@ Date	Added
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
+09/07/28
+	* Kaahi heals no matter if attack connects. (bugreport:2440) [Inkfish]
+	* Fixed a typo causing skillitem always resets skill delay. (bugreport:3431) [Inkfish]
 09/07/25
 	* Rewrote Quest Log system. [Inkfish]
 	* Fixed message display for FullStrip and SelfProvoke. (bugreport: 3011, bugreport: 3415) [Inkfish]

+ 3 - 0
src/map/battle.c

@@ -3004,6 +3004,9 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
 			return (damage_lv)skill_attack(BF_MAGIC,src,src,target,NPC_MAGICALATTACK,sc->data[SC_MAGICALATTACK]->val1,tick,0);
 	}
 
+	if(tsc && tsc->data[SC_KAAHI] && tsc->data[SC_KAAHI]->val4 == -1)
+		tsc->data[SC_KAAHI]->val4 = add_timer(tick + skill_get_time2(SL_KAAHI,tsc->data[SC_KAAHI]->val1), kaahi_heal_timer, target->id, SC_KAAHI); //Activate heal.
+
 	wd = battle_calc_weapon_attack(src, target, 0, 0, flag);
 
 	if (sd && sd->state.arrow_atk) //Consume arrow.

+ 0 - 6
src/map/skill.c

@@ -1206,12 +1206,6 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
 	}
 
 	switch(skillid){
-	case 0: //Normal Attack
-		if(tsc && tsc->data[SC_KAAHI] && tsc->data[SC_KAAHI]->val4 == -1)
-			tsc->data[SC_KAAHI]->val4 = add_timer(
-				tick+skill_get_time2(SL_KAAHI,tsc->data[SC_KAAHI]->val1),
-				kaahi_heal_timer, bl->id, SC_KAAHI); //Activate heal.
-		break;
 	case MO_EXTREMITYFIST:
 		sc_start(src,status_skill2sc(skillid),100,skilllv,skill_get_time2(skillid,skilllv));
 		break;

+ 2 - 2
src/map/unit.c

@@ -1074,7 +1074,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh
 	if( casttime <= 0 )
 		ud->state.skillcastcancel = 0;
 
-	if( !sd || sd->skillitem != ud->skillid || skill_get_cast(skill_num,skill_lv) )
+	if( !sd || sd->skillitem != skill_num || skill_get_cast(skill_num,skill_lv) )
 		ud->canact_tick = tick + casttime + 100;
 	if( sd )
 	{
@@ -1180,7 +1180,7 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh
 		casttime = skill_castfix_sc(src, casttime);
 
 	ud->state.skillcastcancel = castcancel&&casttime>0?1:0;
-	if( !sd || sd->skillitem != ud->skillid || skill_get_cast(skill_num,skill_lv) )
+	if( !sd || sd->skillitem != skill_num || skill_get_cast(skill_num,skill_lv) )
 		ud->canact_tick  = tick + casttime + 100;
 //	if( sd )
 //	{