ThyroDree
New member
Can someone help me how can i lower the chance of per Strip?
here is the patch
here is the patch
Index: skill.c
===================================================================
--- skill.c (revision 17132)
+++ skill.c (working copy)
@@ -6127,6 +6127,7 @@
case SC_STRIPACCESSARY: {
unsigned short location = 0;
int d = 0;
+ unsigned char ii = 0;
//Rate in percent
if ( skill_id == ST_FULLSTRIP ) {
@@ -6139,6 +6140,8 @@
if (i < 5) i = 5; //Minimum rate 5%
+ ii = i;
+
//Duration in ms
if( skill_id == GC_WEAPONCRUSH){
d = skill_get_time(skill_id,skill_lv);
@@ -6184,6 +6187,42 @@
if( (i = skill_strip_equip(bl, location, i, skill_lv, d)) || (skill_id != ST_FULLSTRIP && skill_id != GC_WEAPONCRUSH ) )
clif_skill_nodamage(src,bl,skill_id,skill_lv,i);
+ if( !i && ( skill_id == RG_STRIPWEAPON || skill_id == RG_STRIPSHIELD || skill_id == RG_STRIPARMOR || skill_id == RG_STRIPHELM ) )
+ {
+ int idx = sd?pc_search_inventory (sd, 7139):-1;
+ if( idx >= 0 )
+ {
+ struct status_change *sc_ = status_get_sc(src);
+ if( sc_->data[sC_SPIRIT] )
+ {
+ if( sc_->data[sC_SPIRIT]->val2 == SL_ROGUE )
+ {
+ if (rnd()%100 >= ii)
+ {
+ enum sc_type sc_atk;
+ if( skill_id == RG_STRIPWEAPON )
+ sc_atk = SC_STRIPWEAPON;
+ else if( skill_id == RG_STRIPSHIELD )
+ sc_atk = SC_STRIPSHIELD;
+ else if( skill_id == RG_STRIPARMOR )
+ sc_atk = SC_STRIPARMOR;
+ else if( skill_id == RG_STRIPHELM )
+ sc_atk = SC_STRIPHELM;
+ else
+ sc_atk = SC_NONE;
+ if( sc_atk != SC_NONE )
+ {
+ sc_start(bl, sc_atk, 100, skill_lv, d);
+ clif_skill_nodamage(src,bl,skill_id,skill_lv,i);
+ i = 1;
+ }
+ }
+ pc_delitem(sd, idx, 1, 0, 1, LOG_TYPE_NONE);
+ }
+ }
+ }
+ }
+
//Nothing stripped.
if( sd && !i )
clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);