summaryrefslogtreecommitdiff
path: root/npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt')
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt339
1 files changed, 0 insertions, 339 deletions
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt
deleted file mode 100644
index c8a949839..000000000
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_refine.txt
+++ /dev/null
@@ -1,339 +0,0 @@
-//===== rAthena Script =======================================
-//= Kafra Express - Refining Module
-//===== By: ==================================================
-//= Skotlex
-//===== Current Version: =====================================
-//= 2.8
-//===== Compatible With: =====================================
-//= rAthena SVN R3424+
-//===== Description: =========================================
-//= Part of the Kafra Express Script Package.
-//= Does item forging, ore purifying and repairing.
-//= Can also sell phracon/emveretarcon
-//===== Additional Comments: =================================
-//= See config.txt for configuration.
-//============================================================
-
-- script keInit_refine -1,{
-OnInit: //Load Config
- donpcevent "keConfig::OnLoadRefine";
- end;
-}
-
-function script F_keRefine {
-
-function SF_refine;
-function SF_repair;
-function SF_purify;
-function SF_sellOres;
-
- do {
- set @kmenu, select(
- "- Return",
- "- Refine Equipment",
- "- Repair Equipment",
- "- Buy Ores",
- "- Purify Ores"
- );
- switch(@kmenu) {
- case 2: //Refine
- SF_refine();
- break;
- case 3: //Repair
- SF_repair();
- break;
- case 4: //Buy Ore
- SF_sellOres();
- break;
- case 5: //Purify Ore
- SF_purify();
- break;
- }
- } while (@kmenu > 1);
- return;
-
-//Subfunction SF_refine, presents the refining menu.
-function SF_refine {
- do {
- set @part, select(
- "- Cancel upgrading",
- "- "+getequipname(1),
- "- "+getequipname(2),
- "- "+getequipname(3),
- "- "+getequipname(4),
- "- "+getequipname(5),
- "- "+getequipname(6),
- "- "+getequipname(7),
- "- "+getequipname(8),
- "- "+getequipname(9),
- "- "+getequipname(10)
- );
- set @part, @part-1;
- if (@part == 0)
- break;
- if (getequipisequiped(@part) == 0) {
- callfunc "F_keIntro", e_swt, "There is nothing to refine there...";
- } else
- if(getequipisenableref(@part) == 0 && $@kerf_refineAll == 0) {
- callfunc "F_keIntro", -1, "Sorry, this item cannot be refined.";
- } else
- if(getequiprefinerycnt(@part) >= $@kerf_maxLv) {
- callfunc "F_keIntro", -1, "This item cannot be refined further.";
- break;
- } else {
- switch (getequipweaponlv(@part))
- {
- case 0: //Armor
- set @mat,985;
- set @cost,$@kerf_armorCost;
- break;
- case 1:
- set @mat,1010;
- set @cost,$@kerf_weaponLv1Cost;
- break;
- case 2:
- set @mat,1011;
- set @cost,$@kerf_weaponLv2Cost;
- break;
- case 3:
- set @mat,984;
- set @cost,$@kerf_weaponLv3Cost;
- break;
- default:
- set @mat,984;
- set @cost,$@kerf_weaponLv4Cost;
- break;
- }
- set @cost, callfunc("F_keCost",@cost,$@kerf_discount);
- do {
- if ($@kerf_safe==0 && getequippercentrefinery(@part) < 100) {
- if ($@kerf_showChance) {
- if (select(
- "- Return ("+(100-getequippercentrefinery(@part))+"% chance refine will fail)",
- "- Refine (Need "+getitemname(@mat)+" and "+@cost+"z)") != 2)
- break;
- } else {
- if (select(
- "- Return (Upgrade not safe, item might break!)",
- "- Refine (Need "+getitemname(@mat)+" and "+@cost+"z)") != 2)
- break;
- }
- } else {
- if (select(
- "- Refine (Need "+getitemname(@mat)+" and "+@cost+"z)",
- "- Cancel") != 1)
- break;
- }
- if (getequiprefinerycnt(@part) >= $@kerf_maxLv) {
- callfunc "F_keIntro", e_ok, "This item has reached it's maximum level.";
- break;
- }
- if (countitem(@mat) < 1) {
- callfunc "F_keIntro", e_ag, "Sorry, you don't have the materials I need.";
- break;
- }
- if (!(callfunc("F_keCharge",@cost,$@kerf_discount,1))) {
- callfunc "F_keIntro", e_ag, "Sorry, you don't have enough zeny.";
- break;
- }
- delitem @mat,1;
- if ($@kerf_safe || getequippercentrefinery(@part)>rand(100)) {
- successrefitem @part;
- emotion e_rock;
- } else {
- failedrefitem @part;
- callfunc "F_keIntro", e_swt, "...sorry.";
- break;
- }
- } while (1);
- }
- } while (@part > 0);
- return;
-}
-
-//Subfunction: SF_repair()
-function SF_repair {
- set @cost,callfunc("F_keCost",$@kerf_repairCost,$@kerf_repairDiscount);
- do {
- set @broken1,getbrokenid(1);
- if(@broken1==NULL) {
- callfunc "F_keIntro", -1, "You don't need anything repaired for now.";
- return;
- }
- set @broken2,getbrokenid(2);
- set @broken3,getbrokenid(3);
- set @broken4,getbrokenid(4);
- set @broken5,getbrokenid(5);
- set @broken6,getbrokenid(6);
- set @broken7,getbrokenid(7);
- set @broken8,getbrokenid(8);
- set @broken9,getbrokenid(9);
- set @broken10,getbrokenid(10);
-
- if ($@kerf_repairSteel)
- set @str$,"- Cancel (Repairing costs "+@cost+"z and 1 "+getitemname(999);
- else
- set @str$,"- Cancel (Repairing costs "+@cost+"z)";
-
- set @idRepair, select(
- @str$,
- getitemname(@broken1),
- getitemname(@broken2),
- getitemname(@broken3),
- getitemname(@broken4),
- getitemname(@broken5),
- getitemname(@broken6),
- getitemname(@broken7),
- getitemname(@broken8),
- getitemname(@broken9),
- getitemname(@broken10)
- );
- set @idRepair, @idRepair-1;
- if (@idRepair == 0) break;
- if ($@kerf_repairSteel && countitem(999) < 1) {
- callfunc "F_keIntro", e_ag, "Sorry, you don't have the materials I need.";
- return;
- }
- if (!(callfunc("F_keCharge", $@kerf_repairCost, $@kerf_repairDiscount,1))) {
- callfunc "F_keIntro", e_ag, "Sorry, you don't have enough zeny.";
- return;
- }
- if ($@kerf_repairSteel) delitem 999,1;
- repair(@idRepair);
- emotion e_lv2;
- } while (@idRepair > 0);
-}
-
-//Subfunction: SF_purify()
-function SF_purify {
- if ($@kerf_purifyAll) {
- set @submenu, select (
- "- Return",
- "- Purify "+getitemname(984)+" (need 5 "+getitemname(756)+")",
- "- Purify "+getitemname(985)+" (need 5 "+getitemname(757)+")",
- "- Purify "+getitemname(998)+" (need 2 "+getitemname(1002)+")",
- "- Temper "+getitemname(999)+" (need 5 "+getitemname(998)+", 1 "+getitemname(1003)+")",
- "- Temper "+getitemname(994)+" (need 10 "+getitemname(990)+")",
- "- Temper "+getitemname(995)+" (need 10 "+getitemname(991)+")",
- "- Temper "+getitemname(996)+" (need 10 "+getitemname(992)+")",
- "- Temper "+getitemname(997)+" (need 10 "+getitemname(993)+")",
- "- Temper "+getitemname(1000)+" (need 10 "+getitemname(1001)+")"
- );
- } else {
- set @submenu, select(
- "- Return",
- "- Purify "+getitemname(984)+" (need 5 "+getitemname(756)+")",
- "- Purify "+getitemname(985)+" (need 5 "+getitemname(757)+")"
- );
- }
- switch (@submenu) {
- case 2: //Oridecon
- set @item, 984;
- set @rough, 756;
- set @qty, 5;
- break;
- case 3: //Elunium
- set @item, 985;
- set @rough, 757;
- set @qty, 5;
- break;
- case 4: //Iron
- set @item, 998;
- set @rough, 1002;
- set @qty, 2;
- break;
- case 5: //Steel
- set @item,999;
- set @rough,998;
- set @qty,5;
- set @rough2,1003;
- set @qty2,1;
-
- set @count,countitem(@rough1);
- set @count2,countitem(@rough2);
- if (@count < @qty || @count2 < @qty2) {
- callfunc "F_keIntro", e_ag, "Sorry, you don't have the materials I need.";
- return;
- }
- set @count, @count/@qty;
- set @count2, @count2/@qty2;
- if (@count2 < @count)
- set @count,@count2;
- delitem @rough2,@qty2*@count;
- break;
- case 6: //Fire
- set @item, 994;
- set @rough, 990;
- set @qty, 10;
- break;
- case 7: //Ice
- set @item, 995;
- set @rough, 991;
- set @qty, 10;
- break;
- case 8: //Wind
- set @item, 996;
- set @rough, 992;
- set @qty, 10;
- break;
- case 9: //Earth
- set @item, 997;
- set @rough, 993;
- set @qty, 10;
- break;
- case 10: //Star
- set @item, 1000;
- set @rough, 1001;
- set @qty, 10;
- break;
- default:
- return;
- }
- set @count,countitem(@rough);
- if (@count < @qty) {
- callfunc "F_keIntro", e_ag, "Sorry, you don't have the materials I need.";
- return;
- }
- set @count, @count/@qty;
- delitem @rough,@qty*@count;
- getitem @item,@count;
- emotion e_paper;
-}
-
-//Subfunction: SF_sellOres()
-function SF_sellOres {
- do {
- set @submenu, select(
- "- Return",
- "- Buy "+getitemname(1010)+" (200z each)",
- "- Buy "+getitemname(1011)+" (1000z each)"
- );
- switch (@submenu) {
- case 2: //Phracon
- set @mat, 1010;
- set @cost, 200;
- break;
- case 3: //Emveratarcon
- set @mat, 1011;
- set @cost, 1000;
- break;
- default:
- return;
- }
- input @qty;
- set @cost,@cost*@qty;
- if (@qty < 1) {
- callfunc "F_keIntro", e_pif, "That is NOT a valid quantity...";
- } else if (@cost > Zeny) {
- callfunc "F_keIntro", e_ag, "Sorry, you don't have enough zeny.";
- } else if (@cost < 0) {
- callfunc "F_keIntro", e_swt2, "Sorry, that's too much! Try buying less...";
- } else {
- set Zeny,Zeny-@cost;
- getitem @mat,@qty;
- emotion e_paper;
- }
- } while (@submenu > 1);
-}
-
-}