|
@@ -2697,6 +2697,13 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
|
|
|
--------------------------------------------------------------------------*/
|
|
|
int skill_break_equip(struct block_list *src, struct block_list *bl, unsigned short where, int rate, int flag)
|
|
|
{
|
|
|
+ status_change *src_sc = status_get_sc(src);
|
|
|
+
|
|
|
+ // Grant player skills/items the ability to "break" non-player equipment.
|
|
|
+ // WS_MELTDOWN is exempt from this check.
|
|
|
+ if (!battle_config.break_mob_equip && bl->type != BL_PC && !(src_sc && src_sc->data[SC_MELTDOWN]))
|
|
|
+ return 0;
|
|
|
+
|
|
|
const int where_list[6] = { EQP_WEAPON, EQP_ARMOR, EQP_SHIELD, EQP_HELM, EQP_ACC, EQP_SHADOW_GEAR };
|
|
|
const enum sc_type scatk[6] = { SC_STRIPWEAPON, SC_STRIPARMOR, SC_STRIPSHIELD, SC_STRIPHELM, SC__STRIPACCESSORY, SC_SHADOW_STRIP };
|
|
|
const enum sc_type scdef[6] = { SC_CP_WEAPON, SC_CP_ARMOR, SC_CP_SHIELD, SC_CP_HELM, SC_NONE, SC_PROTECTSHADOWEQUIP };
|