Jump to content

Cloak of non-detection not blocking true sight


Guest Chris

Recommended Posts

I was equipped with the cloak of non-detection. I made myself invisible ( with a ring of invisibility ). Walked into the place where you rescue haer-dalis from the warden. And everytime the yan-ti mage dispelled my invisibility with a cast of true sight.

 

I have installed the latest patch from bioware and your fixpack v6

 

No other mods are installed.

 

// Log of Currently Installed WeiDU Mods

// The top of the file is the 'oldest' mod

// ~TP2_File~ #language_number #component_number // [subcomponent Name -> ] Component Name [ : Version]

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #0 // BG2 Fixpack - Core Fixes

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #1 // BG2 Fixpack - Game Text Update

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #109 // Corrected Summoned Demon Behavior

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #110 // Additional Script Fixes

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #111 // Bard Song Fixes

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #112 // Wizard Slayers Cause Miscast Magic on Ranged Attacks

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #113 // Additional Alignment Fixes

// Recently Uninstalled: ~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #114 // Change Free Action to Protect Against Stun

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #3 // BETA Core Fixes (please check the readme!)

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #100 // Party Gets XP for Sending Keldorn to Reconcile With Maria

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #101 // Improved Spell Animations

~BG2FIXPACK/SETUP-BG2FIXPACK.TP2~ #0 #106 // Giants Receive Penalties When Attacking Halflings, Dwarves, and Gnomes

Link to comment

That is correct. Spells that dispel invisibility in BG2 use additional methods to remove divinations that aren't blocked by non-detection (they don't catch hide in shadows and some forms of invisibility granted by items), so it's essentially a useless protection for non-thieves.

Link to comment

Imoen - Casts Glitterdust: Abdel (or whatever; like I remember the schools anymore)

Abdel - Spell Ineffective

 

I believe we could block the secondary type (wasn't there a divination attack type?), but we won't (not only would it preclude any mod from ever using it for any spell against an undetectable creature, it would probably have some other stupid consequences I can't think of right now).

 

Of course, now that we know the school and type fields for item abilities, we can make the invisibility rings behave just as poorly as the spells with minimal effort. BE CAREFUL WHAT YOU ASK FOR!

Link to comment
Why, then are you not adding protection from spell school: divination, since the description specifically says:

 

"Non-detectable by magical means such as detect invisibility and scrying."?

 

Opcode #69 (Non-Detection) natively protects the target against opcodes #47 (Cure Invisibility) and #116 (Remove Invisibility). However, it does not protect the target against spells which remove illusionary protections by school or secondary type.

 

In game terms, this means that the Cloak of Non-Detection protects the wearer against Detect Invisibility and Invisibility Purge in all circumstances. It doesn't protect the wearer against Detect Illusions, Oracle and True Seeing unless the wearer is under the effects of invisibility which isn't flagged as an illusionary spell (i.e. a Thief in stealth mode or a Mage holding the Staff of the Magi). Therefore, the cloak works as advertised and there's no need to include protection from the entire divination school.

Link to comment
Of course, now that we know the school and type fields for item abilities, we can make the invisibility rings behave just as poorly as the spells with minimal effort. BE CAREFUL WHAT YOU ASK FOR!

 

Right on. For example, we could finally make Ilbratha's Mirror Image susceptible to True Seeing and such:

 

// Ilbratha's Mirror Image ability should be susceptible to spells which remove illusionary protections

COPY_EXISTING ~sw1h26.itm~ ~override~							 // Ilbratha +1
 READ_LONG  0x64 "abil_off"
 READ_SHORT 0x68 "abil_num"
 FOR (index = 0; index < "%abil_num%"; index = index + 1) BEGIN  // parse each ability
READ_BYTE ("%abil_off%" + ("%index%" * 0x38)) "abil_type"	 // determine ability type
PATCH_IF  ("%abil_type%" = 3) BEGIN						   // only patch the magical ability header
  WRITE_BYTE ("%abil_off%" + 0x17 + ("%index%" * 0x38)) "5"   // school: illusionist
  WRITE_BYTE ("%abil_off%" + 0x19 + ("%index%" * 0x38)) "3"   // secondary type: illusionary protections
END
 END
BUT_ONLY_IF_IT_CHANGES

Link to comment

Archived

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

×
×
  • Create New...