BUG: this accessory refining
Emulador eAmod
function script F_RefineSystem {
set .@ore_itemid , getarg( 0,0 );
set .@level , getarg( 1,0 );
set .@min_refine , getarg( 2,0 );
set .@max_refine , getarg( 3,( MAX_REFINE-1 ) );
set .@zeny , getarg( 4,0 );
if ( .@ore_itemid && .@level < 5 ) {
for ( set .@i , EQI_HEAD_TOP; .@i <= EQI_ACC_R; set .@i,.@i + 1 ) {
set .@fail , 0;
set .@itemid , getequipid( .@i );
if ( .@itemid == -1 )
set .@fail,.@fail + 1;
set .@refine , getequiprefinerycnt( .@i );
set .@slot , getitemslots( .@itemid );
set .@itemid_type , getiteminfo( .@itemid,2 );
if ( .@itemid_type == IT_ARMOR && .@level > 0 )
set .@fail,.@fail + 1;
if ( .@itemid_type == IT_WEAPON && ( .@level == 0 || getequipweaponlv( .@i ) < .@level ) )
set .@fail,.@fail + 1;
if ( !.@fail )
if ( .@refine >= .@min_refine && .@refine <= .@max_refine )
set .@menu$ , .@menu$ + ( .@refine ? "+"+.@refine+" ":"" ) + getitemname( .@itemid )+" ["+.@slot+"]";
set .@menu$ , .@menu$ + ":";
}
set .@i , select( .@menu$ );
if ( Zeny >= .@zeny ) {
set Zeny , .@zeny;
delitem .@ore_itemid,1;
if ( rand( 100 ) < getequippercentrefinery( .@i ) ) {
successrefitem .@i;
specialeffect2 EF_REFINEOK;
}
else {
failedrefitem .@i;
specialeffect2 EF_REFINEFAIL;
}
}
close;
}
return;
}function script F_RefineSystem {
set .@ore_itemid , getarg( 0,0 );
set .@level , getarg( 1,0 );
set .@min_refine , getarg( 2,0 );
set .@max_refine , getarg( 3,( MAX_REFINE-1 ) );
set .@zeny , getarg( 4,0 );
if ( .@ore_itemid && .@level < 5 ) {
for ( set .@i , EQI_HEAD_TOP; .@i <= EQI_ACC_R; set .@i,.@i + 1 ) {
set .@fail , 0;
set .@itemid , getequipid( .@i );
if ( .@itemid == -1 )
set .@fail,.@fail + 1;
set .@refine , getequiprefinerycnt( .@i );
set .@slot , getitemslots( .@itemid );
set .@itemid_type , getiteminfo( .@itemid,2 );
if ( .@itemid_type == IT_ARMOR && .@level > 0 )
set .@fail,.@fail + 1;
if ( .@itemid_type == IT_WEAPON && ( .@level == 0 || getequipweaponlv( .@i ) < .@level ) )
set .@fail,.@fail + 1;
if ( !.@fail )
if ( .@refine >= .@min_refine && .@refine <= .@max_refine )
set .@menu$ , .@menu$ + ( .@refine ? "+"+.@refine+" ":"" ) + getitemname( .@itemid )+" ["+.@slot+"]";
set .@menu$ , .@menu$ + ":";
}
set .@i , select( .@menu$ );
if ( Zeny >= .@zeny ) {
set Zeny , .@zeny;
delitem .@ore_itemid,1;
if ( rand( 100 ) < getequippercentrefinery( .@i ) ) {
successrefitem .@i;
specialeffect2 EF_REFINEOK;
}
else {
failedrefitem .@i;
specialeffect2 EF_REFINEFAIL;
}
}
close;
}
return;
}