Jump to content

PnP True Seeing


Demivrgvs

Recommended Posts

I always thought that making TS work as per PnP was not doable, but a couple of crazy ideas just pop up in my head this morning that coupled with Ardanis one (having TS allow to directly cast spells at Improved Invisible creatures) may actually turn TS into a much more balanced spell.

 

Long story short, the 1st idea is:

- making TS not-dispel illusionary protections (only Detect Illusion and perhaps Oracle will keep this feature)

- illusionary protection spells modify target's IDS to be detectable (note: Gender: Illusionary cannot be used)

- TS grants +x thac0 vs targets with such IDS (e.g. +4 thac0 covers all II spells which cannot stack)

 

The problems are:

- the IDS trick may be hard to pull (*)

- Mirror Image cannot be handled this way, though having +x thac0 vs images could be a trade-off imo

 

(*) Afaik the only IDS we can change is Gender as all other parameters are needed for other things, am I wrong? Can we use 'Gender - Other'? ;) Could temporarily removing the gender cause any issue?

 

The 2nd idea is very simple:

- making TS not dispel illusionary creatures (neither creatures/summons nor images/clones)

- adding a Protection from Creature opcode against creatures with Gender - Illusionary IDS

A creature under TS cannot be attacked or damaged by an illusionary creature imo, but at the same time you cannot destroy a Projected Image just with a glance.

 

What do you think?

 

 

P.S Also note that I already planned quite a few other changes/refinements for TS within V4, such as Ardanis suggestion (which I want to implement even if all the above discussion get trashed - see below), SCS immunity to Blindness, and more anti-illusion ProSpell opcodes (because I'm adding Phantasmal Killer, Solipsism and Weird).

 

I do have a plan B if I cannot implement a true PnP TS, which is to still use Ardanis idea and to at least remove Improved Invisibility's 'illusionary protection' secondary type. TS will still reveal hiding targets and make II creatures visible but via 'force visible' instead of 'remove invisibility', making them visible and targetable, but without removing the II state.

Link to comment
Afaik the only IDS we can change is Gender as all other parameters are needed for other things, am I wrong? Can we use 'Gender - Other'? ;) Could temporarily removing the gender cause any issue?

 

I'd advise against this. It may interfere with NPC (romance) mods and possibly some AI scripts.

 

Otherwise, cool idea. :p

Link to comment
Afaik the only IDS we can change is Gender as all other parameters are needed for other things, am I wrong? Can we use 'Gender - Other'? :p Could temporarily removing the gender cause any issue?
I'd advise against this. It may interfere with NPC (romance) mods and possibly some AI scripts.
That's what I feared. :) Do you think another parameter could be usable? For example, what's Specific.ids used for? :laugh:

 

If we cannot use specific.ids too, can we add a new ids entry? ;)

 

Otherwise, cool idea. :)
Thanks! I won't give up! :)
Link to comment
That's what I feared. :laugh: Do you think another parameter could be usable? For example, what's Specific.ids used for? :p

 

In the unmodded game, a SPECIFICS value is used for defining character groups. This allows AI scripts to parse special objects such as NearestMyGroupOfType() properly. For example, the party in the sewers below the Temple District (Tarnor and co.) all have a specifics value of 206 which makes them a part of the same group.

 

In short, it's not recommended to tamper with this value either.

 

If we cannot use specific.ids too, can we add a new ids entry? ;)

 

You'd have to add a new IDS file to the game and somehow make the engine parse it. I don't think this is possible in the unmodded game, though TobEx or GemRB might allow for it.

Link to comment
That's what I feared. :) Do you think another parameter could be usable? For example, what's Specific.ids used for? :laugh:
In the unmodded game, a SPECIFICS value is used for defining character groups. This allows AI scripts to parse special objects such as NearestMyGroupOfType() properly. For example, the party in the sewers below the Temple District (Tarnor and co.) all have a specifics value of 206 which makes them a part of the same group.

 

