Jump to content
Demivrgvs

IR v4 Beta (last update 20 June 2017)

Recommended Posts

This sort of thing is always welcome. We'd love it if more people would provide description fixes or report typos. Nowadays, it's possible to contribute them directly through GitHub, too.

 

I went through it all in WinMerge and incorporated a lot of the changes. I left out some of the style changes I wasn't keen on (swapping the Immune lines with Protects Against, adding unnecessary prefixes like Spell Memorization, conflating some specific spells with the more general effects, renaming the flavourful abilities) and some of the stuff I didn't want to touch without discussing with Demi (the ordering of abilities, summoned creature statistics).

 

I did include these changes:

  • standardizing saving throw blocks
  • moving "(x per day)" from abilities row to the individual abilities for versatility
  • prioritizing "THAC0" and "AC" abbreviations over "attack rolls" and "armor class"
  • capitalizing dice info and spacing out bonuses (e.g. 1D4 + 1 not 1d4+1)
  • removing "points of damage" in favour of "damage"
  • removing "additional" qualifier on abilities providing bonus damage/THAC0 where obvious (note: there were many cases where it was not obvious how these interacted with regular THAC0 and damage, so those instances continue to use "additional")
  • two linebreaks between paragraphs in flavour text
  • Oxford comma for lists
  • more commas added to clarify messy sentences
There were some numerical fixes included in the changes, which I added, but there were also some errors (since I suspect this was developed for an earlier version of the mod), which I left out.

 

I incorporated a lot of the changes that served to fix some of the weird sentences in flavour text and ability descriptions, but I also tweaked a lot of them and fixed some other things that weren't included in your changes.

 

Awesome, anything is better than nothing, since it was originally solely for my own use, :). Although I'm curious as to what I missed... :p

 

I'll get back to you about the 1PP stuff, but I don't recommend installing 1PP after IR: you will definitely get some cases where your icons no longer match the item (e.g. bucklers that look like some other type of shield).

For shields and helms, I added every single one in the game to my inventory via console and equipped them see what was up. Basically, what I noticed was that:

1. Shield of the Harmony has a BG1-style small shield for an icon, but has BG2-style small shield paperdoll and sprite graphics.

2. Saving Grace has a similar problem: BG1-style medium shield icon, instead has BG1-style small shield graphics.

3. Borderline case: Nature's Ward is supposed to be a medium shield, but 1PP gives it its own unique graphics that sorta looks in between a small and medium shield.

4. Reflection Shield is supposed to be a buckler, but has its own unique tower shield graphics from 1PP. Hilarious, but the worst inconsistency of the bunch.

5. Helm of Balduran has mismatched graphics and icon (namely, the graphics are the BG1-style Helm of Balduran, but the inventory icon uses a...well, this).

6. Helm of Despair and Shadow Veil should *probably* use CHELM08 for description graphics instead of CHELM04.

 

Besides there, there doesn't seem to be any other problems. As far as I'm concerned, these very few issues are worth the way better helmet graphics and icons of 1ppv4. There was just such a serious improvement in helmets from earlier version of 1pp to 1ppv4 that I really just can't stomach not having it. Plus, it's better than bucklers looking like tower shields, which is what I was getting when I installed it the other way around (although you do say that should not happen, and if that's the case, I wonder what did it). And anyways, I can easily fix them. :)

 

(edit): By the way, one more item bug: Ring of Folly does not force Wild Magic/Wild Surges upon casting. I believe this is because the opcode 280 is supposed to be type 2, not type 0. Instead, the effect appears to be some chance of spellcasting failure. I haven't any clue how much of a chance it is, though, particularly because of how weird it worked when I equipped it: my first three spells failed due to spellcasting failure, and then the next 10 or so worked fine. I was getting spellcasting failure because I was trying to cast Expeditious Retreat over and over. Man, I'm dumb. :p In any event, I changed the type to 2, and now the ring works as it's supposed to. In default IR, the only thing the ring does is grant +1 bonus to spellcasting speed...so, in other words, it's actually a benefit without any downsides, which is obviously not how the Ring of Folly is supposed to work. (e): Also, Root of the Problem has 0 lore to identify...I would think it should be around 50, but maybe this is by design? (e) ...and Girdle of Bluntness should say "+4 bonus to AC vs. crushing weapons", not blunt weapons

 

Also, I personally like the idea of changing some cursed items to match the graphics of other non-cursed variants - e.g. Ring of Folly changes from IRING23 to IRING08 (Ring of Wizardry), and then you can reuse the Ring of Folly's graphics with, for example, Ring of Acuity, so it has its own unique graphics. ...But that's just me and an idea. :)

