Jump to content

Things I think should be considered for Fixpack 10


Wisp

Recommended Posts

Two very small details. First, Hendak is not proficient with Short Swords (that he's dual wielding) which makes the outcome of his fight with Lehtinan sketchy at times. On the other hand, he has 4 stars in BG1 Missile Weapons (slings and such) which he doesn't carry. Proposed change:

 

// Hendak should be proficient with Short Swords (which he's dual wielding) instead of missile weapons (which he doesn't carry)

COPY_EXISTING ~hendak.cre~   ~override~ // Hendak
 WRITE_BYTE 0x6f 4 // BG1 Proficiency slot (small sword)
 WRITE_BYTE 0x75 0 // BG1 Proficiency slot (missile)
BUT_ONLY_IF_IT_CHANGES

 

Second, at one point in Saradush, the wizard Errad casts a Divination spell to reveal Ardic's location. However, the spell's casting graphics are those of a Conjuration spell. A very minor detail, but it could be fixed in the "Improved Spell Animations" OBC component.

 

// Make Errard's Divination spell actually use the Divination casting graphics

COPY_EXISTING ~SPIN541.SPL~   ~override~ // Divination
WRITE_SHORT   0x22  16 // Casting graphics: 16 (Divination)
BUT_ONLY_IF_IT_CHANGES

Link to comment

I'm not a fan of the proficiency change. Yes, it would be nice if the creature the designer had copied from actually had short sword proficiency, but it didn't. We're not really going to subtract proficiencies from any creatures and reassign them where we think they make more sense, are we? Why not give him some dual wield proficiency too while we're there?

 

The divination thing is OK, but I think it's a stretch to call it a bug. The designer could have simply preferred that animation or casting voice (more likely, they just copied a conjuration spell because it was closest to what they needed, but still). I agree that it's stupid (and you know I've had it changed locally for years), but so are a lot of the spells.

Link to comment

I'm not a fan of the proficiency change. Yes, it would be nice if the creature the designer had copied from actually had short sword proficiency, but it didn't. We're not really going to subtract proficiencies from any creatures and reassign them where we think they make more sense, are we? Why not give him some dual wield proficiency too while we're there?

 

The divination thing is OK, but I think it's a stretch to call it a bug. The designer could have simply preferred that animation or casting voice (more likely, they just copied a conjuration spell because it was closest to what they needed, but still). I agree that it's stupid (and you know I've had it changed locally for years), but so are a lot of the spells.

 

I think that's a too cautious view really. Developer intent is all well and fine, but lazy programmer copy/paste routines is another. And yes - "who's to say what's lazy programming and what's not"... The answer is: we are! And this is lazy programming. Also, if you've had the casting animation fixed locally (for years, nonetheless), why withhold it from the masses of people who use FixPack that doesn't know of the programmer oversight? That's just elitist ;) *tongue in cheek*

 

I think aVENGER is cooking up a batch of really great fixes, that are indeed fixes, but if my argument doesn't sway you; could we make this OBC?

Link to comment

We're not arbiters of what is a lazy "mistake" or not. BioWare's templates had set proficiencies, and I don't recall that they ever really modified them that much. Are we going to hunt down every creature that is wielding a warhammer but has only large sword proficiency? Is that really what we're coming down to? Are we going to evaluate game balance with the changes being made? Are we authorities on what can and should be changed and whether the results are acceptable, having no knowledge of what BioWare's actual process nor intent were?

 

We fix bugs. We don't change things to have them make more sense. Unless you can find the designer who implemented Hendrak and he tells you that he intended those pips to go into short sword, there's nothing to suggest that his CRE is anything other than working as it was designed to.

 

Yes, I realize with the same horror as you guys that I'm turning into Kish. But somebody has to do it.

Link to comment

Some of the immunities granted by Keldorn's family armor (NPPLAT.itm) are dispellable (particulary immunity to web effect 157), others are not, I vote to make all equipped effects of the armor undispellable for consistency's sake.

 

Storm of vengeance (SPR722.spl) causes poison, but no portrait icon for poison is displayed (I guess it went unnoticed, because by the phase of game enemies can cast it, your saving throws are negative - I only noticed when playing with SCS).

 

Iron golem casting animation (breathing clouds of gas) is incorrectly assigned as one of their attack animations (MIGOG22.bam) - SCS fixes this, but I think it should be in the fixpack.

Link to comment

 

We fix bugs. We don't change things to have them make more sense. Unless you can find the designer who implemented Hendrak and he tells you that he intended those pips to go into short sword, there's nothing to suggest that his CRE is anything other than working as it was designed to.

 

I agree, this probably has no place in the Core Fixes.

 

Perhaps we can make a new OBC component where we could put things which may be considered as bugs but for which we have no clear developer intent (i.e. similar to Additional Script Fixes and Additional Alignment Fixes).

Link to comment

Some of the immunities granted by Keldorn's family armor (NPPLAT.itm) are dispellable (particulary immunity to web effect 157), others are not, I vote to make all equipped effects of the armor undispellable for consistency's sake.

 

Nice catch. Some of them have non-zero power levels and spurious durations too, might fix those as well while we're at it.

 

// Fix erroneously dispellable effects on Keldorn's armor

COPY_EXISTING ~npplat.itm~ ~override~  // Firecam Full-Plate Armor
READ_LONG   0x64 "abil_off"
READ_SHORT  0x68 "abil_num"
READ_LONG   0x6a "fx_off"
READ_SHORT  0x70 "fx_num"
 FOR (index2 = 0 ; index2 < fx_num ; index2 = index2 + 1) BEGIN
WRITE_BYTE ("%fx_off%" + 0x03 + ("%index2%" * 0x30)) "0" // power: 0
WRITE_BYTE ("%fx_off%" + 0x0d + ("%index2%" * 0x30)) "0" // dispel/resist: 0 (non-magical)
WRITE_LONG ("%fx_off%" + 0x0e + ("%index2%" * 0x30)) "0" // duration: 0
 END
BUT_ONLY_IF_IT_CHANGES

 

Storm of vengeance (SPR722.spl) causes poison, but no portrait icon for poison is displayed (I guess it went unnoticed, because by the phase of game enemies can cast it, your saving throws are negative - I only noticed when playing with SCS).

 

Cool, a clean and easy fix:

 

// Fix Storm of Vengeance not displaying the relevant icon on poisoned targets

COPY_EXISTING ~sppr722.spl~ ~override~ // Storm of Vengeance
 READ_LONG  0x64 "abil_off" ELSE 0
 READ_SHORT 0x68 "abil_num" ELSE 0
 READ_LONG  0x6a "fx_off"   ELSE 0
 SET "delta" = 0
 FOR (index = 0 ; index < abil_num ; index = index + 1) BEGIN
READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num"
READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx"
SET "abil_fx_idx" = ("%abil_fx_idx%" + "%delta%")
WRITE_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "%abil_fx_idx%"
FOR (index2 = 0 ; index2 < abil_fx_num ; index2 = index2 + 1) BEGIN
 READ_SHORT ("%fx_off%" +		(0x30 * ("%abil_fx_idx%" + "%index2%"))) "opcode"
  PATCH_IF ("%opcode%" = 25) BEGIN // clone Poison opcode
	READ_ASCII ("%fx_off%" +		(("%abil_fx_idx%" + "%index2%") * 0x30)) "clone_fx" (0x30)
	SET "index2"= "%abil_fx_num%" // kills loop
	INSERT_BYTES			("%fx_off%" +		("%abil_fx_idx%" * 0x30)) 0x30		  // new effect
	  WRITE_EVALUATED_ASCII ("%fx_off%" +		("%abil_fx_idx%" * 0x30)) "%clone_fx%"  // cloned effect
	  WRITE_SHORT		   ("%fx_off%" +		("%abil_fx_idx%" * 0x30)) 142		   // opcode: 142 (Display Special Effect Icon)
	  WRITE_LONG			("%fx_off%" + 0x04 + ("%abil_fx_idx%" * 0x30)) 0			 // param1: 0
	  WRITE_LONG			("%fx_off%" + 0x08 + ("%abil_fx_idx%" * 0x30)) 6			 // param2: 6 (Poisoned icon)
	SET "delta" = "%delta%" + 1
	WRITE_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) ("%abil_fx_num%" + 1)
  END
END
 END
BUT_ONLY_IF_IT_CHANGES

 

Iron golem casting animation (breathing clouds of gas) is incorrectly assigned as one of their attack animations (MIGOG22.bam) - SCS fixes this, but I think it should be in the fixpack.

 

Sounds tweakish to me, but I'd like to hear what the others think.

Link to comment

Just remembered, I have this in RR currently but it's a much better fit for the fixpack. Although the Dagger of Venom is unused in BG2, several mods restore it, but most of them don't bother to fix it. The fixpack currently merely corrects the proficiency assignment but it does nothing about the enchantment level and the missing poison icon. Code:

 

// Fix the wrong enchantment level and missing poison icon on the Dagger of Venom

COPY_EXISTING ~misc75.itm~ ~override~ // Dagger of Venom
WRITE_LONG 0x60 2   // set enchantment level to 2
 READ_LONG  0x64 "abil_off" ELSE 0
 READ_SHORT 0x68 "abil_num" ELSE 0
 READ_LONG  0x6a "fx_off"   ELSE 0
 SET "abil_length" = 0x38
 SET "fx_delta" = 0
 FOR (index = 0 ; index < abil_num ; index = index + 1) BEGIN // start iterating through abilities
   READ_SHORT  ("%abil_off%" + 0x1e + ("%abil_length%" * "%index%")) "abil_fx_num"
   READ_SHORT  ("%abil_off%" + 0x20 + ("%abil_length%" * "%index%")) "abil_fx_idx"
   SET "abil_fx_idx" = ("%abil_fx_idx%" + "%fx_delta%")
   WRITE_SHORT ("%abil_off%" + 0x20 + ("%abil_length%" * "%index%")) ("%abil_fx_idx%")
   FOR (index2 = 0 ; index2 < abil_fx_num ; index2 = index2 + 1) BEGIN
  READ_SHORT ("%fx_off%" +	    (0x30 * ("%abil_fx_idx%" + "%index2%"))) "opcode"
  PATCH_IF ("%opcode%" = 25) BEGIN // poison
    READ_ASCII ("%fx_off%" +	    (0x30 * ("%abil_fx_idx%" + "%index2%"))) "clone" (48) // clone poison opcode
    INSERT_BYTES		    ("%fx_off%" +	    (0x30 * "%abil_fx_idx%")) 0x30	  // insert new effect
	  WRITE_EVALUATED_ASCII ("%fx_off%" +	    (0x30 * "%abil_fx_idx%")) "%clone%" // cloned opcode
	  WRITE_SHORT		   ("%fx_off%" +	    (0x30 * "%abil_fx_idx%")) 142	   // opcode: 142 (Display Special Effect Icon)
	  WRITE_LONG		    ("%fx_off%" + 0x04 + (0x30 * "%abil_fx_idx%")) 0		 // param1: 0
	  WRITE_LONG		    ("%fx_off%" + 0x08 + (0x30 * "%abil_fx_idx%")) 6		 // param2: 6 (Poisoned icon)
    SET "fx_delta" = "%fx_delta%" + 1
    SET "abil_fx_num" = "%abil_fx_num%" + 1
    WRITE_SHORT  ("%abil_off%" + 0x1e + ("%abil_length%" * "%index%")) "%abil_fx_num%"
    SET "index2" = "%abil_fx_num%" // kills loop
  END
   END
 END
BUT_ONLY_IF_IT_CHANGES

Link to comment
Perhaps we can make a new OBC component where we could put things which may be considered as bugs but for which we have no clear developer intent (i.e. similar to Additional Script Fixes and Additional Alignment Fixes).

 

I agree with this solution.

 

devsin has a point in telling us that there is no proof of developer's intent for many of the suggested changes. On the other hand, logic and consistency need respect as well. A new OBC component changing things in a way that in the end would make more sense (and there are many, I bet) would be very welcome.

Link to comment

We fix bugs. We don't change things to have them make more sense. Unless you can find the designer who implemented Hendrak and he tells you that he intended those pips to go into short sword, there's nothing to suggest that his CRE is anything other than working as it was designed to.

 

Ok well put devSin, I concede the point.

 

Perhaps we can make a new OBC component where we could put things which may be considered as bugs but for which we have no clear developer intent (i.e. similar to Additional Script Fixes and Additional Alignment Fixes).

 

I agree with this solution.

 

devsin has a point in telling us that there is no proof of developer's intent for many of the suggested changes. On the other hand, logic and consistency need respect as well. A new OBC component changing things in a way that in the end would make more sense (and there are many, I bet) would be very welcome.

 

I think in the end, aVENGER and Salk makes the most compelling argument. For errors that clearly stands out as bugs - not as tweaks - but for which there are no clear developer intent, a new OBC does seem like the best way. That will allow the Fixpack to ship with fixes that logic and consistency demands, but still keeping the Core fixes "clean" and adhering to intent.

Link to comment

Except Hendak not having proficiencies in short sword does not clearly stand out as a bug. A creature revisions or tactics mod would be more appropriate to change his stats, proficiency assignments, or other values. This is the same standard as for every other creature in the game who has a weapon or weapons equipped but has sub-optimal proficiencies. It's just not something that we do.

 

I'm not convinced that there's enough material for another OBC component. The divination fix can just go in, since it's better to have his mighty divination magics actually look like it.

Link to comment

Except Hendak not having proficiencies in short sword does not clearly stand out as a bug.

 

The 2 stars in dual wielding that Bioware assigned to his cre kind of make it ambiguous. I doubt the developers gave him those points arbitrarily.

 

It implies that he's supposed to dual wield something, and since missiles and spears (which he's both proficient with) can't be dual wielded, we might have a reason to make him proficient with the short swords that he actually carries. ;)

Link to comment

Really? I read that and say they probably copied him from some other creature who had those proficiencies. You'll find a lot of commonalities in the values, as all resources were cloned from existing ones.

 

So they added the dual wield because he was dual-wielding. They didn't look at or think about the old-style proficiencies (which is something that is often the case).

 

That's what the evidence says to me.

Link to comment

So which is it here?

They copied him from some creature, or gave it on purpose? And what is more probable, that they gave him short swords and dual-wielding profs but just copied the other profs from some other creature, or that they gave him the other profs and copied the short swords and dual-wielding profs?

 

If it is decided against, I'd hope this was included - with other material - to make an OBC component. It's not without precedence, as aVENGER says above.

Link to comment

Archived

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

×
×
  • Create New...