diff options
Diffstat (limited to 'npc')
35 files changed, 679 insertions, 71 deletions
diff --git a/npc/001-1_Tulimshar/_import.txt b/npc/001-1_Tulimshar/_import.txt index b7ea36c1..ced4347d 100644 --- a/npc/001-1_Tulimshar/_import.txt +++ b/npc/001-1_Tulimshar/_import.txt @@ -21,5 +21,6 @@ npc: npc/001-1_Tulimshar/rewards_master.txt npc: npc/001-1_Tulimshar/sandra.txt npc: npc/001-1_Tulimshar/sarah.txt npc: npc/001-1_Tulimshar/soul-menhir.txt +npc: npc/001-1_Tulimshar/tester.txt npc: npc/001-1_Tulimshar/trader.txt npc: npc/001-1_Tulimshar/vincent.txt diff --git a/npc/001-1_Tulimshar/_warps.txt b/npc/001-1_Tulimshar/_warps.txt index e3778fff..4e293337 100644 --- a/npc/001-1_Tulimshar/_warps.txt +++ b/npc/001-1_Tulimshar/_warps.txt @@ -1,7 +1,7 @@ -// 001-1 Tulimshar warps - -001-1.gat,44,88 warp ToSandstorm 3,-1,002-1.gat,58,17 -001-1.gat,44,20 warp toCentralTulimshar 3,-1,021-1.gat,55,145 -001-1.gat,125,20 warp toCentralTulimshar 0,-1,021-1.gat,136,146 -001-1.gat,32,71 warp ToInn -1,-1,001-2.gat,25,34 -001-1.gat,75,41 warp ToHouse -1,-1,001-4.gat,26,33 +// 001-1 Tulimshar warps
+
+001-1.gat,44,88 warp ToSandstorm 3,-1,002-1.gat,58,17
+001-1.gat,44,20 warp toCentralTulimshar 3,-1,021-1.gat,55,145
+001-1.gat,125,20 warp toCentralTulimshar 0,-1,021-1.gat,136,146
+001-1.gat,32,71 warp ToInn -1,-1,001-2.gat,25,34
+001-1.gat,75,41 warp ToHouse -1,-1,001-4.gat,26,33
diff --git a/npc/001-1_Tulimshar/tester.txt b/npc/001-1_Tulimshar/tester.txt new file mode 100644 index 00000000..56408b9b --- /dev/null +++ b/npc/001-1_Tulimshar/tester.txt @@ -0,0 +1,25 @@ +//testing server instant level and item NPC + +001-1.gat,21,25,0 script Mr. Invisible#todebug 127,{ +L_Debug: + mes "[Mr. Invisible]"; + mes "\"Do you want to go to the debug room?\""; + menu + "Send me there right away!", L_Go, + "Debug room? What's that?", L_Explain, + "No way, I'm staying right here.", -; + mes "[Mr. Invisible]"; + mes "\"If you want to go later on just talk to me again.\""; + close; + +L_Go: + warp "debugroom.gat",25,25; + mes "Welcome to the dbug room. Help test everything!"; + close; + +L_Explain: + mes "[Mr. Invisible]"; + mes "\"Its a room full of de bugs.\""; + next; + goto L_Debug; +}
\ No newline at end of file diff --git a/npc/009-1_Hurnscald/_warps.txt b/npc/009-1_Hurnscald/_warps.txt index a41c63a4..4d69f6fa 100644 --- a/npc/009-1_Hurnscald/_warps.txt +++ b/npc/009-1_Hurnscald/_warps.txt @@ -1,13 +1,14 @@ -// 009-1 Hurnscald warps - -009-1.gat,49,55 warp HurnscaldSouthGate 2,-1,008-1.gat,78,82 -009-1.gat,97,36 warp HurnscaldEastGate -1,0,008-1.gat,129,60 -009-1.gat,35,30 warp ToInn -1,-1,009-2.gat,50,55 -009-1.gat,58,46 warp ToGeneralStore -1,-1,009-2.gat,27,105 -009-1.gat,59,33 warp ToArcherShop -1,-1,009-2.gat,95,29 -009-1.gat,71,30 warp ToPotionShop -1,-1,009-2.gat,130,25 -009-1.gat,80,31 warp ToHospital -1,-1,009-2.gat,149,66 -009-1.gat,72,44 warp ToMayor -1,-1,009-2.gat,113,77 -009-1.gat,91,46 warp ToBlacksmith -1,-1,009-2.gat,181,66 -009-1.gat,24,36 warp HurnscaldWestGate -1,1,008-1.gat,53,61 -009-1.gat,49,24 warp HurnscaldNorthGate 2,-1,008-1.gat,78,48 +// 009-1 Hurnscald warps
+
+009-1.gat,49,55 warp HurnscaldSouthGate 2,-1,008-1.gat,78,82
+009-1.gat,97,36 warp HurnscaldEastGate -1,0,008-1.gat,129,60
+009-1.gat,35,30 warp ToInn -1,-1,009-2.gat,50,55
+009-1.gat,58,46 warp ToGeneralStore -1,-1,009-2.gat,27,105
+009-1.gat,59,33 warp ToArcherShop -1,-1,009-2.gat,95,29
+009-1.gat,71,30 warp ToPotionShop -1,-1,009-2.gat,130,25
+009-1.gat,80,31 warp ToHospital -1,-1,009-2.gat,149,66
+009-1.gat,72,44 warp ToMayor -1,-1,009-2.gat,114,77
+009-1.gat,90,46 warp ToBlacksmithL -1,-1,009-2.gat,181,66
+009-1.gat,91,46 warp ToBlacksmithR -1,-1,009-2.gat,182,66
+009-1.gat,24,36 warp HurnscaldWestGate -1,1,008-1.gat,53,61
+009-1.gat,49,24 warp HurnscaldNorthGate 2,-1,008-1.gat,78,48
diff --git a/npc/009-2_Hurnscald/_warps.txt b/npc/009-2_Hurnscald/_warps.txt index bb75379b..17c8d7ea 100644 --- a/npc/009-2_Hurnscald/_warps.txt +++ b/npc/009-2_Hurnscald/_warps.txt @@ -1,20 +1,21 @@ -// 009-2 Hurnscald warps - -009-2.gat,75,23 warp To1stFloor 0,-1,009-2.gat,73,46 -009-2.gat,95,30 warp ToOutdoor -1,-1,009-1.gat,59,34 -009-2.gat,130,26 warp ToOutdoor -1,-1,009-1.gat,71,31 -009-2.gat,144,26 warp To2ndFloor 0,-1,009-2.gat,143,44 -009-2.gat,144,42 warp To3rdFloor 0,-1,009-2.gat,143,24 -009-2.gat,155,47 warp To1stFloor 0,-1,009-2.gat,154,63 -009-2.gat,114,46 warp To1stFloor 0,-1,009-2.gat,113,69 -009-2.gat,50,55 warp ToOutdoor -1,-1,009-1.gat,35,31 -009-2.gat,74,53 warp ToCellar -1,-1,009-2.gat,143,81 -009-2.gat,74,45 warp To2ndFloor 0,-1,009-2.gat,74,23 -009-2.gat,114,78 warp ToOutdoor 0,-1,009-1.gat,72,45 -009-2.gat,114,68 warp To2ndFloor 0,-1,009-2.gat,113,46 -009-2.gat,149,67 warp ToOutdoor -1,-1,009-1.gat,80,32 -009-2.gat,143,79 warp To1stFloor -1,-1,009-2.gat,74,52 -009-2.gat,155,62 warp To2ndFloor 0,-1,009-2.gat,154,46 -009-2.gat,182,67 warp ToOutdoor 0,-1,009-1.gat,91,47 -009-2.gat,147,89 warp ToCaveBeneathHurnscald -1,-1,009-3.gat,173,22 -009-2.gat,27,106 warp ToOutdoor -1,-1,009-1.gat,58,47 +// 009-2 Hurnscald warps
+
+009-2.gat,75,23 warp To1stFloor 0,-1,009-2.gat,73,46
+009-2.gat,95,30 warp ToOutdoor -1,-1,009-1.gat,59,34
+009-2.gat,130,26 warp ToOutdoor -1,-1,009-1.gat,71,31
+009-2.gat,144,26 warp To2ndFloor 0,-1,009-2.gat,143,44
+009-2.gat,144,42 warp To3rdFloor 0,-1,009-2.gat,143,24
+009-2.gat,155,47 warp To1stFloor 0,-1,009-2.gat,154,63
+009-2.gat,114,46 warp To1stFloor 0,-1,009-2.gat,113,69
+009-2.gat,50,55 warp ToOutdoor -1,-1,009-1.gat,35,31
+009-2.gat,74,53 warp ToCellar -1,-1,009-2.gat,143,81
+009-2.gat,74,45 warp To2ndFloor 0,-1,009-2.gat,74,23
+009-2.gat,114,78 warp ToOutdoor 0,-1,009-1.gat,72,45
+009-2.gat,114,68 warp To2ndFloor 0,-1,009-2.gat,113,46
+009-2.gat,149,67 warp ToOutdoor -1,-1,009-1.gat,80,32
+009-2.gat,143,79 warp To1stFloor -1,-1,009-2.gat,74,52
+009-2.gat,155,62 warp To2ndFloor 0,-1,009-2.gat,154,46
+009-2.gat,181,67 warp ToOutdoor -1,-1,009-1.gat,90,47
+009-2.gat,182,67 warp ToOutdoor -1,-1,009-1.gat,91,47
+009-2.gat,147,89 warp ToCaveBeneathHurnscald -1,-1,009-3.gat,173,22
+009-2.gat,27,106 warp ToOutdoor -1,-1,009-1.gat,58,47
diff --git a/npc/009-2_Hurnscald/airlia.txt b/npc/009-2_Hurnscald/airlia.txt index bc1bd1f4..09900238 100644 --- a/npc/009-2_Hurnscald/airlia.txt +++ b/npc/009-2_Hurnscald/airlia.txt @@ -99,9 +99,15 @@ L_Airlia_intro: mes "\"My poor father, doomed to that awful cemetery.\""; next; - if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NO_NEW_LETTER) - menu - "...", -; + // CASE REMOVED: + // This step is pointless and just forces the player to make a selection that doesn't effect anything. + // ALSO it misses the case where QUEST_Graveyard_Caretaker == 3, in this case it proceeds to the message without wasting player clicks + // Removing this check will make execution the same for QUEST_Graveyard_Caretaker == 3 and QUEST_Graveyard_Caretaker == 4 + // If for some reason this is desireable, uncomment it and make sure to catch the extra case mentioned + // + //if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NO_NEW_LETTER) + // menu + // "...", -; if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER) menu @@ -166,17 +172,40 @@ L_Airlia_intro_proof: L_Fetch: mes "[Airlia]"; mes "\"Thank you for helping my father.\""; - next; - - if (QUEST_Airlia < @Q_STATUS_INITIAL_FETCH_REWARDED) + next; + + // Make sure to check if the player has a letter to deliver. + // If the check is not made then there is a bug, where the player + // has a letter but has not completed the initial fetch + // and is prevented from turing in the letter until the fetch is completed. + // + if (QUEST_Graveyard_Caretaker < @Q_STATUS_HAS_NEW_LETTER) menu "You are welcome.", -, "I have collected the " + @FETCH_AMOUNT_INITIAL + " [" + getitemname(@FETCH_LABEL_INITIAL$) + "]s.", L_Fetch_initial_reward; - if (QUEST_Airlia == @Q_STATUS_INITIAL_FETCH_REWARDED) + if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER) menu "You are welcome.", -, - "I have collected the " + @FETCH_AMOUNT + " [" + getitemname(@FETCH_LABEL$) + "]s.", L_Fetch_later_rewards; + "I have another letter from your father.", L_Caretaker_later_rewards, + "I have collected the " + @FETCH_AMOUNT_INITIAL + " [" + getitemname(@FETCH_LABEL_INITIAL$) + "]s.", L_Fetch_initial_reward; + + // The following checks are REDUNDANT + // The only way to get to this lable is after a check for QUEST_Airlia == @Q_STATUS_HELP_AIRLIA + // Incase you weren't paying attention: @Q_STATUS_HELP_AIRLIA = 1 < @Q_STATUS_INITIAL_FETCH_REWARDED + // Note: proper handling of the first case is done above. + // The second case never gets executed anyway and not handled. + // + //if (QUEST_Airlia < @Q_STATUS_INITIAL_FETCH_REWARDED) + // menu + // "You are welcome.", -, + // "I have collected the " + @FETCH_AMOUNT_INITIAL + " [" + getitemname(@FETCH_LABEL_INITIAL$) + "]s.", L_Fetch_initial_reward; + // + //if (QUEST_Airlia == @Q_STATUS_INITIAL_FETCH_REWARDED) + // menu + // "You are welcome.", -, + // "I have collected the " + @FETCH_AMOUNT + " [" + getitemname(@FETCH_LABEL$) + "]s.", L_Fetch_later_rewards; + close; L_Fetch_initial_reward: @@ -226,10 +255,12 @@ L_Rewarded: if (QUEST_Graveyard_Caretaker < @Q_STATUS_HAS_NEW_LETTER) menu + "You are welcome.", -, "I have collected the " + @FETCH_AMOUNT + " [" + getitemname(@FETCH_LABEL$) + "]s.", L_Fetch_later_rewards; if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER) menu + "You are welcome.", -, "I have another letter from your father.", L_Caretaker_later_rewards, "I have collected the " + @FETCH_AMOUNT + " [" + getitemname(@FETCH_LABEL$) + "]s.", L_Fetch_later_rewards; diff --git a/npc/011-3_Hermits_cave/_warps.txt b/npc/011-3_Hermits_cave/_warps.txt index be9b6a83..b2efd78b 100644 --- a/npc/011-3_Hermits_cave/_warps.txt +++ b/npc/011-3_Hermits_cave/_warps.txt @@ -1,3 +1,3 @@ -// 011-3 Hermit's cave warps - -011-3.gat,31,21 warp ToLakeCave -1,-1,011-4.gat,72,11 +// 011-3 Hermit's cave warps
+
+011-3.gat,31,21 warp ToLakeCave -1,-1,011-4.gat,72,10
diff --git a/npc/011-4_Lake_cave/_warps.txt b/npc/011-4_Lake_cave/_warps.txt index 7f1c1b2a..a6df0623 100644 --- a/npc/011-4_Lake_cave/_warps.txt +++ b/npc/011-4_Lake_cave/_warps.txt @@ -1,3 +1,9 @@ +<<<<<<< HEAD +// 011-4 Lake cave warps
+
+011-4.gat,73,8 warp ToHermitsCave 0,-1,011-3.gat,31,23
+011-4.gat,129,86 warp ToCaveBeneathHurnscald -1,-1,009-3.gat,21,55
+======= // 011-4 Lake cave warps 011-4.gat,73,8 warp ToHermitsCave 0,-1,011-3.gat,31,24 @@ -11,3 +17,4 @@ 011-4.gat,62,86 warp warp -1,-1,011-6.gat,68,233 011-4.gat,32,5 warp warp 0,-1,011-6.gat,186,180 011-4.gat,45,118 warp warp -1,-1,011-6.gat,266,180 +>>>>>>> 1e1e26e1255a487a14ca99c60c3ab51ad3988f9b diff --git a/npc/027-2_Caretakers_House/_import.txt b/npc/027-2_Caretakers_House/_import.txt index 58d2b8c0..e288d6cb 100644 --- a/npc/027-2_Caretakers_House/_import.txt +++ b/npc/027-2_Caretakers_House/_import.txt @@ -1,4 +1,7 @@ -map: 027-2.gat -npc: npc/027-2_Caretakers_House/_mobs.txt -npc: npc/027-2_Caretakers_House/_warps.txt -npc: npc/027-2_Caretakers_House/caretaker.txt +map: 027-2.gat
+npc: npc/027-2_Caretakers_House/_mobs.txt
+npc: npc/027-2_Caretakers_House/_warps.txt
+npc: npc/027-2_Caretakers_House/caretaker.txt
+npc: npc/027-2_Caretakers_House/alacrius.txt
+npc: npc/027-2_Caretakers_House/gy_inn_shops.txt
+npc: npc/027-2_Caretakers_House/testnpcs.txt
\ No newline at end of file diff --git a/npc/027-2_Caretakers_House/_warps.txt b/npc/027-2_Caretakers_House/_warps.txt index 8b7af158..160e4dae 100644 --- a/npc/027-2_Caretakers_House/_warps.txt +++ b/npc/027-2_Caretakers_House/_warps.txt @@ -1,3 +1,24 @@ // 027-2 Caretaker's House warps +<<<<<<< HEAD +027-2.gat,25,32 warp toGraveyard -1,-1,027-1.gat,88,85 + + + +// 027-2 Graveyard Inn 1rst floor Warps + +027-2.gat,127,35,0 warp ToInnSecondFloorL -1,-1,027-2.gat,75,92 +027-2.gat,128,35,0 warp ToInnSecondFloorR -1,-1,027-2.gat,76,92 +027-2.gat,106,46,0 warp GYInnExit 1,-1,debugroom.gat,30,27 + +027-2.gat,111,37,0 warp ToReaper 1,-1,027-4.gat,40,38 + + + +// 027-2 Graveyard Inn 2nd floor Warps + +027-2.gat,75,93,0 warp ToInnFirstFloorL -1,-1,027-2.gat,127,36 +027-2.gat,76,93,0 warp ToInnFirstFloorR -1,-1,027-2.gat,128,36 +======= 027-2.gat,26,33 warp toGraveyard -1,-1,027-1.gat,88,85 +>>>>>>> 1e1e26e1255a487a14ca99c60c3ab51ad3988f9b diff --git a/npc/027-2_Caretakers_House/alacrius.txt b/npc/027-2_Caretakers_House/alacrius.txt new file mode 100755 index 00000000..eee471ad --- /dev/null +++ b/npc/027-2_Caretakers_House/alacrius.txt @@ -0,0 +1,40 @@ +// Starts the reaper quest
+
+027-2.gat,104,39,0 script Alacrius 313,{
+ // if started, go to started
+ // if fail go to failed
+ // if complete go to complete
+ // if cooldown go to cooldown
+
+// start quest section
+ mes "hi want to fight the reaper?";
+ menu
+ "Let's go",L_START,
+ "No thank you",-;
+ close;
+
+L_START:
+ monster "027-4.gat",40,55,"Reaper Quest",1111,1,"Reaper::OnDead";
+ enablenpc "#gatecontrol";
+ enablenpc "#closedgate";
+ disablenpc "#opengate";
+// Open doors to reaper level
+ warp "027-3.gat",41,70;
+ initnpctimer;
+ close;
+
+// 5 min mark for testing purposes, up it when finished.
+OnTimer300000:
+ mapwarp "027-3.gat", "027-2.gat",104,41;
+ mapwarp "027-4.gat", "027-2.gat",104,41;
+ killmonsterall "027-4.gat";
+ end;
+OnTimer301000:
+ npctalk "You have failed the mission";
+ end;
+
+// cooldown before the quest can be restarted
+OnTimer360000:
+ // set quest var
+ end;
+}
diff --git a/npc/027-2_Caretakers_House/alacrius2.txt b/npc/027-2_Caretakers_House/alacrius2.txt new file mode 100755 index 00000000..70cf0c42 --- /dev/null +++ b/npc/027-2_Caretakers_House/alacrius2.txt @@ -0,0 +1,113 @@ +// Starts the reaper quest
+
+027-2.gat,104,39,0 script Alacrius 313,{
+ if ($@FIGHT_ALACRIUS_STATUS != 0) goto L_Enjoy;
+
+
+ mes "[ALACRIUS]";
+ mes "\"Hello, I'm Alacrius. \"";
+ next;
+ mes "[ALACRIUS]";
+ mes "\"Very long time ago, i figured a way to cheat the death and the limits of time and space. You may think it actually is evil, but I made it because of true love... \"";
+ next;
+ mes "[ALACRIUS]";
+ mes "\"The reaper kidnapped my beloved wife, and took her to the underworld, so I had to find a way to stop him, and as time went by, I became what you can see now... But if you dare to cheat death, time and space you'll have to pay a high price... \"";
+ next;
+
+ mes "[ALACRIUS]";
+ mes "\"Being away from the time and space doesn't allow me to try to save my beloved wife... I need your help, do you think you have what it takes to handle the most powerful monsters over the world of Mana? \"";
+ next;
+
+ menu
+ "Let's go",L_PLAY_OK,
+ "No thank you",-;
+ close;
+
+
+L_PLAY_OK:
+
+ if ($@FIGHT_ALACRIUS_STATUS != 0) goto L_AlreadyStarted;
+ set $@FIGHT_ALACRIUS_STATUS, 1;
+ set $@MO_REAPER, 0;
+ startnpctimer;
+ set @PRIZE, 1;
+
+ goto L_Exit;
+
+L_Enjoy:
+ if ($@MO_REAPER == 1) goto L_AllDead;
+ mes "[ALACRIUS]";
+ mes "\"...Please hurry up, the time is running...\"";
+ goto L_Exit;
+
+L_AlreadyStarted:
+ mes "[ALACRIUS]";
+ mes "\"The Reaper is alive.\"";
+ goto L_Exit;
+
+L_Exit:
+ close;
+ end;
+
+
+// Time to fight
+OnTimer10000:
+
+ monster "027-2.gat",0,0,"Reaper Quest",1111,1,"Alacrius::OnDeadReaper";
+ end;
+
+OnDeadReaper:
+ set $@MO_REAPER, $@MO_REAPER + 1;
+ killmonster "027-2.gat","All";
+ end;
+
+OnDeadLost:
+ set $@MO_LOST, $@MO_LOST + 1;
+ end;
+
+
+OnTimer120000:
+
+ set $@MO_REAPER,0;
+ set $@FIGHT_ALACRIUS_STATUS, 0;
+ killmonster "027-2.gat","All";
+ stopnpctimer;
+ setnpctimer 0;
+ set @PRIZE, 0;
+ npctalk "Oh my beloved wife, you could not have been rescued! I will have to purge my mistakes again...";
+ npctalk "Please, help my beloved wife!!";
+
+ end;
+
+OnDead:
+ end;
+
+
+L_AllDead:
+ if(@PRIZE == 0) goto L_NOHERO;
+
+ getinventorylist;
+ if (@inventorylist_count == 100) goto L_TooMany;
+ getitem "CasinoCoins", 1;
+
+ mes "[ALACRIUS]";
+ mes "Thank you very much, you saved my love!! Here you are, a prize according to the dangers you've been exposed to.";
+ set @PRIZE , 0;
+ set $@MO_REAPER,0;
+ close;
+ end;
+
+L_TooMany:
+ mes "[ALACRIUS]";
+ mes "You have no room for the reward.";
+ close;
+
+L_NOHERO:
+ mes "[ALACRIUS]";
+ mes "Sorry, but you didn't save my love... Try it again when you're ready...";
+ close;
+ end;
+OnInit:
+ initnpctimer;
+ stopnpctimer;
+}
\ No newline at end of file diff --git a/npc/027-2_Caretakers_House/gy_inn_shops.txt b/npc/027-2_Caretakers_House/gy_inn_shops.txt new file mode 100755 index 00000000..66050e9d --- /dev/null +++ b/npc/027-2_Caretakers_House/gy_inn_shops.txt @@ -0,0 +1,35 @@ +// chef: function,
+// barmaid: function,
+// shopkeeper: multiples and function,
+// magic undead shop: function,
+// chief barman: function,
+// receptionist: function,
+// banker: function
+
+
+027-2.gat,113,28,0 shop Chef Skeleton 300,519:100
+027-2.gat,101,28,0 shop Barmaid 301,519:100,533:150,534:90,562:500,676:200
+027-2.gat,103,28,0 shop Shopkeeper 302,586:1000,524:1600,544:10000,632:10000,528:1000,735:1
+027-2.gat,107,28,0 shop Magic Undead Shop 304,501
+027-2.gat,117,28,0 shop Chief Barman 309,539:175,567:500,568:500
+
+// Inn
+027-2.gat,107,39,0 script Bloody Receptionist 320,{
+ set @npcName$, "Barbara Grey";
+ set @cost, 1000;
+
+ mes "[" + @npcName$ + "]";
+ mes "\"Don't be shy darling.";
+ mes "\"Come on in and have a nice long ... long slumber ...";
+ next;
+ callfunc "Inn";
+ close;
+}
+
+// Bank and Storage
+027-2.gat,119,31,0 script Undead Banker 321,{
+ set @npcName$, "J.P. Morbid";
+ callfunc "Banker";
+ close;
+}
+
diff --git a/npc/027-2_Caretakers_House/testnpcs.txt b/npc/027-2_Caretakers_House/testnpcs.txt new file mode 100755 index 00000000..ffae6246 --- /dev/null +++ b/npc/027-2_Caretakers_House/testnpcs.txt @@ -0,0 +1,74 @@ +// Temporary placing of all non shop npcs
+// A proper break down of files will need to be done later
+
+// drunk lover: quest,
+// werewolf: gambling,
+// chef's helper: simple dialog,
+// horn mage: golbenez,
+// drunker: simple dialog,
+// barman: crafting related,
+// swordguy: weapon master,
+// ghost from dead drunk: simple dialog,
+// crying child: I don't know,
+// Innkeeper's ghost: quest,
+// evil guard: simple dialog,
+// hangman: quest,
+// headless: quest or simple dialog,
+// lightman: quest,
+
+
+027-2.gat,105,28,0 script Drunk Lover 303,{
+ end;
+}
+
+027-2.gat,109,28,0 script Werewolf 305,{
+ end;
+}
+
+027-2.gat,111,28,0 script Chef's helper 306,{
+ end;
+}
+
+027-2.gat,115,28,0 script Drunker 308,{
+ end;
+}
+
+027-2.gat,119,28,0 script Barman 310,{
+ end;
+}
+
+027-2.gat,117,31,0 script SwordGuy 311,{
+ end;
+}
+
+027-2.gat,101,31,0 script Ghost Drunker 312,{
+ end;
+}
+
+027-2.gat,103,31,0 script Golbenez 307,{
+ end;
+}
+
+027-2.gat,105,31,0 script Crying Child 314,{
+ end;
+}
+
+027-2.gat,107,31,0 script Innkeeper's Ghost 315,{
+ end;
+}
+
+027-2.gat,109,31,0 script Evil Guard 316,{
+ end;
+}
+
+027-2.gat,111,31,0 script Hanged Lover 317,{
+ end;
+}
+
+027-2.gat,113,31,0 script Headless Lover 318,{
+ end;
+}
+
+027-2.gat,115,31,0 script Lantern Man 319,{
+ end;
+}
diff --git a/npc/027-3_Crypt/_import.txt b/npc/027-3_Crypt/_import.txt new file mode 100755 index 00000000..627fe137 --- /dev/null +++ b/npc/027-3_Crypt/_import.txt @@ -0,0 +1,7 @@ +map: 027-3.gat
+npc: npc/027-3_Crypt/_mobs.txt
+npc: npc/027-3_Crypt/_warps.txt
+npc: npc/027-3_Crypt/mapflags.txt
+npc: npc/027-3_Crypt/entrance.txt
+npc: npc/027-3_Crypt/caskets.txt
+npc: npc/027-3_Crypt/test.txt
diff --git a/npc/027-3_Crypt/_mobs.txt b/npc/027-3_Crypt/_mobs.txt new file mode 100755 index 00000000..2e423ee7 --- /dev/null +++ b/npc/027-3_Crypt/_mobs.txt @@ -0,0 +1,3 @@ +// 027-3 Crypt mobs
+
+//027-3.gat,40,38,0,0 monster TheLost 1063,1,8000,2000,0
diff --git a/npc/027-3_Crypt/_warps.txt b/npc/027-3_Crypt/_warps.txt new file mode 100755 index 00000000..295215ca --- /dev/null +++ b/npc/027-3_Crypt/_warps.txt @@ -0,0 +1,5 @@ +// 027-3 Crypt warps
+
+027-3.gat,126,44,0 warp ToReaperL -1,-1,027-4.gat,36,21
+027-3.gat,127,44,0 warp ToReaperM -1,-1,027-4.gat,37,21
+027-3.gat,128,44,0 warp ToReaperR -1,-1,027-4.gat,38,21
\ No newline at end of file diff --git a/npc/027-3_Crypt/caskets.txt b/npc/027-3_Crypt/caskets.txt new file mode 100755 index 00000000..c7ae44bd --- /dev/null +++ b/npc/027-3_Crypt/caskets.txt @@ -0,0 +1,7 @@ +// Casket monster traps and key puzzle.
+027-3.gat,40,35,0 script #casket1 127,1,1{
+ heal 3,0;
+ specialeffect 301;
+ specialeffect 302;
+ end;
+}
\ No newline at end of file diff --git a/npc/027-3_Crypt/entrance.txt b/npc/027-3_Crypt/entrance.txt new file mode 100755 index 00000000..f8da11b8 --- /dev/null +++ b/npc/027-3_Crypt/entrance.txt @@ -0,0 +1,41 @@ +// Effects for opening and closing the gate. Also set it so no new player can't be warped in once the gate is opened.
+
+027-3.gat,40,57,0 script #gatecontrol 127, 2, 1{
+ mes "Once you pass this point I cannot warp anyone else to help.";
+ mes "Are you sure you are ready to go?";
+ menu
+ "Let's go",L_BEGIN,
+ "No thank you",-;
+ warp "027-3.gat",40,60;
+ close;
+
+L_BEGIN:
+ disablenpc "#closedgate";
+ initnpctimer;
+ specialeffect 300;
+ // add stop alacrius warp flag to temp globals
+ close;
+
+OnTimer2000:
+ enablenpc "#opengate";
+ disablenpc "#gatecontrol";
+ end;
+}
+
+027-3.gat,40,59,0 script #closedgate 322,{
+ end;
+}
+027-3.gat,40,59,0 script #opengate 323,{
+ end;
+}
+
+
+// Effects for the exit.
+
+027-3.gat,40,78,0 script #cryptexit2 127, 3, 3{
+ mes "Unfortunately, once I bring you to this pocket";
+ mes "in time you cannot leave through its normal exit.";
+ mes "The only way to get out is to defeat the reaper";
+ mes "or die...";
+ close;
+}
\ No newline at end of file diff --git a/npc/027-3_Crypt/mapflags.txt b/npc/027-3_Crypt/mapflags.txt new file mode 100755 index 00000000..533b7a6c --- /dev/null +++ b/npc/027-3_Crypt/mapflags.txt @@ -0,0 +1 @@ +027-3.gat mapflag nosave 027-2,104,41;
diff --git a/npc/027-3_Crypt/test.txt b/npc/027-3_Crypt/test.txt new file mode 100755 index 00000000..0f353a8d --- /dev/null +++ b/npc/027-3_Crypt/test.txt @@ -0,0 +1,8 @@ +027-3.gat,40,25,0 script zombifier 200,1,1{
+ npctalk "If you die in the crypt, you are turned into a zombie";
+ end;
+OnPCDieEvent:
+ npctalk "The corpse of " + strcharinfo(0) + " has risen";
+ monster "027-3.gat",41,25,"Corpse",1036,1,"Reaper::OnAvenged";
+ end;
+}
diff --git a/npc/027-4_Reaper/_import.txt b/npc/027-4_Reaper/_import.txt new file mode 100755 index 00000000..78db21ba --- /dev/null +++ b/npc/027-4_Reaper/_import.txt @@ -0,0 +1,5 @@ +map: 027-4.gat
+npc: npc/027-4_Reaper/_mobs.txt
+npc: npc/027-4_Reaper/_warps.txt
+npc: npc/027-4_Reaper/mapflags.txt
+npc: npc/027-4_Reaper/reaper_script.txt
diff --git a/npc/027-4_Reaper/_mobs.txt b/npc/027-4_Reaper/_mobs.txt new file mode 100755 index 00000000..50c5d033 --- /dev/null +++ b/npc/027-4_Reaper/_mobs.txt @@ -0,0 +1 @@ +// 027-4 Reaper mobs
diff --git a/npc/027-4_Reaper/_warps.txt b/npc/027-4_Reaper/_warps.txt new file mode 100755 index 00000000..ca462cbe --- /dev/null +++ b/npc/027-4_Reaper/_warps.txt @@ -0,0 +1,5 @@ +// 027-4 Reaper warps
+
+027-4.gat,36,19,0 warp ToCryptL -1,-1,027-3.gat,126,42
+027-4.gat,37,19,0 warp ToCryptM -1,-1,027-3.gat,127,42
+027-4.gat,38,19,0 warp ToCryptR -1,-1,027-3.gat,128,42
diff --git a/npc/027-4_Reaper/mapflags.txt b/npc/027-4_Reaper/mapflags.txt new file mode 100755 index 00000000..791565cf --- /dev/null +++ b/npc/027-4_Reaper/mapflags.txt @@ -0,0 +1 @@ +027-4.gat mapflag nosave 027-2,104,41;
diff --git a/npc/027-4_Reaper/reaper_script.txt b/npc/027-4_Reaper/reaper_script.txt new file mode 100755 index 00000000..b09a2399 --- /dev/null +++ b/npc/027-4_Reaper/reaper_script.txt @@ -0,0 +1,15 @@ +// The scripts associated with the reaper mob summoned by Alacrius in the 027-2
+
+027-4.gat,0,0,0 script Reaper -1,{
+OnDead:
+ mes "you won!";
+ mapwarp "027-4.gat", "027-2.gat",104,41;
+ close;
+
+OnPCDieEvent:
+ // summon a zombie and give a message and sfx
+ end;
+OnAvenged:
+ // tell players your fallen comrad has been avenged
+ end;
+}
\ No newline at end of file diff --git a/npc/029-1_Candor/barrier.txt b/npc/029-1_Candor/barrier.txt index cbbecaea..a5970bec 100644 --- a/npc/029-1_Candor/barrier.txt +++ b/npc/029-1_Candor/barrier.txt @@ -1,8 +1,8 @@ -029-1.gat,53,36,0 script #CandorBarrier 127,1,1,{ - if ($@FIGHT_CAVE_STATUS != 0) goto L_Block; - warp "029-3.gat", 47, 22; - end; - - L_Block: - message strcharinfo(0), "Some force seems to be blocking you from entering."; -} +029-1.gat,53,36,0 script #CandorBarrier 127,1,1,{
+ if ($@FIGHT_CAVE_STATUS != 0) goto L_Block;
+ warp "029-3.gat", 46, 23;
+ end;
+
+ L_Block:
+ message strcharinfo(0), "Some force seems to be blocking you from entering.";
+}
diff --git a/npc/029-3_Fight_Cave/barrier.txt b/npc/029-3_Fight_Cave/barrier.txt index 5afd8da9..85655adb 100644 --- a/npc/029-3_Fight_Cave/barrier.txt +++ b/npc/029-3_Fight_Cave/barrier.txt @@ -1,8 +1,8 @@ -029-3.gat,45,20,0 script #FightCaveBarrier 127,1,1,{ - if ($@FIGHT_CAVE_STATUS != 0) goto L_Block; - warp "029-1.gat", 55, 38; - end; - - L_Block: - message strcharinfo(0), "Some force seems to be blocking you from exiting."; -} +029-3.gat,45,20,0 script #FightCaveBarrier 127,1,1,{
+ if ($@FIGHT_CAVE_STATUS != 0) goto L_Block;
+ warp "029-1.gat", 54, 39;
+ end;
+
+ L_Block:
+ message strcharinfo(0), "Some force seems to be blocking you from exiting.";
+}
diff --git a/npc/_import.txt b/npc/_import.txt index 990c5315..be7341a3 100644 --- a/npc/_import.txt +++ b/npc/_import.txt @@ -1,3 +1,70 @@ +<<<<<<< HEAD +import: npc/001-1_Tulimshar/_import.txt
+import: npc/001-2_Tulimshar/_import.txt
+import: npc/001-3_Tulimshar_arena/_import.txt
+import: npc/001-4_Omars_house/_import.txt
+import: npc/002-1_Sandstorm/_import.txt
+import: npc/002-3_Desert_mines/_import.txt
+import: npc/002-4_Desert_mines/_import.txt
+import: npc/003-1_Beach/_import.txt
+import: npc/003-2_Beach_House/_import.txt
+import: npc/004-1_Beach/_import.txt
+import: npc/004-2_Beach_House/_import.txt
+import: npc/005-1_Snake_desert/_import.txt
+import: npc/005-3_Snake_pit/_import.txt
+import: npc/006-1_Desert_mountains/_import.txt
+import: npc/006-3_Desert_mountain_caves/_import.txt
+import: npc/007-1_Woodland/_import.txt
+import: npc/008-1_Hurnscald_outskirts/_import.txt
+import: npc/009-1_Hurnscald/_import.txt
+import: npc/009-2_Hurnscald/_import.txt
+import: npc/009-3_Cave_beneath_Hurnscald/_import.txt
+import: npc/010-1_Woodland/_import.txt
+import: npc/010-2_Dimonds_Cove/_import.txt
+import: npc/011-1_Woodland/_import.txt
+import: npc/011-3_Hermits_cave/_import.txt
+import: npc/011-4_Lake_cave/_import.txt
+import: npc/011-5/_import.txt
+import: npc/012-1_Woodland_Hills/_import.txt
+import: npc/012-3_Cave/_import.txt
+import: npc/012-4_Cave/_import.txt
+import: npc/013-1_Woodland_hills/_import.txt
+import: npc/013-2_Magic_house/_import.txt
+import: npc/013-3_Cave/_import.txt
+import: npc/014-1_Woodland/_import.txt
+import: npc/014-3_Cave/_import.txt
+import: npc/015-1_Woodland/_import.txt
+import: npc/015-3_Cave/_import.txt
+import: npc/016-1_Woodland/_import.txt
+import: npc/017-1_Woodland_hills/_import.txt
+import: npc/017-2_Theater/_import.txt
+import: npc/017-9_Backstage/_import.txt
+import: npc/018-1_Woodland_mining_camp/_import.txt
+import: npc/018-2_Woodland_mining_camp/_import.txt
+import: npc/018-3_Cave/_import.txt
+import: npc/019-1_Snow_field/_import.txt
+import: npc/020-1_Nivalis/_import.txt
+import: npc/020-2_Nivalis/_import.txt
+import: npc/020-3_Ice_cave/_import.txt
+import: npc/020-4_Ice_cave/_import.txt
+import: npc/021-1_Tulimshar/_import.txt
+import: npc/021-2_Tulimshar/_import.txt
+import: npc/022-1_Tulimshar/_import.txt
+import: npc/024-1_Tulimshar_Canyon/_import.txt
+import: npc/024-2_Tulimshar_Magic_School/_import.txt
+import: npc/025-1_Woodland_Swamp/_import.txt
+import: npc/026-1_Swamp/_import.txt
+import: npc/027-1_Graveyard/_import.txt
+import: npc/027-2_Caretakers_House/_import.txt
+import: npc/027-3_Crypt/_import.txt
+import: npc/027-4_Reaper/_import.txt
+import: npc/028-1/_import.txt
+import: npc/028-3/_import.txt
+import: npc/029-1_Candor/_import.txt
+import: npc/029-3_Fight_Cave/_import.txt
+import: npc/botcheck/_import.txt
+import: npc/debugroom/_import.txt
+======= import: npc/001-1_Tulimshar/_import.txt import: npc/001-2_Tulimshar/_import.txt import: npc/001-3_Tulimshar_arena/_import.txt @@ -69,3 +136,4 @@ import: npc/031-3_Cave/_import.txt import: npc/032-1_Outback/_import.txt import: npc/032-3_Cave/_import.txt import: npc/botcheck/_import.txt +>>>>>>> 1e1e26e1255a487a14ca99c60c3ab51ad3988f9b diff --git a/npc/debugroom/_import.txt b/npc/debugroom/_import.txt new file mode 100755 index 00000000..f9fad285 --- /dev/null +++ b/npc/debugroom/_import.txt @@ -0,0 +1,6 @@ +map: debugroom.gat +npc: npc/debugroom/_mobs.txt +npc: npc/debugroom/_warps.txt +npc: npc/debugroom/tester.txt +npc: npc/debugroom/reaper-test.txt +npc: npc/debugroom/weapon-test.txt
\ No newline at end of file diff --git a/npc/debugroom/_mobs.txt b/npc/debugroom/_mobs.txt new file mode 100755 index 00000000..e69de29b --- /dev/null +++ b/npc/debugroom/_mobs.txt diff --git a/npc/debugroom/_warps.txt b/npc/debugroom/_warps.txt new file mode 100755 index 00000000..e69de29b --- /dev/null +++ b/npc/debugroom/_warps.txt diff --git a/npc/debugroom/reaper-test.txt b/npc/debugroom/reaper-test.txt new file mode 100755 index 00000000..162b3977 --- /dev/null +++ b/npc/debugroom/reaper-test.txt @@ -0,0 +1,43 @@ +//testing server instant level and item NPC
+
+debugroom.gat,30,25,0 script gy-inn-test 307,{
+
+ mes "[Tester]";
+ mes "\"This is to test out the reaper quest and the gy-inn. The recommended level for this quest is 95+ \"";
+ menu
+ "Spec me up to lvl95 with gear.", L_Spec,
+ "Take me to the graveyard inn.", L_Inn,
+ "Take me to the crypt.", L_Cryp,
+ "Take me to the reaper.", L_Reap,
+ "Nevemind.", L_Nvm;
+ close;
+
+L_Spec:
+ set baselevel, 90;
+ getitem "WarlordHelmet", 1;
+ getitem "WarlordPlate", 1;
+ getitem "JeansChaps", 1;
+ getitem "LeatherGloves", 1;
+ getitem "FurBoots", 1;
+ getitem "SteelShield", 1;
+ getitem "Setzer", 1;
+ getitem "ForestBow", 1;
+ getitem "IronArrow", 2000;
+ mes "[Tester]";
+ mes "\"Here you go! Enjoy your testing experience.\"";
+ close;
+L_Inn:
+ warp "027-2.gat",104,41;
+ close;
+L_Cryp:
+ warp "027-3.gat",41,70;
+ close;
+L_Reap:
+ monster "027-4.gat",40,55,"Reaper Quest",1111,1,"Reaper::OnDead";
+ warp "027-4.gat",40,30;
+ close;
+L_Nvm:
+ mes "[Tester]";
+ mes "\"Okay.\"";
+ close;
+}
diff --git a/npc/debugroom/tester.txt b/npc/debugroom/tester.txt new file mode 100755 index 00000000..5efaf210 --- /dev/null +++ b/npc/debugroom/tester.txt @@ -0,0 +1,24 @@ +//testing server instant level and item NPC + +debugroom.gat,25,23,0 script Tester#Out 134,{ + + mes "[Tester]"; + mes "\"Explenation.... \""; + menu + "Warp back to Tulimshar", L_Yes, + "Set save point here", L_Do_Save, + "Nevemind.", L_No; + close; + + +L_Yes: + warp "001-1.gat",28,74; + close; +L_Do_Save: + savepoint "debugroom.gat",25,25; + close; +L_Nvm: + mes "[Tester]"; + mes "\"Okay.\""; + close; +} diff --git a/npc/debugroom/weapon-test.txt b/npc/debugroom/weapon-test.txt new file mode 100755 index 00000000..123edf97 --- /dev/null +++ b/npc/debugroom/weapon-test.txt @@ -0,0 +1,16 @@ +//testing server instant level and item NPC + +debugroom.gat,15,21,0 script WeaponsTest 114,{ + + mes "[Weapons Tester]"; + mes "\"Explenation.... \""; + menu + "Creater test dummy", L_Yes, + "Nevemind.", -; + close; + + +L_Yes: + monster "debugroom.gat",18,25,"Funny",1999,1,0; + close; +} |