Jump to content

Scriptable Spells v3


Recommended Posts

I can also tell if "somebody else" is currently in a cloud (under its effects or not). Range checks cannot do that, vs an invso CRE's position.

Okay, yeah, you're right. The ability to find somebody who isn't in the cloud and run to them is something I wouldn't want to sacrifice. (And doing it using shouts under my system would be shaky at best.)

Link to comment

I little added blurb on Scripting State 10. I found an in-game script that actually uses it: MELISS02.bcs. So, we now have twice the reason for moving Blade Barrier.

 

Avenger also says that STAT # 184 has only a very obscure, unknown use that is linked to it (something about "SoundMN" ? ). We can probably canniballize this one as well, with few consequences.

 

Now that BPv176 is out, I hopefully can 1) take a few days off before 2) getting this package set up and released, then 3) incorporating it into the next release of BP.

 

So think up the good use of this new Stat, while I am hopefully taking a short, but much-needed, sabbatical from modding.

Link to comment

Well, check out the IESDP board and weep.

Many of the stats between 166 and 199 are already used by the engine.

Some of them are used quite commonly.

 

On the other hand, most lingering effects are detectable without resorting to additional tricks.

Link to comment

Actually, that list doesn't make me weep at all. You and I had figured out that those slots were filled by "something" back in TeamBG days. I haven't used them since before BPDetectStatv1.

Actually, it's good news. We didn't think any of those higher SCRIPTINGSTATE's were available, and if this list holds I see there are a couple extra to use.

 

Thanks for the research; very timely! ;)

Link to comment

I have an interesting theory that could allow the game to handle hundreds of stats that has been untested so far.

 

If the CastSpellRES() triggers work, as posted in this thread, then chances are it is possible to implement.

 