In short, it's not recommended to tamper with this value either.

Mmm...my specific.ids simply shows the following:

1 NORMAL  
101 MAGIC
102 NO_MAGIC

Are all the other values (e.g. you mentioned 206) hidden? Googling a little I found that BWP seems to use 207 to detect Simulacrum (see here). Can't we use a value which is not used by anything else? ;)

 

If we cannot use specific.ids too, can we add a new ids entry? :p
You'd have to add a new IDS file to the game and somehow make the engine parse it. I don't think this is possible in the unmodded game, though TobEx or GemRB might allow for it.
I hoped to not need to rely on another hack, especially considering A64 is not around and I don't if and when he'll be (he isn't visiting SHS since the 31th of March), but if it will be my last hope it certainly is worth a try asking him to help.
Link to comment
Are all the other values (e.g. you mentioned 206) hidden?

 

The values don't have to be listed in SPECIFIC.IDS in order to be used. This is similar to how SHOUTIDS.IDS works.

 

The point is, most CRE files in the game already come with a preset specifics value. It is stored at 0x274 and you can call it through scripts or via EFF targeting. However, if you change this value, odd things may happen to the enemy AI. For example, an opponent whose specifics value no longer matches that of his teammates may stop responding to their shouts for help and such.

Link to comment

Mmm...seems like specific.ids is out of question then. :p

 

Are you really sure we can't use the gender parameter (sorry if I insist)? I mean, there's a girdle which permanently messes this parameter, and I never heard of any issue caused by it, am I wrong?

 

Romance scripts may indeed check for it, but doesn't them do it only once at the beginning? ;)

 

My last hopes start to vanish...

Link to comment
Are you really sure we can't use the gender parameter (sorry if I insist)? I mean, there's a girdle which permanently messes this parameter, and I never heard of any issue caused by it, am I wrong?

 

I'd still avoid it. There are player reports where even a short lasting "gender change" wild surge caused a romance to misfire.

 

Furthermore, as Lynx noted, enemy AI checks the gender stat in order to spot things like summoned monsters and demons.

Link to comment
Mmm...my specific.ids simply shows the following:

1 NORMAL  
101 MAGIC
102 NO_MAGIC

Are all the other values (e.g. you mentioned 206) hidden? Googling a little I found that BWP seems to use 207 to detect Simulacrum (see here). Can't we use a value which is not used by anything else?

There're a bunch of CREs with other specifics. I once have searched for them - not too many, but still enough.

Next, while I'm unsure if the vanilla game actually makes a use of those, there're other mods that may - I heard Big Picture does, and saw some other guy who wanted to utilize this field too.

 

The same goes for all the other IDS types.

 

Thaco bonus can't work with Mirror Images either - that is a quantitive protection that may expire before the max duration does.

Link to comment
There're a bunch of CREs with other specifics. I once have searched for them - not too many, but still enough.

 

There are over 900 CREs with non-zero specifics in vanilla ToB. ;)

 

BEGIN ~Specifics~

<<<<<<<< specs.log
>>>>>>>>

COPY ~specs.log~  ~override~
COPY_EXISTING_REGEXP GLOB ~^.+\.cre$~ ~override~
READ_BYTE 0x274 "specific"
 PATCH_IF ("%specific%" > 0) BEGIN
 PATCH_PRINT "%SOURCE_FILE% %specific%"
INNER_ACTION BEGIN
  APPEND ~specs.log~ "%SOURCE_FILE% %specific%"
  BUT_ONLY_IF_IT_CHANGES
END
 END
BUT_ONLY_IF_IT_CHANGES

 

Next, while I'm unsure if the vanilla game actually makes a use of those...

 

It does, see here for one example. Search the scripts for NearestMyGroupOfType and InMyGroup with Near Infinity and you'll find a lot more.

Link to comment

Archived

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

×
×
  • Create New...