summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-05-05 01:42:48 -0300
committerJesusaves <cpntb1@ymail.com>2019-05-05 01:42:48 -0300
commitca956bc188abf8753ac956ec13a28e2bc0edf33c (patch)
tree922a5ed2ed8b69a0c855dc1382935453ff4af492
parentffd4b2f879843aad88c7d5aa31ac1ee583ee3036 (diff)
downloadserverdata-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.conf1
-rw-r--r--npc/024-15/lilanna.txt101
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;