summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/024-15/lilanna.txt101
1 files changed, 100 insertions, 1 deletions
diff --git a/npc/024-15/lilanna.txt b/npc/024-15/lilanna.txt
index b857f7232..7e75bde0f 100644
--- a/npc/024-15/lilanna.txt
+++ b/npc/024-15/lilanna.txt
@@ -5,6 +5,8 @@
// Anise INC. Representative
024-15,23,24,0 script Lilanna NPC_ELF_F,{
+ function FixCrystal;
+ function FixSelect;
mesn;
mesq l("Hello there, I am Lilanna and you are in ANISE INC. headquarters.");
next;
@@ -19,7 +21,104 @@ L_Loop:
l("How to use best Warp Technology?"),
rif(countitem(BrokenWarpCrystal), l("My warp crystal broke!"));
mes "";
- close;
+ switch (@menu) {
+ case 1:
+ close;
+ case 2:
+ mesn;
+ mesq l("ANISE Incorporated is the biggest company in warp technology!");
+ next;
+ mesn;
+ mesq l("From magical gates to ancient time-space technology - we know it all!");
+ next;
+ mesn;
+ mesq l("Do you know the warp crystals? We did them. Did you saw the great warp gate at the town entrance? It was us!");
+ next;
+ mesn;
+ mesq l("If you ever need to get quickly from one place to the other, count on us!");
+ next;
+ break;
+ case 3:
+ mesn;
+ mesq l("All warp technology, be it crystal-based, potion-based, or mechanic-based, relies on timespace distortions.");
+ next;
+ mesn;
+ mesq l("If you distort time-space too much, you might end up outside of it, meeting a quick, permanent, and unrecoverable death.");
+ next;
+ mesn;
+ mesq l("Different warp systems overlaps each other, so the cooldown is carried over regardless of the technology you use.");
+ mesc l("Potentially more destructive warp systems will have much longer cooldowns because they cause bigger holes in timespace.");
+ next;
+ mesn;
+ mes l("How to better preserve your dispostives:");
+ mes l("Mechanically based technology (eg. the Gates or Time Flasks) will never suffer damage from operation but are more costly.");
+ mes l("Crystal based technology can break if used too often. Try taking longer between each warp to raise their lifetime.");
+ mes l("Potion based technology will vanish upon use and usually don't interfer with other technologies. Usually.");
+ next;
+ mesn;
+ mesq l("Knowing when to warp is the secret to success!");
+ next;
+ break;
+ case 4:
+ FixSelect();
+ break;
+ }
+ goto L_Loop;
+
+// FixCrystal ( Crystal ID, GP Tax )
+function FixCrystal {
+ .@cy=getarg(0);
+ .@gp=getarg(1);
+ if (Zeny < .@gp) {
+ mesc l("NOT ENOUGH MONEY"), 1;
+ mesc l("@@/@@ GP", format_number(Zeny), format_number(.@gp));
+ next;
+ return;
+ }
+ inventoryplace .@cy, 1;
+ delitem BrokenWarpCrystal, 1;
+ Zeny-=.@gp;
+ getitem .@cy, 1;
+ mesc l("Operation successful."), 3;
+ next;
+ mesn;
+ mesq l("Here you go, a brand new crystal. I'll fix the old one on the meanwhile. Take care of it.");
+ next;
+ return;
+}
+
+//
+function FixSelect {
+ do
+ {
+ mesc l("Fixing Crystals have a price. You can only charge crystals to places you've already been.");
+ mesc l("These are saved by walking in warp portals or touching Soul Menhirs.");
+ mes l("You have: @@ Broken crystals", countitem(BrokenWarpCrystal));
+ select
+ l("Don't fix."),
+ rif(true, l("Candor - 2,500 GP")),
+ rif(TELEPORTERS & TP_TULIM, l("Tulimshar - 7,500 GP")),
+ rif(TELEPORTERS & TP_HURNS, l("Hurnscald - 7,500 GP")),
+ rif(TELEPORTERS & TP_NIVAL, l("Nivalis - 7,500 GP")),
+ rif(TELEPORTERS & TP_FROST|TP_HALIN, l("Land Of Fire - 12,000 GP")),
+ rif(TELEPORTERS & TP_HALIN, l("Halinarzo - 20,000 GP")),
+ rif(TELEPORTERS & TP_FROST, l("Frostia - 30,000 GP"));
+ //rif(TELEPORTERS & TP_LILIT, l("Lilit - 50,000 GP"));
+ mes "";
+ switch (@menu) {
+ case 1: return;
+ case 2: FixCrystal(CandorWarpCrystal, 2500); break;
+ case 3: FixCrystal(TulimWarpCrystal, 7500); break;
+ case 4: FixCrystal(HurnsWarpCrystal, 7500); break;
+ case 5: FixCrystal(NivalWarpCrystal, 7500); break;
+ case 6: FixCrystal(LoFWarpCrystal, 12000); break;
+ case 7: FixCrystal(HalinWarpCrystal, 20000); break;
+ case 8: FixCrystal(FrostiaWarpCrystal, 30000); break;
+ //case 9: FixCrystal(LilitWarpCrystal, 50000); break;
+ }
+ } while (countitem(BrokenWarpCrystal));
+ return;
+}
OnTimer1000:
domovestep;