Jump to content

Weird Silke Encounter


Recommended Posts

Hi guys,


I have been playing around with SCS, IR, SR, RR, tweaks and NPC Project in BG:EE.


When I fought Silke I encountered a few weird things:

* She used a Contingency: Stoneskin. She is supposed to have only 1 level four spell, so that should not be possible.

* She does not have Stoneskin memorized, but was still able to use it in the contingency.


Can anyone comment on this? It seems to run rather counter to the idea of SCS not cheating :p


Edit: On second thought I should have put thin in the Bug Report section. Sorry about that. Feel free to delete the thread and move the comment there :)
Edit II: Looking a bit more at her Creature file in Keeper, she also does not have any proficiency points in any weapon.

Link to comment

That seems a bit much though? Wouldn't she rather scribe the contingency scroll?

I can see how it could theoretically be done, but I would argue that it's not really something I would expect of your average level 10 bard.. And yeah, she might be a bit more than average, but it's still very convoluted and in my opinion overpowered..
The player do not get access to level 6 spells before bard level 16. Granting her one stoneskin on prebuff, improved invisility on cast, and an additional stoneskin in contingency is way too much in my opinion.

addendum: Is it really intended behaviour for opponent mages to just flee using invisibility if they are overpowered? I understand it's realistic but it is very annoying :p

Link to comment

It's not a Contingency spell. It's SCS's "longprep" routine. Mages in SCS instantly cast certain long duration defensive spells ("pre-buffs") like Stoneskin or Armor at the start of battle. The idea is that they actually cast the spell earlier in the day (e.g., the mage got up, showered, cast stoneskin, had coffee, flayed a kobold, etc..). The issue that I see is that the routine for Stoneskin doesn't check if the mage has the spell memorized.


Here's the script code for Stoneskin:

		ReallyForceSpellRES("dw#sw408",Myself) // Stoneskin (cast previously)

If we compare this to the script block for Armor, notice that Armor checks for the spell in the mage's spellbook and uses a RemoveSpell to remove a memorized instance.

	HaveSpell(WIZARD_ARMOR) // SPWI102.SPL (Armor)
		RemoveSpell(WIZARD_ARMOR) // SPWI102.SPL (Armor)
		ReallyForceSpellRES("dw#sw102",Myself) // Armor (cast previously)

If the Stoneskin block had the same triggers as the Armor block, Silke would not cast Stoneskin. I don't know if this is an error of omission by DavidW or if it is intentional. It would be a simple fix to longprep_core.ssl and longprep_bard_core.ssl to make the Stoneskin block do a HaveSpell() check. However, if most mages don't actually have Stoneskin prepped (i.e., if DavidW is intentionally not checking for Stoneskin so he doesn't have to add it to every mage's spellbook), then you'd see a dramatic change in the game, as mages suddenly stopped using Stoneskin.


In any case, it gives Silke an extra 4th level spell, since she gets to cast Stoneskin as a pre-buff and has Improved Invisibility memorized in her spellbook.

Link to comment
Is it really intended behaviour for opponent mages to just flee using invisibility if they are overpowered? I understand it's realistic but it is very annoying


Yep, you can use this time to patch your party or flee yourself. You can also actually see the location of invisible mage by "Drinking a potion" message and try to get him by using some AoE.


Also, new SR dog summons (Animal Summoning II afair) will see through invisibility.


Btw, last time I checked on Silke (on BGT like a week ago), she had no Contingencies memorized, only stoneskin pre-buff. Bitch is still tough, so the best strategy is to try and swarm her right as the combat starts.


(Charname inquisitor casts dispel --that more often than not does nothing, but whatever-- and goes for a lucky hit in melee, Jaheira fires a sling and casts Sunscorch, Khalid, who is a fighter\mage for me, fires an arrow and casts Magic Missile, Imoen fires an arrow and uses a wand if there is any. By that time Silke has finished a cast --usually, Haste-- and is severely injured, so the next thing she does is drinking Invisibility potion which is countered with Entangle. Rip, gimme my quarterstaff +1 now.)

Link to comment

I have no issues with a precasted stone skin. But it did literally say "contingency: stoneskin" after I managed to break down the first and hit her.


