|
|
|
|
|
|
|
| Demon:
|
|
|
|
|
| Dreamcatcher:
|
|
|
|
|
|
|
|
|
|
|
|
|
| Shadowlords:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
The Walk
Journal entry (at beginning):
Your old friend Josura has asked you to meet with Thistle and secure passage to Eureka.
From there, you will need to make your way to the encampent of the Red Shields and deliver
a message to Captain Preth. First things first, Thistle is known to frequent
the Thirsty Thunder Beast. Perhaps you should search there.
(triggered conversation at beginning)
sl1_noob_trig
//fire once trigger
void main()
{
if (!(GetLocalInt(OBJECT_SELF, "fired") == 1))
{
SetLocalInt(OBJECT_SELF, "fired", 1);
object oNooble = GetObjectByTag("Nooble");
AssignCommand(oNooble, ActionMoveToObject(GetEnteringObject()));
AssignCommand(oNooble, ActionStartConversation(GetEnteringObject(), "sl1_noob_greet"));
}
}
Nooble: Hey there! Aren't you <FirstName>?
1. Of course I am, lad.
You are? Great! I hear your off an an adventure, and I'd like to come along!
1. Sorry, kid, group's full.
2. Hmm. Maybe.
Oh, I'd be great along side you! The swords, the magic, the traps!
1. So you're some kind of thief?
2. I take it you know something about magic?
3. I'm guessing you're a fighter, right?
Er, not exactly.
1. So, what can you do?
Well, I was thinking more of a henchman. You'd be amazed at what I can carry! I've
been picking up sheep and ponies to prepare.
1. Huh. Well, okay.
sl1_noob_act1
void main()
{
AddHenchman(GetPCSpeaker());
SetLocalObject(OBJECT_SELF, "Master", GetPCSpeaker());
}
2. Sorry, maybe later.
2. Er . . . no.
Oh. I'm looking to join up with a crew of brave adventurers. Please let <him/her> know.
Nooble is a lvl1 Fighter, who runs from any fight. He tends to pick things up if left around and will drop them
if asked nicely.
A variety of rumors and conversations can be found here:
Emmel: "My little Nellie was scared white by Oebelar the other day."
Fiffle: "That old ghost? Well, I suppose a four-year-old might find him frightening, but he's
about as scary as my mother-in-law's roast."
Emmel: "Nellie said that the ghost actually spoke to her."
Fiffle: "Really? And what did the decrepit mage say?"
Emmel: "Something about 'Beware the Shadowlord' or something like that."
Fiffle: "Strange. Well, what's a ghost supposed to talk about, the weather? If I was dead a few hundred years,
I suppose I'd be a bit cooky. Still, it is odd that he actually spoke." (leaves)
Emmel: "Well, time to get supper ready for my oafish husband." (leaves)
Jerin: ". . . because the Zhent spies are everywhere!"
Ulcanob: "Jerin, you're always saying that."
Kimmel: "Actually, I overheard Captain Preth, before he left, that trouble was brewing with the Zhentarim. Jerin
might actually be right this time."
Jerin: "See! Heed my words. Why, Carly was sayin' that there was a dark figure slipping into people's houses late at night."
Ulcanob: "Probably just a burglar."
Kimmel: "Never can tell."
Morkel:
Oh, it's you, <FirstName>. Why are you lolly-gagging around here? There's monkey-beasts in the walls of the
Thirsty Thunder Beast. Jerin said so himself!
1. Monkey beast? What sort of creature is that?
I dunno. Like a monkey, I suppose, except big and mean. Hey, I didn't
see one, that's just what I hear.
2. "Enough of your rambling. I'm off." (bye)
3. "Well, I'll visit the Thunder Beast and see what's up." (bye)
4. (INT < 10) <FirstName> hate monkeys! Will smash! (bye)
Salina: ". . . and he looks just like her dead lover!"
Wesry: "Oh, Salina, Ehaevaera is a proper woman. Even if she has taken a lover, we shouldn't judge her
so harshly. Her people are gone across the sea and she's been alone all these years."
Salina: "Well, I'm just saying. How did private Regin rate an elven lover?"
Wesry: "You're terrible!"
Quincy: ". . . you know, Ivalis, the one with the keen sense of smell?"
Erik: "Yes, go on."
Quincy: "Well, he was in Angah's shop, and he distinctly smelled the vanilla body powder that Ehaevaera sells."
Erik: "So?"
Quincy: "It means that Angah is actually a she!"
Erik: "And?"
Quincy: "Well, it's weird, isn't it?"
Erik: "Whatever."
A woman named Sarah looks for her son:
"Fych? Where are you? You come back this instant!"
"Excuse me, have you seen a small boy dressed in blue? He's run off again."
Set BOYTOLD = 1
sl1_sarah_con2
int StartingConditional()
{
// Inspect local variables
if((GetLocalInt(GetPCSpeaker(), "BoyTold") == 1)&&(!(GetLocalInt(GetModule(), "BoyReward") == 1)))
return FALSE;
return TRUE;
}
sl1_sarah_act1
void main()
{
// Sarah has told the player about boy
SetLocalInt(GetPCSpeaker(), "BoyTold", 1);
}
1. "Sorry, haven't seen the boy. I'll keep my eyes open."
(INT < 10) <FirstName> will look for boy.
"If you see him, let him know that his mother is looking for him and she's none too happy."
2. (BOYSEEN=1, BOYREWARD=0) "Actually, I did see him. He was trying to pawn off a ring he'd stole
at Angah Lalla's."
(INT < 10) Boy at Anga Lala's. He be sellin' stuff.
"That boy will be the death of me! Time for another visit to Father Morrish." (+25xp, BOYREWARD=1)
sl1_sarah_act2
void main()
{
// Give the speaker some XP
GiveXPToCreature(GetPCSpeaker(), 25);
// Set the variables
SetLocalInt(GetModule(), "BoyReward", 1);
}
Have you had any luck finding my son?
sl1_sarah_act1
int StartingConditional()
{
// Inspect local variables
if((!(GetLocalInt(GetPCSpeaker(), "BoyTold") == 1))&&(!(GetLocalInt(GetModule(), "BoyReward") == 1)))
return FALSE;
return TRUE;
}
Sorry, I'm a bit busy now that I know where my son is.
sl1_sarah_act1
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(GetModule(), "BoyReward") == 1))
return FALSE;
return TRUE;
}
Juniper Wobblestone, a young gnome acolyte of Baervan Wildwanderer calls out on a corner:
"Um, would anyone like to learn about Baervan Wildwanderer? A fine god indeed. I have some
literature you may want to read."
Juniper: Welcome. Praise be to Baervan Wildwanderer. Would you care for a pamphlet?
1. (INT >=10) Sure, I'll take one (gets pamphlet).
(INT < 10) No make fun of me! Can't read! (bye)
2. What are you doing here?
I was asked by my master to travel to the city and spread the great word of Wildwanderer.
(WIS > 12 OR READPAMPHLET=1) 1. (INT >=10) I'm afraid your master may be teaching you a hard lesson friend. To truly follow one's call is in action, not word.
(INT < 10) Only silly ones blab, blab, blab. To do is to be!
Oh, I have been a fool. I've been trying so hard to please my master, I've heard little of what he's taught.
1. (INT >=10) Perhaps some practical applications are in order? Join with me and we shall find where your true path lies.
(INT < 10) Join with me! Together we fight and do!
Oh, could I? I should like that very much. (joins)
2. (INT >=10 )Well, let that be a lesson to you. Focus on improving yourself and you will find that those that truly matter will be pleased.
(INT < 10) Oh.
(READPAMPHLET=0)2. Have you actually read these pamphlets you're handing out?
Why, no. Give me a moment and I'll read it. (Set READPAMPHLET=1)
3. (INT >= 10) Enough of your jabbering. I'm off.
(INT < 10) Um, bye.
3. Sorry, I don't accept pamphlets from strangers.
If you are reading this, it is because my buffoon of an acolyte doesn't have the sense
to actually read what I'm giving him. Please let him embarrass himself as long as possible.
Please don't think too badly of our religion. Most of our followers are much less confused.
Juniper is equipped with a mace and scale mail. His level matches the party's.
Caril's Craft Cornucopia
Caril will sell various goods the adventurer might need, including torches, lamps,
rope, a few low-level scrolls, and basic armor.
Caril: Welcome friends. Preparing for the rugged life of an adventurer? Be it
sturdy equipment, spells to dazzle, or armor to save your skin, you'll find it all here.
1. I'd like to see what you have for sale.
2. Not right now, thanks.
The Steel Scabbard
Fissten Redbeard, the dwarven proprietor, has a range of weapons and armor to offer.
"G'day to ye. Should ye wish to get yer hands on some fine steel, this is the place for ye."
Kinnard, a rogue for hire, stands in the corner. His level matches the party's. He carries leather armor, a lamp, and a rapier.
Kinnard: Hail <FirstName>. I hear you're finally heading out of this place. I've got a quick blade and I'm handy with locks.
You might find me handy if you brought me along, though I'd need a few golds to cover my expenses.
1. (gold < 25gp) (INT >= 10)Sorry, I don't think I can afford you at the moment.
(INT < 10) Um, one . . . two . . . Er, not have enough.
2. (gold > 25gp) (INT >=10) I'm heading out as soon as I can. How about 25gp for your troubles?
(INT < 10) I think this enough gold. Here.
Aye, that would cover it. It's a deal! (-25gp, joins)
3. (gold > 25gp) (INT >=10) Perhaps another time Kinnard. I'm busy at the moment.
(INT < 10) Gotta go. Bye, bye.
Fistoon's Eatery
This is an open-air series of tables. When first approached, the following conversation by patrons
is overheard:
Kessler: Man, these noodles are good.
Orno: Yeah. I wonder what they put in them? I can't place the flavor.
Kessler: Who cares? I'd eat my own spleen if it tasted this good.
Kessler: What is it? Can't you see I'm eating?
1. Sorry to bother you.
2. (BEETLEHEARD=1) Soylent noodles are made out of beetles! It's beetles!
sl1_kessler_con1
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalInt(GetPCSpeaker(), "BeetleHeard") == 1))
return FALSE;
return TRUE;
}
Beetles huh? That must be what gives it the smokey flavor. Surprisingly, they don't taste like chicken.
3. (INT < 10) Noodles yummy.
Get lost, you simpleton.
<FirstName> not stupid! Will kill you! (attacks)
You not nice man, booger eater.
4. Want to take a look at the real noodle recipe?
sl1_kessler_con2
#include "nw_i0_tool"
int StartingConditional()
{
// Make sure the PC speaker has these items in their inventory
if(!HasItem(GetPCSpeaker(), "Recipe"))
return FALSE;
return TRUE;
}
Ah, I like the pancreatic juice. The juice is good. Wonder where they get it?
Ah! Does no one care about the poor beetles?
Um, the pancreas?
Fistoon:
Welcome, my friend. Heard about my famous noodles? Why, I had Drizzit himself
in here once, just to try the noodles! Just one gold for a golden treat!
1. Well, did he like the noodles?
Of course he did, my good fellow. And if it's good enough for a dark elf,
it's certainly good enough for you!
2. So, what exactly is in these noodles to make them taste so good?
What? My noodle recipe? It's a closely guarded secret, handed down by
my great-grandfather. I couldn't part with it.
1. Come on, just a hint? I bet it's oregano.
Sorry. Family secret. My lips are sealed.
3. Yes, I'd like to try the noodles.
sl1_fistoon_con1
int StartingConditional()
{
if (!(GetGold(GetPCSpeaker()) > 0))
return FALSE;
return TRUE;
}
sl1_fistoon_act1
void main()
{
TakeGoldFromCreature(1, GetPCSpeaker(), FALSE);
}
Well, do you like?
1. Hey, these are tasty. Succulent, but not pretentious. Smooth, but with zest. I like it! (-1 gp)
4. Sorry, couldn't eat another bite.
Hmm. How about a mint? Just one mint?
1. Better get a bucket.
5. (BeetleHEARD=1 AND BeetleREWARD=0) (INT >=10) So Fistoon, why would you ask Gorn to raise Fire beetles?
sl1_fistoon_con2
int StartingConditional()
{
if(!(GetLocalInt(GetPCSpeaker(), "BeetleHeard") == 1))
return FALSE;
if(!(GetLocalInt(GetModule(), "BeetleReward") == 1))
return FALSE;
return TRUE;
}
(INT < 10) Gorn say you make him keep monkey monsters!
What? The man is mad. I would suggest you ignore his ramblings.
6. (BeetleREWARD=1) (INT >=10) Your nefarious plan is over Fistoon! I've found your recipe and laid it all out for the authorities.
sl1_fistoon_con3
int StartingConditional()
{
if(GetLocalInt(GetModule(), "BeetleReward") == 1)
return FALSE;
return TRUE;
}
(INT < 10) Give paper with noodle and monkey parts to law man. You in trouble now!
Oh dear. Well, I suppose I'll have to bribe a few councilors before the next meeting. Now, how about some more noodles, to atone for the difficulties you've caused?
In a nearby house, Fistoon's recipe can be found locked in a chest. The noodle recipe is as follows:
1 lb. Cormyrean noodles
1 large onion
3 carrots
1 oz. Beetle pancreatic juices
Salt and pepper to taste
If the recipe is shown to Kessler, he'll respond "Ah, I like the pancreatic juice. The juice is good. Wonder where they get it?"
In the basement of The Thirsty Thunder Beast, Fistoon has an arrangement with the owner to breed Beetles.
Private Vilakon of the town militia rests here.
Hail <FirstName>! 'Tis a fine day in Scornubel. How do you fare today?
1. Well and thanks.
2. (LOCKHEARD=1 && LOCKDONE=0) Pirchek's father seems to have locked himself in the house. Your help would be appreciated.
sl1_vilakon_con1
int StartingConditional()
{
if(GetLocalInt(GetModule(), "LockDone") == 1)
return FALSE;
if(!(GetLocalInt(GetPCSpeaker(), "LockHeard") == 1))
return FALSE;
return TRUE;
}
His old man locked himself in again, huh? Well, I suppose I'll talk
to the locksmith when I get off duty. (+25 xp) (Set LOCKDONE=1)
sl1_vilakon_act1
void main()
{
GiveXPToCreature(oTarget,25);
SetLocalInt(GetModule(), "LockDone", 1);
}
3. (BeetleHEARD=1) You might want to know about Gorn. He seems to have gone into the business
of raising livestock for Kessler. Beetle livestock, that is.
sl1_vilakon_con2
int StartingConditional()
{
if(!(GetLocalInt(GetPCSpeaker(), "BeetleHeard") == 1))
return FALSE;
if(GetLocalInt(GetModule(), "BeetleReward") == 1)
return FALSE;
return TRUE;
}
What? Gorn is raising Fire Beetles? The man isn't creative enough, it must be Kessler
that's behind this. Now, we can't snoop around someone's house, but if Kessler had something incriminating to hide, that's where I'd put it.
4. (BeetleHEARD=1, has recipe, BeetleREWARD=0) I have proof of Kessler's guilt, officer. I found Kessler's noodle recipe.
His noodles are made out of fire beetles!
sl1_vilakon_con3
#include "nw_i0_tool"
int StartingConditional()
{
if(!(GetLocalInt(GetPCSpeaker(), "BeetleHeard") == 1))
return FALSE;
if(GetLocalInt(GetModule(), "BeetleReward") == 1)
return FALSE;
// Make sure the player has the recipe
if(!HasItem(GetPCSpeaker(), "Recipe"))
return FALSE;
return TRUE;
}
Aha! That scoundrel, cutting out the city of it's proper Fire Beetle pancreas tax. He'll
be sweating before the council tonight. (+200xp, BeetleREWARD=1, Lawful+)
sl1_vilakon_act2
void main()
{
object oFirstMember;
object oPartyMember;
oFirstMember = GetPCSpeaker();
oPartyMember = GetFirstFactionMember(oFirstMember, TRUE);
while (GetIsObjectValid(oPartyMember) == TRUE)
{
GiveXPToCreature(oPartyMember,200);
oPartyMember = GetNextFactionMember(oFirstMember, TRUE);
}
AdjustAlignment(GetPCSpeaker(), ALIGNMENT_LAWFUL, 1);
SetLocalInt(GetModule(), "BeetleReward", 1);
}
5 (RINGTALK=1) I have a friend who's falsely accused of stealing a ring. Any idea as to who in town might be responsible?
sl1_vilakon_con4
int StartingConditional()
{
if(!(GetLocalInt(GetPCSpeaker(), "RingTalk") == 1))
return FALSE;
return TRUE;
}
Hmm. Sounds like quite a conundrum. Well, if it's stolen objects you seek, I'd try
Angah's curio shop southwest of The Walk.
-
The Thirsty Thunder Beast When first entered, the following conversation can be heard:
Ulmann: ". . . but I couldn't sleep a wink last night!"
Ilnamtos: "Rats?"
Ulmann: "No, too big for rats. I slept with a sword by my side, I tell ya."
Presephor: Welcome to the Thirsty Thunder Beast my friend. We have some of the finest beers
imported from all around Faerun.
1. I would like to see what drinks you have.
2. I'm looking for the proprietor of this place.
Gorn? Oh, he's downstairs puttering around. Looked worried about something.
3. (POTIONTALK=1) I have come from visiting Annah. It appears she has taken a liking to you.
sl1_pres_con1
int StartingConditional()
{
if(!(GetLocalInt(GetPCSpeaker(), "PotionTalk") == 1))
return FALSE;
return TRUE;
}
Annah, what a sweet lass. They say that bartenders are good talkers, but I find myself
strangely shy around her. Please, if you do see her again, tell her of my love. (POTIONTALK=2)
sl1_pres_act1
void main()
{
SetLocalInt(GetPCSpeaker(), "PotionTalk", 2);
}
4. Nothing, thanks.
The main floor serves drinks. Upstairs are 3 rooms. In the basement is a secret door that leads to a cage with a hole
in the back. In front of the cages is Gorn, the owner.
Gorn: (KOBOLODHEARD=0)Oh dear, this can't be good. Eh? Who's there? Oh, it's you.
Perhaps you can help. I seem to have lost several of my more unusual guests, they're Fire Beetles, you see. I'm keeping them
for Fistoon, though it's tried my patience. This is the last straw - clean out them creatures, and I'll reward you handsomely. (KOBOLODHEARD=1)
sl1_gorn_con1
int StartingConditional()
{
if(GetLocalInt(GetPCSpeaker(), "BeetleHeard") == 1)
return FALSE;
return TRUE;
}
sl1_gorn_act1
void main()
{
SetLocalInt(GetPCSpeaker(), "BeetleHeard", 1);
}
(KOBOLODHEARD=1 && KILLEDREWARD=0)Those nasty beasts. I can still hear them clawing in the walls.
sl1_gorn_con2
int StartingConditional()
{
if(!(GetLocalInt(GetPCSpeaker(), "BeetleHeard") == 1))
return FALSE;
if(GetLocalInt(GetModule(), "KilledReward") == 1)
return FALSE;
return TRUE;
}
(KILLEDREWARD=1)Hear that? It's finally quiet. So, what can I do for you?
sl1_gorn_con3
int StartingConditional()
{
if(!(GetLocalInt(GetModule(), "KilledReward") == 1))
return FALSE;
return TRUE;
}
1. (KILLEDBeetleS=0) I'll see what I can do.
sl1_gorn_con4
int StartingConditional()
{
if(!(GetLocalInt(GetModule(), "KilledBeetles") == 1))
return FALSE;
return TRUE;
}
Wonderful. Do be careful!
2. (KILLEDKOBOLODS=1 AND KILLEDREWARD=0) They've been taken care of.
sl1_gorn_con5
int StartingConditional()
{
if(!(GetLocalInt(GetModule(), "KilledReward") == 1))
return FALSE;
if(GetLocalInt(GetModule(), "KilledBeetles") == 1)
return FALSE;
return TRUE;
}
Very good, very good. Here's a token of my appreciation. I don't know what I was doing getting tangled up with that Fistoon.(+100gp, KILLEDREWARD=1)
sl1_gorn_act2
void main()
{
SetLocalInt(GetModule(), "KilledReward", 1);
GiveGoldToCreature(oPC, 100);
}
3. I don't have anything to say.
Behind the bar are 2-6 fire beetles.
OnDeath event:
sl1_beetle_death
void main()
{
SetLocalInt(GetModule(), "KilledBeetles", 1);
}
On the main floor is Thistle, the halfling. He's gotten into a scrape with Bryt and his fiance Tinna:
Thistle: ". . . I'll tell you once again, sir, that I did not take her ring."
Bryt: "Give it over halfling, or I'll split you open! It's my betrothed and I'll have it back."
Tinna: "I saw your little man shape dart away after you pulled my ring off! It is you."
Thistle: "I'm not a little man! Besides, how do you know it was me?"
Bryt: "See any other halflings around here?"
Thistle: "Oh, <FirstName>, it's you. Josura's given me instructions for our journey. Well, I'd be happy to get on our way, but I find myself accosted by this
height-obsessed brute. Perhaps you could track down this ring?" (SET RINGTALK=1)
sl1_thistle_con1
int StartingConditional()
{
if(GetLocalInt(GetModule(), "RingGiven") == 1)
return FALSE;
if(GetLocalInt(GetPCSpeaker(), "RingTalk") == 1)
return FALSE;
return TRUE;
}
sl1_thistle_act1
void main()
{
SetLocalInt(GetPCSpeaker(), "RingTalk", 1);
}
Journal entry:
It appears that departing to Eureka with Thistle will be more difficult than you thought.
A man named Bryt accuses Thistle of stealing his fiancee's ring. Tinna, the owner of the ring,
claims a halfling or small man is responsible. Perhaps some of the other inhabitants of the
town would know of this theft.
Thistle: (RINGGIVEN=0)<FirstName>, you must find this ring, as this infernal beanstalk of a man
appears convinced that I'm the thief. Give it to him and we can be on our way
sl1_thistle_con2
int StartingConditional()
{
if(GetLocalInt(GetModule(), "RingGiven") == 1)
return FALSE;
if(!(GetLocalInt(GetPCSpeaker(), "RingTalk") == 1))
return FALSE;
return TRUE;
}
We can be on our way now. Keep in mind that once we leave, there's no returning until we've delivered our message.
sl1_thistle_con3
int StartingConditional()
{
if(!(GetLocalInt(GetModule(), "RingGiven") == 1))
return FALSE;
return TRUE;
}
1. I'm ready to go. (Move party to Eureka map)
sl1_thistle_con4
#include "sl_include"
int StartingConditional()
{
return GetIsPartyTogether(GetPCSpeaker());
}
sl1_thistle_act2
void main()
{
object oFirstMember = GetPCSpeaker();
location lEureka = GetLocation(GetWaypointByTag("lEureka"));
object oPartyMember = GetFirstFactionMember(oFirstMember, TRUE);
while (GetIsObjectValid(oPartyMember) == TRUE)
{
AssignCommand(oPartyMember, JumpToLocation(lEureka));
AssignCommand(oPartyMember, ClearAllActions());
oPartyMember = GetNextFactionMember(oFirstMember, TRUE);
}
}
2. My group isn't all here yet. Wait while I get them over here.
sl1_thistle_con5
int StartingConditional()
{
// Check to see if everyone is in the same area (the tavern)
object oFirstMember = GetPCSpeaker();
object oPartyMember = GetFirstFactionMember(oFirstMember, TRUE);
int iTogether = 1;
while (GetIsObjectValid(oPartyMember) == TRUE)
{
if((iTogether == 1) && (GetArea(oFirstMember) != GetArea(oPartyMember)))
{
iTogether = 0;
}
oPartyMember = GetNextFactionMember(oFirstMember, TRUE);
}
if (iTogether==1)
{
return 0;
}else{
return 1;
}
}
3. I have some things to do in town first.
Bryt: What is it? Are you friends of this fool, this thief?
sl1_bryt_con1
int StartingConditional()
{
if(GetLocalInt(GetModule(), "RingGiven") == 1)
return FALSE;
return TRUE;
}
1. (RINGGIVEN=0) This is not the thief you're looking for. Move along.
sl1_bryt_con1
(Persuade DC20 failed) Your <class> mind tricks have no affect on me! Begone!
(Persuade DC20 succeeded) This is not the thief I'm looking for. He can go. (RINGGIVEN=1)
2. (RINGGIVEN=0) My friend is not a thief. I shall find this ring and return it to you.
sl1_bryt_con1
This man-runt is clearly responsible. Convince him to turn it over and I shall spare his life.
3. (Ring in inventory) I have found your ring. Take it and let my friend go (Set RINGGIVEN=1, remove ring).
sl1_bryt_con3
#include "nw_i0_tool"
int StartingConditional()
{
// Make sure the PC speaker has these items in their inventory
if(!HasItem(GetPCSpeaker(), "TinnaRing"))
return FALSE;
return TRUE;
}
sl1_bryt_act1
void main()
{
object oRing = GetObjectByTag("TinnaRing");
object oBryt = GetObjectByTag("Bryt");
ActionTakeItem(oRing, GetPCSpeaker());
SetLocalInt(GetModule(), "RingGiven", 1);
ActionStartConversation(oBryt, "sl1_bryt_tinna");
}
4. (RINGGIVEN=1) My mistake. Your friend can go now.
Your friend can go now. I'm a bit preoccupied if you know what I mean.
sl1_bryt_con2
int StartingConditional()
{
if(!(GetLocalInt(GetModule(), "RingGiven") == 1))
return FALSE;
return TRUE;
}
1. Nudge, nudge, wink, wink. Say no more, say no more.
2. Right. Later, then.
Tinna: This nasty half-man has taken my engagement ring! My brave Bryt will get it for me, I just know it.
sl1_bryt_con1
1. Perhaps you judge hastily. Can you not tell me more of the theft?
Well, I was at the The Walk when a little figure darted out, grabbed
my ring, and ran off. The size was that of a halfling, no more. He clearly fits the bill!
2. Your petty ring is no concern of mine. Give up this madness and let this man go free.
But it was my engagement ring! Nothing will come between me and my Bryt!
I'm sorry, your rambling words make it hard to hear my dearest Bryt!
sl1_bryt_con2
Giving the ring (found an Angah's) will result in this conversation (sl1_bryt_tinna):
Bryt: "Gee. This is embarrassing. My mistake. I'm terribly sorry."
Tinna: "Bryt! A few minutes ago, you were ready to sock him one."
Bryt: "All in the name of love, my dear."
Tinna: "Oh Bryt, you're such a sweetie."
Thistle: "Well, now that that's over, let me know when you're ready to begin the trip and we'll head off."
Attacking Bryt or Tinna will get everyone except Thistle hostile to the party. Major push in the evil direction. Set RINGGIVEN=1.
//OnDeath event for Bryt:
void main()
{
SetLocalInt(GetModule(), "RingGiven", 1);
}
-
Ehaevaera’s Beauty Rooms
The front room holds Ehaevaera, the proprietor. When approached, she will say:
Ehaevaera: Welcome. It is my honest goal to bring out the beauty that exists
in every woman. Behind this door you will find hair stylists, masseuses, tattoo experts,
and specialists in powders and scents. Feel free to peruse our services, though only women may pass to the back areas.
1. (FEMALE) How may I enter the back rooms?
sl1_eha_con1
int StartingConditional()
{
if(!(GetGender(GetPCSpeaker()) == GENDER_FEMALE))
return FALSE;
return TRUE;
}
Speak with Marcha the guard. He will let you pass
2. I see. Goodbye.
The front door is guarded by Marcha (F lvl5). If a female party
member approaches, he will step out of the way.
Marcha:
(MARCHATRICK=1)Uh, I think I need a little quiet time just now.
sl1_marcha_con1
int StartingConditional()
{
if(!(GetLocalInt(GetModule(), "MarchaTrick") == 1))
return FALSE;
return TRUE;
}
(MARCHATRICK=1)Could you stop bothering me?
sl1_marcha_con5
int StartingConditional()
{
if(!(GetLocalInt(GetModule(), "MarchaTrick") == 1))
return FALSE;
return TRUE;
}
(MARCHATRICK=0)Yes?
sl1_marcha_con2
int StartingConditional()
{
if(GetLocalInt(GetModule(), "MarchaTrick") == 1)
return FALSE;
return TRUE;
}
1. May I pass?
(player is female)No problem, miss. (steps out of the way)
sl1_marcha_con3
int StartingConditional()
{
if(!(GetGender(GetPCSpeaker()) == GENDER_FEMALE))
return FALSE;
return TRUE;
}
sl1_marcha_act1
void main()
{
location lMarchaSide = GetLocation(GetWaypointByTag("wMarchaSide"));
ActionMoveToLocation(lMarchaSide);
}
(player is male) Sorry, only women past this point.
sl1_marcha_con4
int StartingConditional()
{
if(GetGender(GetPCSpeaker()) == GENDER_FEMALE)
return FALSE;
return TRUE;
}
1. My mistake, sorry.
2. I take offense! I am a woman!.
Uh, you sure don't seem . . .(Set local variable MARCHATRICK to 1)
sl1_marcha_act2
void main()
{
SetLocalVariable(GetPCSpeaker(), "MarchaTrick", 1);
}
1. Just kidding. I'll go now.
2. The hairy arms? The jutting jaw? Oh, how I was teased as a child.
Look, I'm really sorry, but . . .
1. <StartCheck>[Lie]</Start> How can you be so cruel? Let me pass so that I might get my monthly hair treatment.
(Persuasion DC20 succeeds)Sorry ma'am, my mistake. (moves)
sl1_marcha_con6
#include "nw_i0_tool"
int StartingConditional()
{
if(AutoDC(DC_HARD, SKILL_PERSUADE, GetPCSpeaker()); == FALSE)
return FALSE;
return TRUE;
}
sl1_marcha_act1
(Persuasion DC20 fails)Look, sir, I need to ask you to leave now.
1. <StartCheck>[Lie]</Start> Here, I'll prove I'm all woman! Kiss me you fool!
(Persuasion DC15 succeeds). No, no, that's, uh . . . fine, go to the back rooms.
sl1_marcha_con7
#include "nw_i0_tool"
int StartingConditional()
{
if(AutoDC(DC_MEDIUM, SKILL_PERSUADE, GetPCSpeaker()); == FALSE)
return FALSE;
return TRUE;
}
You obviously need some kind of treatment (moves, +chaotic)
sl1_marcha_act2
void main()
{
location lMarchaSide = GetLocation(GetWaypointByTag("wMarchaSide"));
ActionMoveToLocation(lMarchaSide);
AdjustAlignment(GetPCSpeaker(), ALIGNMENT_CHAOTIC, 1);
}
(Persuasion DC15 fails). That's it. Get out of here or I'll notify the militia!
2. Hmm. I guess I'll just go now.
2. Nice day, huh?
I try not to think about the weather so much when I'm in here. It makes my job harder.
1. You must enjoy looking at all the beautiful women that come by.
You'd think that's true, but not so much really. I once worked for Fistoon, cooking noodles.
Now the smell of noodles makes me sick. Same thing, really.
3. Bye.
Annah: (player is woman)Yes, how may I help you?
sl1_marcha_con3
(player is man)Er, this could be a bit of a challenge.
sl1_marcha_con4
1. How about a make over?
Wonderful. Only two gold for the finest coiffure!
(>=2gp)1. Sure. That sounds great.
sl1_annah_con1
int StartingConditional()
{
if (!(GetGold(GetPCSpeaker()) > 1))
return FALSE;
return TRUE;
}
Now let's see, you seem to be a winter . . . (-2gp, cast Friends on player)
sl1_annah_act1
void main()
{
TakeGoldFromCreature(1, GetPCSpeaker(), FALSE);
int nRandom = d20();
if (nRandom < 5)
{
effect eNewStyle = EffectAbilityIncrease(ABILITY_CHARISMA, 1);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eNewStyle, GetPCSpeaker(), 300.0);
ActionSpeakString("Wow, one of my better efforts. You look great!");
}
else
{
ActionSpeakString("Well, that should do.");
}
}
(<2gp)2. Sadly, I can't afford it. How terrible life is when I can't even afford to have my hair done.
3. Maybe later.
2. Nothing now, thanks.
3. (POTIONQUEST=1) I come from Preszmyr, whose assistant sold a love phyltre to you that was not for sale.
I would ask for its return.
sl1_annah_con2
int StartingConditional()
{
if(!(GetLocalInt(GetPCSpeaker(), "PotionQuest") == 1))
return FALSE;
return TRUE;
}
(POTIONTALK < 2)Oh, I cannot part with it. I must win the love of Presephor. While some say he is merely a bartender,
wasting his life at Thirsty Thunder Beast, he is the world to me! (POTIONTALK=1)
sl1_annah_con3
int StartingConditional()
{
if(GetLocalInt(GetPCSpeaker(), "PotionQuest") >2))
return FALSE;
return TRUE;
}
sl1_annah_act2
void main()
{
SetLocalInt(GetPCSpeaker(), "PotionTalk"), 1);
}
4. (POTIONTALK=2 AND POTIONGIVEN=0) It is more than I imagined! I was a fool to think that magic was necessary, when only the magic
of our hearts was enough. Take this potion, I do not need it. (gives potion, POTIONGIVEN=1)
sl1_annah_con4
int StartingConditional()
{
if(GetLocalInt(GetPCSpeaker(), "PotionTalk") < 2)
return FALSE;
if(GetLocalInt(GetModule(), "PotionGiven") == 1)
return FALSE;
return TRUE;
}
sl1_annah_act3
void main()
{
SetLocalInt(GetModule(), "PotionGiven"), 1);
CreateItemOnObject("LovePhyltre", GetPCSpeaker(), 1);
}
-
Angah Lalla Inside is a little boy, pleading with the owner.
Fych: ". . . I'll give it to you for 10 gold!"
Angah: "Little boy, run along. You're an amateur."
Fynch: "5 gold!"
Angah: "Hardly worth my time."
Fynch: "Fine, I'll just wait here until you change your mind."
Set BOYSEEN = 1
sl1_angah_trig
// put on trigger
void main()
{
if(!(GetLocalInt(GetModule(), "AngahConversation") == 0))
{
object oAngah = GetObjectByTag("Angah");
object oFynch = GetObjectByTag("Fynch");
AssignCommand(oFynch, ActionSpeakString(". . . I'll give it to you for 10 gold!"));
AssignCommand(oAngah, ActionWait(2.0));
AssignCommand(oAngah, ActionSpeakString("Little boy, run along. You're an amateur."));
AssignCommand(oFynch, ActionWait(4.0));
AssignCommand(oFynch, ActionSpeakString("5 gold!"));
AssignCommand(oAngah, ActionWait(3.0));
AssignCommand(oAngah, ActionSpeakString("Hardly worth my time."));
AssignCommand(oFynch, ActionWait(4.0));
AssignCommand(oFynch, ActionSpeakString("Fine, I'll just wait here until you change your mind."));
SetLocalInt(GetModule(), "AngahConversation", 1);
}
SetLocalInt(GetEnteringObject(), "BoySeen", 1);
}
Fynch: Hey, mister, I've got a ring to sell you. Only 5 gold!
1. Sorry, kid. I'll not buy it from you.
Your loss. It's worth twice that.
2. <StartCheck>[Persuade]</Start> I bet that ring is stolen. I should probably take it off your hands. You don't want to
end up in jail do you?
sl1_fynch_con1
int StartingConditional()
{
if(GetLocalInt(GetPCSpeaker(), "FynchPersuade") == 1)
return FALSE;
return TRUE;
}
sl1_fynch_act1
void main()
{
SetLocalInt(GetPCSpeaker(), "FynchPersuade", 1);
}
(Persuade DC15 succeeds) Um, you're probably right. Just take it. (gives ring and leaves)
sl1_fynch_con2
#include "nw_i0_tool"
int StartingConditional()
{
if(AutoDC(DC_MEDIUM, SKILL_PERSUADE, GetPCSpeaker()); == FALSE)
return FALSE;
return TRUE;
}
sl1_fynch_act2
void main()
{
CreateItemOnObject("TinnaRing", GetPCSpeaker(), 1);
ActionMoveAwayFromObject(GetPCSpeaker());
DestroyObject(OBJECT_SELF, 10.0);
SetCommandable(FALSE);
}
(Persuade DC15 fails) Hey, it's worth 5 gold. Now, do you want it or not?
3. (BOYTOLD = 1) Hey kid, your mother's looking for you. Better run along.
Oh no, mother's going to kill me. (drops ring and leaves)
sl1_fynch_con3
int StartingConditional()
{
if(!(GetLocalInt(GetPCSpeaker(), "BoyTold") == 1))
return FALSE;
return TRUE;
}
sl1_fynch_act3
void main()
{
location lRing = GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_ITEM, "TinnaRing", lRing);
ActionMoveAwayFromObject(GetPCSpeaker());
DestroyObject(OBJECT_SELF, 10.0);
SetCommandable(FALSE);
}
4. 5 gold? Well, I suppose. Here you go kid.
sl1_fynch_con4
int StartingConditional()
{
if (!(GetGold(GetPCSpeaker()) > 4))
return FALSE;
return TRUE;
}
You won't be sorry! (gives ring and leaves)
sl1_fynch_act2
A simple band of gold, inside is the phrase "For Tinna"
-
Tallahabur the Wagonmaker
Tallahabur sits sweating by a wagon and greets the party.
Hey there. My boy's run off and I can't get this wheel on the axle properly.
If you'd like to give a try, go ahead. I don't think I can get these old bones
to work up the strength. (if WagonFixed = 1)
sl1_tall_con1
int StartingConditional()
{
if (GetLocalInt(GetModule(), "WagonFixed") == 1)
return FALSE;
return TRUE;
}
I'd like to talk friend, but I've got some work to finish up today.
If the player makes a DC21 check against strength, they set the wheel (+50 xp, +good if WHEELSET=0, set WHEELSET=1).
script
//OnUsed event for broken wagon
void main()
{
object oBrokenWagon = GetObjectByTag("BrokenWagon");
object oTallahabur = GetObjectByTag("Tallahabur");
location lBrokenWagon = GetLocation(oBrokenWagon);
object oPC = GetLastUsedBy();
int iStrength = GetAbilityModifier(ABILITY_STRENGTH, oPC);
int iRoll = (d20() + iStrength);
if (iRoll > 21)
{
SpeakString("You have repaired the wagon.");
DestroyObject(oBrokenWagon);
CreateObject(OBJECT_TYPE_ITEM, "Wagon", lBrokenWagon, TRUE);
if (GetIsObjectValid(oTallahabur))
{
AssignCommand(oTallahabur, ActionSpeakString("Thank you friend. You are kind indeed."));
GiveXPToCreature(oPC, 50);
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
SetLocalInt(GetModule(), "WagonFixed", 1);
}
} else {
if (iRoll < 5) {
SpeakString("You have injured yourself trying to move the wheel.");
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectDamage(1), oPC);
}else{
SpeakString("The wheel is too heavy. You cannot move it.");
}
}
}
-
Preszmyr the Herbalist
When the player enters the shop (if POTIONGOT=0), Preszmyr will speak:
"I would have done better hiring a monkey as an assistant."
"That boy will be the death of me!"
"I must get that potion back!"
// put on trigger
void main()
{
if(!(GetLocalInt(GetModule(), "PotionGot") == 1))
{
object oPreszmyr = GetObjectByTag("Preszmyr");
switch (d4())
{
case 1:
AssignCommand(oPreszmyr, ActionSpeakString("I would have done better hiring a monkey as an assistant."));
break;
case 2:
AssignCommand(oPreszmyr, ActionSpeakString("That boy will be the death of me!"));
break;
case 3:
AssignCommand(oPreszmyr, ActionSpeakString("I must get that potion back!"));
break;
case 4:
AssignCommand(oPreszmyr, ActionSpeakString("Why did it have to be a love potion?"));
break;
}
}
}
Preszmyr: Welcome to my humble shop. You'll find various potions available at low cost.
1. I'm thinking of buying a potion or two.
2. Sorry, nothing for me now.
3. (POTIONQUEST=1 AND POTIONGOT=0) Tell me again about the phyltre you're looking for?
sl1_tall_con1
int StartingConditional()
{
if (!(GetLocalInt(GetPCSpeaker(), "PotionQuest") == 1))
return FALSE;
if (GetLocalInt(GetModule(), "PotionGot") == 1)
return FALSE;
return TRUE;
}
Go to Ehaevaera's Beauty rooms and seek out Annah. Retrieve the potion and you will be rewarded.
4. (POTIONQUEST=1 AND POTIONGOT=0) I've found the phyltre you seek.
sl1_tall_con2
#include "nw_i0_tool"
int StartingConditional()
{
if(!HasItem(GetPCSpeaker(), "LovePhyltre"))
return FALSE;
if (!(GetLocalInt(GetPCSpeaker(), "PotionQuest") == 1))
return FALSE;
if (GetLocalInt(GetModule(), "PotionGot") == 1)
return FALSE;
return TRUE;
}
Many thanks! Here is your well deserved reward. (100gp, +300xp, set global POTIONGOT=1, lose potion)
sl1_tall_act1
void main()
{
ActionTakeItem(GetObjectByTag("LovePhyltre"), GetPCSpeaker());
SetLocalInt(GetModule(), "PotionGot", 1);
GiveGoldToCreature(GetPCSpeaker(), 100);
GiveXPToCreature(GetPCSpeaker(), 300);
}
5. (POTIONQUEST=0) I heard you speak earlier - is there a problem?
sl1_tall_con3
int StartingConditional()
{
if (GetLocalInt(GetPCSpeaker(), "PotionQuest") == 1)
return FALSE;
return TRUE;
}
(POTIONGOT=1)It's been taken care of. Thank you for asking.
sl1_tall_con4
int StartingConditional()
{
if (!(GetLocalInt(GetModule(), "PotionGot") == 1))
return FALSE;
return TRUE;
}
(POTIONGOT=0, player is female)Actually, miss, you might be able to help. My assistant
sold an item that was not for sale. It was love phyltre, sold to a woman named Annah at Ehaevaera's Beauty Rooms.
Only women can enter, so I've been unable to speak with her. If you could retrieve it, I would be most obliged.
(POTIONQUEST=1)
sl1_tall_con5
int StartingConditional()
{
if (GetLocalInt(GetModule(), "PotionGot") == 1)
return FALSE;
if(GetGender(GetPCSpeaker()) == GENDER_FEMALE)
return FALSE;
return TRUE;
}
sl1_tall_act2
void main()
{
SetLocalInt(GetPCSpeaker(), "PotionQuest", 1);
}
(POTIONGOT=0, player is male)Well, I'm not so sure, you're a man, right?
sl1_tall_con6
int StartingConditional()
{
if (GetLocalInt(GetModule(), "PotionGot") == 1)
return FALSE;
if(!(GetGender(GetPCSpeaker()) == GENDER_FEMALE))
return FALSE;
return TRUE;
}
1. I'm all man, thank you very much.
2. And why does that matter?
I don't think you can help me, then. I need a woman to get past the guard at Ehaevaera's Beauty Rooms.
1. Oh, well, best of luck.
2. Give me a shot - what's the mission?
My assistant sold an item that was not for sale. It was love phyltre,
sold to a woman named Annah at Ehaevaera's Beauty Rooms.
Only women can enter, so I've been unable to speak with her. If you could retrieve it, I would be most obliged.
(POTIONQUEST=1)
sl1_tall_act2
When quest given, add journal entry:
Preszmyr's assistant accidentally sold a love phyltre to a woman named Anna who works at Ehaevaer's Beauty Rooms.
He has promised a reward if I retrieve it, so I'm off to pay Anna a visit.
Other events in houses nearby:
Inside a nearby house sits Felburn with a bandage on his leg.
"Are you from the Healing House?" he asks. "If you are, get on
with it. My leg's been aching something fierce since the accident."
(HEALEDMAN=0)If a healing spell is cast on the man, he'll respond "Thank you kindly.
Here's a little token for your troubles." (+25gp, +100xp, + good, HEALEDMAN=1)
script
//OnSpellCastAt event (?) Perhaps use OnDisturbed and check HPs of person.
void main()
{
oPC = GetLastSpellCaster();
int iCurrentHP = GetCurrentHitPoints(OBJECT_SELF),
int iMaxHP = GetMaxHitPoints(OBJECT_SELF)
if (iCurrentHP == iMaxHP)
{
iHealed = GetGlobalInt("HEALEDMAN");
if (iHealed == 1)
{
SpeakString("Thank you, but I feel much better already. No more is needed.");
} else {
SetGlobalInt("HEALEDMAN", 1);
SpeakString("Thank you kindly. Here's a little token for your troubles.");
GiveXPToCreature(oPC,100);
GiveGoldToCreature(oPC, 25);
AdjustAlignment(oPC, ALIGNMENT_GOOD, 1);
}
}
}
A little girl sits in her bedroom crying. If spoken too, she'll explain,
Rela:
(LOCKETQUESTGIVEN=0&&LOCKETQUESTDONE=0) My grandmother's locket is gone! It was right here next to the window
when I went to sleep. I know someone stole it. Please, bring it back, please?
sl1_rela_con1
int StartingConditional()
{
if (GetLocalInt(GetPCSpeaker(), "LocketQuestGiven") == 1)
return FALSE;
if (GetLocalInt(GetModule(), "LocketQuestDone") == 1)
return FALSE;
return TRUE;
}
(LOCKETQUEST=1&&LOCKETQUESTDONE=0) Oh, please hurry. I miss my locket so very, very much.
sl1_rela_con2
int StartingConditional()
{
if (!(GetLocalInt(GetPCSpeaker(), "LocketQuestGiven") == 1))
return FALSE;
if (GetLocalInt(GetModule(), "LocketQuestDone") == 1)
return FALSE;
return TRUE;
}
(LOCKETQUESTDONE=1) Mommy says to not to talk to strangers.
sl1_rela_con3
int StartingConditional()
{
if (!(GetLocalInt(GetPCSpeaker(), "LocketQuestGiven") == 1))
return FALSE;
if (!(GetLocalInt(GetModule(), "LocketQuestDone") == 1))
return FALSE;
return TRUE;
}
1. (LOCKETQUESTGIVEN=0&&LOCKETQUESTDONE=0)I will do what I can child.
sl1_rela_con1
2. Goodbye Rela.
3. (Rela's Locket in inventory) Here's your locket Reela.
sl1_rela_con4
int StartingConditional()
{
object oLocket = GetItemPossessedBy(GetPCSpeaker(), "RelasLocket");
if (GetIsObjectValid(oLocket))
{
return 1;
} else {
return 0;
}
}
You are so kind. Thank you!
sl1_rela_act1
object oLocket = GetItemPossessedBy(GetPCSpeaker(), "RelasLocket");
if (GetIsObjectValid(oLocket))
{
DestroyObject(oLocket);
ActionDoCommand(CreateItemOnObject("RelasLocket"));
GiveXPToCreature(oPC,100);
AdjustAlignment(oPC, ALIGNMENT_GOOD, 2);
}
It's for sale at Angah's for 20 gp. If it is returned, the party will gain 100xp, +good.
Outside a house, Pirchek calls, "Please, will no one help me? My father has locked
himself in the house again." Picking the lock will result in 75xp (* level?). Set LOCKHEARD = 1.
script
//Door's OnDeath event - someone destroys door
//Give 50% of plot experience to person
object oTarget = GetLastAttacker();
if (!(GetLocalInt(GetModule(), "LockDone") == 1))
GiveXPToCreature(oTarget,50);
SetLocalInt(GetModule(), "LockDone", 1);
AdjustAlignment(oTarget, ALIGNMENT_CHAOTIC, 1);
object oOldMan = GetObjectByTag("OldMan");
AssignCommand(oOldMan, ActionMoveToObject(oTarget));
AssignCommand(oOldMan, ActionPlayAnimation(ANIMATION_FIREFORGET_VICTORY1));
AssignCommand(oOldMan, SpeakString("Eh, what did you break down that door fer?"));
AssignCommand(oOldMan, SpeakString("Silly son of mine, won't let me have any privacy. Get out, I tell ya!"));
AssignCommand(oOldMan, ActionWait(3.0));
AssignCommand(oOldMan, SpeakString("Stupid adventurers. Think they can just break down any door and loot what's inside."));
AssignCommand(oOldMan, ActionWait(5.0));
AssignCommand(oOldMan, SpeakString("Get out, I say!"));
object oPirchek = GetObjectByTag("Pirchek");
AssignCommand(oPirchek, ActionWait(2.0));
AssignCommand(oPirchek, ActionMoveToObject(oOldMan));
AssignCommand(oPirchek, SpeakString("Father, you had me so worried."));
AssignCommand(oPirchek, ActionWait(4.0));
AssignCommand(oPirchek, SpeakString("Be good now, father."));
//Door's OnUnlock event - someone picks lock
object oTarget = GetLastUnlocked();
if (!(GetLocalInt(GetModule(), "LockDone") == 1))
GiveXPToCreature(oTarget,100);
SetLocalInt(GetModule(), "LockDone", 1);
object oOldMan = GetObjectByTag("OldMan")
AssignCommand(oOldMan, ActionMoveToObject(oTarget));
AssignCommand(oOldMan, ActionPlayAnimation(ANIMATION_FIREFORGET_VICTORY1));
AssignCommand(oOldMan, SpeakString("Eh, what did you open that door fer?"));
AssignCommand(oOldMan, SpeakString("Silly son of mine, won't let me have any privacy. Get out, I tell ya!"));
AssignCommand(oOldMan, ActionWait(3.0));
AssignCommand(oOldMan, SpeakString("Stupid thieves. They'd pick their sister's chastity belt for the challenge."));
AssignCommand(oOldMan, ActionWait(5.0));
AssignCommand(oOldMan, SpeakString("Get out, I say!"));
object oPirchek = GetObjectByTag("Pirchek");
AssignCommand(oPirchek, ActionWait(2.0));
AssignCommand(oPirchek, ActionMoveToObject(oOldMan));
AssignCommand(oPirchek, SpeakString("Father, you had me so worried."));
AssignCommand(oPirchek, ActionWait(4.0));
AssignCommand(oPirchek, SpeakString("Be good now, father."));
If LOCKDONE=0 THEN Set LOCKDONE=1 AND grant 75xp.
When the door of this house is opened, two men rush the party.
"I told you this was a lousy place for a hideout."
"Hey, you wanted to be in walking distance of a bar."
"2,000 square feet, minimum, you said. Now we're fighting any idiot
that barges through the door."
sl1_barl_trig
// put on trigger
void main()
{
if(!(GetLocalInt(OBJECT_SELF, "fired") == 1))
{
object oBarloch = GetObjectByTag("Barloch");
object oNinnel = GetObjectByTag("Ninnel");
AssignCommand(oBarloch, ActionSpeakString("I told you this was a lousy place for a hideout."));
AssignCommand(oNinnel, ActionWait(2.0));
AssignCommand(oNinnel, ActionSpeakString("Hey, you wanted to be in walking distance of a bar."));
AssignCommand(oBarloch, ActionWait(3.0));
AssignCommand(oBarloch, ActionSpeakString("2,000 square feet, minimum, you said. Now we're fighting any idiot that barges through the door."));
AssignCommand(oBarloch, ActionAttack(GetEnteringObject()));
AssignCommand(oNinnel, ActionAttack(GetEnteringObject()));
SetLocalInt(OBJECT_SELF, "fired", 1);
}
}
The bandits carry long swords and wear leather armor. They carry 10gp each. A hidden
hole in the wall contains 20gp.
In an empty house, under a hidden flagstone (DC 18 Spot check) is a Greatsword:
Funlicker
This strange sword appears to have no magical properties at all. It does, however,
bear the name "Funlicker" in large letters along the blade. What fun this blade
was destined to lick is no longer known.
|
DM Notes
|
|
- |
- |
- |
- |
- |
|
- |
- |
- |
|
- |
- |
- |
- |
- |
- |
|
- |
- |
- |
- |
- |
|
- |
- |
- |
|
|