Edited by Bartimaeus

Share this post


Link to post
Doesn't the suggestion Mike gave in an older thread about 1PP work ? I use that order myself and don't remember seing misalignment on helmets/shields and stuff.

 

It probably is a stupid idea but if item_rev is changed not to copy any items (and only copy the relevant bams if 1pp is not already installed) but patch the items to create the necessary effects, would this problem with 1pp go away ?

 

1. Um, sort of. The only one I had out of order out of those was the "increased paperdoll variety", I believe, but I had other other problems beyond that, and it reverted much of 1pp's newer graphics changes back to an older version of 1pp, which I wanted to fix.

 

2. That would be...exceedingly difficult to do, for reasons Mike spelled out. Without his theoretical tool, it would be just an absolutely absurd amount of work for all the changes Item Revisions makes, and pretty much the entire main component of Item Revisions would have to be redone from near scratch. To me, it would just make so much more sense to simply recommend installing all of current Item Revisions before 1pp if you're going to install both of them...and then making some sort of additional "compatibility" component for Item Revisions that fixes the few inconsistencies/bugs that there are between 1pp and Item Revisions that would be the only component you'd install after both 1pp and Item Revisions. That would be what I'd do, anyways.

 

@Mike: a few criticisms of my text changes you mentioned:

 

1. Conflating specific spells with particular protections (e.g. immunity to level drain/Protects Against: Level Drain -> Spell: Negative Plane Protection). Yes, this is actually something I was considering reverting. I originally had, for example, Amulet of Metaspell Influence say "Spell: Vocalize", but then, when I came upon Shazellim that actually *did* have the entirety of Vocalize's effects, I realized that they should not necessarily be considered the same thing (and in fact, I very much did not want them to be the same thing!), and ended up reverting some of such changes. I tried to keep only the ones that were literally exactly the same (Negative Plane Protection being such a one), but there may have been a little oversight on some of them, and regardless, I get why you don't want to use it.

 

2. Immunity to [...] vs. Protects Against [...]. This is something I struggled with as well - basically, my thought was that I didn't really like "unanchored text" - text in Equipped Abilities and Combat Abilities that did not fall under any sort of specific "ability". Without any sort of specific ability for that sort of text to fall under, I was basically thinking, "Well, why write 'Speed: +1 bonus to Attacks per Round' instead of just '+1 bonus to Attacks per Round'?". That's the same reason I used "Spell Memorization: [...]" instead of just writing it without - it was just to avoid any unanchored text. I understand your dislike to it, though, as it's one of the few ways my text got perhaps unnecessarily longer rather than shorter. In this specific case, though, I valued consistency over brevity.

 

3. Ordering. Yeah, my order is somewhat arbitrary, basically a mix of what I felt was generally (but not always) followed in vanilla Item Revisions as well as a couple of my own changes, some based on the order the game displays them in, for example, character sheets...with the one major exception of instead putting all penalties below all bonuses (and then in the same order). Also, I just realized - all "Lockpicking: [...]" text should actually be "Open Locks" as per how the actual game writes it. Also, Horn/Claw of Kazgoroth should be Horn/Claw of Kazgaroth, if I'm not mistaken.

 

