Jump to content

Search the Community

Showing results for tags 'I_C_T'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Discussion
    • G3 News and Announcements
    • Infinity Engine Modding News
    • General Mod Discussion
    • Fan Fiction
    • Noobermeet
  • Tools & Resources
    • DLTCEP
    • GemRB
    • The Gibberlings Three Debugging Suite for BG2
    • IESDP Updates and Info
    • Modding How-Tos and Tutorials
    • Modding Q&A
    • Multi-Install Tool
    • Widescreen Mod
  • Released Projects
    • Miscellaneous Released Mods
    • Ajantis
    • Alternatives
    • Amber
    • Angelo
    • Ascension
    • Auren Aseph
    • BG1 NPC Project
    • Baldur's Gate Mini Quests and Encounters
    • The Beaurin Legacy
    • BG2 Fixpack - General Discussion
    • Calin
    • The Calling
    • Cirerrek's AI Scripts
    • Coran's Friendship Mod
    • Crossmod Banter Pack
    • Divine Remix
    • Enhanced Edition Trilogy
    • Evandra
    • Full Plate & Packing Steel
    • Garrick's Infatuation
    • Gavin
    • The Gibberlings Three Anniversary Mod
    • Glam's NPC Pack
    • Icewind Dale Mod Roundup
    • Icewind Dale in Baldur's Gate II
    • Imoen 4 Ever
    • Item Randomiser
    • Item Revisions
    • IWD2 NPC Project
    • IWDification
    • Keeping Yoshimo
    • Kivan and Deheriana Companions for BG2
    • Level One NPCs
    • Mur'Neth
    • NPC Kitpack
    • NPC Strongholds
    • NPC Tweak for BG2
    • Oversight
    • Romantic Encounters (BG)
    • Romantic Encounters (BG2)
    • Sarah
    • Song and Silence
    • Spell Revisions
    • Sword and Fist
    • Sword Coast Stratagems
    • Tweaks Anthology Forum
    • Tyris Flare
    • Wheels of Prophecy
    • Yoshimo's Remorse
  • Unreleased Projects
    • Aklon
    • Balduran's Seatower
    • Baldur's Gate: Shadow Hand TC
    • Aran Whitehand
    • Delainy
    • IWD Tutu
    • Kit Revisions
    • Inactive Projects
  • NWN2 Modding
  • Mod Workrooms

Categories

  • NPCs
  • Quests and Others
  • Tweaks & Fixes
  • Items/Kits/Spells
  • Portrait Packs
  • Mini Mods
  • Tools
  • In Progress

Categories

  • Fixes
  • Items
  • Kits
  • NPCs
  • Quests
  • Spells
  • Tweaks
  • Other
  • Tools

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Discord


Website URL


Skype


AIM


MSN


ICQ


Yahoo


Jabber


Location


Interests


Mods Worked On

