Jump to content

DIY-manual discussion


Wisp

Recommended Posts

If you have any questions on the posted material, any requests for additional how-tos or whatever, don't hesitate to post.

 

Nice documentation of removing items, thank you.

 

I'd love a similar one for adding in items, maybe with a little explanation on how to identify locations where non-randomized items are found.

I'm thinking about the Balduran helm & cloak in BG1 for instance, two things you probably dont want to randomize for everyone as they are quest related. The quests themselves arent mandatory though, so personally i'd like them randomized because i dont always do the related quests anyway, while i do feel incentive to pick them up because of their power.

Link to comment

Would you be willing to explain how to remove certain locations from the randomization list? The Twisted Rune and the random Illithid hideout in the Athkatlan sewers come to mind since I don't think there is a specific quest that leads the PC to either area. I often find the mace of disruption randomized to the Illithid hideout in my play-throughs and would like to prevent that from happening. Switching something like the staff of magi or the robe of vecna to TOB would be great too if that doesn't occur already.

 

I apologize if this was already answered. I skimmed over the manual and didn't see anything pertaining to removing locations from the randomization process.

Link to comment
Would you be willing to explain how to remove certain locations from the randomization list?

Sure thing. Usual reservations about maybe needing weeks to get this done apply.

 

Switching something like the staff of magi or the robe of vecna to TOB would be great too if that doesn't occur already.

If you want particular items to be moved into ToB you can accomplish that by reassigning them to a ToB tier. Doing that is basically like adding new items, except most of the work has already been done. You just need to change the tier and token values.

 

(V7 will have an optional feature that does this at random.)

Link to comment

Hey there wisp,

 

I'm at it again, and in this installation i've made my first foray into editing your lists, randomizing the balduran items. Thanks for the quite clear instructions, i think i'm doing fine, and will try some more edits next time. Right now im only on my way to unpack my first present from Silke.

 

I was wondering though what the 'Ident' column exactly does. Reading your DIY it seems to connect and item and a location, but i'm unsure as to what it exactly does with that connection. I've opened up some items in NI to see if i can deduct some rule as to which items need/want an identifier, but i'm not fully conclusive about my findings.

Right now i'm thinking these identifiers might serve to recognize the role of the item and change things accordingly in dialogs and the like.

So if for instance an item and location have identifier b25, two things are happening:

1) item b25 ends up somewhere, any references where this item is now are changed.

2) location b25 gets something, any references to what should be found here are changed.

I'm quite unsure about this though, because when looking at those items that have identifier i see several of which i at least never noticed they're being referenced to by the game.

 

What this would lead to is that, as long as im not adept in changing game references accordingly, any new item or location should get identifier x, and i should take any erroneous references i come across for granted. (as long as the item only refers to none or harmless files as per checking the item with NI)

 

would you care to tell me if im on the right path with this train of thought?

Link to comment

Hmm, added some more items, which led me to another question (i read "you can always ask" somewhere ;)):

 

The Ssw of Backstabbing, and Slythe himself, are apparently overridden files, would this cause any problem?

 

just added the following line for it:

_sw1h10 sw1h09 _slythe.cre 28 17 x

and was wondering if that would work out fine. (The replacement would be a ssw +2, hoping its not too unique for that purpose)

 

Also, the Horn & Claw of Kazgaroth have two itm files, one overridden and one not. In their case the overridden version has no references while the original ones do refer to the high hedge store. I suppose i use those?

I would normally suppose if there is a choice i chose the overridden version, but here im unsure...

 

(for completeness sake, i see no problems for Spiders Bane, the Cloak of the Wolf, Mareks Eagle bow, Zhalimar's Halberd +2, Prats Throwing Axe +2, Sunins Ring of Wiz, the Infravision items, Greagans Harp or Alai's Ring of Free Action)

(and there are (small) quest problems with the gauntlets of Weapon Skill and wand of Polymorph, serious issues for Boots of the North and the War Hammer 1/4 (rewards))

 

Im a bit in doubt if i should go about Kiel's stuff too, it seems to me all that will happen is the dwarven defenders turning aggro when you pick it up/have it in inventory, if thats all i can live with that, as they are usually swept aside anyway.

 

As well, lastly, the Boots of Stealth confuses me a bit, i think i've only seldomly been caught with those on. If you know its issues from the top of your head, please enlighten me.

Link to comment

I was wondering though what the 'Ident' column exactly does. Reading your DIY it seems to connect and item and a location, but i'm unsure as to what it exactly does with that connection.

"Ident" is a unique identifier that is used to connect an item in an item list to a location in a location list. If a particular ident is not present in the item list, the corresponding entry in the location list is skipped over.

 

If an item needs to be replaced in multiple files that is generally something that needs to be done with dedicated tp2 code (foo.fl in the lists). If the item simply needs to be removed from multiple locations, the duplicate list can be used.

 

The Ssw of Backstabbing, and Slythe himself, are apparently overridden files, would this cause any problem?

 

just added the following line for it:

_sw1h10 sw1h09 _slythe.cre 28 17 x

