diff --git a/npc/merchants/advanced_refiner.txt b/npc/merchants/advanced_refiner.txt index 63f01c8f6e..1d4c9cc946 100644 --- a/npc/merchants/advanced_refiner.txt +++ b/npc/merchants/advanced_refiner.txt @@ -58,6 +58,10 @@ payon,157,146,6 script Suhnbi#cash 85,{ .@price = getequiprefinecost(.@part, REFINE_COST_ENRICHED, REFINE_ZENY_COST); .@material = getequiprefinecost(.@part, REFINE_COST_ENRICHED, REFINE_MATERIAL_ID); + // Make sure you have the neccessary items and Zeny to refine your items + // Determines chance of failure and verifies that you want to continue. + callsub S_RefineValidate,getequipweaponlv(.@part),.@material,.@price,.@part; + mes "[Suhnbi]"; mes "Clang! Clang! Clang!"; if (getequippercentrefinery(.@part, true) > rand(100)) { diff --git a/npc/merchants/refine.txt b/npc/merchants/refine.txt index 176b8aced7..fab6e4db3a 100644 --- a/npc/merchants/refine.txt +++ b/npc/merchants/refine.txt @@ -612,6 +612,14 @@ function script refinemain { .@price = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_ZENY_COST); .@material = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_MATERIAL_ID); + switch (getequipweaponlv(.@part)) { + case 1: .@safe = 7; break; + case 2: .@safe = 6; break; + case 3: .@safe = 5; break; + case 4: + default: .@safe = 4; break; + } + // If the VIP system is enabled, the prices for non-VIP players are considerably higher. if (VIP_SCRIPT && !vip_status(VIP_STATUS_ACTIVE)) { switch(getequipweaponlv(.@part)) {