diff options
author | Jesusaves <cpntb1@ymail.com> | 2021-04-09 11:00:49 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2021-04-09 11:00:49 -0300 |
commit | 8a4bf716002a017de77fe7df301ef8e4aaf00a2e (patch) | |
tree | 4947d0b015baad639fa07133369e9a09c8a468bc /npc/001-2-2 | |
download | serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.gz serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.bz2 serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.xz serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.zip |
Initial commit
Diffstat (limited to 'npc/001-2-2')
-rw-r--r-- | npc/001-2-2/_import.txt | 5 | ||||
-rw-r--r-- | npc/001-2-2/_warps.txt | 4 | ||||
-rw-r--r-- | npc/001-2-2/mapflags.txt | 1 | ||||
-rw-r--r-- | npc/001-2-2/moon.txt | 215 |
4 files changed, 225 insertions, 0 deletions
diff --git a/npc/001-2-2/_import.txt b/npc/001-2-2/_import.txt new file mode 100644 index 00000000..7d11248e --- /dev/null +++ b/npc/001-2-2/_import.txt @@ -0,0 +1,5 @@ +// Map 001-2-2: Moon's House +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/001-2-2/_warps.txt", +"npc/001-2-2/mapflags.txt", +"npc/001-2-2/moon.txt", diff --git a/npc/001-2-2/_warps.txt b/npc/001-2-2/_warps.txt new file mode 100644 index 00000000..f28c931d --- /dev/null +++ b/npc/001-2-2/_warps.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 001-2-2: Moon's House warps +001-2-2,38,39,0 warp #001-2-2_38_39 0,0,001-1,70,78 +001-2-2,27,29,0 warp #001-2-2_27_29 2,0,001-2-3,27,30 diff --git a/npc/001-2-2/mapflags.txt b/npc/001-2-2/mapflags.txt new file mode 100644 index 00000000..ff5a8f27 --- /dev/null +++ b/npc/001-2-2/mapflags.txt @@ -0,0 +1 @@ +001-2-2 mapflag town diff --git a/npc/001-2-2/moon.txt b/npc/001-2-2/moon.txt new file mode 100644 index 00000000..081b66ae --- /dev/null +++ b/npc/001-2-2/moon.txt @@ -0,0 +1,215 @@ +// Evol scripts. +// Authors: +// Reid +// Travolta +// Description: +// Moon, main NPC for the urchin quest. +// Variables: +// ArtisQuests_Urchin - quest var +// Quest stages: +// 0 - not started +// 1 - started, searching for Croc Claws +// 2 - quest finished + +001-2-2,33,32,0 script Moon#001-2-2 NPC_ELVEN_FEMALE,3,3,{ + + function SayRandomGreeting { + .@q = getq(ArtisQuests_Urchin); + .@tick = gettimetick(1); + if (.@tick > @ArtisQuests_Urchin_MoonMsgTick + 12) + { + setarray .messages$[0], l("Ouch!"), l("It hurts so bad!"), + l("Help me!"), l("Hurry up!"), + l("I can't wait all day!"), + l("I need more Croc Claws."), + l("What a relief."), + l("No more pain, thanks to you."), + l("I can walk again!"); + setarray .msg_first[0], 0, 3, 6; + setarray .msg_last[0], 2, 5, 8; + .@r = rand(.msg_first[.@q],.msg_last[.@q]); + .@msg$ = .messages$[.@r]; + npctalk3 .@msg$; + @ArtisQuests_Urchin_MoonMsgTick = .@tick; + } + } + + function CheckCrowClaw { + if (getq(ArtisQuests_Urchin) != 1) + return -1; + + mes ""; + mesn; + if (countitem("CrocClaw") > 0) + { + delitem "CrocClaw", 1; + if (rand(8) == 7) // the lucky 7 + { + mesq l("Yay, it worked! I removed a spike."); + ArtisQuests_Urchin_ULeft--; + next; + if (!ArtisQuests_Urchin_ULeft) + { + mesq l("It seems I got them all!"); + next; + mesq l("Here is your reward."); + setq ArtisQuests_Urchin, 2; + quest_xp(.maxLevel, 1500); + quest_jxp(.maxLevel, 100); + close2; + return 1; + } + else + { + mesq l("But I still have some spikes left in my foot."); + next; + return 0; + } + } + else + { + mesq l("This one is useless! Give me another @@.", getitemlink("CrocClaw")); + next; + return 0; + } + } + else + { + mesq l("You don't have any @@, are you mocking me?", getitemlink("CrocClaw")); + close2; + return 1; + } + } + + stopnpctimer; + + .@q = getq(ArtisQuests_Urchin); + if (.@q < 2) + { + mesn "Narrator"; + mesc(l("You see a young elven girl, with a strong sense of pain in her face."), 9); + next; + } + else + { + mesn; + mesq l("I appreciate your help, @@.", strcharinfo(0)); + goto L_Close; + } + if (.@q == 1) goto L_QuestStarted; + +L_Story: + select + l("Hi, can I help you somehow?"); + mes ""; + mesn; + mesq l("That would be great!"); + next; + mesq l("Hi, my name is Moon. This morning I went for a walk on the beach."); + next; + mesq l("Walking barefoot, feeling the hot sand with my feet, daydreaming... I like such things, you know."); + next; + mesq l("I didn't notice that a Pikpik was in my way, and when I stepped on it, my foot was full of spikes."); + next; + mesq l("Luckily the beach is nearby, and somehow I made my way home."); + next; + mesq l("Please bring me @@s so I can pull out these spikes from my foot.", getitemlink("CrocClaw")); + next; + + switch (select(l("Stay here, I will be back as soon as I have some."), + l("Maybe next time."))) + { + case 1: + setq ArtisQuests_Urchin, 1; + mes ""; + mesn; + mesq l("It really hurts, please hurry!"); + + ArtisQuests_Urchin_ULeft = rand(3,5); + + next; + goto L_Where; + break; + case 2: + mes ""; + mesn "Narrator"; + mesc(l("The girl looks desperate."),9); + } + goto L_Close; + +L_QuestStarted: + mesn; + mesq l("Do you have @@s for me?", getitemlink("CrocClaw")); + next; + + select + l("Check out this one."), + l("I should put more effort into this."), + l("Where can I find some Croc Claws?"); + + switch (@menu) + { + case 1: + .@MustRepeat = CheckCrowClaw; + if (!.@MustRepeat) + goto L_CheckLoop; + goto L_Close; + case 2: + mes ""; + mesn; + mesq l("It really hurts, please hurry!"); + goto L_Close; + case 3: + mes ""; + mesn; + goto L_Where; + } + +L_CheckLoop: + while (!.@MustRepeat) + { + switch (select(l("Here is another one."), + l("I must leave to get more."))) + { + case 1: + .@MustRepeat = CheckCrowClaw; + break; + case 2: + goto L_Close; + } + } + goto L_Close; + +L_Where: + mesq l("You can find some Crocs on the beach, you could look up at the one after the gate, on top of this city."); + + goto L_Close; + +L_Close: + initnpctimer; + close; + +OnTimer1000: + domovestep; + +OnTouch: + SayRandomGreeting; + end; + +OnHour00: + if (playerattached()) + @ArtisQuests_Urchin_MoonMsgTick = 0; + end; + +OnInit: + .distance = 3; + .maxLevel = getmonsterinfo(Croc, MOB_LV) + 10; + initpath "move", 41, 30, + "dir", DOWN, 0, + "wait", 2, 0, + "move", 33, 32, + "dir", DOWN, 0, + "wait", 10, 0; + initialmove; + initnpctimer; +} |