Jump to content

Bug report by phordicus


DavidW

Recommended Posts

first, great job with this. not so heavy-handed as Tactics but just smart use of enemy abilities.

 

problem: need a more thorough check before letting enemy thieves "hide" via applyspellres. my own mage had the cloak of non-detection and cast invisibility, thus not preventing enemy thieves from hiding in plain sight of him since they were unable to detect him. specifically this happened with Llynis in the Coronet. i changed line 776 (i think) from !Detect... to just a range check as a temporary workaround.

 

Cool, good catch.

Link to comment
Perhaps I'm misunderstanding the nature of this issue, but I'm fairly certain that the Non-Detection opcode doesn't affect the Detect() script trigger in any way.

I'm glad to hear it if so; sounds like I need to do more tests, in any case.

Link to comment

Not sure if it's related but was fighting thieves in Mae'var's place and one of them ended up with permanent morale failure (yellow circle) and kept hiding in plain sight - even after dispelling illusions/invisibility etc (my PC wasn't hidden or invisible).

Link to comment

David, you might want to consider using the proper Hide() action in order to make your thieves hide, instead of applying a custom invisibility spell to them. An opponent's Hide() action must pass the proper Hide in Shadows and Move Silently skill checks (which makes it fairer for the players) and will auto-fail if a party member is in sight. Here's how I do it in RR:

 

IF
!Detect([GOODCUTOFF])
!StateCheck(Myself,STATE_INVISIBLE)
!StateCheck(Myself,STATE_BLIND)
!GlobalTimerNotExpired("RR#HIDE","LOCALS")
THEN
RESPONSE #100
	SetInterrupt(FALSE)
	SetGlobalTimer("RR#HIDE","LOCALS",6)
	DisplayStringHead(Myself,@711) //  attempts to hide in shadows
	Hide()
	SetInterrupt(TRUE)
END

 

Note: the timer which I use is unnecessary, it was put there for fairness sake. Basically I wanted to make sure that enemy thieves can only attempt to hide once per round, just like the players.

Link to comment
David, you might want to consider using the proper Hide() action in order to make your thieves hide, instead of applying a custom invisibility spell to them.

 

I have to say I've never played with it (I don't think I even knew it existed when I wrote SCS). Does it work automatically or does it check the MS/HS score?

Link to comment
I have to say I've never played with it (I don't think I even knew it existed when I wrote SCS). Does it work automatically or does it check the MS/HS score?

 

Yes, Hide() checks both scores and will fail if they are too low.

 

In my experience, with base MS/HS scores of 75 and above, Hide() works reliably 95% of the time.

Link to comment
I have to say I've never played with it (I don't think I even knew it existed when I wrote SCS). Does it work automatically or does it check the MS/HS score?

 

Yes, Hide() checks both scores and will fail if they are too low.

 

In my experience, with base MS/HS scores of 75 and above, Hide() works reliably 95% of the time.

 

My slight reluctance to use Hide() is that I don't trust the game to introduce sensible MS/HS scores for NPCs... I could patch them by macro, I guess.

Link to comment
My slight reluctance to use Hide() is that I don't trust the game to introduce sensible MS/HS scores for NPCs

 

Unfortunatelly, in most cases it doesn't. In RR, I manually calculated the appropriate base scores according to the Thief levels and then distributed them in a way which favours Hide in Shadows, Move Silently and Detect Illusions.

 

I could patch them by macro, I guess.

 

I gather that you intend to make the macro affect only original game creatures who are using generic scripts? After all, we wouldn't want it to affect any mod introduced Thief NPCs (joineable) or modded Thief opponents. :)

Link to comment
My slight reluctance to use Hide() is that I don't trust the game to introduce sensible MS/HS scores for NPCs

 

Unfortunatelly, in most cases it doesn't. In RR, I manually calculated the appropriate base scores according to the Thief levels and then distributed them in a way which favours Hide in Shadows, Move Silently and Detect Illusions.

 

I could patch them by macro, I guess.

 

I gather that you intend to make the macro affect only original game creatures who are using generic scripts? After all, we wouldn't want it to affect any mod introduced Thief NPCs (joineable) or modded Thief opponents. :)

 

My usual macros bypass joinables and otherwise modify CRE files by script, so it would depend if the third-party creature was using a generic script or not.

Link to comment
My usual macros bypass joinables and otherwise modify CRE files by script, so it would depend if the third-party creature was using a generic script or not.

 