and was wondering if that would work out fine. (The replacement would be a ssw +2, hoping its not too unique for that purpose)

Also, the Horn & Claw of Kazgaroth have two itm files, one overridden and one not. In their case the overridden version has no references while the original ones do refer to the high hedge store. I suppose i use those?

The Slythe stuff should work fine, provided you remove the underscores (Item Randomiser automatically converts resource references based on the target platform). However, the Claw and Horn pose a problem, since the Tutu version of the High Hedge store has references to the BG2 Claw and Horn, rather than the Tutu versions. I do not think the current code can deal with that, so the Claw and Horn could not be randomised (Item Randomiser would try to remove "_misc72" from "_ighhedg.sto", but since the reference is actually "misc72" it would conclude the item is not present and skip it). I will look into it.

 

Im a bit in doubt if i should go about Kiel's stuff too, it seems to me all that will happen is the dwarven defenders turning aggro when you pick it up/have it in inventory, if thats all i can live with that, as they are usually swept aside anyway.

Randomising Kiel's stuff without clearing up the scripting would result in the Doom Guards going hostile right away if you find either item before you enter that level of Balduran's Tower or not going hostile at all if you have not found either item.

 

As well, lastly, the Boots of Stealth confuses me a bit, i think i've only seldomly been caught with those on. If you know its issues from the top of your head, please enlighten me.

I am not sure what you mean.

Link to comment

Thanks for the reply wisp, i sure wouldnt have thought of those underscores myself.

 

Just looked up that boots of stealth again. It has a number of dialog references to it, including some that trigger when i have it on me, which is why i said i've never been caught with them. (Apparently in my by now 28 iron man runs i never ran across that quest properly).

 

Looking at its references in NI the non-overridden version refers to ar0303, where its found, along with five dialog files. (ffbart, nadari and zhurlo). Several of those seem to trigger when i have the item on me, some handing out xp to boot.

The overridden one doesnt point at ar0303, and does refer to two creature files, obgZhurlong and Nadarin, along with their dlg.

 

Looking those fellows up Zhurlong seems to be a halfling residing in Beregost that wants these boots, and they are to be found on a hobgoblin near Ulcaster.

The second pair of boots is found along the road to nashkel (the one i intended to randomize). It seems either will suffice for Zhurlongs quest.

 

Nadarin is the quest giver for clearing the warehouse of basilisks in BG. Apparently she hands out a third pair of boots as one of her possible quest rewards.

 

Judging from that i think i am safe to randomize one or two of the pairs (the Nashkel road and Ulcaster ones), and will have to accept Zhurlong takes one of them if i found one adventuring and meet up with him.

Link to comment

I would like to know how reasonable it would be for someone with a basic understanding of IE modding to do two things:

 

1) Add new locations for items. Presumably, this would involve adding a new line to the relevant list, but there probably is other stuff to do as well.

2) Add new items. By this, I mean create a completely new item from scratch and then have it appear randomly somewhere.

 

Off the top of my head, 2 seems like it should be easy. I don't know enough about your randomizing process to know how 1 might work.

Link to comment

1) Add new locations for items. Presumably, this would involve adding a new line to the relevant list, but there probably is other stuff to do as well.

As with items it ultimately comes down the parcicular location, but "adding a new line to the relevant list" is enough for most (generic area, creature, store, dialogue and script). There are special cases (called .fl both in the item and location lists), where the general treatment is not possible, but they are comparatively few. Location lists also have "groups" (.flg), which are sets of creatures. There are a number of existing groups and more can be added arbitrarily by editing the file "special_groups.2da". For groups used by Mode 1, all creatures need to be located in the same area (a conventional group, like the Twisted Rune gang, or the sewer thugs). Mode 2 allows groups of arbitrary creatures, without restrictions (say, all dragons in SoA or this Alhoon here, and that Elder Orb there and the Shade Lord). Selection within the group is either random or for whom the item is best suited (depends on Mode and the particulars).

 

I can (and probably should) write a more extensive piece on the subject, but location lists work pretty analogously to item lists.

 

2) Add new items. By this, I mean create a completely new item from scratch and then have it appear randomly somewhere.

If you just want to place your item in the override and use Item Randomiser as the delivery mechanism, you can just add your item to the appropriate item list and put "blank" in the Source column. If you want the best possible integration, you should also add your item to the list "item_ranking.2da", which is used by Mode 2 to determine which item is better (when attempting to equip the item and all relevant slots are occupied). There are a few more lists (cursed_item.2da and the item_tra_*.2da set) but you probably do not need to bother with them. The former is so that cursed items are not equipped even if they do not have the cursed flag and the latter are cosmetic (they map items to tra refences).

 

 

Does this answer your questions?

Link to comment

Thanks! It mostly answers my questions.

 

So just as an example, let's say I want to let random items spawn in the rock early on where the ring of protection was in tutu. That is container3 in AR2800. Let's make the items tier 26 since that's what the ring was. So I would need to add a line that looks something like this:

 

23	   26   container3	   ar2800 

 

to the file bg1location.2da.

 

