From ca956bc188abf8753ac956ec13a28e2bc0edf33c Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 5 May 2019 01:42:48 -0300 Subject: You can now repair broken Warp Crystals. Return Potion takes 1 second to warp you. --- npc/024-15/lilanna.txt | 101 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 1 deletion(-) (limited to 'npc/024-15/lilanna.txt') 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; -- cgit v1.2.3-60-g2f50