The opponents in RR don't as they have their own customized scripts (for all slots), but there might be other mods who leave generic scripts for their creatures in addition to adding a customized script to a higher priority slot.

 

In my opinion, it might be a better idea to compile a list of all creatures from the unmodded game into a 2DA and then use that for reference (in addition to the generic script check) when running your macros in order to avoid affecting mod-introduced creatures.

Link to comment
My usual macros bypass joinables and otherwise modify CRE files by script, so it would depend if the third-party creature was using a generic script or not.

 

The opponents in RR don't as they have their own customized scripts (for all slots), but there might be other mods who leave generic scripts for their creatures in addition to adding a customized script to a higher priority slot.

 

In my opinion, it might be a better idea to compile a list of all creatures from the unmodded game into a 2DA and then use that for reference (in addition to the generic script check) when running your macros in order to avoid affecting mod-introduced creatures.

 

But I'll probably want to be affecting some mod-introduced creatures (if I were to do this). Lots of mods (ones not particularly interested in AI, like lots of BG1NPC or my own Wheels of Prophecy) use the generic scripts as their sole AI, and it would cause just as much trouble if (say) a third-party thief, copied from an existing-game resource and using WTASIGHT, didn't have a sensible MS score. (Similarly, in the existing versions of SCSII, any mage using a generic mage script needs to be modified, else the SCSII mage scripts will make false assumptions about what resources they have to work with.)

 

There's probably a philosophical difference between us here. Obviously I don't want to modify third-party creatures if that would break something (any more than I want to modify core-game creatures if that would break something). But I don't have a problem with modifying third-party-added creatures just because they're third-party-added.

Link to comment
But I'll probably want to be affecting some mod-introduced creatures (if I were to do this). Lots of mods (ones not particularly interested in AI, like lots of BG1NPC or my own Wheels of Prophecy) use the generic scripts as their sole AI, and it would cause just as much trouble if (say) a third-party thief, copied from an existing-game resource and using WTASIGHT, didn't have a sensible MS score. (Similarly, in the existing versions of SCSII, any mage using a generic mage script needs to be modified, else the SCSII mage scripts will make false assumptions about what resources they have to work with.)

 

A fair point. I think you might be able to circumvent this by replacing generic scripts with custom SCS(II) scripts, though I suppose that could lead to other issues.

 

There's probably a philosophical difference between us here. Obviously I don't want to modify third-party creatures if that would break something (any more than I want to modify core-game creatures if that would break something). But I don't have a problem with modifying third-party-added creatures just because they're third-party-added.

 

It would seem that way. Although I don't share your point view on this subject I do have some understanding for it. For the sake of consistency, I suppose it might be better to modify even mod introduced creatures although I'd personally leave that decision to the mod's original authors. BTW, I don't know how technically feasible this would be, but having some way of detecting creatures who's script and filenames begin with a certain prefix and avoiding making any modifications to them might be a reasonable compromise.

Link to comment
There's probably a philosophical difference between us here. Obviously I don't want to modify third-party creatures if that would break something (any more than I want to modify core-game creatures if that would break something). But I don't have a problem with modifying third-party-added creatures just because they're third-party-added.

 

It would seem that way. Although I don't share your point view on this subject I do have some understanding for it. For the sake of consistency, I suppose it might be better to modify even mod introduced creatures although I'd personally leave that decision to the mod's original authors. BTW, I don't know how technically feasible this would be, but having some way of detecting creatures who's script and filenames begin with a certain prefix and avoiding making any modifications to them might be a reasonable compromise.

 

That's probably doable. What I actually do (on the one or two times it's come up) is advise people to make their own named copies of the generic scripts if they really want their creatures to be using the unmodified versions.

 

Actually I think you can usefully distinguish "hybrid" mod-added creatures that use existing-game resources and "pure" mod-added creatures that don't. I don't modify pure creatures (I don't think it would be unethical to do so, but it seems to irritate people and I prefer a quiet life, and anyway my mods don't usually have reason to). But it's quite difficult not to modify hybrids - after all, in a sense I'm already modifying them by changing the contents of a script they use. If a 3rd-party mage uses MAGE18A.BCS, then although SCSII does modify that mage's .cre file, much the biggest effect on that mage's in-game appearance comes because it modifies MAGE18A.BCS itself.

Link to comment

Archived

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

×
×
  • Create New...