summaryrefslogtreecommitdiff
path: root/npc/001-2-33
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-04-09 11:00:49 -0300
committerJesusaves <cpntb1@ymail.com>2021-04-09 11:00:49 -0300
commit8a4bf716002a017de77fe7df301ef8e4aaf00a2e (patch)
tree4947d0b015baad639fa07133369e9a09c8a468bc /npc/001-2-33
downloadserverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.gz
serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.bz2
serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.xz
serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.zip
Initial commit
Diffstat (limited to 'npc/001-2-33')
-rw-r--r--npc/001-2-33/_import.txt6
-rw-r--r--npc/001-2-33/_warps.txt53
-rw-r--r--npc/001-2-33/lozerk.txt195
-rw-r--r--npc/001-2-33/mapflags.txt3
-rw-r--r--npc/001-2-33/triggers.txt102
5 files changed, 359 insertions, 0 deletions
diff --git a/npc/001-2-33/_import.txt b/npc/001-2-33/_import.txt
new file mode 100644
index 00000000..7dadf6f8
--- /dev/null
+++ b/npc/001-2-33/_import.txt
@@ -0,0 +1,6 @@
+// Map 001-2-33: Legion of Aemil Headquarters
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-2-33/_warps.txt",
+"npc/001-2-33/lozerk.txt",
+"npc/001-2-33/mapflags.txt",
+"npc/001-2-33/triggers.txt",
diff --git a/npc/001-2-33/_warps.txt b/npc/001-2-33/_warps.txt
new file mode 100644
index 00000000..73adf059
--- /dev/null
+++ b/npc/001-2-33/_warps.txt
@@ -0,0 +1,53 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-2-33: Legion of Aemil Headquarters warps
+001-2-33,29,32,0 script #001-2-33_29_32_h NPC_HIDDEN,0,0,{
+OnTouch:
+ warp "001-2-34", 29, 32;
+close;
+
+OnUnTouch:
+ doevent "#001-2-33_29_32::OnUnTouch";
+}
+001-2-33,29,32,0 script #001-2-33_29_32 NPC_ARTIS_IN_DOOR,1,2,{
+ close;
+OnTouch:
+ doorTouch;
+
+OnUnTouch:
+ doorUnTouch;
+
+OnTimer340:
+ doorTimer;
+
+OnInit:
+ doorInit;
+}
+
+001-2-33,39,32,0 script #001-2-33_39_32_h NPC_HIDDEN,0,0,{
+OnTouch:
+ warp "001-2-32", 27, 32;
+close;
+
+OnUnTouch:
+ doevent "#001-2-33_39_32::OnUnTouch";
+}
+001-2-33,39,32,0 script #001-2-33_39_32 NPC_ARTIS_IN_DOOR,1,2,{
+ close;
+OnTouch:
+ doorTouch;
+
+OnUnTouch:
+ doorUnTouch;
+
+OnTimer340:
+ doorTimer;
+
+OnInit:
+ doorInit;
+}
+
+001-2-33,45,30,0 warp #001-2-33_45_30 0,0,001-2-38,24,28
+001-2-33,23,30,0 warp #001-2-33_23_30 0,0,001-2-37,36,28
+001-2-33,25,40,0 warp #001-2-33_25_40 2,0,001-2-40,27,46
+001-2-33,43,40,0 warp #001-2-33_43_40 2,0,001-2-40,45,46
+001-2-33,34,46,0 warp #001-2-33_34_46 0,0,001-1,57,42
diff --git a/npc/001-2-33/lozerk.txt b/npc/001-2-33/lozerk.txt
new file mode 100644
index 00000000..12a1614f
--- /dev/null
+++ b/npc/001-2-33/lozerk.txt
@@ -0,0 +1,195 @@
+// Evol scripts.
+// Authors:
+// monwarez
+// Reid
+// Tirifto
+// Description:
+// Sword trainer from the Legion of Aemil guild.
+// Variables:
+// Artis_Legion_Progress
+// Values:
+// 0 Default.
+// 1 Sent to training.
+// 2 Finished training.
+// 3 Sent to battle.
+// 4 Finished battle.
+// 5 Sent to Q'Anon.
+
+001-2-33,34,33,0 script Lozerk NPC_DEMON_MALE_SWORD,{
+
+ // Quest-related functions
+
+ function explain_direction {
+
+ switch (getq(Artis_Legion_Progress))
+ {
+ case 1:
+ setcamnpc "#001-2-33_29_32";
+
+ speech(S_LAST_NEXT | S_NO_NPC_NAME,
+ l("It's to the west, on your left side. Just go through this door before the stairs and turn left afterwards. Can't miss it!"),
+ l("Talk to Hector and he'll show you the ropes."),
+ l("Report back to me once you've had enough!"));
+
+ restorecam;
+
+ break;
+ case 3:
+ setcamnpc "#001-2-33_39_32";
+
+ speech(S_LAST_NEXT | S_NO_NPC_NAME,
+ l("The room is to the east, on your right side. Just go through the door before the stairs and then turn right. It's like the mirror image of our training room."));
+
+ restorecam;
+ break;
+ case 5:
+ setcamnpc "#001-2-33_45_28";
+
+ speech(S_LAST_NEXT | S_NO_NPC_NAME,
+ l("Walk up the stairs, go through the door on either side, and the only other door in the room, few steps to the south, will lead you right to him."));
+
+ restorecam;
+ break;
+ }
+
+ return;
+ }
+
+ function send_training {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Oh, you were sent by Enora!"),
+ l("If Enora thinks this is the right place for you, then she's probably be right. Did you know she's a lieutenant of the Legion?"),
+ l("The rank of lieutenant is granted only to people with proper control of their skill and good judgment, like Enora. Or me, of course."),
+ l("By the way, I'm Lozerk. Lieutenant Lozerk.");
+
+ select(l("Pleasure to meet you. I am @@.", strcharinfo(PC_NAME)));
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Oh, you are that person! You were stranded in the seas for a while, right? You look like it."),
+ l("But don't you worry! I don't know how to get you back your memories, but we can work on your muscles for now!"),
+ l("After all, this is the Legion of Aemil! You want to be a great warrior? We'll make you one here!"),
+ l("For starters, you should probably do some stretching and practice on some dummies in our training room."),
+ l("That's right, we have our very own training room. The Legion is always well prepared!");
+
+ setq Artis_Legion_Progress, 1;
+ explain_direction();
+
+ return;
+ }
+
+ function send_battle {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("So, did you get your blood boiling? Give the dummies a good lesson? Good!"),
+ l("But since it's not dummies that will go after you out there, this training won't be enough."),
+ l("If you want to make a formidable foe for anyone, you'll need to train with real living opponents!"),
+ l("Of course, the Legion of Aemil can easily provide you with such training, even if you're not a member. Just great, isn't it?"),
+ l("We have a special room for this purpose, too. You may test your skills against all kinds of dreadful monsters in there.");
+
+ setq Artis_Legion_Progress, 3;
+ explain_direction();
+
+ return;
+ }
+
+ function send_qanon {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("And you won! That means you should be able to handle yourself in battle from now on."),
+ l("If you keep it up, you'll eventually become a fearsome warrior, just like me!"),
+ l("Or almost like me, at the very least."),
+ l("But if you really want to accomplish something, you should consider joining us."),
+ l("You have talent and the best place to utilize it is in the Legion! You can either pursue your goals with us or without us, but trust me, with us it's much better."),
+ l("I should know, I've not been a member for a while, too. But then I joined the Legion and look what a shining example of a great fighter I became!"),
+ l("You should definitely go talk to Q'Anon, our boss. You'll find him upstairs.");
+
+ setq Artis_Legion_Progress, 5;
+ explain_direction();
+
+ return;
+ }
+
+ // Normal functions
+
+ function forget_direction {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You are lucky there are no mental faculty requirements to join the Legion!");
+
+ explain_direction;
+
+ return;
+ }
+
+ function tell_about_legion {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("The Legion of Aemil is the greatest organization on all continent! A town cannot be safer than when it's under our protection."),
+ l("This is where the bravest of warriors come together to put their skills to a good use, for a good cause."),
+ l("Our building here is also the finest place in the town. Just go and see for yourself!");
+
+ return;
+ }
+
+ function praise_sword {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Thanks!");
+
+ return;
+ }
+
+ // Conversation
+
+ speech S_LAST_NEXT,
+ l("Welcome to the Legion of Aemil's building in Artis!");
+
+ // You're an enemy of the Legion - No dialog for you
+ if (faction_standing("LEGION", true) < 1) {
+ mesn;
+ mesq l("Please don't loiter around unless you have business with the Legion.");
+ close;
+ }
+
+
+ do
+ {
+ .@legion_progress = getq(Artis_Legion_Progress);
+ .@enora = getq(ArtisQuests_Enora);
+ consolemes(CONSOLEMES_DEBUG, .@legion_progress + " " + .@enora);
+ select
+ rif((.@legion_progress == 0) && (.@enora == 11), l("Enora sent me here.")),
+ rif(.@legion_progress == 2, l("I'm done with my training.")),
+ rif(.@legion_progress == 4, l("I'm back from battle!")),
+ rif(.@legion_progress == 1 || .@legion_progress == 3 || .@legion_progress == 5, l("Where should I go?")),
+ l("What can you tell me about the legion?"),
+ l("That's a nice sword you have there."),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ send_training;
+ break;
+ case 2:
+ send_battle;
+ break;
+ case 3:
+ send_qanon;
+ break;
+ case 4:
+ forget_direction;
+ break;
+ case 5:
+ tell_about_legion;
+ break;
+ case 6:
+ praise_sword;
+ break;
+ }
+ } while(@menu != 7);
+
+ closeclientdialog;
+ goodbye;
+ close;
+
+OnInit:
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/001-2-33/mapflags.txt b/npc/001-2-33/mapflags.txt
new file mode 100644
index 00000000..4882b03e
--- /dev/null
+++ b/npc/001-2-33/mapflags.txt
@@ -0,0 +1,3 @@
+001-2-33 mapflag mask 13
+001-2-33 mapflag nosave 001-2-33,34,42
+001-2-33 mapflag town
diff --git a/npc/001-2-33/triggers.txt b/npc/001-2-33/triggers.txt
new file mode 100644
index 00000000..e540869c
--- /dev/null
+++ b/npc/001-2-33/triggers.txt
@@ -0,0 +1,102 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Artis Aemil's Legion triggers to add and remove masks.
+
+// Transition Top triggers
+001-2-33,26,35,0 script #001-2-33LeftRemTop NPC_HIDDEN,0,2,{
+OnTouch:
+ artisALResetMask;
+ close;
+}
+
+001-2-33,27,35,0 script #001-2-33LeftAddTop NPC_HIDDEN,0,2,{
+OnTouch:
+ artisALTopMask;
+ close;
+}
+
+001-2-33,42,35,0 script #001-2-33RightRemTop NPC_HIDDEN,0,2,{
+OnTouch:
+ artisALResetMask;
+ close;
+}
+
+001-2-33,41,35,0 script #001-2-33RightAddTop NPC_HIDDEN,0,2,{
+OnTouch:
+ artisALTopMask;
+ close;
+}
+
+// Transition Bottom triggers
+
+001-2-33,25,32,0 script #001-2-33LeftRemBot NPC_HIDDEN,1,0,{
+OnTouch:
+ artisALResetMask;
+ close;
+}
+
+001-2-33,25,31,0 script #001-2-33LeftAddBot NPC_HIDDEN,1,0,{
+OnTouch:
+ artisALBottomMask;
+ close;
+}
+
+001-2-33,43,32,0 script #001-2-33RightRemBot NPC_HIDDEN,1,0,{
+OnTouch:
+ artisALResetMask;
+ close;
+}
+
+001-2-33,43,31,0 script #001-2-33RightAddBot NPC_HIDDEN,1,0,{
+OnTouch:
+ artisALBottomMask;
+ close;
+}
+
+// Warped location triggers
+
+001-2-33,24,30,0 script #001-2-33WarpTopLeft NPC_HIDDEN,0,0,{
+OnTouch:
+ artisALBottomMask;
+ close;
+}
+
+001-2-33,44,30,0 script #001-2-33WarpTopRight NPC_HIDDEN,0,0,{
+OnTouch:
+ artisALBottomMask;
+ close;
+}
+
+// WarpMid is crazy and not working correctly, cause unknown.
+001-2-33,29,34,0 script #001-2-33WarpMidLeft NPC_HIDDEN,1,1,{
+OnTouch:
+ artisALTopMask;
+ close;
+}
+
+001-2-33,39,34,0 script #001-2-33WarpMidRight NPC_HIDDEN,1,1,{
+OnTouch:
+ artisALTopMask;
+ close;
+}
+
+001-2-33,34,45,0 script #001-2-33WarpArtis NPC_HIDDEN,2,3,{
+OnTouch:
+ artisALTopMask;
+ close;
+}
+
+// Bottom Warp location triggers
+001-2-33,43,39,0 script #001-2-33WarpBotLeft NPC_HIDDEN,1,0,{
+OnTouch:
+ artisALResetMask;
+ close;
+}
+
+001-2-33,25,39,0 script #001-2-33WarpBotRight NPC_HIDDEN,1,0,{
+OnTouch:
+ artisALResetMask;
+ close;
+}