viewing paste faw enchant script | Text

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
// http://irowiki.org/wiki/Fallen_Angel_Wing_Enchants
 
// display item + link description
function        script  F_getitemname   {
        .@itemid = getarg(0);
        .@name$ = getitemname( .@itemid );
        if( .@name$ == "null" )
                return "^FF0000[Unknown-"+.@itemid+"]^000000";
        .@type = getiteminfo( .@itemid,2 );
        if( .@type == IT_ARMOR || .@type == IT_WEAPON ){
                .@name$ = .@name$ +" ["+getitemslots( .@itemid )+"]";
               
        }
        return "<ITEMLINK>"+.@name$+"<INFO>"+.@itemid+"</INFO></ITEMLINK>";
}
prontera,162,290,5      script  Fallen Wing Enchantress 4_F_VALKYRIE2,{
disable_items;
mes "I can enchant "+getitemname( .faw_itemid );
mes " ";
if( getequipid( EQI_GARMENT ) == .faw_itemid ){
 
        .@refine = getequiprefinerycnt( EQI_GARMENT );
        for( .@i = 0; .@i < 4; .@i++ ) {
                .@card[.@i] = getequipcardid( EQI_GARMENT,.@i );
                if ( .@i && .@card[.@i] )
                        .@enchant_count++;
        }
               
        switch( select(
                ( .@enchant_count < 3 )? "Enchant Item":"",
                ( .@enchant_count )? "Reset Enchant":""
        ) ){
                case 1:
                        .@zeny = ( .enchant_reset_Zeny / 2 );
                        mes "You need "+F_InsertComma( .@zeny )+" Zeny.";
                        if( Zeny < .@zeny ) close;
                       
                        mes "Pick a slot to enchant.";
                        mes "You may enchant more slot when you have higher refine.";
                        mes "^777777( min. refine = 6 )^000000";
                        .@slot = select(
                                ( .@card[1] || .@refine < 6 )?"":"Enchant Slot 1",
                                ( !.@card[1] || .@card[2] || .@refine < 7 )?"":"Enchant Slot 2",
                                ( !.@card[1] || !.@card[2] || .@card[3] || .@refine < 9 )?"":"Enchant Slot 3",
                                "Cancel"
                        );
                        if( .@slot < 4 ){
                                mes "Pick Enchant Type";
                                .@type = select( .enchant_type_menu$ ) - 1;
                                .@size = .enchant_list_size[.@type];
                                if( .@size ){
                                        Zeny -= .@zeny;
                                        copyarray .@enchant_list[0],getd( ".enchant_list_"+( .@type+1 )+"[0]" ),.@size;
                                        if( .@refine >= 9 && .@slot == 3 ){
                                                .@enchant_list[.@size] = .special_enchant[.@type];
                                                .@size++;
                                        }
                                        delequip EQI_GARMENT;
                                        if( rand( 100 ) < .success_rate ){
                                                setd( ".@card["+.@slot+"]" ),.@enchant_list[ rand( .@size ) ];
                                                mes "Done, success to enchant the item.";
                                                getitem2 .faw_itemid,1,1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
                                                equip .faw_itemid;
                                                specialeffect2 EF_REFINEOK;
                                        }else{
                                                mes "Too bad, failed to enchant the item.";
                                        }
                                }
                        }
                        break;
                case 2:
                        mes "You need "+.enchant_reset_Zeny+" Zeny.";
                        if( Zeny >= .enchant_reset_Zeny ){
                                if( select( "Confirm to reset all enchant ??","Cancel" ) == 1 ){
                                        if( !.@card[1] && !.@card[2] && !.@card[3] ){
                                                mes "Your item didnt have any enchanted item.";
                                        }else{
                                                Zeny -= .enchant_reset_Zeny;
                                                delequip EQI_GARMENT;
                                                getitem2 .faw_itemid,1,1,.@refine,0,.@card[0],0,0,0;
                                                equip .faw_itemid;
                                                mes "Done removed all enchanted item.";
                                        }
                                }
                        }
                default: break;
        }
       
}else{
        mes "Make sure you equiped with ";
        mes ""+F_getitemname( .faw_itemid );
}
close;
 
 
OnInit:
// FAW item id
.faw_itemid = 2589;
 
// enchant success rate
.success_rate = 100;
 
// enchant reset cost
.enchant_reset_Zeny = 1000000;
 
// enchant type category
setarray .enchant_type$,"Fighting","Magic","Archer","Critical","MaxHP","MaxSP","ASPD","STR","AGI","DEX","VIT","INT","LUK";
 
// enchant list ( Fighting Spirit )
setarray .enchant_list_1,4809,4808,4820;
// enchant list ( Magic )
setarray .enchant_list_2,4812,4827,4826;
// enchant list ( Archer )
setarray .enchant_list_3,4832,4833,4834;
// enchant list ( Critical )
setarray .enchant_list_4,4863,4864,4865;
// enchant list ( Max HP )
setarray .enchant_list_5,4861,4862,4867;
// enchant list ( Max SP )
setarray .enchant_list_6,4870,4800,4871;
// enchant list ( ASPD )
setarray .enchant_list_7,4869,4872,4873;
// enchant list ( STR )
setarray .enchant_list_8,4702,4703,4705;
// enchant list ( AGI )
setarray .enchant_list_9,4732,4733,4735;
// enchant list ( DEX )
setarray .enchant_list_10,4722,4723,4725;
// enchant list ( VIT )
setarray .enchant_list_11,4742,4743,4745;
// enchant list ( INT )
setarray .enchant_list_12,4712,4713,4715;
// enchant list ( LUK )
setarray .enchant_list_13,4752,4753,4755;
 
// extra 1 special enchant for 3rd slot if refine above 9 ( follow by category sequences )
setarray .special_enchant,4821,4828,4835,4866,4868,4801,4807,4853,4854,4857,4855,4856,4858;
 
 
.enchant_type_size = getarraysize( .enchant_type$ );
for( .@i = 0; .@i < .enchant_type_size; .@i++ ){
        .enchant_list_size[.@i] = getarraysize( getd( ".enchant_list_"+( .@i+1 ) ) );
        if( !.enchant_list_size[.@i] ){
                .enchant_type$[.@i] = "";
        }
        else{
                .enchant_type_menu$ = .enchant_type_menu$ + .enchant_type$[.@i];
        }
        .enchant_type_menu$ = .enchant_type_menu$ + ":";
}
end;
}
Viewed 985 times, submitted by unknown.