4. And finally, creature text for summonables. Yeah, that's something you'll have to figure out on your own. What I was trying to do there was to avoid, for example, Spectral Brand's "immune to everything except magic damage" type text, and instead provide a standard to follow that was similar to Spell Revisions'. Unfortunately, it doesn't totally work how I imagined, because depending upon those stats, it sometimes spills onto a second line which I was trying very hard to avoid. Part of the reason I did this was that I also wanted to list the creature statistics of Polymorph/Shapeshifting abilities like you see on Cloak of the Sewer, as well as provide stats for a few summonables like Spectral Brand and Ras, which Item Revisions did not do.

 

I also made my own revised versions of a few additional items and creatures like the Jade Hound and Moon Dog figurines among some others (including Regis' Ruby Pendant of Beguiling, the Holy Symbols, and some of the "Bonus Merchant" items that Item Revisions does not handle...and probably a few other things :)) and which I then added to my own Item Revisions 'Revised' mod (for personal use only, of course)

Edited by Bartimaeus

Share this post


Link to post

Hello, recently used items revisions for the first time during a test run of EET.

 

I like the ideas very much. However it's kinda lacking at the moment, there are a lot of description errors and the mod isn't up to date with SoD at all.

I'm however ready to help with the descriptions as I use the mod.

 

Is there any plan to move the list based components to automatically generated ones in the way @subtledoctor does it on Scales of Balance?

What is the preferred way to report these mistakes? This subforum is dead outside of this thread.

Share this post


Link to post

Hello, recently used items revisions for the first time during a test run of EET.

 

I like the ideas very much. However it's kinda lacking at the moment, there are a lot of description errors and the mod isn't up to date with SoD at all.

Nothing has been done for SoD yet, but the global components should mostly work (perhaps the shield/armor/bracer lists need to be updated). I have yet to finish playing the expansion, but once I do, I'll be happy to address any compatibility concerns.

 

I'm however ready to help with the descriptions as I use the mod.

That's great. If you're familiar with using GitHub, you can fork the G3 repo and submit pull requests directly, or you can just post your corrections here on the forum in the new typo thread linked below.

 

 

Is there any plan to move the list based components to automatically generated ones in the way @subtledoctor does it on Scales of Balance?

Could you explain further? I'm not familiar with how Scales of Balance works.

 

What is the preferred way to report these mistakes? This subforum is dead outside of this thread.

Yes, this thread is getting fairly unwieldy. I've created new topics for reporting Typos, Bug Reports, and Feedback.

Share this post


Link to post

There's numerous cases of items being duplicated in SoD so even basic ones like long swords +1 or shields +1 can be missed by IR. I'm trying to find as many cases during my EET gameplay so I'll bring the discussion whether EET should or not bring these items together for the modder's sake. There's also some items specifically wonky in EET due to them existing differently in both games(the ankheg plate mail from BG1 isn't modified by IR in EET).

 

It however would be greatly improved by moving away from list based components I think. I have no idea how to do it as I'm not a modder myself but I asked subtledoctor the question on the BG forums here so if more details are wanted on how to make it work, it's probably him who needs to be asked.

While I haven't tested his armor system yet to see how it works, here's what he said about his daggers which have worked for SoD items too.

 

On another note, do your IR like components rely on pre-generated lists? A dagger generated by thalantyr upgrade mod wasn't affected by the APR bonus.

It's all done dynamically. So if it doesn't affect something like that, my guess would be either 1) you installed that mod after this one; or 2) that mod doesn't code the dagger properly.

 

 

I'm half familar with GitHub though no practical experience(I did a project for university using it but my coworkers didn't submit anything -.-) so i'll maybe check it out after my current test run, i'm noting a bunch of things as they go.

 

Thanks for the answer and good job on the new threads :)

Share this post


Link to post

IR's main component is designed to change specific items in specific ways. It replaces items on an individual basis, so while not technically using a list, it only affects the items it knows about and wants to change. If SoD introduces new items, they won't be changed by the main component (unless we decide later they should be). I don't know why SoD would introduce new generic non-magic or plain +1/+2/etc. copies of items that already exist in the game, but we can find a way to address that if it's happening.

