Jump to content
Demivrgvs

IR v4 Beta (last update 20 June 2017)

Recommended Posts

Posted (edited)

If I was thinking ahead/smarter, I would have made a fix, made a commit; made a fix, made a commit; etc. But I was just working locally on a version of 4b10... some of the fixes are quite easy to distinguish and reproduce, but some of them I did months ago (before All This) and don’t recall exactly what the changes are. 

Actually now that I think about it, most of these should be easy to do as individual pull requests:

  • backstabbing/too many items usable by thieves
  • marek's cure
  • potn19.itm
  • shaman usability
  • bracers of speed
  • shields
  • dagger of venom
  • EE ammo stacks
  • polymorph weapons

For Saving Grace, Daystar, and adding 'cold iron' to some weapons, I don't really recall what I changed or which particular files are involved.

Edited by subtledoctor

Share this post


Link to post

Single-issue commits vs. multi-issue commits:

The biggest benefits to single-issue commits are that they reduce the chance that changes slip through the cracks without being documented and they make it easier to figure out why a particular file or line of code was changed when looking back on it later.

It's the preferred way to do things, but can be a real pain in the butt to reverse engineer when you haven't done it that way in the first place.  When determining how far to take this, I'd recommend weighing the time investment required against the potential time savings in the future.  Focusing on the goal of good and accurate documentation is more important than adhering to a strict methodology.

Many single-issue pull requests vs. one multi-issue pull request:

One larger multi-issue pull request is fine in most cases. The benefit of smaller single-issue pull requests is that they are easier to manage when there are conflicts or when the maintainer wants to approve some of the changes but not others.  I'll happily approve a bunch of bugfixes and there haven't been any other commits recently that would conflict with your changes, so throw them in a single PR to make both our lives easier.

Share this post


Link to post
Posted (edited)

Actually I can quite easily split up the changes into 10 different commits; only the last one will be multi-issue.  The biggest impediment to multiple single-issue pull requests is, I just don't know how to do it.  If done sequentially, wouldn't each one also include all of the changes from the earlier commits?  I'm just not practiced with Github.

I'll do 10 commits in my fork, and then a single multi-issue pull request, and you should be easily able to refer to the commits to see which files are changed for each issue.  (In most cases it is only one or two files.)

EDIT - okay, I actually made 12 different single-issue commits (actually 13 - I uploaded "4b10sd4" twice), you can inspect them over here.

Some of these are questionable - the second 4b10sd4 sets cold iron weapons per kreso's comment; 4b10sd5 also sets that flag for weapons with the 'starmetal' property - in this case, the "World's Edge" 2-handed sword and the Starmetal Cudgel if that spell is installed by SR or IWDification.  I like the idea that you can hit the loup garou with something other than bastard swords, but you may see this as scope creep.  At any rate it's only a few lines in main_component.tpa, feel free to ignore it.

EDIT - I forgot, I also added the flag to the “Root of the Problem” club, since it talks specifically about affecting unnatural creatures and “monsters.”  So to recap, if these changes are accepted, then the effective weapons will include a dagger, a long sword, a bastard sword, a 2-handed sword, a club usable by druids, and a mace summoned by a cleric spell from another mod. Personally I think this is reasonable; YMMV.

The change to the Bracers of Speed - honestly I'm not convinced there is a bug there.  The .eff uses opcode 146 with param2 = 1 (cast instantly, ignore level), which I think is the proper way to do it, and the subspell has casting speed 0.  I suspect the bug reporter might have had some other mod change one of those.  Maybe.  This change just sets the header target on the subspell to 7, on EEs only (I don't know if header target 7 works on the old engine), just to be sure it is cast instantly.  It may not be needed, but anyway the 'fix' shouldn't cause any harm.

Everything else is per the earlier discussion in the bugs thread.  For Daystar I didn't want to mess with the vanilla game's EVILDAM2.EFF file, even if it may be broken.  So I created a new HOLYDAM2.EFF, modeled after the several other HOLYDAM_.EFF files added by SR, and applied it in the sword's existing 177 equipping effect.

