Browse Source

Taro Card can now break shoes and garment and won't affect dead target. (bugreport:2513)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13808 54d463be-8e91-2dee-dedb-b68131a5f0ec
Inkfish 16 years ago
parent
commit
36ae721899
2 changed files with 11 additions and 2 deletions
  1. 2 0
      Changelog-Trunk.txt
  2. 9 2
      src/map/skill.c

+ 2 - 0
Changelog-Trunk.txt

@@ -3,6 +3,8 @@ 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/05/24
+	* Taro Card can now break shoes and garment and won't affect dead target. (bugreport:2513) [Inkfish]
 09/05/23
 	* Splash attacks do cause additional effects except for autocasts. (bugreport:2661) [Inkfish]
 09/05/22

+ 9 - 2
src/map/skill.c

@@ -1358,6 +1358,12 @@ int skill_break_equip (struct block_list *bl, unsigned short where, int rate, in
 						(where&EQP_WEAPON && sd->inventory_data[j]->type == IT_WEAPON) ||
 						(where&EQP_SHIELD && sd->inventory_data[j]->type == IT_ARMOR));
 					break;
+				case EQI_SHOES:
+					flag = (where&EQP_SHOES);
+					break;
+				case EQI_GARMENT:
+					flag = (where&EQP_GARMENT);
+					break;
 				default:
 					continue;
 			}
@@ -5255,10 +5261,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 					break;
 				case 3:	// 1000 damage, random armor destroyed
 					{
-						int where[] = { EQP_ARMOR, EQP_SHIELD, EQP_HELM };
+						int where[] = { EQP_ARMOR, EQP_SHIELD, EQP_HELM, EQP_SHOES, EQP_GARMENT };
 						status_fix_damage(src, bl, 1000, 0);
 						clif_damage(src,bl,tick,0,0,1000,0,0,0);
-						skill_break_equip(bl, where[rand()%3], 10000, BCT_ENEMY);
+						if( !status_isdead(bl) )
+							skill_break_equip(bl, where[rand()%5], 10000, BCT_ENEMY);
 					}
 					break;
 				case 4:	// atk halved