I don't see the Contingency blocks in Silke's scripts on my SCS install, and Silke should not pass the "HasL6" check that SCS uses for adding the Contingency block anyway. Did you install any mods (or tweak her in NI/DLTCEP) before SCS that would have altered Silke (i.e. raised her level or made her a mage)?


Also, the way that SCS handles Contingency, it won't appear in the spellbook, AFAIK. It's controlled by a script block, like this:

		DisplayStringHead(Myself,26577) // Contingency
		ReallyForceSpell(Myself,WIZARD_STONE_SKIN) // SPWI408.SPL (Stoneskin)
Link to comment

Oh right.. Here is my Weidu:

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]
~BG1NPC/BG1NPC.TP2~ #0 #0 // The BG1 NPC Project: Required Modifications: v21_PRERELEASE_20150131
~BG1NPC/BG1NPC.TP2~ #0 #1 // The BG1 NPC Project: Banters, Quests, and Interjections: v21_PRERELEASE_20150131
~BG1NPC/BG1NPC.TP2~ #0 #8 // The BG1 NPC Project: Add Non-Joinable NPC portraits to quests and dialogues: v21_PRERELEASE_20150131
~BG1NPC/BG1NPC.TP2~ #0 #16 // The BG1 NPC Project: NPCs can be sent to wait in an inn: v21_PRERELEASE_20150131
~BG1NPC/BG1NPC.TP2~ #0 #18 // The BG1 NPC Project: Alora's Starting Location -> Alora Starts in Gullykin: v21_PRERELEASE_20150131
~BG1NPC/BG1NPC.TP2~ #0 #19 // The BG1 NPC Project: Eldoth's Starting Location -> Eldoth Starts in the Cloakwood Forest: v21_PRERELEASE_20150131
~BG1NPC/BG1NPC.TP2~ #0 #22 // The BG1 NPC Project: Quayle's Starting Location -> Quayle Starts at the Nashkel Carnival: v21_PRERELEASE_20150131
~BG1NPC/BG1NPC.TP2~ #0 #24 // The BG1 NPC Project: Tiax's Starting Location -> Tiax Starts in Beregost: v21_PRERELEASE_20150131
~BG1NPC/BG1NPC.TP2~ #0 #30 // The BG1 NPC Project: Cloakwood areas availability in Chapter One -> Open four Cloakwood areas (everything but the Mines): v21_PRERELEASE_20150131
~RR/SETUP-RR.TP2~ #0 #0 // Proper dual-wielding implementation for Thieves and Bards: v4.66
~RR/SETUP-RR.TP2~ #0 #1 // Thief kit revisions: v4.66
~RR/SETUP-RR.TP2~ #0 #4 // Bard kit revisions: v4.66
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #100 // Cleric Remix: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #103 // Install Silverstar of Selune Cleric Kit: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #106 // Install Nightcloak of Shar Cleric Kit: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #112 // Install Painbearer of Ilmater Cleric Kit: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #115 // Install Firewalker of Kossuth Cleric Kit: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #118 // Install Authlim of Iyachtu Xvim Cleric Kit: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #121 // Install Lorekeeper of Oghma Cleric Kit: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #200 // Druid Remix: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #203 // Install Oozemaster Druid kit: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #409 // Install Forest Runner Ranger Kit: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #415 // Install Wilderness Runner Ranger Kit: v8
~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #610 // Install Nightcloak of Shar Kit for Viconia: v8
~ITEM_REV/ITEM_REV.TP2~ #0 #0 // Item Revisions by Demivrgvs: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #1030 // Store Revisions: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #1042 // Revised Armor -> Without Movement Speed Penalties: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #3 // Allow Spellcasting in Armor -> With Casting Speed Penalties for Arcane Casters: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #1101 // Allow Thieving Skills in Armor -> Stealth is Penalized by Armor and Shields: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #10 // Revised Shield Bonuses: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #17 // Weapon Changes: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #1080 // Enchantment Doesn't Affect Speed Factor of Weapons: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #11 // Dual Wielding Changes for Light and Heavy Weapons: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #18 // Revised Backstabbing -> Thief-only Weapons: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #1200 // Revised Critical Hit Aversion: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #12 // Items of Protection Can Be Worn with Magical Armor: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #1091 // Remove Weapon Restrictions from Multi-classed Divine Spellcasters -> Clerics and Druids: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #16 // PnP Equipment for Druids -> Druids and Fighter/Druids: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #1060 // Kensai Can Wear Bracers: V4 Beta 7
~ITEM_REV/ITEM_REV.TP2~ #0 #1070 // Thieves Can Use Wands: V4 Beta 7
~SPELL_REV/SETUP-SPELL_REV.TP2~ #0 #0 // Spell Revisions: v4 Beta 9
~SPELL_REV/SETUP-SPELL_REV.TP2~ #0 #10 // Deva and Planetar Animations: v4 Beta 9
~SPELL_REV/SETUP-SPELL_REV.TP2~ #0 #20 // Mirror Image Fix: v4 Beta 9
~SPELL_REV/SETUP-SPELL_REV.TP2~ #0 #30 // Dispel Magic Fix: v4 Beta 9
~SPELL_REV/SETUP-SPELL_REV.TP2~ #0 #50 // Remove Disabled Spells from Spell Selection Screens: v4 Beta 9
~SPELL_REV/SETUP-SPELL_REV.TP2~ #0 #60 // Spell Deflection blocks AoE spells: v4 Beta 9
~SPELL_REV/SETUP-SPELL_REV.TP2~ #0 #70 // Update Spellbooks of Joinable NPCs: v4 Beta 9
~KIT_REV/KIT_REV.TP2~ #0 #0 // Kit Revisions: Beta 20
~KIT_REV/KIT_REV.TP2~ #0 #110 // Revised THAC0 tables: Beta 20
~KIT_REV/KIT_REV.TP2~ #0 #120 // Revised Saving Throws: Beta 20
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #90 // Disable Portrait Icons Added by Equipped Items: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #130 // Force All Dialogue to Pause Game: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1010 // More Interjections: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1070 // Improved Multi-Player Kick-out Dialogues: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1080 // Add Bags of Holding: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #1090 // Exotic Item Pack: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2090 // Change Experience Point Cap -> Remove Experience Cap: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2140 // Expanded Dual-Class Options: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2200 // Multi-Class Grandmastery (Weimer): v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2240 // Un-Nerfed THAC0 Table: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2250 // Un-Nerfed Sorcerer Spell Progression Table: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2260 // Alter Mage Spell Progression Table -> Un-Nerfed Table (Blucher): v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2270 // Alter Bard Spell Progression Table -> Un-Nerfed Table (Blucher): v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2280 // Alter Cleric Spell Progression Table -> Un-Nerfed Table (Blucher): v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2296 // Alter Druid Spell and Level Progression Tables -> Use Cleric Level Progression Changes With Un-Nerfed Cleric Spell Table (Blucher): v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2339 // Remove Summoning Cap for Regular Summons: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2352 // Alter Multiclass Restrictions -> Install both of the above options: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2360 // Remove Racial Restrictions for Single Classes: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2371 // Alter Dual-class Restrictions -> Allow non-humans to dual-class: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #2380 // Remove Racial Restrictions for Kits: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3001 // Higher HP on Level Up -> NWN Style: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3010 // Maximum HP for NPCs (the bigg) -> For All Creatures in Game: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3030 // Easy Spell Learning -> 100% Learn Spells: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3050 // Remove fatigue from restoration spells: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3060 // Remove "You Must Gather Your Party..." Sound (Weimer): v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3080 // Unlimited Ammo Stacking: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3090 // Unlimited Gem and Jewelry Stacking: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3100 // Unlimited Potion Stacking: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3110 // Unlimited Scroll Stacking: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #3123 // NPCs Don't Fight: v16
~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ #0 #4090 // Make Montaron an Assassin (Andyr): v16
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #1000 // Initialise mod (all other components require this): v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #2010 // More consistent Breach spell (always affects liches and rakshasas; doesn't penetrate Spell Turning): v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #4000 // Faster Bears: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #4010 // Grant large, flying, non-solid or similar creatures protection from Web and Entangle: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #4030 // Improved shapeshifting: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #4050 // Decrease the rate at which reputation improves -> Reputation increases at about 2/3 the normal rate: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #4130 // Move NPCs to more convenient locations: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #5050 // Stackable ankheg shells, winterwolf pelts and wyvern heads: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #5060 // Ensure Shar-Teel doesn't die in the original challenge: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #5900 // Initialise AI components (required for all tactical and AI components): v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6000 // Smarter general AI: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6010 // Better calls for help: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6030 // Smarter Mages -> Mages cast some short-duration spells instantly at start of combat, to simulate pre-battle casting: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6040 // Smarter Priests -> Priests cast some short-duration spells instantly at start of combat, to simulate pre-battle casting: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6100 // Potions for NPCs -> All of the potions dropped by slain enemies are recoverable: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6200 // Improved Spiders: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6300 // Smarter sirines and dryads: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6310 // Slightly harder carrion crawlers: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #6320 // Smarter basilisks: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7000 // Improved doppelgangers: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7010 // Tougher Black Talons and Iron Throne guards: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7020 // Improved deployment for parties of assassins: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7040 // Relocated bounty hunters: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7050 // Improved Ulcaster: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7060 // Improved Balduran's Isle: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7070 // Improved Durlag's Tower: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7080 // Improved Demon Cultists: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7090 // Improved Cloakwood Druids: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7100 // Improved Bassilus: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7110 // Improved Drasus party: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7130 // Improved Red Wizards: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7140 // Improved Undercity party: v30
~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #7900 // Improved minor encounters: v30
~RANDOMISER/RANDOMISER.TP2~ #0 #530 // Randomise scrolls: v6.8
~RANDOMISER/RANDOMISER.TP2~ #0 #570 // Randomise the appearance of cursed items: v6.8
~RANDOMISER/RANDOMISER.TP2~ #0 #1300 // Randomise items -> Mode 2: Randomise with WeiDU. No items are lost: v6.8
~SETUP-BGEESPAWN.TP2~ #0 #101 // BGEE Leveling Spawns Mod: v0.3

