summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c11
1 files changed, 9 insertions, 2 deletions
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