EDIT - these HOLYDAM .eff files might be worth a discussion. Currently it adds a global equipping effect giving the wielder a damage bonus vs. evil creatures, via opcode 179. This means if you have Daystar or Foebane in your off-hand, that bonus will likely apply to your main-hand attacks with a different weapon. (I don’t know how damage is typed for opcode 179... presumably it is the same as the underlying attack?) My first attempt at a fix for Daystar was to add a 177 on-hit effect targeting evil creatures, applying an .eff that uses opcode 12 to do 2 slashing damage. This is what I’m using in my current game, and I could make an argument at all of IR’s categorical damage bonuses (‘holy’ and ‘starmetal’ etc.) should work this way. OTOH it would be a not-insignificant amount of work, and wouldn’t make that much difference...

Edited by subtledoctor

Share this post


Link to post
2 hours ago, subtledoctor said:

Actually I can quite easily split up the changes into 10 different commits; only the last one will be multi-issue.  The biggest impediment to multiple single-issue pull requests is, I just don't know how to do it.  If done sequentially, wouldn't each one also include all of the changes from the earlier commits?  I'm just not practiced with Github.

Yes. If you would like to send multiple changes that don't include previously commited changes (commit 1 - only fix for item1, commit 2 - only fix for item2, without item1 changes) then some amount of git/github trickery with branches would be needed.

But you did good job with single commits.

Share this post


Link to post
Posted (edited)
On 5/22/2020 at 9:19 AM, subtledoctor said:

EDIT - these HOLYDAM .eff files might be worth a discussion. Currently it adds a global equipping effect giving the wielder a damage bonus vs. evil creatures, via opcode 179. This means if you have Daystar or Foebane in your off-hand, that bonus will likely apply to your main-hand attacks with a different weapon. (I don’t know how damage is typed for opcode 179... presumably it is the same as the underlying attack?) My first attempt at a fix for Daystar was to add a 177 on-hit effect targeting evil creatures, applying an .eff that uses opcode 12 to do 2 slashing damage. This is what I’m using in my current game, and I could make an argument at all of IR’s categorical damage bonuses (‘holy’ and ‘starmetal’ etc.) should work this way. OTOH it would be a not-insignificant amount of work, and wouldn’t make that much difference...

Yeah, I've been aware of this issue for years, but I was never quite sure if I wanted to fix it. The result is if you are dual-wielding, you get those damage/THAC0 bonuses with it, which is definitely not intended. However, my problem with fixing it is:

1. You can't make the same fix for THAC0(?).

2. More message log spam...a few weapons will three message entries every time they attack their target creatures (e.g. Flametongue).

3. A lot of work to fix.

4. There may be an issue of damage resistances for flat damage reductions outright negating a bonus because it's a separate source of damage that gets its own separate reduction (not sure how many creatures/characters have flat damage reductions in the BG games, though).

5. Maybe something else.

P.S. I like giving Root of the Problem the cold iron property. These are, as best as I can tell, the only silver/cold iron-enabled weapons in vanilla:

Flame Tongue = Silver
Sword of Balduran = Silver + Cold Iron
Kondar = Silver + Cold Iron
Albruin = Silver
Sword of Flame = Silver + Cold Iron
Angurvadal = Silver + Cold Iron
The Answerer = Silver + Cold Iron
Carsomyr = Silver + Cold Iron
Werebane = Silver + Cold Iron
Azurewrath = Silver + Cold Iron
Silver Sword = Silver

Oddly, Icingdeath mentions being made of silver, but is not silver-enabled.

Edited by Bartimaeus

Share this post


Link to post

Sorry for the noob question cause I am very new to this mod.

Potions of Genius and the one that gave a +3 to Intelligence were removed. In other words, it's important to have a mage that has 17+ Intelligence to scribe Level 9 arcane spells (with some Intelligence bonus from Tomes and items)?

Share this post


Link to post
Guest Piquero
4 hours ago, hardric said:

