|
Synopsis:
The party must bring a message to the Red Shield Captain to prevent open war with the Zhentarim. A third force is playing the sides off of each other. Upon concluding the module, signs point to Hill's Edge as the source of this misdirection. There are also hints that this mysterious third group seek to use the dead casualties for an unknown purpose.
* Does not include consumable items such as scrolls and potions. These are likely to be used during the adventure. Journal entries Josura: Welcome! For many years, I have watched you grow and come into adulthood. I remember tending your scrapes and bruises, offering advice, and keeping you out of trouble as best I could. Now I hear your desire to see to world has grown strong, and you soon hope to be off to seek your fortune. If you could put you plans on hold for a few days, I would beg a favor from you. sl1_josura_con2 1. Of course, it is the least I can do to repay your kindness. 2. Spit it out, woman. 3. (INT < 10) Huh? (INT >= 10) In recent weeks, the Zhentarim activity in the area has increased to the point where a patrol of Red Shields has been dispatched for the Trielta Hills. Captain Preth leads the group. He is a fine commander, and I normally would have full faith in his abilities. Bad men who wear black come now. Men with red shields go to fight them. Understand? 1. You seem concerned, what is it? 2. And? 3. (INT < 10) Umm . . . 1. I will gladly carry such a message. (INT < 10)2. Will find big man! Give message! (INT >= 10> Through my spiritual connection with Lathander, I often commune with those of the higher planes. Last night, I dreamt I hovered above the ground, seeing Captain Preth far below. His men fought the Zhent troops, as if dark hands maneuvered tiny chess pieces. The same player moved both sides, and won no matter the outcome. It was a troubling dream, and I composed this letter as soon as I awoke. (INT < 10)I have bad dream. Someone else make good and bad people fight. Not good. Wrote letter after. 1. Dreams can hold much portent. How will I find this captain? 2. Great. Where is he? 3. (INT < 10) How find big man? (INT >= 10) The captain is on the northern edge of the Trielta Hills. If you head towards Trielta and turn east, you'll find the Eureka Inn. From there, a trail heads north through the hills and you will find Preth stationed at the edge of the Forest of Wyrms. You might want to head to Scornubal's city center to pick up supplies before you go. The Walk holds a number of shops that could prepare you for your journey. Also, seek out Thistle, a halfling trader who is heading along the Trade Way towards Trielta. You may travel with him. Here is the letter. May Lathander keep you safe. (give letter) sl1_josura_act2 (INT < 10) Go to city. Find little man named Thistle. He'll show you the way. (give letter) 2. Find another to be your carrier pidgeon. I'll have none of this. (INT < 10)3. No want to do it! Well [FirstName], if you feel like that, just be off. Speak to me again, and quickly, if you wish to be involved. sl1_josura_act1 2. I'm fed up with you babying me about. It's time for me to set out on my own! (INT < 10)3. Go away, bossy woman! Now [FirstName], I've seen you pout better than that. Why don't you sulk a bit, then return to speak with me when you're ready. Are you done sulking <FirstName>? Ready to help? (link to above) sl1_josura_con1 Sorry <FirstName>, but I've already given the letter to <CUSTOM100>. sl1_josura_con3 Nooble: If an object is nearby, mark it as something of interest. If a second tick goes by and the object is still present, have Nooble pick it up (if NOOBLECARRY<>0). Some quotes are: Ooh, this looks valuable! I think I can fit this in here . . . It's a good thing I'm wearing my big pants today. Sweet loot! This would fetch a pretty penny. Nooble: Hey boss! sl1_noob_con1 1. How are you doing Nooble? I guess I can't complain too much, other than the terrible wages and endless danger. 1. Does that mean you want to quit? Oh, no. No, no, no. I wouldn't trade this job for anything. 2. Stiff upper lip Nooble. Righto. 2. What all are you carrying for me? Oh, a little bit of this, a little bit of that. 1. Can you be more specific? To be honest, math wasn't a strong point with me. 3. I'd like you to drop what you're carrying. All of it? 1. Actually, only one specific item. Sorry, boss. It's all carefully balanced and interconnected. One goes, they all go. 2. Yes. Okay, here you go. (drop all items) 4. Keep up the good work. Thanks for the encouragement, boss. 5. (NOOBLECARRY=0) Stop picking things up for awhile. Not sure what I'll be good for, but you're the boss. 6. (NOOBLECARRY=1) Could you start picking up anything valuable? That's what I live for boss! (NOOBLECARRY=1) 7. Bye. Hey there! Looking for a henchman? sl1_noob_con2 1. Actually, yes. sl1_noob_act1 2. Uh, not at the moment. 3. Henchman, huh? What are your qualifications? Well, I'm a card-carrying member of the Henchman United Readiness League. I've also been lifting assorted barnyard animals for practice. I think I'm ready for my first adventure? 1. What are your expectations of pay? Well, I suppose my first mission could be more like an internship. You know, practice holding your swords, treasure, cigars, or whatever. I'm not very experienced yet, you know. 1. Hmm. Well, okay then. sl1_noob_act1 2. I'll give it some thought. Hey there, <FirstName>! sl1_noob_con3 1. How's it going Nooble? Can't complain, can't complain. Juniper: Yes, my friend? 1. How are you doing Juniper? I'm quite alright. Baervan willing, we'll pull through. 2. OnActivateItem #include "nw_i0_tool" void main() { object oItem = GetItemActivated(); object oPC = GetItemActivator(); string sItem = GetTag(oItem); if (sItem == "PuzzleRing") { // spawn conversation to see if they can figure out puzzle ActionStartConversation(oPC, "sl1_puzzle", TRUE); } if (sItem == "ShimmeringReed") { // spawn conversation for carving reed ActionStartConversation(oPC, "sl1_reed", TRUE); } if (sItem == "LivingCrystal") { int iDruid = GetLevelByClass(CLASS_TYPE_DRUID, oPC); if (iDruid > 0) { AssignCommand(oPC, ActionSpeakString("The creation of the totem is begun by using a Weirding Branch.")); } } if (sItem == "WeirdingBranch") { int iDruid = GetLevelByClass(CLASS_TYPE_DRUID, oPC); if (iDruid > 0) { if(HasItem(oPC, "LivingCrystal")) { DestroyObject(GetObjectByTag("LivingCrystal")); DestroyObject(GetObjectByTag("WeirdingBranch")); CreateItemOnObject("TotemOfEntanglement", oPC); GiveXPToCreature(oPC, 50); } else { AssignCommand(oPC, ActionSpeakString("You require a Living Crystal to complete this totem.")); } } else { AssignCommand(oPC, ActionSpeakString("Only a druid would have the experience to use this properly.")); } } if (sItem == "PotionOfManyColors") { int iRandom = d4(); switch(iRandom) { case 1: ActionCastSpellAtObject(SPELL_HEAL, oPC); break; case 2: ActionCastSpellAtObject(SPELL_INVISIBILITY, oPC); break; case 3: ActionCastSpellAtObject(SPELL_HASTE, oPC); break; case 4: ActionCastSpellAtObject(SPELL_CONFUSION, oPC); break; } DestroyObject(oItem); } } //Nooble's OnHeartbeat script void main() { object oMaster = GetLocalObject(OBJECT_SELF, "Master"); int iPickup = GetLocalInt(OBJECT_SELF, "Pickup"); string sChat; //Nooble has a master and has been told to pick up items if ( (GetIsObjectValid(oMaster)) && (iPickup == 1) ) { object oNearestObject = GetNearestObject(OBJECT_TYPE_ITEM, OBJECT_SELF, 1); float fDistance = GetDistanceToObject(oNearestObject); if (fDistance < 20.0) // Only pick up nearby objects { int nRandom = d6(); switch (nRandom) { case 1: sChat = "Ooh, this looks valuable!"; break; case 2: sChat = "I think I can fit this in here . . ."; break; case 3: sChat = "It's a good thing I'm wearing my big pants today."; break; case 4: sChat = "Sweet loot!"; break; case 5: sChat = "This would fetch a pretty penny."; break; case 6: sChat = "I always wanted one of these when I was a kid."; break; } ActionSpeakString(sChat); ActionPickUpItem(oNearestObject); } } }Handling deaths: //OnPlayerRespawn() void main () { oPC = GetLastRespawnButtonPresser(); sArea = GetTag(GetArea(oPC)); //Teleport to appropriate location switch (sArea) { case "TheWalk": location lResurrect = GetLocation(GetWaypointByTag("wTheWalkResurrect")); break; case "Eureka": location lResurrect = GetLocation(GetWaypointByTag("wEurekaResurrect")); break; case "Caves1": location lResurrect = GetLocation(GetWaypointByTag("wEurekaResurrect")); break; case "Caves2": location lResurrect = GetLocation(GetWaypointByTag("wEurekaResurrect")); break; case "Forest": location lResurrect = GetLocation(GetWaypointByTag("wForestResurrect")); break; } AssignCommand(oPC, JumpToLocation(lResurrect)); // Remove all effects ActionDoCommand(RemoveEffects(oPC)); // Move Nooble next to PC oNooble = GetObjectByTag("Nooble") oMaster = GetLocalObject(oNooble, "Master"); if (oPC == oMaster) { ActionDoCommand(RemoveEffects(oNooble)); AssignCommand(oNooble, JumpToLocation(lResurrect)); AssignCommand(oNooble, SpeakString("I'm not dead yet!")); } //Create cool effect at location ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_MIND),lResurrect); }Puzzle ring conversation(sl1_puzzle) Entering 3, 1, 4 unlocks the ring (pi). This ring has strange writing on the inside and out. 1. Examine the ring sl1_puzzle_act1 2. Put it away. This strange ring has a riddle on the outside: <StartHighlight> From the center to the edge With this measure Go around the ring To unlock the treasure.</Start> Inside are the numbers one through four. 1. Press 1. sl1_puzzle_con1 sl1_puzzle_act2 2. Press 2. sl1_puzzle_con1 sl1_puzzle_act3 3. Press 3. sl1_puzzle_con1 sl1_puzzle_act4 4. Press 4. sl1_puzzle_con1 sl1_puzzle_act5 5. Rotate the ring. sl1_puzzle_con2 The ring rotates back to its original state. sl1_puzzle_con3 The ring suddenly glows, it's magic unlocked. sl1_puzzle_con3 sl1_puzzle_act6 |