summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/guilds/logs.txt77
1 files changed, 47 insertions, 30 deletions
diff --git a/npc/guilds/logs.txt b/npc/guilds/logs.txt
index a41a377c5..15ec90c68 100644
--- a/npc/guilds/logs.txt
+++ b/npc/guilds/logs.txt
@@ -55,46 +55,29 @@ guilds,47,39,0 script Guild Logs NPC_NO_SPRITE,{
break;
case 3:
mes ".:: " + l("Alchemy Recipes") + " ::.";
- deletearray(@tmp_alcrep_id);
- deletearray(@tmp_alcrep_glv);
- deletearray(@tmp_alcrep_ggp);
- deletearray(@tmp_alcrep_txt$);
+ do {
+ clearRecipe();
- // Setup
- if (!showRecipe(CraftPiberriesInfusion, 0, 0, 0, 0, 0, true))
- calcRecipe(CraftPiberriesInfusion, 3, 10000, l("Piberries Infusion"));
- if (!showRecipe(CraftSacredManaPot, 0, 0, 0, 0, 0, true))
- calcRecipe(CraftSacredManaPot, 5, 100000, l("Sacred Mana Potion"));
- if (!showRecipe(CraftSacredLifePot, 0, 0, 0, 0, 0, true))
- calcRecipe(CraftSacredLifePot, 5, 100000, l("Sacred Life Potion"));
+ // Setup the Recipes
+ if (!showRecipe(CraftPiberriesInfusion, false))
+ calcRecipe(CraftPiberriesInfusion, 3, 10000, l("Piberries Infusion"));
+ if (!showRecipe(CraftSacredManaPot, false))
+ calcRecipe(CraftSacredManaPot, 5, 100000, l("Sacred Mana Potion"));
+ if (!showRecipe(CraftSacredLifePot, false))
+ calcRecipe(CraftSacredLifePot, 5, 100000, l("Sacred Life Potion"));
- // Select
- select (@tmp_alcrep_txt$+":Nothing");
- if (@tmp_alcrep_glv[@menu] == 0)
- break;
- if (getguildlvl(.@gid) < @tmp_alcrep_glv[@menu]) {
- mesc l("Insufficient Guild Level!"), 1;
- break;
- }
- if ($GUILD_BANK[.@gid] < @tmp_alcrep_ggp[@menu]) {
- mesc l("Insufficient Guild Money! (Guild has: @@ GP)", format_number($GUILD_BANK[.@gid])), 1;
- break;
- }
- // All fine, proceed
- $GUILD_BANK[.@gid] -= @tmp_alcrep_ggp[@menu];
- $RECIPES_ALCHEMY[getcharid(2)]=$RECIPES_ALCHEMY[getcharid(2)]|@tmp_alcrep_id[@menu];
- mesc l("Skill learnt!"), 2;
- next;
+ } while (!hudRecipe());
break;
}
} while (@menu != 1);
close;
-// showRecipe (Craft, Bonus, Req1No, Req1Id, Req2No, Req2Id, DisplayText)
+// showRecipe (Craft, Bonus, Req1No, Req1Id, Req2No, Req2Id)
+// Bonus must NOT be zero to display text
function showRecipe {
if ($RECIPES_ALCHEMY[getcharid(2)] & getarg(0)) {
- if (getarg(6,1)) {
+ if (getarg(1)) {
mesn l("Craft @@", getitemlink(getarg(1)));
mesc l("* @@ @@", getarg(2), getitemlink(getarg(3)));
mesc l("* @@ @@", getarg(4), getitemlink(getarg(5)));
@@ -114,6 +97,40 @@ function calcRecipe {
return;
}
+// clearRecipe ()
+function clearRecipe {
+ deletearray(@tmp_alcrep_id);
+ deletearray(@tmp_alcrep_glv);
+ deletearray(@tmp_alcrep_ggp);
+ deletearray(@tmp_alcrep_txt$);
+ return;
+}
+
+// hudRecipe ()
+function hudRecipe {
+ // Select
+ select (@tmp_alcrep_txt$+":Nothing");
+ if (@tmp_alcrep_glv[@menu] == 0)
+ return 1;
+
+ if (getguildlvl(.@gid) < @tmp_alcrep_glv[@menu]) {
+ mesc l("Insufficient Guild Level!"), 1;
+ next;
+ return 0;
+ }
+ if ($GUILD_BANK[.@gid] < @tmp_alcrep_ggp[@menu]) {
+ mesc l("Insufficient Guild Money! (Guild has: @@ GP)", format_number($GUILD_BANK[.@gid])), 1;
+ next;
+ return 0;
+ }
+ // All fine, proceed
+ $GUILD_BANK[.@gid] -= @tmp_alcrep_ggp[@menu];
+ $RECIPES_ALCHEMY[getcharid(2)]=$RECIPES_ALCHEMY[getcharid(2)]|@tmp_alcrep_id[@menu];
+ mesc l("Skill learnt!"), 2;
+ next;
+ return 0;
+}
+
OnInit:
.distance=2;
end;