I'm aware that some of the BG1 items in EET are not being modified by IR's main component even though they should be - that's because they were given different filenames than in BGT. It should be quite easy to fix since k4thos recently provided a list of such files.

It however would be greatly improved by moving away from list based components I think. I have no idea how to do it as I'm not a modder myself but I asked subtledoctor the question on the BG forums here so if more details are wanted on how to make it work, it's probably him who needs to be asked.


IR's global components are designed to affect all items in the game, including new ones added by mods (or expansions like SoD). There are a few components that can't function without knowing extra information about items. For example, it's impossible to tell the difference between different types of armors just by reading from the item files, so we use lists to classify every armor in the game or added by a mod. When new mods (or expansions) are released, those lists need to be updated or else the items can be miscategorized. It's unfortunate, but that's the only way to make these components have the effects we want. This relates to the armor, shield, bracer, and wand components. Other components, like the weapon changes, can correctly identify items using just the information stored in the item file, so they don't need to be adjusted when new mods come along.

Share this post


Link to post

Hum, I just looked at Scales of Balance's tpa and it would seem like it parses the name of the object to detect the type though I don't really understand the details to handle side cases. He's pretty good at this type of stuff so I'm sure his solution works. He alsos patches the item's descriptions so even if applied to a modded in item, the description stays correct.

 

The main component indeed isn't a problem here but I think the store revision component is also affected (I detected the +1 long swords because they had different prices) and others outside of the main component.

 

Here's the .tpa : https://github.com/subtledoctor/Scales_of_Balance/blob/master/scales_of_balance/components/100_IWO_YARAS.tpa

Edited by GrimLefourbe

Share this post


Link to post

Hum, I just looked at Scales of Balance's tpa and it would seem like it parses the name of the object to detect the type though I don't really understand the details to handle side cases. He's pretty good at this type of stuff so I'm sure his solution works. He alsos patches the item's descriptions so even if applied to a modded in item, the description stays correct.

 

The main component indeed isn't a problem here but I think the store revision component is also affected (I detected the +1 long swords because they had different prices) and others outside of the main component.

 

If the Store Revisions component is acting up, I'd recommend avoiding it for now simply because that's Ardanis' baby and he hasn't been around to maintain it. I think it's only supposed to affect BG2 at this time.

 

That might* work for what he's doing, but we also have to determine whether armors are supposed to freely allow spellcasting and thievery, whether they're made of scale (which druids should be able to use), made of mithril or elven-made (reduced spellcasting and thieving penalties). I might consider using name detection for something simpler like the bracer/glove component, but that can run into complications of its own relating to translations and there will always be a few items that are exceptions to the rule.

 

*A lot of the weird mod-added items can be tricky to identify and may contain contradictions or errors. For example, it looks like this component replaces the armor value of items, recalculating it using the standard value for the armor type and subtracting the enchantment value. I wouldn't trust that all mod-added armors have the right enchantment value specified because I think that field only has an in-game effect for weapons. I also don't trust unidentified names completely, because I've seen cases where an item has been changed significantly from the original item it was based on and the unidentified values left incorrect because the item comes pre-identified in the mod. (When updating these lists I manually categorized armors using clues like the item description and unidentified name, enchantment value, armor bonuses vs. type, etc.)

Share this post


Link to post

 

That might* work for what he's doing, but we also have to determine whether armors are supposed to freely allow spellcasting and thievery, whether they're made of scale (which druids should be able to use), made of mithril or elven-made (reduced spellcasting and thieving penalties). I might consider using name detection for something simpler like the bracer/glove component, but that can run into complications of its own relating to translations and there will always be a few items that are exceptions to the rule.

 

I was going to make that same remark but he also uses the name to detect mithril etc.

 

I think a good way to do it would be to have the characteristics extracted from the name, unless specified otherwise in a list. Doing things this way avoid having a number of items entirely unaltered by modifications supposed to be global. What do you think? I think it's easier to list the exceptions than list everything to catch the exceptions, plus it'd be less work once implemented and I don't think subtledoctor would mind too much if the process was heavily copied from Scales of balance.

 

