diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-05-05 01:42:48 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-05-05 01:42:48 -0300 |
commit | ca956bc188abf8753ac956ec13a28e2bc0edf33c (patch) | |
tree | 922a5ed2ed8b69a0c855dc1382935453ff4af492 | |
parent | ffd4b2f879843aad88c7d5aa31ac1ee583ee3036 (diff) | |
download | serverdata-ca956bc188abf8753ac956ec13a28e2bc0edf33c.tar.gz serverdata-ca956bc188abf8753ac956ec13a28e2bc0edf33c.tar.bz2 serverdata-ca956bc188abf8753ac956ec13a28e2bc0edf33c.tar.xz serverdata-ca956bc188abf8753ac956ec13a28e2bc0edf33c.zip |
You can now repair broken Warp Crystals. Return Potion takes 1 second to warp you.
-rw-r--r-- | db/re/item_db.conf | 1 | ||||
-rw-r--r-- | npc/024-15/lilanna.txt | 101 |
2 files changed, 101 insertions, 1 deletions
diff --git a/db/re/item_db.conf b/db/re/item_db.conf index bcebed97f..a8fd6c86f 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -2702,6 +2702,7 @@ item_db: ( UseEffect: 64 Script: <" // We would want warp to be delayed a bit but meh + sleep2(1000); warp "Save", 0, 0; "> }, 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; |