Permalink
Browse files

v3.82 MNT 012

- Prat's Lesser Air Elementals added by SCS are now taken into account on BGT/Tutu
- Gated Cambions and Fey creatures no longer leave gold behind when slain
- Elementals and Fey creatures can no longer be targeted while being summoned (i.e. during the period when the summoning animation plays)
- Summoned Elementals and Fey creatures can now be dismissed at will by selecting "Unsummon" from their special abilities menu
  • Loading branch information...
1 parent 9379d43 commit 8cc5e369e49a553d1aadf4aa83927a4e61ce2de9 @aVENGER981 aVENGER981 committed Apr 29, 2012
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
!Allegiance(Myself,GOODCUTOFF)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
!Allegiance(Myself,GOODCUTOFF)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
!Allegiance(Myself,GOODCUTOFF)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
!Allegiance(Myself,GOODCUTOFF)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
!Allegiance(Myself,GOODCUTOFF)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
!Allegiance(Myself,GOODCUTOFF)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
!Allegiance(Myself,GOODCUTOFF)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
!Allegiance(Myself,GOODCUTOFF)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
!Allegiance(Myself,GOODCUTOFF)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Allegiance(LastSummonerOf(Myself),ENEMY)
!Allegiance(Myself,ENEMY)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
OR(3)
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("RR#Active","LOCALS",0)
!Allegiance(Myself,GOODCUTOFF)
View
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("rr#trees","LOCALS",0) // area type check (0 - inappropriate area, 1 - contains trees, 2 - check done)
HaveSpellRES("rr#ddoor") // Dimension Door
View
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
Global("rr#trees","LOCALS",0) // area type check (0 - inappropriate area, 1 - contains trees, 2 - check done)
HaveSpellRES("rr#ddoor") // Dimension Door
View
@@ -1,3 +1,11 @@
+IF
+ HasItem("RR#DINV",Myself) // invisibility item which prevents enemies from targeting not-yet-gated creatures
+THEN
+ RESPONSE #100
+ DestroyItem("RR#DINV")
+ Continue()
+END
+
IF
OR(2)
StateCheck(Myself,STATE_IMMOBILE) // using this instead of STATE_DISABLED because the latter includes STATE_CHARMED
View
Binary file not shown.
View
@@ -192,6 +192,7 @@ COPY_EXISTING
dbonef01.cre "override/rr#hsbfn.cre"
WRITE_ASCII_LIST 0x248 $script("%DEST_RES%") ~~ ~~ ~~ ~~
WRITE_BYTE 0x270 128 //Initially neutral
+ WRITE_LONG 0x001c 0 //gold carried
WRITE_ASCIIE 0x280 ~%DEST_RES%~ #32 //script name
WRITE_ASCII 0x2cc ~~ #8
LPF DELETE_CRE_ITEM STR_VAR item_to_delete = "rndtre.." END
View
@@ -453,7 +453,7 @@ BEGIN
END // ends PATCH_FOR_EACH
BUT_ONLY_IF_IT_CHANGES
-
+COPY ~atweaks/itm/rr#dinv.itm~ ~override~ // item which makes creatures untargetable until the gating animation finishes
COPY ~atweaks/itm/elementals/rr#easer.itm~ ~override~ // Aerial Servant attack
COPY ~atweaks/itm/elementals/rr#efsal.itm~ ~override~ // Fire Salamander spear attack
COPY ~atweaks/itm/elementals/rr#efsa2.itm~ ~override~ // Fire Salamander tail attack
@@ -521,7 +521,7 @@ LAUNCH_PATCH_FUNCTION FJ_CRE_VALIDITY INT_VAR do_message = 1 END
// =============================================================================== // the actual work starts from here
WRITE_ASCII 0x248 ~rr#ewizs~ #8 // assign override AI script
WRITE_BYTE 0x270 128 // set initial allegiance to NEUTRAL
-ADD_CRE_ITEM ~RIDRING~ #0 #0 #0 ~UNDROPPABLE~ ~RRING~ // selection circle removal ring
+ADD_CRE_ITEM ~RIDRING~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~RRING~ // selection circle removal ring
// =============================================================================== // the actual work ends here
BUT_ONLY_IF_IT_CHANGES
END // ends ACTION_IF FILE_EXISTS_IN_GAME block
@@ -1016,6 +1016,7 @@ REMOVE_KNOWN_SPELLS
REMOVE_MEMORIZED_SPELLS // Remove all memorized spells from the current creature
ADD_CRE_ITEM ~RR#ETRAI~ #0 #0 #0 ~UNDROPPABLE~ ~HELMET~ // add elemental traits
REPLACE_CRE_ITEM ~RR#EWWEI~ #0 #0 #0 ~UNDROPPABLE~ ~WEAPON1~ EQUIP // replace default weapon with a more PnP accurate weapon
+ADD_CRE_ITEM ~RR#DINV~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~AMULET~ // item which makes creatures invisible and untargetable while they gate in
LAUNCH_PATCH_FUNCTION ~RR#MDCRE~ // Starts FUNCTION call (aTweaks' Creature Modification function)
INT_VAR // Initialize variables
"newmove" = "9" // new movement rate
@@ -1070,6 +1071,7 @@ ACTION_FOR_EACH ~file~ IN
~ELARIL01~ // Lesser Air Elemental (8 HD, Bioware's typo?)
~GORAIR01~ // Lesser Air Elemental (8 HD, Watcher's Keep)
~SUMELAIR~ // Lesser Air Elemental (8 HD, summoned, Staff of Air)
+ ~DW#PRELA~ // SCS - Prat's Lesser Air Elementals
BEGIN // execute the following
ACTION_IF FILE_EXISTS_IN_GAME ~%file%.cre~ BEGIN // if the file exists
COPY_EXISTING ~%file%.cre~ ~override~
@@ -2051,6 +2053,7 @@ LAUNCH_PATCH_FUNCTION FJ_CRE_VALIDITY INT_VAR do_message = 1 END
// =============================================================================== // the actual work starts from here
REMOVE_KNOWN_SPELLS // Remove all known spells from the current creature
REMOVE_MEMORIZED_SPELLS // Remove all memorized spells from the current creature
+ADD_CRE_ITEM ~RR#DINV~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~AMULET~ // item which makes creatures invisible and untargetable while they gate in
LAUNCH_PATCH_FUNCTION ~RR#MDCRE~ // Starts FUNCTION call (aTweaks' Creature Modification function)
INT_VAR // Initialize variables
"newmove" = "5" // new movement rate
@@ -2108,6 +2111,7 @@ LAUNCH_PATCH_FUNCTION FJ_CRE_VALIDITY INT_VAR do_message = 1 END
// =============================================================================== // the actual work starts from here
REMOVE_KNOWN_SPELLS // Remove all known spells from the current creature
REMOVE_MEMORIZED_SPELLS // Remove all memorized spells from the current creature
+ADD_CRE_ITEM ~RR#DINV~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~AMULET~ // item which makes creatures invisible and untargetable while they gate in
LAUNCH_PATCH_FUNCTION ~RR#MDCRE~ // Starts FUNCTION call (aTweaks' Creature Modification function)
INT_VAR // Initialize variables
"newmove" = "5" // new movement rate
@@ -2166,6 +2170,7 @@ REMOVE_KNOWN_SPELLS
REMOVE_MEMORIZED_SPELLS // Remove all memorized spells from the current creature
ADD_MEMORIZED_SPELL ~rr#ecncl~ #0 ~innate~ ( 1 ) // adds 1x Elemental Concealment
REMOVE_CRE_ITEM ~WALLPASS~ // remove wallpass item
+ADD_CRE_ITEM ~RR#DINV~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~AMULET~ // item which makes creatures invisible and untargetable while they gate in
ADD_CRE_ITEM ~RR#ETRAI~ #0 #0 #0 ~UNDROPPABLE~ ~HELMET~ // add elemental traits
REPLACE_CRE_ITEM ~RR#EWATG~ #0 #0 #0 ~UNDROPPABLE~ ~WEAPON1~ EQUIP // replace default weapon with a more PnP accurate weapon
LAUNCH_PATCH_FUNCTION ~RR#MDCRE~ // Starts FUNCTION call (aTweaks' Creature Modification function)
@@ -2234,6 +2239,7 @@ REMOVE_KNOWN_SPELLS
REMOVE_MEMORIZED_SPELLS // Remove all memorized spells from the current creature
ADD_MEMORIZED_SPELL ~rr#ecncl~ #0 ~innate~ ( 1 ) // adds 1x Elemental Concealment
ADD_CRE_ITEM ~RR#ETRAI~ #0 #0 #0 ~UNDROPPABLE~ ~HELMET~ // add elemental traits
+ADD_CRE_ITEM ~RR#DINV~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~AMULET~ // item which makes creatures invisible and untargetable while they gate in
LAUNCH_PATCH_FUNCTION ~RR#MDCRE~ // Starts FUNCTION call (aTweaks' Creature Modification function)
INT_VAR // Initialize variables
"rr#bump" = "1" // NPC bump (1 = enable)
@@ -2292,6 +2298,7 @@ LAUNCH_PATCH_FUNCTION FJ_CRE_VALIDITY INT_VAR do_message = 1 END
// =============================================================================== // the actual work starts from here
REMOVE_KNOWN_SPELLS // Remove all known spells from the current creature
REMOVE_MEMORIZED_SPELLS // Remove all memorized spells from the current creature
+ADD_CRE_ITEM ~RR#DINV~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~AMULET~ // item which makes creatures invisible and untargetable while they gate in
LAUNCH_PATCH_FUNCTION ~RR#MDCRE~ // Starts FUNCTION call (aTweaks' Creature Modification function)
INT_VAR // Initialize variables
"newmove" = "5" // new movement rate
@@ -3236,6 +3243,8 @@ BUT_ONLY_IF_IT_CHANGES
// Summoned elementals should not leave corpses behind after they are slain
+// Also, they should not be targetable while the summoning animation plays
+// Lastly, the player should have the option to dismiss (unsummon) a summoned creature at will
ACTION_FOR_EACH ~file~ IN // for each of the following files
~elairsu1~ // Air Elemental (mage summon)
@@ -3283,6 +3292,8 @@ COPY_EXISTING ~%file%.cre~ ~override~
READ_BYTE 0x10 "flags" // read flags again to account for the previous change
WRITE_BYTE "0x10" ("%flags%" BAND "0b11111011") // unset bit 2 (disable Permanent Corpse flag)
END
+ADD_CRE_ITEM ~RR#DINV~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~AMULET~ // item which makes creatures invisible and untargetable while they gate in
+ADD_MEMORIZED_SPELL ~rr#usumn~ #0 ~innate~ ( 1 ) // adds 1x Unsummon
// =============================================================================== // the actual work ends here
END // ends file size check
BUT_ONLY_IF_IT_CHANGES
View
@@ -44,6 +44,12 @@ ACTION_IF !FILE_EXISTS_IN_GAME rr#vsbl.spl BEGIN
COPY ~atweaks/spl/rr#vsbl.spl~ ~override~ // Spell which turns the target visible but doesn't remove Improved Invisibility
END
+ACTION_IF !FILE_EXISTS_IN_GAME rr#usumn.spl BEGIN
+ COPY ~atweaks/bam/rr#usumn.bam~ ~override~ // Unsummon BAM icon
+ COPY ~atweaks/spl/rr#usumn.spl~ ~override~ // Spell which allows the player to unsummon a creature
+ SAY NAME1 @2132 SAY NAME2 @2132
+END
+
// Add new secondary types
ACTION_IF !FILE_CONTAINS_EVALUATED (msectype.2da RR#ETHER) BEGIN
View
@@ -977,6 +977,8 @@ <h4>Version History</h4>
<li>If Spell Revisions is installed, Elementals summoned by arcane spellcasters now properly remain neutral until the Mental Combat is resolved</li>
<li>If not already present, Conjure Lesser Air/Earth/Fire Elemental scrolls are now added to the Sorcerous Sundries store on BGT and Tutu installations</li>
<li>Vithal, the imprisoned mage in the Underdark, now casts a few defensive spells before engaging the elemental portal guardians</li>
+ <li>Elementals and Fey creatures can no longer be targeted while being summoned (i.e. during the period when the summoning animation plays)</li>
+ <li>Summoned Elementals and Fey creatures can now be dismissed at will by selecting "Unsummon" from their special abilities menu</li>
<li>Updated the Italian and Russian translations</li>
</ul>
View
@@ -699,6 +699,8 @@ GROUP @1 // PnP Tweaks
REQUIRE_PREDICATE ENGINE_IS ~tob~ @90 // ToB engine required
REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~rr#fdrya.bcs~ @1908 // PnP Fey creatures required
+COPY ~atweaks/itm/rr#dinv.itm~ ~override~ // item which makes creatures untargetable until the gating animation finishes
+
COPY ~atweaks/spl/fey/sppr410.spl~ ~override~ // Call Woodland Beings spell
SAY DESC @1895 SAY UNIDENTIFIED_DESC @1895
@@ -709,6 +711,8 @@ COPY ~atweaks/eff/fey/rr#snymp.eff~ ~override~
COPY_EXISTING ~dry01.cre~ ~override/rr#sdrya.cre~ // Summoned Dryad
~hamasu.cre~ ~override/rr#shama.cre~ // Summoned Hamadryad
~nymphsu.cre~ ~override/rr#snymp.cre~ // Summoned Nymph
+ ADD_CRE_ITEM ~RR#DINV~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~AMULET~ // item which makes creatures invisible and untargetable while they gate in
+ ADD_MEMORIZED_SPELL ~rr#usumn~ #0 ~innate~ ( 1 ) // adds 1x Unsummon
WRITE_LONG 0x10 2 // clear flags, leave only "no corpse"
WRITE_ASCIIE 0x248 "%DEST_RES%" #8 // Override script
WRITE_ASCII 0x250 ~~ #8 // disable class AI script
@@ -717,6 +721,7 @@ COPY_EXISTING ~dry01.cre~ ~override/rr#sdrya.cre~
WRITE_ASCII 0x268 ~~ #8 // disable default AI script
WRITE_BYTE 0x270 128 // set intial allegiance to Neutral
WRITE_BYTE 0x275 2 // set gender to Female (treated as gated creatures)
+ WRITE_LONG 0x001c 0 // set gold carried to 0
WRITE_ASCIIE 0x280 ~%DEST_RES%~ #32 // death variable
WRITE_ASCII 0x2cc ~~ #8 // dialogue file
READ_LONG 0x2bc io
View
Binary file not shown.
View
@@ -534,6 +534,7 @@ The summoned creatures aid the caster by whatever means they possess, staying un
@2129 = ~Movement Rate Reduced~
@2130 = ~Protected from gas-based spells and attacks~
@2131 = ~Locked in mental combat~
+@2132 = ~Unsummon~

0 comments on commit 8cc5e36

Please sign in to comment.