Miloch Posted April 21, 2010 Share Posted April 21, 2010 I'm not worried about the lock. If they can get past the high level cleric and the mage, a locked door isn't going to present any kind of challenge.But... I thought the original request was to lock the exterior door of the house (and probably make it unpickable) until some later point in the game (at which point you could have an NPC provide a key or unlock it via script). At least, that's how I'd interpret it now that I (vaguely) understand what's going on here. Edit: the door doesn't have separate open/closed .wed states (as it faces north) so I could probably code this in under 20 minutes, if you want to hold of on your update (if it did have separate states, it might take half an hour ). Link to comment
berelinde Posted April 21, 2010 Share Posted April 21, 2010 Hey, if you're willing to code it up in a way that would work for both Tutu and BGT, I'll wait however long it takes. I had already updated by the time I read your post, and made the relevant changes to the mod page, etc., so I can't really withdraw v4 at this point, but there's noting to say that I can't version up again. Heck, it only takes a few moments... well, longer if I need to write dialogue for it. Link to comment
Miloch Posted April 21, 2010 Share Posted April 21, 2010 Actually, I'd need to add a .wed state to make a lockable door, so I'd have to reverse my estimates (yeah I might be underestimating a tad, but I'm fairly sure I could do it in under an hour anyway). I can smuggle in A64's godlike crash fixer, as we're modding Beregost anyway (and that fix is coded such so that it's skipped if it's already applied). But it struck me that there's a far easier way to achieve this. The way you've set up the spawns, you won't see those NPCs in that house until you've visited Gavin's starting area. So why not just have them either spawn and jump from a later-visited area, or set a timer or other condition for the spawn? It might look odd for the house to be initially empty, but that's a possibility already if the party hasn't been to the spawning area. I'd still like to add the lock though, because it'd be cool . Edit: but we'd still also need to provide some means of opening it... easy enough also, just need to know what or how. Link to comment
berelinde Posted April 21, 2010 Share Posted April 21, 2010 Sounds like something worth mulling over. I could always move the spawns, true, but it would be far easier to include the already-present quest variable in the spawn conditions. Cuts down on bloat and all... Besides, the PC is going to have to visit the temple area to get the quest, anyway. I'm reluctant to move the spawn points to another area because there's no telling where in the game the PC will get the quest. Everybody warns the PC that it's a tough fight, but if a level 4 PC thinks that he can beat it, well, he deserves the armor. Edit: If you want to figure out a way to lock the house, cool, that's an added bonus, but I'm not going to have time to test it, unfortunately. One of the reasons I'm making such a huge push to tie up loose ends is that my modding time is going to be drastically reduced soon and I don't want to leave a lot of half-finished projects in my wake. Link to comment
Miloch Posted April 23, 2010 Share Posted April 23, 2010 Well... it took considerably more time and code than I'd expected. But I did it all the same, just to show 'em! I tested it quite a bit and utterly failed to crash the game (all the less so since this includes A64's Beregost crash fix). Spoilerish as to how it works: It *is* pickable, but really tough by BG1 standards. A thief would need ~150 points in open locks, which means sinking all available points up to level 4 (possibly level 3 with a potion of master thievery, but you'd really have to know what you're up to). A more balanced thief might be able to take it around level 6 (most likely with the potion anyhow). As an alternative, it *also* has a key, which can be found in one of three random places: 1) The ghast tomb in Valley of the Tombs 2) The gnoll tent in the Bandit Camp 3) A corpse in Ulcaster Ruins I guess the story is someone who lived in the house went on an adventure and never came back (but I don't think you have to add dialogue for that unless you want to). All of that can be changed, including the locations, key description, difficulty etc. Put this lot in your .tp2 (or INCLUDE it as a separate file). Doesn't really matter where, as long as you put it after your platform variable INCLUDEs. ACTION_IF FILE_EXISTS_IN_GAME ~fw0125.are~ BEGIN //If Tutu OUTER_SPRINT BeregH22Reg ~Door3337~ END ELSE BEGIN //Otherwise (if BGT) OUTER_SPRINT BeregH22Reg ~Door6737~ END COPY_EXISTING ~%Beregost%.wed~ override sz = SOURCE_SIZE PATCH_IF sz > 0x48 BEGIN READ_LONG 0x8 ovr_count //Read initial offsets READ_LONG 0xc door_count READ_LONG 0x10 ovr_offset READ_LONG 0x14 sec_hdr READ_LONG 0x18 door_offset READ_LONG 0x1c dtc_indices READ_LONG sec_hdr poly_count READ_LONG (sec_hdr + 4) poly_offset READ_LONG (sec_hdr + 8) vert_offset READ_LONG (sec_hdr + 0xc) wall_offset READ_LONG (sec_hdr + 0x10) poly_table new_door_offset = door_offset + door_count * 0x1a new_vert_index = ((SOURCE_SIZE - vert_offset) / 4) INSERT_BYTES sz 0x20 //Insert 8 new vertex pairs WRITE_SHORT sz 2370 //Open door WRITE_SHORT (sz + 2) 1563 WRITE_SHORT (sz + 4) 2325 WRITE_SHORT (sz + 6) 1563 WRITE_SHORT (sz + 8) 2325 WRITE_SHORT (sz + 0xa) 1478 WRITE_SHORT (sz + 0xc) 2370 WRITE_SHORT (sz + 0xe) 1478 WRITE_SHORT (sz + 0x10) 2370 //Closed door WRITE_SHORT (sz + 0x12) 1562 WRITE_SHORT (sz + 0x14) 2330 WRITE_SHORT (sz + 0x16) 1620 WRITE_SHORT (sz + 0x18) 2330 WRITE_SHORT (sz + 0x1a) 1536 WRITE_SHORT (sz + 0x1c) 2370 WRITE_SHORT (sz + 0x1e) 1478 INSERT_BYTES poly_table 0x24 //Insert 2 new polygons WRITE_LONG poly_table new_vert_index //Starting vertex index WRITE_LONG (poly_table + 4) 4 //Vertex count WRITE_BYTE (poly_table + 8) 0x80 //Open door WRITE_BYTE (poly_table + 9) 0xff //Unknown WRITE_SHORT (poly_table + 0xa) 2325 //Boundary minimum X coordinate WRITE_SHORT (poly_table + 0xc) 2370 //Boundary maximum X coordinate WRITE_SHORT (poly_table + 0xe) 1478 //Boundary minimum Y coordinate WRITE_SHORT (poly_table + 0x10) 1563 //Boundary maximum Y coordinate WRITE_LONG (poly_table + 0x12) (new_vert_index + 4) //Starting vertex index WRITE_LONG (poly_table + 0x16) 4 //Vertex count WRITE_BYTE (poly_table + 0x1a) 0x80 //Closed door WRITE_BYTE (poly_table + 0x1b) 0xff //Unknown WRITE_SHORT (poly_table + 0x1c) 2330 //Boundary minimum X coordinate WRITE_SHORT (poly_table + 0x1e) 2370 //Boundary maximum X coordinate WRITE_SHORT (poly_table + 0x20) 1478 //Boundary minimum Y coordinate WRITE_SHORT (poly_table + 0x22) 1620 //Boundary maximum Y coordinate FOR (i = 0; i < door_count; i += 1) BEGIN //Update door polygon offsets WRITE_LONG (i * 0x1a + door_offset + 0x12) (THIS + 0x1a) //Open polygons offset WRITE_LONG (i * 0x1a + door_offset + 0x16) (THIS + 0x1a) //Closed polygons offset PATCH_IF (i = (door_count - 1)) BEGIN READ_SHORT (i * 0x1a + door_offset + 0xa) tile_index READ_SHORT (i * 0x1a + door_offset + 0xc) tile_count END END INSERT_BYTES new_door_offset 0x1a //Insert new door WRITE_ASCII new_door_offset ~DOOR3337~ //Name WRITE_SHORT (new_door_offset + 8) 1 //Closed WRITE_SHORT (new_door_offset + 0xa) (tile_index + tile_count) //Tile cell index WRITE_SHORT (new_door_offset + 0xe) 1 //Open polygons count WRITE_SHORT (new_door_offset + 0x10) 1 //Closed polygons count WRITE_LONG (new_door_offset + 0x12) (poly_table + 0x1a) //Open polygons offset WRITE_LONG (new_door_offset + 0x16) (poly_table + 0x1a + 0x12) //Closed polygons offset //Update offsets for new objects FOR (j = 0; j < ovr_count; j += 1) BEGIN //Update overlays WRITE_LONG (j * 0x18 + ovr_offset + 0x10) (THIS + 0x1a) //Tilemap offset WRITE_LONG (j * 0x18 + ovr_offset + 0x14) (THIS + 0x1a) //Tile index lookup offset END door_count += 1 WRITE_LONG 0xc door_count WRITE_LONG 0x1c (dtc_indices + 0x1a) WRITE_LONG (sec_hdr + 4) (poly_offset + 0x1a) WRITE_LONG (sec_hdr + 8) (vert_offset + 0x1a + 0x24) WRITE_LONG (sec_hdr + 0xc) (wall_offset + 0x1a) WRITE_LONG (sec_hdr + 0x10) (poly_table + 0x1a + 0x24) END BUT_ONLY COPY_EXISTING ~%Beregost%.are~ override PATCH_IF SOURCE_SIZE > 0x28f BEGIN READ_SHORT 0x5a reg_count READ_LONG 0x5c reg_offset READ_LONG 0x7c vert_offset READ_SHORT 0x80 vert_count READ_SHORT 0x82 amb_count READ_LONG 0x84 amb_offset READ_LONG 0xa4 door_count READ_LONG 0xa8 door_offset new_door_offset = door_offset + door_count * 0xc8 new_vert_offset = vert_offset + vert_count * 4 FOR (h = 0; h < reg_count; h += 1) BEGIN //Adjust house travel region boundaries READ_ASCII (h * 0xc4 + reg_offset) reg_name //Read the name PATCH_IF (~%reg_name%~ STRING_EQUAL_CASE ~%BeregH22Reg%~ = 1) BEGIN //If House 22 WRITE_SHORT (h * 0xc4 + reg_offset + 0x22) 2330 //Boundary left WRITE_SHORT (h * 0xc4 + reg_offset + 0x24) 1478 //Boundary top WRITE_SHORT (h * 0xc4 + reg_offset + 0x26) 2370 //Boundary right WRITE_SHORT (h * 0xc4 + reg_offset + 0x28) 1620 //Boundary bottom READ_LONG (h * 0xc4 + reg_offset + 0x2c) vert_index last_vert_offset = (vert_offset + vert_index * 4) WRITE_SHORT last_vert_offset 2370 WRITE_SHORT (last_vert_offset + 2) 1562 WRITE_SHORT (last_vert_offset + 4) 2330 WRITE_SHORT (last_vert_offset + 6) 1620 WRITE_SHORT (last_vert_offset + 8) 2330 WRITE_SHORT (last_vert_offset + 0xa) 1536 WRITE_SHORT (last_vert_offset + 0xc) 2370 WRITE_SHORT (last_vert_offset + 0xe) 1478 END END FOR (i = 0; i < door_count; i += 1) BEGIN //Ascension64's awesome crash fix READ_ASCII (door_offset + i * 0xc8 + 0x20) door_name PATCH_IF (~%door_name%~ STRING_EQUAL_CASE ~door3304~ = 1) BEGIN READ_LONG (door_offset + i * 0xc8 + 0x48) poi_index READ_SHORT (door_offset + i * 0xc8 + 0x4c) poi_count FOR (j = poi_index; j < poi_index + poi_count; j += 1) BEGIN READ_SHORT (vert_offset + j * 4) x READ_SHORT (vert_offset + j * 4 + 2) y PATCH_IF (x = 243 && y = 326) BEGIN WRITE_SHORT (vert_offset + j * 4) 233 WRITE_SHORT (vert_offset + j * 4 + 2) 302 END PATCH_IF (x = 243 && y = 327) BEGIN WRITE_SHORT (vert_offset + j * 4) 233 WRITE_SHORT (vert_offset + j * 4 + 2) 304 END PATCH_IF (x = 242 && y = 325) BEGIN WRITE_SHORT (vert_offset + j * 4) 232 WRITE_SHORT (vert_offset + j * 4 + 2) 304 END END END END FOR (j = 0; j < amb_count; j += 1) BEGIN //Fix missing ambient reference READ_ASCII (amb_offset + j * 0xd4) amb_name PATCH_IF (~%amb_name%~ STRING_EQUAL_CASE ~birds~ = 1) BEGIN READ_SHORT (amb_offset + j * 0xd4 + 0x80) snd_count FOR (k = 0; k < snd_count; k += 8) BEGIN READ_ASCII (amb_offset + j * 0xd4 + 0x30 + k) snd_ref PATCH_IF (~%snd_ref%~ STRING_EQUAL_CASE ~%tutu_scripta%mb_e05c~ = 1) BEGIN WRITE_ASCIIE (amb_offset + j * 0xd4 + 0x30 + k) ~%tutu_scripta%MB_E05A~ #8 END END END END INSERT_BYTES new_vert_offset 0x30 //Insert 12 new vertex pairs WRITE_SHORT new_vert_offset 2370 //Open door WRITE_SHORT (new_vert_offset + 2) 1563 WRITE_SHORT (new_vert_offset + 4) 2325 WRITE_SHORT (new_vert_offset + 6) 1563 WRITE_SHORT (new_vert_offset + 8) 2325 WRITE_SHORT (new_vert_offset + 0xa) 1478 WRITE_SHORT (new_vert_offset + 0xc) 2370 WRITE_SHORT (new_vert_offset + 0xe) 1478 WRITE_SHORT (new_vert_offset + 0x10) 2370 //Closed door WRITE_SHORT (new_vert_offset + 0x12) 1562 WRITE_SHORT (new_vert_offset + 0x14) 2330 WRITE_SHORT (new_vert_offset + 0x16) 1620 WRITE_SHORT (new_vert_offset + 0x18) 2330 WRITE_SHORT (new_vert_offset + 0x1a) 1536 WRITE_SHORT (new_vert_offset + 0x1c) 2370 WRITE_SHORT (new_vert_offset + 0x1e) 1478 WRITE_SHORT (new_vert_offset + 0x20) 147 //Open impeded cells WRITE_SHORT (new_vert_offset + 0x22) 128 WRITE_SHORT (new_vert_offset + 0x24) 148 WRITE_SHORT (new_vert_offset + 0x26) 128 WRITE_SHORT (new_vert_offset + 0x28) 146 //Closed impeded cells WRITE_SHORT (new_vert_offset + 0x2a) 131 WRITE_SHORT (new_vert_offset + 0x2c) 147 WRITE_SHORT (new_vert_offset + 0x2e) 130 INSERT_BYTES new_door_offset 0xc8 //Insert new door WRITE_ASCII new_door_offset ~Door3337~ #8 //Name WRITE_ASCII (new_door_offset + 0x20) ~DOOR3337~ #8 //.wed ID WRITE_BYTE (new_door_offset + 0x28) 0b01000010 //Flags (linked and locked) WRITE_LONG (new_door_offset + 0x2c) vert_count //Open door vertex index WRITE_SHORT (new_door_offset + 0x30) 4 //Open door vertex count WRITE_SHORT (new_door_offset + 0x32) 4 //Closed door vertex count WRITE_LONG (new_door_offset + 0x34) (vert_count + 4) //Closed door vertex index WRITE_SHORT (new_door_offset + 0x38) 2325 //Open boundary minimum X coordinate WRITE_SHORT (new_door_offset + 0x3a) 1478 //Open boundary minimum Y coordinate WRITE_SHORT (new_door_offset + 0x3c) 2370 //Open boundary maximum X coordinate WRITE_SHORT (new_door_offset + 0x3e) 1563 //Open boundary maximum Y coordinate WRITE_SHORT (new_door_offset + 0x40) 2330 //Closed boundary minimum X coordinate WRITE_SHORT (new_door_offset + 0x42) 1478 //Closed boundary minimum Y coordinate WRITE_SHORT (new_door_offset + 0x44) 2370 //Closed boundary maximum X coordinate WRITE_SHORT (new_door_offset + 0x46) 1620 //Closed boundary maximum Y coordinate WRITE_LONG (new_door_offset + 0x48) (vert_count + 8) //Closed impeded vertex index WRITE_SHORT (new_door_offset + 0x4c) 2 //Closed impeded vertex count WRITE_SHORT (new_door_offset + 0x4e) 2 //Open impeded vertex count WRITE_LONG (new_door_offset + 0x50) (vert_count + 10) //Open impeded vertex index WRITE_LONG (new_door_offset + 0x68) 30 //Cursor index (door) WRITE_SHORT (new_door_offset + 0x74) 2342 //Trap launch X coordinate WRITE_SHORT (new_door_offset + 0x76) 1556 //Trap launch Y coordinate WRITE_ASCII (new_door_offset + 0x78) ~b!key01~ #8 //Key item WRITE_LONG (new_door_offset + 0x8c) 150 //Lock difficulty WRITE_SHORT (new_door_offset + 0x90) 2312 //Open location X coordinate WRITE_SHORT (new_door_offset + 0x92) 1518 //Open location Y coordinate WRITE_SHORT (new_door_offset + 0x94) 2312 //Closed location X coordinate WRITE_SHORT (new_door_offset + 0x96) 1518 //Closed location Y coordinate vert_count += 12 WRITE_SHORT 0x80 vert_count door_count += 1 WRITE_LONG 0xa4 door_count PATCH_FOR_EACH offset IN 0x7c 0x88 BEGIN READ_LONG offset old_value PATCH_IF old_value > door_offset BEGIN WRITE_LONG offset (old_value + 0xc8) //Update offsets to account for new door END END PATCH_FOR_EACH offset IN 0xa0 0xb0 0xb8 0xbc 0xc0 0xc4 0xcc BEGIN READ_LONG offset old_value PATCH_IF old_value > vert_offset BEGIN WRITE_LONG offset (old_value + 0xc8 + 0x30) //Update offsets to account for new door and vertices END END END BUT_ONLY COPY_EXISTING ~key07.itm~ ~override/b!key01.itm~ //Beregost house key SAY NAME1 ~Ornate Key~ SAY NAME2 ~Ornate Key~ SAY UNIDENTIFIED_DESC ~This gold-enameled key has elaborate designs on it. It is now a bit scuffed but still looks serviceable.~ WRITE_BYTE 0x18 (THIS BAND 0b11111110) //Make it sellable (why not) WRITE_LONG 0x34 7 //Price COPY_EXISTING ~%tutu_var%inn3351.sto~ ~override~ //Let Feldepost Inn buy keys PATCH_IF SOURCE_SIZE > 0x9b BEGIN READ_LONG 0x2c bought_offset READ_LONG 0x30 bought_count found_key = 0 found_potn = 0 FOR (i = 0; i < bought_count; i += 1) BEGIN READ_LONG (bought_offset + i * 4) item_categ PATCH_IF item_categ = 8 BEGIN found_key = 1 END PATCH_IF item_categ = 9 BEGIN found_potn = 1 key_offset = (bought_offset + i * 4) END END PATCH_IF found_potn = 0 BEGIN key_offset = SOURCE_SIZE END PATCH_IF found_key = 0 BEGIN INSERT_BYTES key_offset 4 WRITE_LONG key_offset 8 bought_count += 1 WRITE_LONG 0x30 bought_count END END BUT_ONLY RANDOM_SEED null //Initialize random placement OUTER_SET rnk = RANDOM(1 3) ACTION_IF rnk = 1 BEGIN COPY_EXISTING ~%ValleyoftheTombs_Tomb%.are~ override PATCH_IF SOURCE_SIZE > 0x28f BEGIN LPF ADD_AREA_ITEM INT_VAR container_to_add_to = 5 STR_VAR item_to_add = ~b!key01~ END END BUT_ONLY END ELSE BEGIN ACTION_IF rnk = 2 BEGIN COPY_EXISTING ~%BanditCamp_Tent2%.are~ override PATCH_IF SOURCE_SIZE > 0x28f BEGIN LPF ADD_AREA_ITEM INT_VAR container_to_add_to = 4 STR_VAR item_to_add = ~b!key01~ END END BUT_ONLY END ELSE BEGIN COPY_EXISTING ~%UlcasterRuins%.are~ override PATCH_IF SOURCE_SIZE > 0x28f BEGIN LPF ADD_AREA_ITEM INT_VAR container_to_add_to = 4 STR_VAR item_to_add = ~b!key01~ END END BUT_ONLY END END (Now I would have used Nythrun's fj_add_are_struct function, at least for the .are portion of this, but it stubbornly refused to recognise the new door vertices, even after I corrected a typo in it the door_structure section... ) Link to comment
berelinde Posted April 23, 2010 Share Posted April 23, 2010 Hey, that's pretty cool. I'll probably have time to level up version up some time this weekend. I'm trying to remember how to mod NWN2 at the moment, but I'll put in a couple hours worth of IE time Sunday. Thanks! Link to comment
berelinde Posted April 24, 2010 Share Posted April 24, 2010 Turns out that the cat woke me up early this morning, so I had some time to update earlier than I expected. I did wind up changing the lock difficulty to 110. None of the thieves I've had have had anywhere close to that kind of lockpicking ability at level 6 (25 x 6=150, and there's traps to think about, too). If the PC waits until the quest is given, s/he'll probably be fairly high level anyway, so I didn't feel too bad about letting Penny give the PC the key. So yeah, this means that v5 is up. Thanks again! Link to comment
Lollorian Posted April 24, 2010 Share Posted April 24, 2010 Heya again! Sorry about not reporting this earlier, but line 678 in Kivan\BAF\P#DEHER.BAF should probably have been: !StateCheck(LastSeenBy(Myself),STATE_REALLY_DEAD) and not !StateCheck(Myself,STATE_REALLY_DEAD) I admit that this was a goof up on my part and am sorry for that As always, I dunno the severity of this so please consider it for whenever you version up next! Link to comment
berelinde Posted April 24, 2010 Share Posted April 24, 2010 Out of curiosity, why are you reporting this on Gavin's forum? I know, I've been doing a lot of updates to other peoples' mods, but time is at a premium right now. (sigh) I guess I'll see what I can do. Link to comment
Lollorian Posted April 24, 2010 Share Posted April 24, 2010 Out of curiosity, why are you reporting this on Gavin's forum?<epic faceplam> Sorry about that! time is at a premium right nowSame here Link to comment
Miloch Posted April 24, 2010 Share Posted April 24, 2010 I did wind up changing the lock difficulty to 110. None of the thieves I've had have had anywhere close to that kind of lockpicking ability at level 6 (25 x 6=150, and there's traps to think about, too).You get 20 points in each skill on creation, plus an extra 5-10 points if you're a short person (dwarves get +10, gnomes and halflings +5) and then immediately 40 points to use. So a dwarf thief could have 75 in open locks at level 1. Then the thievery potion adds another 40. Shouldn't really be that tough to get that by level 6 unless you've been pouring your points into useless skills, and open locks is undoubtedly the most useful skill early in the game. I usually have at least 2 thieves or thief combos, one for locks and one for other stuff. But I guess the point is not to pick this lock, but get the key .If the PC waits until the quest is given, s/he'll probably be fairly high level anyway, so I didn't feel too bad about letting Penny give the PC the key.Aw, and I put so much hard work into that random key placement routine (heh, actually that bit took the least amount of time since there are in-built functions and I ripped the structure from Aurora anyway). I guess someone could use it to put some other random item into the game for flavour. I guess this makes Gavin a required install, if it wasn't before, at least for Tutu since it fixes both a missing ambient and the crash issue in Beregost. Link to comment
berelinde Posted April 24, 2010 Share Posted April 24, 2010 It's awesome, Miloch, because this way, even if Gavin isn't recruited, the party can still get the key! Giving the key to Penny was a cop-out, I admit, but it was that or pepper the dialogue with clues as to where the keys might possibly be located, and that sounded like a lot of work. OK, not as much as doing the awesome code you did, but still... Link to comment
Miloch Posted April 24, 2010 Share Posted April 24, 2010 Giving the key to Penny was a cop-out, I admit, but it was that or pepper the dialogue with clues as to where the keys might possibly be located, and that sounded like a lot of work. OK, not as much as doing the awesome code you did, but still...Hey, if I put in 250+ lines of code (and you wouldn't believe the bugs before I got all the offsets right) just on a damned door, the least you can do is write a bit of dialogue . Though you wouldn't need to drop the clues by dialogue either. You could leave a note behind (and the note could vary based on where it is). Or even mod the tavern rumours, which could also vary based on where the key is. Though I suppose you'd have to drop the occasional false rumour or they just wouldn't be proper rumours. And I might just have to look into that later, because it's something cool I haven't done yet (and can't be nearly as hard as adding that lock). Link to comment
berelinde Posted April 24, 2010 Share Posted April 24, 2010 Don't think it would be too tough to add rumors... but then again, I never tried. Sorry if it sounds like I'm taking the easy way out, but I've got a lot of modding to do and only 7 days to do it. I'll look into adding rumors during that chunk of IE time I was setting aside for tomorrow. If I can figure out how to do it, or if you can, I'll bump the lock difficulty back up to 150 and take away Penny's key. Might as well make the quest a little bit more than a FedEx. Link to comment
Miloch Posted April 24, 2010 Share Posted April 24, 2010 Don't think it would be too tough to add rumors... but then again, I never tried.Well I checked it out in between beach lounging and dinner party time. Turns out it would involve modding dialogue, the file in question being %tutu_var%rbereg.dlg (Beregost rumours). Not a dialogue whiz, but I might be able to figure it out with a little more analysis. Offhand, it'd seem to be a matter of an extra trigger, state and response (there are 22 by default for each for each rumour). So for another rumour(s) perhaps it'd be a matter of using ADD_STATE_TRIGGER, ADD_TRANS_TRIGGER and/or ADD_TRANS_ACTION? Maybe you have more clues having worked more with dialogue but I can probably figure it out later (after a bottle of wine or so might be best, rofl). Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.