The last mod should only affect the randomly spawned monsters - increasing their frequency and expected level (4 gibberlings instead of 1 for example).
Link to comment

This behavior is also in my Silke script. It happens because there is no check for Stoneskin spell in spell-book, as explained by AstroBryGuy here & here.


Only question is: did DavidW omit this on purpose or this is a bug?


It is easy fixable (if it is not intended or wanted) as AstroBryGuy said, by adding check for spell in prepblocks\longprep_core.ssl & generalblocks\contingency.ssl.


Silke is level 10 bard in vanilla, if I read correctly, but contingency.ssl (HasL6) checks just for level, not class.

Link to comment

I think it's BG2 Tweaks, specifically, the Un-nerfed Spell Tables.


I installed SCS v30 without BG2 Tweaks, and Silke got the DW#1BRD4.BCS script ("BRD4" = Bard that can cast 4th level spells, i.e., no Contingency).


Uninstalled SCS. Installed BG2 Tweaks - only the Un-nerfed Spell Tables. Re-installed SCS.


Now, Silke gets the DW#1BRD6.BCS script, and she has Contingency.

Link to comment

More tests:


Started over, no mods installed => Silke got the DW#1BRD4.BCS script (no Contingency)


Put a copy of the un-nerfed MXSPLBRD.2DA file in the override (nothing else installed) => Silke got the DW#1BRD6.BCS script (Contingency!)


I then edited caster_shared.tph. In the "read in spells per level" section, an array is defined with the maximum spell level for each class.

DEFINE_ACTION_MACRO read_in_spells_per_level BEGIN
  ACTION_IF !VARIABLE_IS_SET macro_read_in_spells_per_level BEGIN
     OUTER_SET macro_read_in_spells_per_level=1

I changed the MXSPLBRD=>6 line to MXSPLBRD=>8, and it worked. Installing SCS with the un-nerfed bard spell table resulted in Silke getting DW#1BRD4.BCS.


So, SCS is not liking it when the maximum spell level for bards is greater than what it thinks it should be.

Link to comment

A few different mods give bards access to 7th, 8th, and sometimes even 9th level spells.


Seems le what SCS should ideally do is read the number of columns in MXSPLBRD.2da to learn the current max spell level for bards, and populate that array accordingly. Should be a relatively simple fix...

Link to comment


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

  • Create New...