I'll test his revised armor system in my next playthrough to see how well it works on heavily modded installations.

Share this post


Link to post

It would be a ton of work to replace the armor identification system and doing that would make it less accurate than what we've got now. Updating the list isn't hard if you get a volunteer to install a bunch of mods and run a little utility that extracts all the armors that aren't included in the list.

Share this post


Link to post

Demi cast Raise Dead on self...

 

Sorry if I disappeared again, time to wrap things up! Thankfully Mike is still around (I love you man :worship: ) and I think I can dedicate 1-2 hours per day to modding for quite a few weeks before I have to get back to work.

 

I'll try to read all the posts I missed and start to understand where I have to start. :unsure: Brb

Share this post


Link to post

Just to chime in: I appreciate the, um, appreciation for my mod, but it's not a silver bullet. There is none. Sometimes lists are appropriate - in fact I use a list of elven chain armors to make them usable by Archers in my other mod. Lists guarantee every single armor gets the particular treatment it deserves. The downside is, you have to keep updating them, and there are occasional blips between the introduction of new stuff and your ability to update the list, when some things will be missed.

 

My system tries to dynamically glean as much information as I can from the various fields in the .itm file, and make a judgment call about how the item should be treated. But there are pitfalls to this: for one, since armors' enchantment value has no inherent use (the actual bonuses are coded elsewhere) lots of armors have nothing in that field. Which is problematic, because my mod relies on that information. So I have to create it on the fly.

 

Another example: some armors don't follow normal conventions when it comes to their unidentified names - which I also rely on. Even some of Beamdog's own stuff does this wrong! It's kind of infuriating.

 

I try to account for these errors with other information (like the equipped appearance, or some commonly accepted standards for how to spell 'mithril,' etc. But at the end of the day there's no guarantee that I get it all right.

 

(Also, now that I'm discussing this, it occurs to me that my current code might break pretty hard on non-English installs... poop.)

Share this post


Link to post

Of course it's not 100% accuracy but I think having a default behaviour through dynamic assignement would be good though. I feel like having items be a bit wrong isn't as bad as having items simply not affected by changes. If you need to chose between "new items aren't included until manual acknowledgement" and "badly made items aren't properly included until manual acknowledgement", it seems better to have the second option imo.

Edited by GrimLefourbe

Share this post


Link to post

Well, this is a good point:

 

having a default behaviour through dynamic assignement would be good though.

 

Frankly the ideal system would be to use static lists, and then the default system for unlisted items should really be as complicated or moreso than my mod. Put them together and it would be really robust.

Share this post


Link to post

I think a good way to do it would be to have the characteristics extracted from the name, unless specified otherwise in a list. Doing things this way avoid having a number of items entirely unaltered by modifications supposed to be global. What do you think? I think it's easier to list the exceptions than list everything to catch the exceptions, plus it'd be less work once implemented and I don't think subtledoctor would mind too much if the process was heavily copied from Scales of balance.

 

IIRC we've already been using this approach in some component for years (Shield Bash perhaps?). I distinctly remember reading the name, enchantment and actual armor value from an item and then printing out a warning if they didn't match up.

 

I agree it would make a fine backup solution for items missing from the hand-made list (in fact, our armor list was built from extracted game data containing the item name and description and its AC modifiers, which I then manually reviewed and made judgement calls in ambiguous cases). The downside is we'd need to test it extensively, to make sure the inclusion of additional heuristics won't accidentally fubar something unrelated (hint - it can).

 

This would only be an issue for shields and armor types, though, I think? Maybe helmets too.

 

 

The main component indeed isn't a problem here but I think the store revision component is also affected (I detected the +1 long swords because they had different prices) and others outside of the main component.

The store component automatically sorts the items by type, price and name. If there're two swords +1, that means either someone added another item into a store, or modified an existing one. Beyond that, I can't tell much.

Edited by Ardanis

Share this post


Link to post
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...