My idea is to have the some affected creature cast some blank spell (via opcode #148) every round or so. The other creatures could use the SpellCastRES() triggers to detect whether or not the spell is cast by that creature, thus allowing them to check for states that recast a particular spell.

 

The advantages:

- Could potentially allow an unlimited number of "stats" to be used and checked.

- There is no need to worry about resetting the stats to 0 after the spell expires.

- There is no need to worry about using multiple values in a single stat ("stats" could now overlap).

- Opcode #148 doesn't break invisibility/sanctuary (tested).

 

The disadvantages:

- Untested (there is a chance it might not work out).

- Multiple creatures casting multiple spells every second could slow down the game (untested).

- Since SpellCastRES() triggers expire a single round after the spell is cast, the trigger lags for 1 round after the spell is cast. So dispelling something 1 second (real-time) after a spell is cast doesn't dispel the state until 5 more seconds (if a round is 6 sec long) have passed or 4 more seconds (if a round is 5 sec long) have passed.

 

There might be more secondary effects, but I am unaware of any of them at the moment.

 

-Galactygon

Link to comment

I mentioned at BlackWyrm that I believe there may be benefit in distinguishing between BG1 and BG2 in terms of Detectable Spells. A separate package for Tutu would allow greater precision in its DS without having to worry about BG2 high-level rubbish--we would likely not be needing to discuss which stats to drop/replace.

 

Horred pointed out that BGT would not be able to benefit from this, but Galactygon seems to be believe that my proposal of "switching" DS half way through the game would be possible.

 

Thoughts?

Link to comment

Work has commenced on the Scriptable Stats package. If TuTu players want their own special package, I suggest they get crunching as well. I'm making one (1) package; no more, no less.

 

I actually made a decent dent in just a few hours. Some of the bigger issues that remain:

 

I added code for global (equipping) effects to the tp2 file--this is yet untested.

(The code is necessary for many of the newly added items).

 

I have to address the WEAPON_ENCHANTMENT issue, for items. I'm thinking a nice REG_EXP GLOB block for this part, rather than tracking down every weapon. It will have to be set up, of course.

 

DISPEL_GOOD and BAD: These are pretty cut and dry in implementation, thanks to KD's system. However, there are a few hundred entries to deal with! I've only researched wizard and priest spells, not items yet--and I have a couple hundred or so entries for these two stats.

 

And here is the stat list I'm working with. Some of these entries express Avenger's new findings, as you'll see:

 

109 IMMUNITY_ENCHANTMENT

110 WEAPON_ENCHANTMENT 

 

116 SPELL_DEFLECTION   

117 PROTECTION_ALIGNMENT   

118 TRUE_SIGHT   

119 MIND_SHIELD   

120 PROTECTION_SPELL_LEVEL

121 IMMUNITY_NECROMANCY   

122 PHYSICAL_MIRROR   

123 IMMUNITY_ABJURATION 

124 REGENERATION   

125 FIRE_SHIELD   

126 IMMUNITY_ALTERATION   

127 IMMUNITY_CONJURATION 

128 PROTECTION_MAGIC_WEAPONS   

129 SPELL_TURNING   

130 IMMUNITY_DIVINATION

131 FREE_ACTION   

132 KHELBENS_WARDING_WHIP   

133 IMMUNITY_ILLUSION

134 LEVEL_DRAINED

 

156 SCRIPTINGSTATE1

157 DEATH_WARD                 

158 NEGATIVE_PLANE_PROTECTION       

159 COMBAT_BUFF                 

160 ARMOR_SPELL

161 STRENGTH_BUFF                 

162 IMMUNITY_INVOCATION                 

163 NEEDS_BREACH               

164 SPELL_TRAP                 

165 BLADE_BARRIER

166 MELEE_THAC0

167 MELEE_DAMAGE

168 MISSILE_DAMAGE

169 NO_CIRCLE

170 FIST_THAC0

171 FIST_DAMAGE

 

174 DISABLE_OVERLAY

175 IMMUNE_TO_BACKSTAB

176 GAZE_REFLECTION

177 SPELL_SHIELD

178 RESIST_FEAR

179 DISPEL_BAD

180 INSIDE_OF_CLOUD

181 PROTECTION_NORMAL_WEAPONS

182 DISPEL_GOOD

183 OFFSCREEN_AI

 

189 CHAOS_SHIELD

 

191 USE_ANY_ITEM

192 ALWAYS_BACKSTAB

 

197 IMMUNE_TO_TIMESTOP

 

Hopefully this list is sufficient for everybody; I re-extended the names, fit in every spell immunity, and hopefully covered everybody's wish list that I could.

 

I'll try and get some more done later this week; hopefully it will ready for testing some time next week. :)

Link to comment
Work has commenced on the Scriptable Stats package. If TuTu players want their own special package, I suggest they get crunching as well. I'm making one (1) package; no more, no less.

 

I actually made a decent dent in just a few hours. Some of the bigger issues that remain:

 

I added code for global (equipping) effects to the tp2 file--this is yet untested.

(The code is necessary for many of the newly added items).

 

I have to address the WEAPON_ENCHANTMENT issue, for items. I'm thinking a nice REG_EXP GLOB block for this part, rather than tracking down every weapon. It will have to be set up, of course.

 

DISPEL_GOOD and BAD: These are pretty cut and dry in implementation, thanks to KD's system. However, there are a few hundred entries to deal with! I've only researched wizard and priest spells, not items yet--and I have a couple hundred or so entries for these two stats.

 

And here is the stat list I'm working with. Some of these entries express Avenger's new findings, as you'll see:

 

109 IMMUNITY_ENCHANTMENT

110 WEAPON_ENCHANTMENT 

 

116 SPELL_DEFLECTION   

117 PROTECTION_ALIGNMENT   

118 TRUE_SIGHT   

119 MIND_SHIELD   

120 PROTECTION_SPELL_LEVEL

121 IMMUNITY_NECROMANCY    

122 PHYSICAL_MIRROR   

123 IMMUNITY_ABJURATION 

124 REGENERATION   

125 FIRE_SHIELD   

126 IMMUNITY_ALTERATION   

127 IMMUNITY_CONJURATION 

128 PROTECTION_MAGIC_WEAPONS   

129 SPELL_TURNING   

130 IMMUNITY_DIVINATION

131 FREE_ACTION   

132 KHELBENS_WARDING_WHIP   

133 IMMUNITY_ILLUSION

134 LEVEL_DRAINED

 

156 SCRIPTINGSTATE1

157 DEATH_WARD                  

158 NEGATIVE_PLANE_PROTECTION        

159 COMBAT_BUFF                  

160 ARMOR_SPELL

161 STRENGTH_BUFF                  

162 IMMUNITY_INVOCATION                 

163 NEEDS_BREACH                

164 SPELL_TRAP                  

165 BLADE_BARRIER

166 MELEE_THAC0

167 MELEE_DAMAGE

168 MISSILE_DAMAGE

169 NO_CIRCLE

170 FIST_THAC0

171 FIST_DAMAGE

 

174 DISABLE_OVERLAY

175 IMMUNE_TO_BACKSTAB

176 GAZE_REFLECTION

177 SPELL_SHIELD

178 RESIST_FEAR

179 DISPEL_BAD

180 INSIDE_OF_CLOUD

181 PROTECTION_NORMAL_WEAPONS

182 DISPEL_GOOD

183 OFFSCREEN_AI

 

189 CHAOS_SHIELD

 

191 USE_ANY_ITEM

192 ALWAYS_BACKSTAB

 

197 IMMUNE_TO_TIMESTOP

 

Hopefully this list is sufficient for everybody; I re-extended the names, fit in every spell immunity, and hopefully covered everybody's wish list that I could.

 

I'll try and get some more done later this week; hopefully it will ready for testing some time next week. :)

 

All right, where are the pom-pom smilies? :p

 

Horred, Horred, he's our....ehmmmm, Horred. If he can't make it detectable, it ain't worth detectan.

 

:)

Link to comment

Archived

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

×
×
  • Create New...