summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/001-1_Tulimshar/bleacher.txt6
-rw-r--r--npc/009-2_Hurnscald/selim.txt7
-rw-r--r--npc/009-4/torches.txt8
-rw-r--r--npc/027-1_Graveyard/_mobs.txt10
-rw-r--r--npc/027-2_Caretakers_House/_import.txt1
-rw-r--r--npc/027-2_Caretakers_House/crying_child.txt10
-rw-r--r--npc/027-2_Caretakers_House/golbanez.txt24
-rw-r--r--npc/027-2_Caretakers_House/husband.txt28
-rw-r--r--npc/027-2_Caretakers_House/innkeeper.txt41
-rw-r--r--npc/027-2_Caretakers_House/lover.txt25
-rwxr-xr-xnpc/027-2_Caretakers_House/testnpcs.txt4
-rw-r--r--npc/032-1_Outback/miriam.txt4
12 files changed, 113 insertions, 55 deletions
diff --git a/npc/001-1_Tulimshar/bleacher.txt b/npc/001-1_Tulimshar/bleacher.txt
index 68707f65..03dcfdd2 100644
--- a/npc/001-1_Tulimshar/bleacher.txt
+++ b/npc/001-1_Tulimshar/bleacher.txt
@@ -35,6 +35,7 @@ L_bleach_menu:
"Rabbit ears", L_rabbit_ears,
"Wizard Hat", L_wizard_hat,
"Bowler Hat", L_bowler_hat,
+ "Red Lined Sorcerer Robe", L_red_lined_sorcerer_robe,
"Nevermind", -;
goto L_close;
@@ -118,6 +119,11 @@ L_bowler_hat:
set @dyeBase, 2210;
goto L_choose_color;
+L_red_lined_sorcerer_robe:
+ set @normal, 798;
+ set @dyeBase, 2220;
+ goto L_choose_color;
+
L_choose_color:
mes "[Candide]";
mes "\"And the color?\"";
diff --git a/npc/009-2_Hurnscald/selim.txt b/npc/009-2_Hurnscald/selim.txt
index de02de0d..fab070fa 100644
--- a/npc/009-2_Hurnscald/selim.txt
+++ b/npc/009-2_Hurnscald/selim.txt
@@ -34,6 +34,7 @@ L_clothes_choice:
"Rabbit ears", L_rabbitears,
"Wizard hat", L_wizardhat,
"Bowler hat", L_bowlerhat,
+ "Red Lined Sorcerer Robe", L_redlinedsorcererrobe,
"I'm fine for now, thanks.", -;
close;
@@ -137,6 +138,12 @@ L_bowlerhat:
set @name$, "bowler hat";
goto L_picked_item;
+L_redlinedsorcererrobe:
+ set @del, 798;
+ set @new, 2220;
+ set @name$, "red lined sorcerer robe";
+ goto L_picked_item;
+
L_picked_item:
if (countitem(@del) == 0) goto L_havenone;
L_colour:
diff --git a/npc/009-4/torches.txt b/npc/009-4/torches.txt
index d478c212..1b17dac6 100644
--- a/npc/009-4/torches.txt
+++ b/npc/009-4/torches.txt
@@ -14,7 +14,7 @@ L_Error:
function script SetTorchColor {
if (@Torch < 0 || @Torch > 2) goto L_Error;
- if (@Color < 0 || @Color > 12) goto L_Error2;
+ if (@Color < 1 || @Color > 12) goto L_Error2;
set @Mask, (15 << (4 * @Torch));
set OrumQuestTorch, (OrumQuestTorch & (~(@Mask))) | @Color << (4 * @Torch);
@@ -124,7 +124,7 @@ L_Color_Loop:
"Add Yellow Powder", L_Use_Yellow,
"Add Blue Powder", L_Use_Blue,
"Leave it alone.", -;
-
+
mes "The flame flickers as if it's laughing at you..";
close;
@@ -210,7 +210,7 @@ L_Color_Loop:
"Add Yellow Powder", L_Use_Yellow,
"Add Blue Powder", L_Use_Blue,
"Leave it alone.", -;
-
+
mes "The flame flickers as if it's laughing at you..";
close;
@@ -299,7 +299,7 @@ L_Color_Loop:
"Add Yellow Powder", L_Use_Yellow,
"Add Blue Powder", L_Use_Blue,
"Leave it alone.", -;
-
+
mes "The flame flickers as if it's laughing at you..";
close;
diff --git a/npc/027-1_Graveyard/_mobs.txt b/npc/027-1_Graveyard/_mobs.txt
index d0fa5ccd..bae992d0 100644
--- a/npc/027-1_Graveyard/_mobs.txt
+++ b/npc/027-1_Graveyard/_mobs.txt
@@ -85,10 +85,9 @@ _MOBCOUNT_ZOMBIES:
set @state, ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT);
if (@state != 1) return;
-// You have to kill 50?(or more?) zombies OR 50?(or more?) fallens. If you close the client, the @zombies count go back to zero.
- set @zombies, @zombies + 1;
+ set @bracelet, @bracelet + 1;
// TODO: set 1 to 10
- if (@zombies < 1) return;
+ if (@bracelet < 1) return;
// if (rand(8) != 0) return;
message strcharinfo(0), "You found a strange bracelet hidden in the zombie's rotten rags. Maybe this is what the Crying child was looking for...";
set @state, 2;
@@ -103,10 +102,9 @@ _MOBCOUNT_FALLENS:
set @state, ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT);
if (@state != 1) return;
-// You have to kill 50?(or more?) fallens OR 50?(or more?) zombies. If you close the client, the @fallens count go back to zero.
- set @fallens, @fallens + 1;
+ set @bracelet, @bracelet + 1;
// TODO: set 1 to 10
- if (@fallens < 1) return;
+ if (@bracelet < 1) return;
// if (rand(8) != 0) return;
message strcharinfo(0), "You found a strange bracelet inside the fallen's broken helmet. Maybe this is what the Crying child was looking for...";
set @state, 2;
diff --git a/npc/027-2_Caretakers_House/_import.txt b/npc/027-2_Caretakers_House/_import.txt
index eb4196b3..bdea4bf2 100644
--- a/npc/027-2_Caretakers_House/_import.txt
+++ b/npc/027-2_Caretakers_House/_import.txt
@@ -4,6 +4,7 @@ npc: npc/027-2_Caretakers_House/_warps.txt
npc: npc/027-2_Caretakers_House/alacrius.txt
//npc: npc/027-2_Caretakers_House/alacrius2.txt
npc: npc/027-2_Caretakers_House/caretaker.txt
+npc: npc/027-2_Caretakers_House/evil_guard.txt
npc: npc/027-2_Caretakers_House/diary.txt
npc: npc/027-2_Caretakers_House/door.txt
npc: npc/027-2_Caretakers_House/golbanez.txt
diff --git a/npc/027-2_Caretakers_House/crying_child.txt b/npc/027-2_Caretakers_House/crying_child.txt
index 72c70c76..045a4cd6 100644
--- a/npc/027-2_Caretakers_House/crying_child.txt
+++ b/npc/027-2_Caretakers_House/crying_child.txt
@@ -1,3 +1,6 @@
+// author: alastrim
+// love triangle quest, involved npcs: Reid's Ghost, Hamond, Savaric, Aldred, Golbenez
+
027-2.gat,50,92,0 script Aldred 314,{
// Crying Child subquest
@@ -25,8 +28,6 @@
if (@state == 1) goto L_return;
if (BaseLevel >= 80) goto L_intro;
-//TODO: make the dialogue more childish?
-
L_cry:
mes "[Crying Child]";
mes "\"Waaahhhhh! (Sniffle)\"";
@@ -46,7 +47,6 @@ L_intro:
next;
menu
"My name is "+strcharinfo(0)+", I heard you cry and decided to ask if you need help.",-;
- next;
mes "[Crying Child]";
mes "\"My parents told me not to talk to strangers... But you look nice... I trust you... I'm Aldred and we live here, my parents and me. This is our inn.\"";
next;
@@ -55,7 +55,6 @@ L_intro:
next;
menu
"Here, here, don't cry... What did you do?",-;
- next;
mes "[Aldred]";
mes "\"Err.. I was looking at my parents stuff and I found this funny thing! It looks like a big blue beetle... I thought it would be funny to play with it for a while, so I took it with me. But I... sniffle... I lost it...\"";
next;
@@ -99,7 +98,7 @@ L_return1:
L_return2:
mes "[Aldred]";
- mes "\"Hi "+strcharinfo(0)+ "! I was thinking... you were sooo nice helping me find the ... I think I should give you a gift, but I am only a child, I have nothing to give you!\"";
+ mes "\"Hi "+strcharinfo(0)+ "! I was thinking... you were sooo nice helping me find the beetle... I think I should give you a gift, but I am only a child, I have nothing to give you!\"";
next;
menu
"Don't worry, you don't need to give me anything...",-;
@@ -110,7 +109,6 @@ L_return2:
menu
"Sounds interesting... But who are your parents?",-,
"Bad idea, it will only bring more problems...",L_close;
- next;
set @state, 4;
callsub S_Update_Mask;
mes "[Aldred]";
diff --git a/npc/027-2_Caretakers_House/golbanez.txt b/npc/027-2_Caretakers_House/golbanez.txt
index b466bccf..301d0a8f 100644
--- a/npc/027-2_Caretakers_House/golbanez.txt
+++ b/npc/027-2_Caretakers_House/golbanez.txt
@@ -1,3 +1,14 @@
+// author: Jenalya
+// love triangle quest, involved npcs: Reid's Ghost, Hamond, Savaric, Aldred, Golbenez
+// state 0: just talking, if lovers state is >= 2, go on
+// state 1: ignores you until lovers state is >= 3, player can ask about the inn. needs if woman >= 7, lover >= 3 and husband >= 4 to go on
+// state 2: shows reids memory if the player brings @ROTTENRAGS_AMOUNT rotten rags and an orange cake
+// state 3: shows hamonds memory if the player brings @UNDEADEAR_AMOUNT undead ears and a chocolate cake
+// state 4: shows savarics memory if the player brings @UNDEADEYE_AMOUNT undead eyes and an apple cake
+// state 5: shows all memories again if asked for them. if @lover == 6, player can ask for savarics soul
+// state 6: wants jackOsouls, random chance of 1/50 to success
+// state 7: done
+
027-2.gat,39,91,0 script Golbenez 307,{
set @Graveyard_Inn_MASK, NIBBLE_4_MASK;
@@ -20,13 +31,12 @@
set @husband, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Husband_MASK) >> @Graveyard_Inn_Husband_SHIFT);
- //TODO: determine sane values
set @ROTTENRAGS_AMOUNT, 50;
- set @ROTTENRAGS_EXP, 30000;
- set @UNDEADEAR_AMOUNT, 50;
- set @UNDEADEAR_EXP, 50000;
- set @UNDEADEYE_AMOUNT, 50;
- set @UNDEADEYE_EXP, 50000;
+ set @ROTTENRAGS_EXP, 100000;
+ set @UNDEADEAR_AMOUNT, 30;
+ set @UNDEADEAR_EXP, 150000;
+ set @UNDEADEYE_AMOUNT, 30;
+ set @UNDEADEYE_EXP, 150000;
if (@state >= 7) goto L_Done;
if (@state == 6) goto L_Soul;
@@ -275,7 +285,7 @@ L_Soul_Try:
set @soul, rand(50);
if (@soul == 0) goto L_Soul_Success;
mes "[Golbanez]";
- mes "\"No, this one isn't as powerful as the mage ones. Bring me another.\"";
+ mes "\"No, this one isn't as powerful as the mage ones. Bring me another one of them.\"";
goto L_Soul_Try;
L_Soul_Success:
diff --git a/npc/027-2_Caretakers_House/husband.txt b/npc/027-2_Caretakers_House/husband.txt
index 44b94f9f..da65d0a3 100644
--- a/npc/027-2_Caretakers_House/husband.txt
+++ b/npc/027-2_Caretakers_House/husband.txt
@@ -1,3 +1,14 @@
+// author: Jenalya
+// love triangle quest, involved npcs: Reid's Ghost, Hamond, Savaric, Aldred, Golbenez
+// state 0: if baselevel >= 85, he asks for something to cool the drinks (ice cubes)
+// state 1: can be asked about the bracelet. needs @ICE_CUBE_AMOUNT ice cubes, then asks for bones and skulls.
+// state 2: wants @BONE_AMOUNT and @SKULL_AMOUNT bones and skulls
+// state 3: can be asked about the bracelet. needs @woman > 5 to be asked about savaric, tells, if crying child quest is completed
+// state 4: if @golbanez < 5, can be told about the memories, then asks the player to bring @RUBY_AMOUNT rubies to reid
+// state 5: waiting
+// state 6: is set in reid, gives as reward a special bowler hat
+// state 7: done
+
027-2.gat,22,84,0 script Hamond 319,{
set @Graveyard_Inn_MASK, NIBBLE_3_MASK;
@@ -15,13 +26,12 @@
set @kidstate, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Kid_MASK) >> @Graveyard_Inn_Kid_SHIFT);
- //TODO: determine sane values
set @ICE_CUBE_AMOUNT, 100;
- set @ICE_CUBE_EXP, 10000;
+ set @ICE_CUBE_EXP, 75000;
set @BONE_AMOUNT, 100;
- set @SKULL_AMOUNT, 50;
- set @BONE_EXP, 30000;
- set @RUBY_AMOUNT, 20; // caution, this value needs to be the same as in the innkeepers script!
+ set @SKULL_AMOUNT, 75;
+ set @BONE_EXP, 100000;
+ set @RUBY_AMOUNT, 50; // caution, this value needs to be the same as in the innkeepers script!
if (@state >= 7) goto L_Thanks;
if (@state == 6) goto L_Apologize;
@@ -273,8 +283,8 @@ L_Apologize:
mes "\"However, you are a great friend and did a lot for me. I want you to have this.\"";
getinventorylist;
if (@inventorylist_count == 100) goto L_Full_Inv;
- //TODO: determine reward and give it, idea: different bowler hat?
- getitem "Acorn", 1;
+ //TODO: change it to different kind of bowlerhat
+ getitem "BowlerHat", 1;
set @state, 7;
callsub S_Update_Mask;
close;
@@ -286,9 +296,9 @@ L_Thanks:
L_Not_Enough_B:
if (countitem("Bone") < @BONE_AMOUNT)
- mes "\"I'm not sure, but I think more bones will be better.\"";
+ mes "\"I need more bones than you have with you right now.\"";
if (countitem("Skull") < @SKULL_AMOUNT)
- mes "\"Maybe you should bring more skulls. It is not enough.\"";
+ mes "\"Maybe you should come back with more skulls than you have now. It is not enough.\"";
close;
L_Not_Enough_Cubes:
diff --git a/npc/027-2_Caretakers_House/innkeeper.txt b/npc/027-2_Caretakers_House/innkeeper.txt
index c0969998..194c010a 100644
--- a/npc/027-2_Caretakers_House/innkeeper.txt
+++ b/npc/027-2_Caretakers_House/innkeeper.txt
@@ -1,3 +1,18 @@
+// author: Jenalya
+// love triangle quest, involved npcs: Reid's Ghost, Hamond, Savaric, Aldred, Golbenez
+// state 0: first talk
+// state 1: if baselevel >= 85 player can ask about the inn and dead
+// state 2: reid knows now she's dead, can be asked about the bracelet
+// state 3: can be asked about bracelet, player offered help to find out what happened, she wants something to represent her sadness (frozen yeti tears)
+// state 4: can be asked about bracelet, can be asked about her life
+// state 5: if crying child quest is completed she tells about savaric, and her rooms on the first floor can be entered now to read her diary
+// state 6: tells the player to read her diary
+// state 7: set in diary, if player has seen all memories (@golbanez < 5), can tell her about it
+// state 8: can bring rubies or diamonds, if hamond and savaric told so, set their state
+// state 9: can bring rubies or diamonds, if hamond and savaric told so, set their state
+// state 10: she spoke with hamond and savaric, gives reward mylarin dust (needed for a crafting quest in thermin)
+// state 11: done, can ask about mylarin dust again
+
027-2.gat,104,39,0 script Reid's Ghost 315,{
set @Graveyard_Inn_MASK, NIBBLE_0_MASK;
@@ -25,11 +40,10 @@
set @golbanez, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Golbanez_MASK) >> @Graveyard_Inn_Golbanez_SHIFT);
- //TODO: determine sane values
- set @YETI_TEAR_AMOUNT, 10;
- set @YETI_TEAR_EXP, 60000;
- set @DIAMOND_AMOUNT, 10; // caution, this value needs to be the same as in the lovers script!
- set @RUBY_AMOUNT, 20; // caution, this value needs to be the same as in the husbands script!
+ set @YETI_TEAR_AMOUNT, 30;
+ set @YETI_TEAR_EXP, 100000;
+ set @DIAMOND_AMOUNT, 20; // caution, this value needs to be the same as in the lovers script!
+ set @RUBY_AMOUNT, 50; // caution, this value needs to be the same as in the husbands script!
if (@state >= 11) goto L_Happy;
if (@state == 10) goto L_Thanks;
@@ -100,7 +114,7 @@ L_Offer_Help2:
if (@kidstate == 5)
menu
- "Shall I help you to find out what happened to you?", L_Skip1,
+ "Shall I help you to find out what happened to you?", L_Offer_Help1,
"Hi. I found this in the main hall. Do you know to whom it belongs?", L_Bracelet,
"I don't want to bother you.", L_Close;
L_Skip1:
@@ -277,7 +291,6 @@ L_Savaric:
mes "\"I'm feeling hurt. And confused. Both Hamond and Savaric turned out not to be the person I believed them to be.\"";
set @state, 8;
callsub S_Update_Mask;
- if (@lover < 4) close;
close;
L_Sorry:
@@ -338,15 +351,25 @@ L_Thanks:
mes "\"I'm so glad, now I know what happened and spoke to Savaric and Hamond. Thank you so much. Please take this.\"";
getinventorylist;
if (@inventorylist_count == 100) goto L_Full_Inv;
- //TODO: determine reward and give it
- getitem "Acorn", 1;
+ getitem "MylarinDust", 1;
set @state, 11;
callsub S_Update_Mask;
+ next;
+L_Mylarin:
+ mes "[Reid's Ghost]";
+ mes "\"This is called mylarin dust. My mother gave it to me when my father had his accident. She said it is very valuable.\"";
+ next;
+ mes "\"I'm not sure what it is used for, but I remember her saying something about some special crafting tradition which uses it to make really strong armor.\"";
+ next;
+ mes "\"Maybe you should try to find someone who can use it.\"";
close;
L_Happy:
mes "[Reid's Ghost]";
mes "\"Thank you for all you've done.\"";
+ menu
+ "Can you tell me again about the powder you gave me?",L_Mylarin,
+ "I'm glad I could helped.",-;
close;
L_Not_Enough_Tears:
diff --git a/npc/027-2_Caretakers_House/lover.txt b/npc/027-2_Caretakers_House/lover.txt
index c6d1d2ee..f816269b 100644
--- a/npc/027-2_Caretakers_House/lover.txt
+++ b/npc/027-2_Caretakers_House/lover.txt
@@ -1,3 +1,14 @@
+// author: Jenalya
+// love triangle quest, involved npcs: Reid's Ghost, Hamond, Savaric, Aldred, Golbenez
+// state 0: if baselevel >= 85, tells he want dark crystals
+// state 1: needs @CRYSTAL_AMOUNT dark crystals to go on, tells the player to search the inn for source of magic (Golbanez)
+// state 2: if the player has talked to Golbanez, he tells you to negotiate with him to find out what happened
+// state 3: when player has seen all memories (@golbanez < 5), telling Savaric what happened. he asks the player to bring reid @DIAMOND_AMOUNT diamonds
+// state 4: waiting for reid
+// state 5: is set in reid, he thanks for help and asks to negotiate with golbanez for his soul
+// state 6: waiting for youl, if @golbanez >= 7 got it, giving sorcerer robe
+// state 7: done
+
027-2.gat,43,73,0 script Savaric 317,{
set @Graveyard_Inn_MASK, NIBBLE_1_MASK;
@@ -15,10 +26,9 @@
set @golbanez, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Golbanez_MASK) >> @Graveyard_Inn_Golbanez_SHIFT);
- //TODO: determine sane values
- set @CRYSTAL_AMOUNT, 300; //200?
- set @CRYSTAL_EXP, 100000;
- set @DIAMOND_AMOUNT, 10; // caution, this value needs to be the same as in the innkeepers script!
+ set @CRYSTAL_AMOUNT, 500;
+ set @CRYSTAL_EXP, 200000;
+ set @DIAMOND_AMOUNT, 20; // caution, this value needs to be the same as in the innkeepers script!
if (@state >= 7) goto L_Have_Soul;
if (@state == 6) goto L_Want_Soul;
@@ -30,6 +40,7 @@
mes "You see a dead man hanging. This place is creepy!";
next;
+ if (baselevel < 85) goto L_Close;
mes "Suddenly the man opens his eyes and look at you.";
next;
mes "[Hanged Man]";
@@ -219,10 +230,12 @@ L_Soul:
mes "\"Please take this as a symbol of my gratitude.\"";
getinventorylist;
if (@inventorylist_count == 100) goto L_Full_Inv;
- //TODO: determine and give reward
- getitem "Acorn", 1;
+ getitem "SorcererRobeRed", 1;
set @state, 7;
callsub S_Update_Mask;
+ mes "\"This is what mages and their apprentices weared when I lived. It is white because I wasn't a master yet.\"";
+ next;
+ mes "\"But I guess the old traditions have changed since then.\"";
close;
L_Have_Soul:
diff --git a/npc/027-2_Caretakers_House/testnpcs.txt b/npc/027-2_Caretakers_House/testnpcs.txt
index c126e58d..37421aa5 100755
--- a/npc/027-2_Caretakers_House/testnpcs.txt
+++ b/npc/027-2_Caretakers_House/testnpcs.txt
@@ -162,10 +162,6 @@ L_3:
close;
}
-027-2.gat,100,43,0 script Evil Guard 316,{
- end;
-}
-
027-2.gat,24,77,0 script Headless Man 318,{
end;
}
diff --git a/npc/032-1_Outback/miriam.txt b/npc/032-1_Outback/miriam.txt
index f15c1259..5714f807 100644
--- a/npc/032-1_Outback/miriam.txt
+++ b/npc/032-1_Outback/miriam.txt
@@ -55,7 +55,6 @@ L_intro:
next;
menu
"Oh, I am sorry! I didn't know you were meditating...",-;
- next;
mes "[Miriam]";
mes "\"You are really sorry? Ok, but that is not enough... I need you to do something for me. As you can imagine, I will need a lot of time to concentrate and get back to the state I was when you interrupted me.\"";
next;
@@ -106,7 +105,6 @@ L_ask2:
"Yes, here it is!",L_getitems,
"What was that again?", L_ask3,
"No, not yet.",-;
- next;
mes "\"So please hurry up!\"";
close;
@@ -182,7 +180,6 @@ L_offer:
if (!(getskilllv(SKILL_POOL))) goto L_noskill;
menu
"Yes, I look really good in this " +@torso$+ ".",-;
- next;
mes "[Miriam]";
mes "\"I see. I like the way you distributed your Character Points too... " +@agi+ " points to Agility! You really know how to prepare yourself for a good fight!\"";
next;
@@ -193,7 +190,6 @@ L_offer:
menu
"I'm in! What kind of test is it?",-,
"I don't think I need more speed right now",L_giveup;
- next;
L_test:
mes "[Miriam]";