The ??? is the "Ident" column. Sometimes it is just an x. Other times it is b followed by a hexadecimal. Most containers seem to be of the latter type, so I'm not sure if that's what it should be in this example.

Link to comment

Yeah. That would work.

 

Ident is this case would be x (the canonical "blank" value). Ident is mainly used to connect an item with a location. If you remove an item with a non-x ident, the location with the corresponding ident is skipped as well. (About the non-x values, b: BG1, Mode 1 - v: BG1, Mode 2 - i: BG2, Mode 1 - w: BG2, Mode 2; the numbers are just monotonically increasing in base 16. If you, or anyone else, want to add non-x idents, I would recommend picking a different prefix than the ones already in use. What is it does not matter, as long as it is unique across all tiers and all lists and does not contain whitespace. Idents are currently case insensitive.)

Link to comment

Figured I'd go ahead and add my questions for clarification here, rather than make a new topic.

 

First, in the intro, you mention there being a soft (25-30) and hard limit (36) to items per tier for randomization mode 1. Are there similar limits for mode 2, or is it feasible to exceed these values? Are there any limits to the number of locations? I am guessing this would have much less impact on speed than adding items, correct?

 

Also, to verify behavior: If I have a tier with 15 items, and I expand the location list for that tier to 30 locations, I assume after randomization I will end up with each of those items in one of the locations, and the remaining 15 empty? Further, is it possible to add a location more than once to the same tier, resulting in that location randomly having 0, 1, or 2 items from that tier? Generally, my intent is to add more locations where items can appear, with a lower chance of there being an item in each one - there wouldn't be problems with having significantly more locations than items, would there?

 

Thirdly, having looked at the way the scripting works, I assume that treating any given item with a variable tier to be very non-trivial? The reason I ask, is I think it would be nice to (randomly) rarely allow a higher tier item to propogate down into a lower tier - from the looks of things I am guessing this would be very difficult to do. Having the rare chance of seeing a better quality item in a lower tier location would slightly mimic the behavior of the original game, where good items like the +2 long sword, +1 composite long bow, shield amulet, necklace of missiles, etc ... were available quite early. Perhaps there could be another way of doing this.

 

Ah, one more question that has been floating around my head: Can you give more detail about how the "preserve compatibility with current save games" works? I have not been installing this option because I am assuming it would generate randomization too similar to existing games. Does it do something akin to: (1) Find all items from locations already discovered in saved games, and randomize those as a smaller subset, and then (B) randomize remaining items not yet discovered into locations not yet discovered?

Also, does it preserve items from prior randomized games, or merely from non-randomized games?

Hmm, maybe this section belongs in a new thread.. I may edit it to do so.

 

Thanks!

Link to comment

First, in the intro, you mention there being a soft (25-30) and hard limit (36) to items per tier for randomization mode 1. Are there similar limits for mode 2, or is it feasible to exceed these values? Are there any limits to the number of locations? I am guessing this would have much less impact on speed than adding items, correct?

The limit is only for mode 1. Mode 2 suffers neither from hard nor soft limits.

 

Also, to verify behavior: If I have a tier with 15 items, and I expand the location list for that tier to 30 locations, I assume after randomization I will end up with each of those items in one of the locations, and the remaining 15 empty? Further, is it possible to add a location more than once to the same tier, resulting in that location randomly having 0, 1, or 2 items from that tier? Generally, my intent is to add more locations where items can appear, with a lower chance of there being an item in each one - there wouldn't be problems with having significantly more locations than items, would there?

I'll have to refresh my memory before I can answer in full. But generally, there is no problem associated with adding more locations, or having more locations than items. Having more locations than items will result in some locations randomly being empty, yes. Some locations are probably not possible to use more than once, but I'll have to look up which ones. CRE, ARE and STO targets are fully reusable, but others may or may not be.

 

Thirdly, having looked at the way the scripting works, I assume that treating any given item with a variable tier to be very non-trivial? The reason I ask, is I think it would be nice to (randomly) rarely allow a higher tier item to propogate down into a lower tier - from the looks of things I am guessing this would be very difficult to do. Having the rare chance of seeing a better quality item in a lower tier location would slightly mimic the behavior of the original game, where good items like the +2 long sword, +1 composite long bow, shield amulet, necklace of missiles, etc ... were available quite early. Perhaps there could be another way of doing this.

Could you not achieve this by adding a small number of "easy" locations to a high tier?

 

Ah, one more question that has been floating around my head: Can you give more detail about how the "preserve compatibility with current save games" works? I have not been installing this option because I am assuming it would generate randomization too similar to existing games. Does it do something akin to: (1) Find all items from locations already discovered in saved games, and randomize those as a smaller subset, and then (B) randomize remaining items not yet discovered into locations not yet discovered?

Also, does it preserve items from prior randomized games, or merely from non-randomized games?

I can go into the technical bits if you want, but the short of it is that installing the mod with "preserve" will generate the same random results you got the last time you installed the mod (by reusing the random seed and controlling input factors). "Preserve" is only available if the mod has been installed in the past.
Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...