Jump to content

Detectable Spells


SimDing0

Recommended Posts

An example of where a unified Dectectable spells would be desireable, can be seen here: http://forums.spellholdstudios.net/index.p...ndpost&p=195392

 

A quick summary:

 

Standardized Detectable Spells pack=GOOD!

Standard install item=fixpack

Standardized Detectable Spells pack included in fixpack=TEH WIN!

 

 

The more wordy version

 

If this fixpack does not include it, I'd like to see a version of it promoted somewhere that is considered standard for all installs. However, since the fixpack seems to be one of the few standard things that almost everyone will have installed on their games, I'd say that it is definately the best place to ensure uniform coverage. What it comes down to is establishing modding standards. With a cross-modder agreed upon detectable spells (that can be appended to) included in a fixpack, it will make things simpler for everyone. Most people are lazy, and would probably just prefer to not even have to worry about hunting down the correct version of a detectable spells pack to play a second mod.

Link to comment

According to cirerrek, DS needs a revamp since Horred and Avenger found some issues with the current implementation (i.e. what this is based upon). Nonetheless, until I can get with Avenger and Horred, this is still better than the overwriting version.

 

ACTION_IF NOT FILE_EXISTS ~override/cddetect.spl~ BEGIN

// cddetect.spl does nothing, it just allows modders to detect if this has been installed yet
// to avoid installing multiple times. That's why this whole patch process is predicated on
// cddetect.spl not being present.
 COPY_EXISTING ~spcl144.spl~  ~override/cddetect.spl~

 COPY_EXISTING ~spcl144.spl~  ~override~ // kai
               ~spcl152.spl~  ~override~ // barbarian rage
               ~spcl213.spl~  ~override~ // paladin protection from evil
               ~spcl232.spl~  ~override~ // inquisitor true sight
               ~spcl321.spl~  ~override~ // berserker enrage
               ~spcl321d.spl~ ~override~ // berserker enrage cooldown
               ~spcl732.spl~  ~override~ // helm true sight
               ~spcl741.spl~  ~override~ // boon of lathander
               ~spcl900.spl~  ~override~ // whirlwind
               ~spcl901.spl~  ~override~ // greater whirlwind
               ~spin117.spl~  ~override~ // minsc's berserk
               ~spin121.spl~  ~override~ // innate protection from evil
               ~spin676.spl~  ~override~ // mazzy's invoke courage
               ~spin686.spl~  ~override~ // protection from magic weapons
               ~spin710.spl~  ~override~ // spell deflection
               ~spin920.spl~  ~override~ // beholder minor spell turning
               ~sppr107.spl~  ~override~ // protection from evil
               ~sppr202.spl~  ~override~ // barkskin
               ~sppr408.spl~  ~override~ // protection from evil 10'
               ~sppr505.spl~  ~override~ // true sight
               ~sppr508.spl~  ~override~ // chaotic commands
               ~sppr509.spl~  ~override~ // magic resistance
               ~sppr517.spl~  ~override~ // insect plague
               ~sppr603.spl~  ~override~ // blade barrier
               ~sppr613.spl~  ~override~ // physical mirror
               ~sppr698.spl~  ~override~ // npc blade barrier
               ~sppr701.spl~  ~override~ // shield of the archons
               ~sppr711.spl~  ~override~ // regeneration
               ~sppr717.spl~  ~override~ // creeping doom
               ~spwi102.spl~  ~override~ // armor
               ~spwi108.spl~  ~override~ // protection from petrification
               ~spwi113.spl~  ~override~ // protection from evil
               ~spwi114.spl~  ~override~ // shield
               ~spwi210.spl~  ~override~ // resist fear
               ~spwi311.spl~  ~override~ // protection from normal missiles
               ~spwi317.spl~  ~override~ // ghost armor
               ~spwi318.spl~  ~override~ // minor spell deflection
               ~spwi412.spl~  ~override~ // greater malison
               ~spwi414.spl~  ~override~ // spirit armor
               ~spwi511.spl~  ~override~ // protection from normal weapons
               ~spwi519.spl~  ~override~ // spell shield
               ~spwi522.spl~  ~override~ // minor spell turning
               ~spwi590.spl~  ~override~ // spell immunity: abjuration
               ~spwi591.spl~  ~override~ // spell immunity: conjuration
               ~spwi592.spl~  ~override~ // spell immunity: divination
               ~spwi593.spl~  ~override~ // spell immunity: enchantment
               ~spwi594.spl~  ~override~ // spell immunity: illusionist
               ~spwi595.spl~  ~override~ // spell immunity: invocation
               ~spwi596.spl~  ~override~ // spell immunity: necromancy
               ~spwi597.spl~  ~override~ // spell immunity: alteration
               ~spwi603.spl~  ~override~ // tenser's transformation
               ~spwi606.spl~  ~override~ // protection from magic energy
               ~spwi607.spl~  ~override~ // mislead
               ~spwi609.spl~  ~override~ // true sight
               ~spwi611.spl~  ~override~ // protection from magic weapons
               ~spwi618.spl~  ~override~ // spell deflection
               ~spwi701.spl~  ~override~ // spell turning
               ~spwi702.spl~  ~override~ // proection from the elements
               ~spwi708.spl~  ~override~ // mantle
               ~spwi802.spl~  ~override~ // spell deflection
               ~spwi803.spl~  ~override~ // protection from energy
               ~spwi808.spl~  ~override~ // improved mantle
               ~spwi902.spl~  ~override~ // spell trap
               ~spwi907.spl~  ~override~ // absolute immunity
               ~spwi921.spl~  ~override~ // improved alacrity
   PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN // protects against invalid files
     SET "value" = 1
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spcl152" = 0) BEGIN // boon of lathander
       SET "stat"  = 2 // scriptingstate3
     END ELSE
     PATCH_IF (("%SOURCE_RES%" STRING_COMPARE_CASE "spcl321" = 0) OR     // berserker enrage
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spcl321d" = 0) OR    // berserker enrage cooldown
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spcl741" = 0) OR     // barbarian rage
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spin117" = 0)) BEGIN // Minsc's Berserk
       SET "stat"  = 3 // scriptingstate4
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spcl144" = 0) BEGIN // kai
       SET "stat"  = 3 // scriptingstate4
       SET "value" = 2
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spin676" = 0) BEGIN // mazzy's invoke courage
       SET "stat"  = 3 // scriptingstate4
       SET "value" = 3
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spcl900" = 0) BEGIN // whirlwhind
       SET "stat"  = 3 // scriptingstate4
       SET "value" = 4
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spcl901" = 0) BEGIN // greater whirlwind
       SET "stat"  = 3 // scriptingstate4
       SET "value" = 5
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr202" = 0) BEGIN // barkskin
       SET "stat"  = 4 // scriptingstate5
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi114" = 0) BEGIN // wizard shield
       SET "stat"  = 4 // scriptingstate5
       SET "value" = 2
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi102" = 0) BEGIN // wizard armor
       SET "stat"  = 4 // scriptingstate5
       SET "value" = 3
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi317" = 0) BEGIN // wizard ghost armor
       SET "stat"  = 4 // scriptingstate5
       SET "value" = 4
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi414" = 0) BEGIN // wizard spirit armor
       SET "stat"  = 4 // scriptingstate5
       SET "value" = 5
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi318" = 0) BEGIN // wizard minor spell deflection
       SET "stat"  = 5 // wizard_spell_deflection
     END ELSE 
     PATCH_IF (("%SOURCE_RES%" STRING_COMPARE_CASE "spin710" = 0) OR     // spell deflection
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi618" = 0) OR     // wizard spell deflection
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi802" = 0)) BEGIN // wizard spell deflection
       SET "stat"  = 5 // wizard_spell_deflection
       SET "value" = 2
     END ELSE 
     PATCH_IF (("%SOURCE_RES%" STRING_COMPARE_CASE "spin920" = 0) OR     // beholder minor spell turning
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi522" = 0)) BEGIN // wizard minor spell turning
       SET "stat"  = 6 // wizard_spell_turning
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi701" = 0) BEGIN // wizard spell turning
       SET "stat"  = 6 // wizard_spell_turning
       SET "value" = 2
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi803" = 0) BEGIN // wizard protection from energy
       SET "stat"  = 7 // wizard_protection_from_energy
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi902" = 0) BEGIN // wizard spell trap
       SET "stat"  = 8 // wizard_spell_trap
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi921" = 0) BEGIN // wizard improved alacrity
       SET "stat"  = 9 // wizard_improved_alacrity
     END ELSE 
     PATCH_IF (("%SOURCE_RES%" STRING_COMPARE_CASE "spcl213" = 0) OR     // paladin protection from evil
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spin121" = 0) OR     // innate protection from evil 
               ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr107" = 0) OR     // cleric protection from evil
               ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr408" = 0) OR     // cleric protection from evil 10'
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi113" = 0)) BEGIN // wizard protection from evil
       SET "stat"  = 10 // protection_from_evil
     END ELSE 
     PATCH_IF (("%SOURCE_RES%" STRING_COMPARE_CASE "spcl232" = 0) OR     // inquisitor true sight
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spcl732" = 0) OR     // helm true sight
               ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr505" = 0) OR     // cleric true sight
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi609" = 0)) BEGIN // wizard true sight
       SET "stat"  = 11 // true_sight
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr508" = 0) BEGIN // cleric chaotic commands
       SET "stat"  = 12 // cleric_chaotic_commands
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr509" = 0) BEGIN // cleric magic resistance
       SET "stat"  = 13 // cleric_magic_resistance
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr517" = 0) BEGIN // cleric insect plague
       SET "stat"  = 14 // cleric_insect_plague
     END ELSE 
     PATCH_IF (("%SOURCE_RES%" STRING_COMPARE_CASE "sppr603" = 0) OR     // cleric blade barrier
               ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr698" = 0)) BEGIN // npc blade barrier
       SET "stat"  = 15 // cleric_blade_barrier
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr613" = 0) BEGIN // cleric physical mirror
       SET "stat"  = 16 // cleric_physical_mirror
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr701" = 0) BEGIN // cleric shield of the archons
       SET "stat"  = 17 // cleric_shield_of_the_archons
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr711" = 0) BEGIN // cleric regeneration
       SET "stat"  = 18 // cleric_regeneration
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "sppr717" = 0) BEGIN // cleric creeping doom
       SET "stat"  = 19 // cleric_creeping_doom
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi108" = 0) BEGIN // wizard protection from petrification
       SET "stat"  = 20 // wizard_protection_from_petrification
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi519" = 0) BEGIN // wizard spell shield
       SET "stat"  = 21 // wizard_spell_shield
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi210" = 0) BEGIN // wizard resist fear
       SET "stat"  = 22 // wizard_resist_fear
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi311" = 0) BEGIN // wizard protection from normal missiles
       SET "stat"  = 23 // wizard_protection_from_normal_missiles
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi412" = 0) BEGIN // wizard greater malison
       SET "stat"  = 24 // wizard_greater_malison
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi511" = 0) BEGIN // wizard protection from normal weapons
       SET "stat"  = 25 // wizard_protection_from_normal_weapons
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi603" = 0) BEGIN // wizard tenser's transformation
       SET "stat"  = 26 // wizard_tensers_transformation
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi606" = 0) BEGIN // wizard protection from magic energy
       SET "stat"  = 27 // wizard_protection_from_magic_energy
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi607" = 0) BEGIN // wizard mislead
       SET "stat"  = 28 // wizard_mislead
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi708" = 0) BEGIN // wizard mantle
       SET "stat"  = 29 // wizard_protection_from_magic_weapons
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi808" = 0) BEGIN // wizard improved mantle
       SET "stat"  = 29 // wizard_protection_from_magic_weapons
       SET "value" = 2
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi907" = 0) BEGIN // wizard absolute immunity
       SET "stat"  = 29 // wizard_protection_from_magic_weapons
       SET "value" = 3
     END ELSE 
     PATCH_IF (("%SOURCE_RES%" STRING_COMPARE_CASE "spin686" = 0) OR     // protection from magic weapons 
               ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi611" = 0)) BEGIN // wizard protection from magic weapons
       SET "stat"  = 29 // wizard_protection_from_magic_weapons
       SET "value" = 4
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi590" = 0) BEGIN // wizard spell immunity: abjuration
       SET "stat"  = 30 // wizard_spell_immunity abjuration
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi591" = 0) BEGIN // wizard spell immunity: conjuration
       SET "stat"  = 30 // wizard_spell_immunity
       SET "value" = 2  // conjuration
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi592" = 0) BEGIN // wizard spell immunity: divination
       SET "stat"  = 30 // wizard_spell_immunity
       SET "value" = 3  // divination
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi593" = 0) BEGIN // wizard spell immunity: enchantment
       SET "stat"  = 30 // wizard_spell_immunity
       SET "value" = 4  // enchantment
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi594" = 0) BEGIN // wizard spell immunity: illusionist
       SET "stat"  = 30 // wizard_spell_immunity
       SET "value" = 5  // illusionist
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi595" = 0) BEGIN // wizard spell immunity: invocation
       SET "stat"  = 30 // wizard_spell_immunity
       SET "value" = 6  // invocation
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi596" = 0) BEGIN // wizard spell immunity: necromancy
       SET "stat"  = 30 // wizard_spell_immunity
       SET "value" = 7  // necromancy
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi597" = 0) BEGIN // wizard spell immunity: alteration
       SET "stat"  = 30 // wizard_spell_immunity
       SET "value" = 8  // alteration
     END ELSE 
     PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi702" = 0) BEGIN // wizard protection from the elements
       SET "stat"  = 31 // wizard_protection_from_the_elements
     END
     READ_LONG  0x64 "abil_off"
     READ_SHORT 0x68 "abil_num"
     READ_LONG  0x6a "fx_off"
     SET "loops" = 0
     SET "delta" = 0
     WHILE ("%loops%" < "%abil_num%") BEGIN
       READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%loops%")) "abil_fx_num"
       READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%loops%")) "abil_fx_idx"
       SET "abil_fx_idx" = ("%abil_fx_idx%" + "%delta%")
       WRITE_SHORT ("%abil_off%" + 0x20 + (0x28 * "%loops%")) "%abil_fx_idx%"
       SET "subloops" = "%abil_fx_num%"
       WHILE ("%subloops%" > 0) BEGIN
         SET "subloops" = ("%subloops%" - 1)
         READ_SHORT ("%fx_off%" +        (0x30 * ("%abil_fx_idx%" + "%subloops%"))) "opcode"
         READ_LONG  ("%fx_off%" + 0x0e + (0x30 * ("%abil_fx_idx%" + "%subloops%"))) "duration"
         PATCH_IF (("%duration%" > 5) AND ("%opcode%" = 142)) BEGIN // display portrait icon and duration greater than a round
           READ_BYTE  ("%fx_off%" + 0x0c + (0x30 * ("%abil_fx_idx%" + "%subloops%"))) "timing"
           READ_BYTE  ("%fx_off%" + 0x02 + (0x30 * ("%abil_fx_idx%" + "%subloops%"))) "target"
           READ_BYTE  ("%fx_off%" + 0x0d + (0x30 * ("%abil_fx_idx%" + "%subloops%"))) "bypass"
           SET "subloops" = 0 // kills WHILE loop so that the current values get passed to the INSERT
         END
       END
       INSERT_BYTES  ("%fx_off%" +        (0x30 * "%abil_fx_idx%")) 0x30
         WRITE_SHORT ("%fx_off%" +        (0x30 * "%abil_fx_idx%")) 282            // modify script state
         WRITE_BYTE  ("%fx_off%" + 0x02 + (0x30 * "%abil_fx_idx%")) "%target%"     // inherits target
         WRITE_BYTE  ("%fx_off%" + 0x03 + (0x30 * "%abil_fx_idx%")) 4              // power
         WRITE_LONG  ("%fx_off%" + 0x04 + (0x30 * "%abil_fx_idx%")) "%value%"      // value
         WRITE_LONG  ("%fx_off%" + 0x08 + (0x30 * "%abil_fx_idx%")) "%stat%"       // script state
         WRITE_BYTE  ("%fx_off%" + 0x0c + (0x30 * "%abil_fx_idx%")) "%timing%"     // inherits timing
         WRITE_BYTE  ("%fx_off%" + 0x0d + (0x30 * "%abil_fx_idx%")) "%bypass%"     // inherits dispel/MR
         WRITE_LONG  ("%fx_off%" + 0x0e + (0x30 * "%abil_fx_idx%")) "%duration%"   // inherits duration
         WRITE_BYTE  ("%fx_off%" + 0x12 + (0x30 * "%abil_fx_idx%")) 100            // probability
       SET "delta1" = 1
       SET "delta" = ("%delta%" + "%delta1%")
       WRITE_SHORT ("%abil_off%" + 0x1e + (0x28 * "%loops%")) ("%abil_fx_num%" + "%delta1%")
       SET "loops" = ("%loops%" + 1)
     END
   END
   
 // need new stats for detectable spells
 APPEND ~stats.ids~ ~161 WIZARD_SPELL_DEFLECTION~
                 UNLESS ~WIZARD_SPELL_DEFLECTION~
 APPEND ~stats.ids~ ~162 WIZARD_SPELL_TURNING~
                 UNLESS ~WIZARD_SPELL_TURNING~
 APPEND ~stats.ids~ ~163 WIZARD_PROTECTION_FROM_ENERGY~
                 UNLESS ~WIZARD_PROTECTION_FROM_ENERGY~
 APPEND ~stats.ids~ ~164 WIZARD_SPELL_TRAP~
                 UNLESS ~WIZARD_SPELL_TRAP~
 APPEND ~stats.ids~ ~165 WIZARD_IMPROVED_ALACRITY~
                 UNLESS ~WIZARD_IMPROVED_ALACRITY~
 APPEND ~stats.ids~ ~166 PROTECTION_FROM_EVIL~
                 UNLESS ~PROTECTION_FROM_EVIL~
 APPEND ~stats.ids~ ~167 TRUE_SIGHT~
                 UNLESS ~TRUE_SIGHT~
 APPEND ~stats.ids~ ~168 CLERIC_CHAOTIC_COMMANDS~
                 UNLESS ~CLERIC_CHAOTIC_COMMANDS~
 APPEND ~stats.ids~ ~169 CLERIC_MAGIC_RESISTANCE~
                 UNLESS ~CLERIC_MAGIC_RESISTANCE~
 APPEND ~stats.ids~ ~170 CLERIC_INSECT_PLAGUE~
                 UNLESS ~CLERIC_INSECT_PLAGUE~
 APPEND ~stats.ids~ ~171 CLERIC_BLADE_BARRIER~
                 UNLESS ~CLERIC_BLADE_BARRIER~
 APPEND ~stats.ids~ ~172 CLERIC_PHYSICAL_MIRROR~
                 UNLESS ~CLERIC_PHYSICAL_MIRROR~
 APPEND ~stats.ids~ ~173 CLERIC_SHIELD_OF_THE_ARCHONS~
                 UNLESS ~CLERIC_SHIELD_OF_THE_ARCHONS~
 APPEND ~stats.ids~ ~174 CLERIC_REGENERATION~
                 UNLESS ~CLERIC_REGENERATION~
 APPEND ~stats.ids~ ~175 CLERIC_CREEPING_DOOM~
                 UNLESS ~CLERIC_CREEPING_DOOM~
 APPEND ~stats.ids~ ~176 WIZARD_PROTECTION_FROM_PETRIFICATION~
                 UNLESS ~WIZARD_PROTECTION_FROM_PETRIFICATION~
 APPEND ~stats.ids~ ~177 WIZARD_SPELL_SHIELD~
                 UNLESS ~WIZARD_SPELL_SHIELD~
 APPEND ~stats.ids~ ~178 WIZARD_RESIST_FEAR~
                 UNLESS ~WIZARD_RESIST_FEAR~
 APPEND ~stats.ids~ ~179 WIZARD_PROTECTION_FROM_NORMAL_MISSILES~
                 UNLESS ~WIZARD_PROTECTION_FROM_NORMAL_MISSILES~
 APPEND ~stats.ids~ ~180 WIZARD_GREATER_MALISON~
                 UNLESS ~WIZARD_GREATER_MALISON~
 APPEND ~stats.ids~ ~181 WIZARD_PROTECTION_FROM_NORMAL_WEAPONS~
                 UNLESS ~WIZARD_PROTECTION_FROM_NORMAL_WEAPONS~
 APPEND ~stats.ids~ ~182 WIZARD_TENSERS_TRANSFORMATION~
                 UNLESS ~WIZARD_TENSERS_TRANSFORMATION~
 APPEND ~stats.ids~ ~183 WIZARD_PROTECTION_FROM_MAGIC_ENERGY~
                 UNLESS ~WIZARD_PROTECTION_FROM_MAGIC_ENERGY~
 APPEND ~stats.ids~ ~184 WIZARD_MISLEAD~
                 UNLESS ~WIZARD_MISLEAD~
 APPEND ~stats.ids~ ~185 WIZARD_PROTECTION_FROM_MAGIC_WEAPONS~
                 UNLESS ~WIZARD_PROTECTION_FROM_MAGIC_WEAPONS~
 APPEND ~stats.ids~ ~186 WIZARD_SPELL_IMMUNITY~
                 UNLESS ~WIZARD_SPELL_IMMUNITY~
 APPEND ~stats.ids~ ~187 WIZARD_PROTECTION_FROM_THE_ELEMENTS~
                 UNLESS ~WIZARD_PROTECTION_FROM_THE_ELEMENTS~
   
END

Link to comment

I would like to point out that when I updated Detectable Spells to version um... whichever one it was I did, I sent a nice WeiDU patching package to cirerrek that he didn't use in the final release. Pah!

 

That same happened for Scriptable Spells. You've included that fix somewhere, yes?

Link to comment

Another iteration of DS has been coded. I skipped the big PATCH_IF tree and broke out the patches separately since that tree was horrendously slow to execute. The tradeoff is it's now about ~3k lines or so. :undecided: We've also moved to the 'most recent' version (according to Horred and cirerrek) which uses a combo of scripting states and unused proficiencies.

 

It's too long to post, but it's in alpha 5. If anyone is interested and doesn't want to wait, I can post a copy on the FTP.

Link to comment
I would like to point out that when I updated Detectable Spells to version um... whichever one it was I did, I sent a nice WeiDU patching package to cirerrek that he didn't use in the final release. Pah!

 

That same happened for Scriptable Spells. You've included that fix somewhere, yes?

 

Yeah, sorry about that Idobek. I had a FUNCTIONMAL of the cerberus bellum there.

Link to comment

Archived

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

×
×
  • Create New...