summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-05-24 04:58:40 +0000
committerInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-05-24 04:58:40 +0000
commit65105af9a3293277fbd7972460b5157df1b305ee (patch)
treedda13baac66c55c069a9639c5a6fbc6257420deb
parentd5ed6070886bb3dc2d15c7cc69950762f7f885f1 (diff)
downloadhercules-65105af9a3293277fbd7972460b5157df1b305ee.tar.gz
hercules-65105af9a3293277fbd7972460b5157df1b305ee.tar.bz2
hercules-65105af9a3293277fbd7972460b5157df1b305ee.tar.xz
hercules-65105af9a3293277fbd7972460b5157df1b305ee.zip
Taro Card can now break shoes and garment and won't affect dead target. (bugreport:2513)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13808 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--src/map/skill.c11
2 files changed, 11 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index f52bb0fb3..154b279fd 100644
--- a/Changelog-Trunk.txt
+++ b/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
diff --git a/src/map/skill.c b/src/map/skill.c
index 6e387c533..fda276c5b 100644
--- a/src/map/skill.c
+++ b/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