Sorry for the noob question cause I am very new to this mod.

Potions of Genius and the one that gave a +3 to Intelligence were removed. In other words, it's important to have a mage that has 17+ Intelligence to scribe Level 9 arcane spells (with some Intelligence bonus from Tomes and items)?

The designer of the mod certainly plays with 100% success chance to scribe scrolls and unlimited space in the spell book tweaks (there is also no way of increasing your WISDOM through potions, and there are a few situations in the game where you could use such resource),

You can install that tweak in your game or revert the change to the potion of mind focusing by deleting the .itm file from your Override folder I think.

Share this post


Link to post

I suspect Demi just accepted the risk of spell learning failure. This is after all a D&D game, it’s all about rolling dice, and sometimes the dice go against you!

On 5/23/2020 at 4:51 PM, Bartimaeus said:

I like giving Root of the Problem the cold iron property. These are, as best as I can tell, the only silver/cold iron-enabled weapons in vanilla:

Flame Tongue = Silver
Sword of Balduran = Silver + Cold Iron
Kondar = Silver + Cold Iron
Albruin = Silver
Sword of Flame = Silver + Cold Iron
Angurvadal = Silver + Cold Iron
The Answerer = Silver + Cold Iron
Carsomyr = Silver + Cold Iron
Werebane = Silver + Cold Iron
Azurewrath = Silver + Cold Iron
Silver Sword = Silver

1) Does the “silver” property have any effect in the game?

2) Do the BG2 weapons matter? Are there any monsters in BG2 that require cold iron to hit?

Share this post


Link to post

Oh yeah, I think I just found another relatively serious bug, in the interaction between Store Revisions and the new SR. Maybe. If I confirm it, I’ll make one more pull request with a fix. 

Share this post


Link to post
2 hours ago, Guest Piquero said:

The designer of the mod certainly plays with 100% success chance to scribe scrolls and unlimited space in the spell book tweaks (there is also no way of increasing your WISDOM through potions, and there are a few situations in the game where you could use such resource),

You can install that tweak in your game or revert the change to the potion of mind focusing by deleting the .itm file from your Override folder I think.

Thanks. Now to figure out how to get back the Potion of Mind Focusing.

Share this post


Link to post
33 minutes ago, hardric said:

Thanks. Now to figure out how to get back the Potion of Mind Focusing.

Just navigate into your override folder, find potn37.itm, and delete it or move it somewhere else.

That will remove IR's Potion of Restoration - you'll need the spell or temple services for restoration.

Share this post


Link to post

Subtledoctor,

I noticed that you updated your Item Revisions to "4b10sd13".

Sorry if this has been asked, but how does your IR differ from the Gibberlings3 version - and is it intended to be used with IR Revised?

Thanks!

Share this post


Link to post

I've added a 14th commit (unfortunately labeled "sd13" since apparently me no count good), fixing how Store Revisions handles temple services, to account for the fact that SR now uses ADD_SPELL.  Apparently since the pull request with the first 13 commits has not yet been merged, this new commit has automatically added to the pull request.  I think?  @Mike1072 if you have any questions or the way Github handles it is not as clean as it seems, just let me know.

Share this post


Link to post
Posted (edited)
27 minutes ago, Chitown Willie said:

So latest / greatest combo =

Subtledoctor Item Revisions 4b10sd13 + IR Revised v1.2.7?

I would only mix IRR with whatever IR foundation Bartimaeus has tested it with.  Honestly I'm not sure how it works, but I would worry that something I've changed in IR might be different from what IRR expects and something might be screwy.  I assume when IR4b11 is released Bartimaeus will incorporate that into his project, but keep in mind, not all of my changes might be accepted into IR 4b11!  My general advice:

  • If you want IR, use the latest version of IR. 
  • If you want to use my fork of IR to get these fixes until 4b11 is released, that's okay with me.
  • If you want IRR, use the latest version of IRR, however it was formulated and whatever its instructions are. 
Edited by subtledoctor

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...