Found 2 results

  1. User report: The scene with Kalah2 is not ending correctly with Aran in the party. Similar problem when Kivan is in the party. Eventually, every modder that sticks around long enough will have bug reports like this. And I have one. So let's blog away at it, and see what happens. We might find out I *gasp* made a MISTAKE! Or not. More importantly, let's see what it takes to drag out these kinds of reports, beat them into shape, and send them packing. So let's look at what is going one. We start with the code, by installing the mod, then decompiling the related dialog files to .d with WeiDU or DLTCEP. OK, we have the following interjections in SoA dealing with Kalah and what he is promised. Now, it is probable that Unfinished Business or another quest mod has changed stuff here, but in vanilla, what should happen is the conversation should finish, and Aerie should react if she can. So let's make sure it all works as intended first, then deal with mod additions. Code to try to add and Aran response, using I_C_T with passback, so things will flow. We use INTERJECT_COPY_TRANSITIVE (I_C_T) here because there are actions that Kalah's dialog state does that we really don't want to accidental;ly be applied to Aran, or left out of the link - I_C_T with a comment from Kalah at the end of it plays Hot Potato with the state actions, tossing them back to the original speaker (Kalah). /* SoA Interjections : Kalah And What He Was Promised Comments - remember to add cross-mod for the UB restoration of Kalah's Quest */ I_C_T KALAH2 7 c-arankalah27 /* ~Indifference killed those fools from the circus. I treat them in death as they were to me in life. A gnome gets no respect...I just wanted people to look up...to me. All that I have done...~ */ == C-ARANJ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-silencearan","GLOBAL",0)~ THEN @202 == KALAH2 IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-silencearan","GLOBAL",0)~ THEN @203 END I_C_T KALAH2 8 c-arankalah28 /* ~You don't understand, do you? You take my life, but worse, you take my dignity. I just wanted...I wanted to be the king instead of...instead of...~ */ == C-ARANJ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-silencearan","GLOBAL",0)~ THEN @202 == KALAH2 IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-silencearan","GLOBAL",0)~ THEN @203 END I_C_T KALAH2 9 c-arankalah29 /* ~You don't know...denied respect my entire life. A clown, a fool...it does not matter...I die as I...as I...~ */ == C-ARANJ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-silencearan","GLOBAL",0)~ THEN @202 == KALAH2 IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-silencearan","GLOBAL",0)~ THEN @203 END patched states as installed after running that code, cut down to the evaluation of what happens if Aran is present: and the related states in Aran's file IF ~~ THEN BEGIN 9 // from: SAY #103057 /* ~[ARAN] Blighted hells. All this because you don't know th' difference between bein' small on th' outside, versus bein' small in th' inside.~ */ <-- snip IF ~ InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-silencearan","GLOBAL",0) ~ THEN EXTERN ~KALAH2~ 14 END IF ~~ THEN BEGIN 10 // from: SAY #103057 /* ~[ARAN] Blighted hells. All this because you don't know th' difference between bein' small on th' outside, versus bein' small in th' inside.~ */ <-- snip IF ~ InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-silencearan","GLOBAL",0) ~ THEN EXTERN ~KALAH2~ 15 END IF ~~ THEN BEGIN 11 // from: SAY #103057 /* ~[ARAN] Blighted hells. All this because you don't know th' difference between bein' small on th' outside, versus bein' small in th' inside.~ */ <-- snip IF ~ InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-silencearan","GLOBAL",0) ~ THEN EXTERN ~KALAH2~ 16 END which leads us back to : IF ~~ THEN BEGIN 14 // from: SAY #103058 /* ~[KALAH] You have no right to judge me.~ */ IF ~Dead("Aerie") !Dead("Quaylem") ~ THEN DO ~StartCutSceneMode() EraseJournalEntry(34110) EraseJournalEntry(34111) SetGlobalTimer("CircusEnded","GLOBAL",ONE_DAY) AddexperienceParty(25000) ActionOverride("Quayle",Wait(3)) ActionOverride("Quayle",StartDialogueNoSet([PC])) Kill(Myself)~ EXIT IF ~Dead("Aerie") Dead("Quaylem") ~ THEN DO ~EraseJournalEntry(34110) EraseJournalEntry(34111) SetGlobalTimer("CircusEnded","GLOBAL",ONE_DAY) AddexperienceParty(25000) Kill(Myself) ~ EXIT IF ~!Dead("Aerie") !InParty("Aerie")~ THEN DO ~StartCutSceneMode() EraseJournalEntry(34110) EraseJournalEntry(34111) SetGlobalTimer("CircusEnded","GLOBAL",ONE_DAY) AddexperienceParty(25000) ActionOverride("Aerie",Wait(3)) ActionOverride("Aerie",StartDialogueNoSet([PC])) Kill(Myself)~ SOLVED_JOURNAL #47528 /* ~Investigate the circus tent The gnome illusionist who converted the circus into his own personal domain has been killed, and the tent has reverted back to normal.~ */ EXIT IF ~IsValidForPartyDialog("Aerie")~ THEN SOLVED_JOURNAL #47528 /* ~Investigate the circus tent The gnome illusionist who converted the circus into his own personal domain has been killed, and the tent has reverted back to normal.~ */ EXTERN ~AERIEJ~ 36 IF ~!IsValidForPartyDialog("Aerie") IsValidForPartyDialog("Jaheira")~ THEN SOLVED_JOURNAL #47528 /* ~Investigate the circus tent The gnome illusionist who converted the circus into his own personal domain has been killed, and the tent has reverted back to normal.~ */ EXTERN ~JAHEIRAJ~ 315 END IF ~~ THEN BEGIN 15 // from: SAY #103058 /* ~[KALAH] You have no right to judge me.~ */ IF ~Dead("Aerie") !Dead("Quaylem") ~ THEN DO ~StartCutSceneMode() EraseJournalEntry(34110) EraseJournalEntry(34111) SetGlobalTimer("CircusEnded","GLOBAL",ONE_DAY) AddexperienceParty(25000) ActionOverride("Quayle",Wait(3)) ActionOverride("Quayle",StartDialogueNoSet([PC])) Kill(Myself)~ EXIT IF ~Dead("Aerie") Dead("Quaylem") ~ THEN DO ~EraseJournalEntry(34110) EraseJournalEntry(34111) SetGlobalTimer("CircusEnded","GLOBAL",ONE_DAY) AddexperienceParty(25000) Kill(Myself) ~ EXIT IF ~!Dead("Aerie") !InParty("Aerie")~ THEN DO ~StartCutSceneMode() EraseJournalEntry(34110) EraseJournalEntry(34111) SetGlobalTimer("CircusEnded","GLOBAL",ONE_DAY) AddexperienceParty(25000) ActionOverride("Aerie",Wait(3)) ActionOverride("Aerie",StartDialogueNoSet([PC])) Kill(Myself)~ EXIT IF ~IsValidForPartyDialog("Aerie")~ THEN EXTERN ~AERIEJ~ 36 IF ~!IsValidForPartyDialog("Aerie") IsValidForPartyDialog("Jaheira")~ THEN DO ~SetGlobalTimer("CircusEnded","GLOBAL",ONE_DAY) AddexperienceParty(25000) ActionOverride("Aerie",Wait(3)) ActionOverride("Aerie",StartDialogueNoSet([PC])) Kill(Myself)~ EXTERN ~JAHEIRAJ~ 315 END IF ~~ THEN BEGIN 16 // from: SAY #103058 /* ~[KALAH] You have no right to judge me.~ */ IF ~Dead("Aerie") !Dead("Quaylem") ~ THEN DO ~StartCutSceneMode() EraseJournalEntry(34110) EraseJournalEntry(34111) SetGlobalTimer("CircusEnded","GLOBAL",ONE_DAY) AddexperienceParty(25000) ActionOverride("Quayle",Wait(3)) ActionOverride("Quayle",StartDialogueNoSet([PC])) Kill(Myself)~ EXIT IF ~Dead("Aerie") Dead("Quaylem") ~ THEN DO ~EraseJournalEntry(34110) EraseJournalEntry(34111) SetGlobalTimer("CircusEnded","GLOBAL",ONE_DAY) AddexperienceParty(25000) Kill(Myself) ~ EXIT IF ~!Dead("Aerie") !InParty("Aerie") ~ THEN DO ~StartCutSceneMode() EraseJournalEntry(34110) EraseJournalEntry(34111) SetGlobalTimer("CircusEnded","GLOBAL",ONE_DAY) AddexperienceParty(25000) ActionOverride("Aerie",Wait(3)) ActionOverride("Aerie",StartDialogueNoSet([PC])) Kill(Myself)~ EXIT IF ~IsValidForPartyDialog("Aerie")~ THEN EXTERN ~AERIEJ~ 36 IF ~!IsValidForPartyDialog("Aerie") IsValidForPartyDialog("Jaheira")~ THEN EXTERN ~JAHEIRAJ~ 315 END So, what did we learn.... well... err... we learned that the I_C_T with passback is working as intended. The actions for the state are transferred back to Kalah in this sequence. In evaluation order (bottom to top for dialog, so it evaluates to this order): IF aerie_can't_talk AND jaheira_can_talk THEN GOTO Jaheira to make a comment. ELSE IF aerie_can_talk THEN GOTO Aerie's comments ELSE IF aerie_not_dead AND aerie_not_in_party THEN make aerie wait and talk to PC and then clobber self ELSE IF aerie_is_dead AND quayle_is_dead THEN set a timer and clobber self ELSE IF aerie_is_dead AND quayle_is_not_dead THEN set a timer and make Quayle talk to PC and then clobber myself. So, on a plain install, Aran's code should work just fine. We could simply say "Nope - the user is crazy. Or she has a messed up install." But when an experienced tester and user reports, it is far better to weigh in the benefit of the doubt and follow through farther - who knows what you will find. So now, to the testing install. First, we load up the game at a save point in C-AR01, The Broken Sword, with everything in a simple (unplayed) state. Then we have Aran join, and head over to the circus, to start the quest. This makes sure the least number of variables are set for quick troubleshooting. Then, we play the quest. Ctr-Y is our friend - we want the opponents to die quickly, so we can stop testing and enjoy ourselves with the content. Pass 1, Aerie Alive - works as intended; Aran does his interjection. It sends us to the correct evaluative state, too - Aerie is in the party, so she tosses her state 36 on as well: and since we don't have Jaheira here, we expect the first valid dialog in AERIEJ to fire, and yep, it does... Well we know our stuff works on a clean install, now, but let's be sure and see what happens if quayle is dead, or aerie is dead, just to make sure. Pass 2 - aerie left behind - works. Pass 3 - killing aerie... works. Pass 4 - Ctr-Y for you, Ctr-Y for you.... heck, Kill everyone except Aran and PC!! KILL MAIM DEEESTROOY - LEEERRROOOOOOYUYYY JEEENKIIIIIINS! *ahem*. Nope. It all works. Checks against the dialogue files. OK, so we have not gotten the "hanging" behavior described. So now we REALLY are done with this we know the code as installed works. EXCEPT - we don't know why that was happening on her game. So let's take a stick and poke in some dark corners, shall we? Other Mod Research First step, look for other mods tthat deal with Kalah and see what they do. Lots of utilities to do this, but since I was a weidu tester back in the day, I prefer the oldest trick in the book - text search of a whole ton of mods. Time to fire up NotePad++ and look in the Archive Of Unpacked Mods... not all the mods out there but a bunch. We are looking for things that are messing with KALAH2. We come up with 97 hits. Of those some are screened out because they are patching the .cre or manipulating items or just checking the .cre for validity - OK: D:\iecheckfiles\arath_v2.2\arath\dialogue\lk#aratj.d (1 hit) Line 4665: I_C_T KALAH2 11 LK#Arath_kalah (uses no passback) OK : D:\iecheckfiles\BDash168\Setup-BDToBv168.tp2 (1 hit) Line 5198: COPY_EXISTING ~KALAH2.DLG~ ~override~ (does REPLACE_TEXTUALLY ~ActionOverride("Aerie",StartDialogueNoSet())~ ~ActionOverride("Aerie",StartDialogueNoSet([PC]))~ ) OK: D:\iecheckfiles\bg2_fixpack-v9\bg2fixpack\compile\soa-dlg.d (1 hit) (does REPLACE_ACTION_TEXT_REGEXP ~\(^aerie$\)\|\(^kalah2$\)~ ~StartDialogueNoSet()~ ~StartDialogueNoSet([PC])~ ) 9and does WRITE_BYTE 0x27b 51 // alignment: chaotic evil ) OK: D:\iecheckfiles\Breagar-5.13\ACBre\D\ACBREB.D (6 hits) Breagar uses the same basic code we do: INTERJECT_COPY_TRANS KALAH 1 ACKALAH1 ==ACBREB IF ~InParty("ACBRE")InMyArea("ACBRE")!StateCheck("ACBRE",CD_STATE_NOTVALID)~ THEN @294 ==KALAH IF ~InParty("ACBRE")InMyArea("ACBRE")!StateCheck("ACBRE",CD_STATE_NOTVALID)~ THEN @295 END INTERJECT_COPY_TRANS KALAH2 1 ACKALAH21 ==ACBREB IF ~InParty("ACBRE")InMyArea("ACBRE")!StateCheck("ACBRE",CD_STATE_NOTVALID)~ THEN @294 ==KALAH2 IF ~InParty("ACBRE")InMyArea("ACBRE")!StateCheck("ACBRE",CD_STATE_NOTVALID)~ THEN @295 END INTERJECT_COPY_TRANS KALAH2 13 ACKALAH213 ==ACBREB IF ~InParty("ACBRE")InMyArea("ACBRE")!StateCheck("ACBRE",CD_STATE_NOTVALID)~ THEN @296 ==KALAH2 IF ~InParty("ACBRE")InMyArea("ACBRE")!StateCheck("ACBRE",CD_STATE_NOTVALID)~ THEN @297 END D:\iecheckfiles\BTL\aD&L\Interj.d (7 hits) -- well, if this is the newest version, there may be troubles here. Let's look at Line 4837: INTERJECT_COPY_TRANS2 Kalah2 4 Kalah2-4 Line 4837: INTERJECT_COPY_TRANS2 Kalah2 4 Kalah2-4 Line 4842: EXTEND_BOTTOM ~Kalah2~ 7 Line 4843: IF ~InParty("Kova") InMyArea("Kova")~ THEN EXTERN Z#KOVAJ Kalah2 Line 4847: IF ~~ THEN Z#KOVAJ Kalah2 Line 4850: == KALAH2 Line 4852: EXTERN KALAH2 9 Nope. While this uses some darned old code, the end result of all of it is to drop us back into state 9 in KALAH2. Aran will happily play his dialog from state 9. So no worries here. OK: D:\iecheckfiles\Chloev1.5\Chloe\D\BanterCR.d (1 hit) Line 1436: I_C_T KALAH2 5 azucarCR29 OK: D:\iecheckfiles\gavin_bg2-v20\gavin_bg2\dialogue\b!gavin_interjections.d (1 hit) Line 919: I_C_T KALAH2 6 BGavKALAH /* ~In Amn... a mage is a criminal and a gnome is a spectacle. In this tent... in my world... Kalah was the master, where none would dare to laugh...~ */ OK: D:\iecheckfiles\ImprovedAnvil_v5\Setup-ImprovedAnvil.tp2 (2 hits) just patches .cres Cliffettes Iron modder 9 steals Kalah for a new encounter, but desosn't mess with dialog in the game, and skip a ton of mods that poke about re-fixing what Fixpack and Baldurdash do, and some more off-topic stufff... and... OK: D:\iecheckfiles\KimNPC\KimInterject.d (1 hit) Line 838: INTERJECT_COPY_TRANS KALAH2 13 Kimkalah OK: D:\iecheckfiles\Kindrek\Dialogues\KINDREKJ.d (2 hits) Line 785: INTERJECT_COPY_TRANS KALAH2 13 KindrekKalah Line 788: == KALAH2 NOT OK - may need to go back and check latest versions, but I am sure this is fixed now as the player creating the reoprt on Aran specifically mentioned reporting it on Kivan: D:\iecheckfiles\Kivan\d\P#KIVJ.d (2 hits) Line 1560: I_C_T2 KALAH 4 P#KivanKalah2 Line 1564: I_C_T2 KALAH2 6 P#KivanKalah3 OK: D:\iecheckfiles\Severian\Dialogues\#SeverJ.d (1 hit) Line 812: INTERJECT_COPY_TRANS KALAH2 13 SeverKalah OK: D:\iecheckfiles\SeverianV.01REM\Severian\Dialogues\#SeverJ.d (1 hit) Line 2941: INTERJECT_COPY_TRANS KALAH2 13 SeverKalah OK: D:\iecheckfiles\tb_tweaks_windows_2.20\tb#tweaks\lib\romances.tpa (1 hit) Line 2: REPLACE_ACTION_TEXT_REGEXP ~\(^aerie$\)\|\(^kalah2$\)~ ~StartDialogueNoSet()~ ~StartDialogueNoSet([PC])~ heh. No worries on the Valen front after all. A quick check shows it is an accidental packaging of a /backup/ in the distro. The code is fine; D:\iecheckfiles\Valen5Min\ValenNPC\KEVALENJ.d (3 hits) Line 39: INTERJECT_COPY_TRANS KALAH2 9 KEValenKalahDead1 Line 44: INTERJECT_COPY_TRANS KALAH2 7 KEValenKalahDead2 Line 49: INTERJECT_COPY_TRANS KALAH2 8 KEValenKalahDead3 ALERT. Ok, we have a potential "old code might hijack this dialog" ... D:\iecheckfiles\zymisc2\Z#Misc\Dialogue\Interj.d (7 hits) Line 4825: INTERJECT_COPY_TRANS2 Kalah2 4 Kalah2-4 Line 4825: INTERJECT_COPY_TRANS2 Kalah2 4 Kalah2-4 Line 4830: EXTEND_BOTTOM ~Kalah2~ 7 Line 4831: IF ~InParty("Kova") InMyArea("Kova")~ THEN EXTERN Z#KOVAJ Kalah2 Line 4835: IF ~~ THEN Z#KOVAJ Kalah2 Line 4838: == KALAH2 Line 4840: EXTERN KALAH2 9 But nope. It eventually winds itself back to KALAH2 9, and a check of the code shows that while it will re-path from 4 to 9 dropping any I_C_T[234] on the chopping block, Aran hits 9 so we are all good. Plus, the actions are maintained. SOOOOOO... several hours later, a bunch of messing about, and what do we know? We can say "Doesn't look like us or a mod interaction on our end." We have some specific answers as to whom else thought this was a good place to interject. The only things left are glitches in evaluating SDNS(Player1) or Wait(3) or smallwait; all those things are engine things and script things that we can't control, as it is not our dialog that is processing that, it is Aerie's/Quayle's/Kalah's. And we can go back to modding. To be safe, because these things do pop up, I am marking this "Unable To Replicate" and we'll see what comes up. In the meantime, I will pop over and make sure Kivan has his code done up right. Wouldn't want the lad to accidentally leave anything dangling in the wind, y'know.
  2. When it is set up to run on a townsperson/guard with a designated dialog file, and that file is all RandomNumber() and all states use simple IF ~~ THEN EXIT triggers. Luckily, following an exact copy and rebuild of BioWare™'s coding works great. Extend the dialogs with a RandomNum(2,1) and don't fill ot the second condition so that it has a 50% chance of firing, and then have at it... APPEND DMTOWN1 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("dmtown1aran","AR0500",0)~ THEN BEGIN a1774 SAY ~By Helm... yer outfitted for battle. I'd give my right arm for some o' that gear.~ IF ~~ THEN DO ~SetGlobal("dmtown1aran","AR0500",1)~ EXTERN ~C-ARANJ~ a1771 // chain END END APPEND DMTOWN2 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("dmtown1aran","AR0500",0)~ THEN BEGIN a1773 SAY ~Ay, now... you looks like a sword for hire, you does. You lookin' for some work?~ IF ~~ THEN DO ~SetGlobal("dmtown2aran","AR0500",1)~ EXTERN ~C-ARANJ~ a1772 // chain END END APPEND GMTOWN01 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown01aran","GLOBAL",0)~ THEN BEGIN a1775 SAY ~Is that spitting really becessary? This is not the slums, you know.~ IF ~~ THEN DO ~SetGlobal("gmtown01aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1779 // join END IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown01aran","GLOBAL",0)~ THEN BEGIN a1776 SAY ~Mmm...I haven't been to one of the spa tubs in ages. It's the only luxury we, here, in the city really have.~ IF ~~ THEN DO ~SetGlobal("gmtown01aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1780 // chain END END APPEND GMTOWN02 IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown02aran","GLOBAL",0)~ THEN BEGIN a1777 SAY ~You, there! You look like the fighting type! Are you in the army? Can I join through you?~ IF ~~ THEN DO ~SetGlobal("gmtown02aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1781 END IF ~See("c-aran") InParty("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) RandomNum(2,1) Global("gmtown02aran","GLOBAL",0)~ THEN BEGIN a1778 SAY ~I am here to join the glorious army of Amn! There are victories to be had and both coin and women to earn!~ IF ~~ THEN DO ~SetGlobal("gmtown02aran","GLOBAL",1)~ EXTERN ~C-ARANJ~ a1782 END END APPEND ~C-ARANJ~ IF ~~ a1779 SAY ~[ARAN] I don't rightly think a little bit o' moisture is goin' to hurt anythin' around here. An' dust be dust, city or country. But I take your point, it were blighted rude o' me.~ IF ~~ THEN EXIT END IF ~~ a1782 SAY ~[ARAN] Ah, that be th' call o' th' Wild Recruiter. "Join th' Army! Coin, Wine, Women, Song, Travel!" I'd be changin' that around, a mite. "Join th' Army! Lice! Weeks Of Tedious Boredom Punctuated By Moments O' Sheer Terror An' Mortal Danger! All th' Ditches you can Dig! Travel to New Places, Meet New People, Then Kill 'Em! Wine, Women, an' Song subject to your own coin, an' we don't pay for none o' th' problems what result." Then again, it probably wouldn't bring in young idiots what think duty in a far-flung colony be a walk in th' park.~ IF ~~ THEN EXIT END END CHAIN ~C-ARANJ~ a1771 ~[ARAN] They say th' gear don't make th' man. But it do help, eh?~ == DMTOWN1 ~[DMTOWN1] Take it from one who spent a little time in Maztica. Good gear saves lives.~ == ~C-ARANJ~ ~[ARAN] Brother, I hear you. You spend a long time?~ == DMTOWN1 ~[DMTOWN1] Two years before I came to my senses and went back to civilian life. I'll take my chances with the dangerous nightlife around here. At least that I can predict.~ == ~C-ARANJ~ ~[ARAN] Well, good luck to you. I don't think i could take th' quiet life for too long, but it seems to have agreed wi' you.~ == DMTOWN1 ~[DMTOWN1] Good luck and a pearl to you.~ EXIT CHAIN ~C-ARANJ~ a1772 ~[ARAN] Why, do you know o' any?~ == DMTOWN2 ~[DMTOWN2] Well, there's always some hirin' o' watchmen, and sometimes they need a bouncer at some inns.~ == ~C-ARANJ~ ~[ARAN] So, long story short, you got nothin'.~ == DMTOWN2 ~[DMTOWN2] Hey, don't get touchy. We were just makin' conversation!~ == ~C-ARANJ~ ~[ARAN] Civilians. Can't live with 'em, can't live wi' out 'em. An' if you take 'em out back to beat some sense into 'em, you end up wi' a tenday in jail an' a stiff fine.~ EXIT CHAIN ~C-ARANJ~ a1781 ~[ARAN] Why, sure thing. I can help you out right quick. You ever heard o' th' Jerva's Jerkins? They be th' toughest, most fierce company Amn has to be offerin'. An' I can get you an introduction, for only 5 gold.~ == GMTOWN02 ~[GMTOWN02] I don't have that much. What will 3 gold get me?~ == ~C-ARANJ~ ~[ARAN] Well, I could hook you up wi' a lad what served in th' regulars in Maztica...~ == GMTOWN02 ~[GMTOWN02] I really don't have more than 3 copper pieces to spare. What will that get me?~ == ~C-ARANJ~ ~[ARAN] For 3 coppers, I can start your hazin' ritual right away, by takin' your coin an' tossin' both you an' your bloody coin in th' nearest latrine.~ EXIT CHAIN ~C-ARANJ~ a1780 ~[ARAN] Now that be true enough. Though I doubt there be anythin' around here like those in Calimport, eh?~ == GMTOWN01 ~We have a much more civilized approach to bathing here in Amn. Although it does not appear that you are familiar with the concept of bathing.~ == ~C-ARANJ~ ~[ARAN] Bane's... right. Don't suppose it would do us much good if I respond. Shuttin' up an' soldierin'.~ EXIT
×
×
  • Create New...