Jump to content

Simulating an AoE Projectile without a .PRO


Aquadrizzt

Recommended Posts

Is there anyway to simulate the effects of an AoE projectile without having a projectile with the appropriate AoE shape that you want? 

Planescape EE's projectiles are hardcoded (even the NI accessible ones) but being stuck with only a handful of well-behaved .PRO files has really limited what I can do.

Is there some way to apply a spell to, say, every creature with melee range of the target creature without using a .PRO file to do so? 

Edited by Aquadrizzt
Link to comment

Well, turns out I was able to kinda answered my own question. 

Turns out that while many of the projectiles in PSTEE are hardcoded (including any that the game itself references), you can, if you properly update PROJECTL.ids, add new projectiles that would behave however you desire. 

This is incredible! 

Link to comment

I'm late, but here's all the PROJECTL.IDS values that are hardcoded in PST:EE, so you can avoid using their ids:

Spoiler

0
21
23
24
25
38
44
65
66
67
68
69
70
71
72
73
74
75
76
77
78
80
81
82
83
84
85
86
87
88
89
90
96
109
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
188
190
194
195
196
197
198
199
200
201
202
203
204
215
216
217
218
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
258
259
260
262
263
264
265
267
268
269
277
278
279
280
286
287
288
299
300

Add one to these values to get the projectile ids used in spells.

Link to comment

Here is a list of all of the projectiles referenced in spl, itm, eff, and other pro files in PSTEE

Spoiler

23  spwi101  // chromatic orb - used by spwi101.spl
37  spwi201  // adder's kiss - special spell hit (spwi201.spl)
59  ghost    // howl of pandemonium ghost - used by spwi603.spl 
61  stormbld // blade storm blade - used by spwi702.spl <unsure about this one>
78  --          // invisible traveling projectile (explosion projectile of sppr105.pro, spwi108.pro)
189 ntoken   // hold person - used by ntoken.itm 
203 spin101  // litany of curses - used by spin101.spl
204 spin103  // stories-bones-tell/speak with dead - used by spin103.spl, sppr304.spl
205 magicmis // magic missiles 1 - used by spwi107.spl
206 spwi107  // magic missiles 2 - used by spwi107.spl
207 spwi107  // magic missiles 3 - used by spwi107.spl
208 spwi107  // magic missiles 4 - used by spwi107.spl
209 spwi107  // magic missiles 5 - used by spwi107.spl
210 spwi107  // magic missiles 6 - unused
211 spwi107  // magic missiles 7 - unused
212 spwi107  // magic missiles 8 - unused
213 spwi107  // magic missiles 9 - unused
214 spwi107  // magic missiles 10 - unused
215 spin102  // skull mob - used by spin102.spl
217 spwi212  // swarm curse (spwi212), 9' radius (rest of series starts at 290)
218 swarm    // swarm curse arrow - used by swarm curse
219 --       // originally adder's kiss, unused
220 spwi207  // ice knife - used by spwi207.spl
221 spwi108  // pacify - used by spwi108.spl
222 spwi211  // strength - used by spwi211.spl
223 spwi301  // ball of lightning - used by spwi301
224 lgtball  // ball of lightning sphere - used by spwi301
225 spwi204  // blood bridge - used by spwi204.spl
226 spwi405  // force missiles - used by spwi405.spl
227 spwi406  // improved strength - used by spwi406.spl
228 spwi408  // shroud of shadows - used by spwi408.spl
229 spwi501     // cloudkill - used by spwi501.spl
230 spwi603  // howl of pandemonium - used by spwi603.spl
231 spwi702  // blade storm - used by spwi702.spl
232 spwi905  // elysium's fires - used by spwi905.spl
233 spwi912  // abyssal fury - used by spwi912.spl
234 spwi213  // horror - used by spwi213.spl
235 spwi215  // knock - used by spwi215.spl
236 spwi307  // hold undead - used by spwi307.spl
237 spwi113  // missile of patience - used by spwi113.spl
238 spwi305  // elysium's tears - used by spwi305.spl
239 spwi308  // tasha's unbearable derisive laughter - used by spwi308.spl
240 spwi310  // axe of torment - used by spwi310.spl
241 --         // blacksphere - unused, originally used by spwi401.spl
242 spwi502     // cone of cold - used by spwi502.spl
243 spwi505  // desert hell - used by spwi505.spl
244 spwi506  // fire and ice - used by spwi506.spl
245 spwi604  // chain lightning storm - used by spwi604.spl
246 spwi701     // acid storm - used by spwi701.spl
247 spwi705  // stygian ice storm - used by spwi705.spl
248 spwi802  // meteor storm bombardment - used by spwi802.spl
249 spwi803  // deathbolt - used by spwi803.spl
250 spwi804  // ignus' fury - used by spwi804.spl
251 spwi805  // pw blind - used by spwi805.spl
252 spwi807  // mechanus' cannon - used by spwi807.spl
253 spwi901  // celestial host - used by spwi901.spl
254 --         // rune of torment - unused, originally used by spwi914.spl
255 sppr101  // blessing - used by sppr101.spl, spwi118.spl
256 sppr103  // curse - used by sppr103.spl, spwi117.spl
257 --       // originally detect evil, unused
258 sppr105  // halo of lesser revelation - used by sppr105.spl 
259 sppr204  // spritual hammer - used by sppr204.spl
260 sppr301  // call lightning - used by sppr301.spl
261 --       // originally soul exodus, unused
262 spwi309     // vampiric touch - used by spwi309.spl
263 spwi402  // confusion - used by spwi402.spl
264 spwi909  // pw kill - used by spwi909.spl
265 spwi602  // globe of invulnerability - used by spwi602.spl
266 bolt01   // nordom's crossbow bolts - used by bolt01.itm through bolt09.itm, nordbolt.itm
267 sppr502  // raise dead - used by sppr502.spl, spin108.spl
268 spin106  // aura of fear - used by spin106.spl
269 spwi902  // conflagration - used by spwi902.spl
270 spwi001  // special trap - used by spwi001.spl 
271 ignusfi  // ignus' fireball - used by ignusfi.itm
272 imiss    // tongues of flame 1 - used by spwi116.spl
273 spwi116  // tongues of flame 2 - used by spwi116.spl
274 spwi116  // tongues of flame 3 - used by spwi116.spl
275 spwi116  // tongues of flame 4 - used by spwi116.spl
276 spwi116  // tongues of flame 5 - used by spwi116.spl
277 spwi217  // ignus' terror - used by spwi217.spl
278 spwi218  // infernal orb - used by spwi218.spl
279 spwi313  // fiery rain - used by spwi313.spl
280 spwi410  // elemental strike - used by spwi410.spl
281 amiss    // reign of anger 1 - used by spwi121.spl
282 spwi121  // reign of anger 2 - used by spwi121.spl
283 spwi121  // reign of anger 3 - used by spwi121.spl
284 spwi121  // reign of anger 4 - used by spwi121.spl
285 spwi121  // reign of anger 5 - used by spwi121.spl
286 spwi219  // power of one - used by spwi219.spl
287 spin107  // kiss - used by spin107.spl
288 spwi103  // embalming - used by spwi103.spl, spwi205.spl
289 spwi305b // elysium tears meteor - used by spwi305
290 spwi002  // special trap - used by spwi002.spl
291 spwi003  // special trap - used by spwi003.spl
292 spwi004  // special trap - used by spwi004.spl
293 spwi005  // special trap - used by spwi005.spl
294 spwi006  // special trap - used by spwi006.spl
295 spwi007  // special trap - used by spwi007.spl
296 spwi008  // special trap - used by spwi008.spl
297 spwi009  // special trap - used by spwi009.spl
298 spwi010  // special trap - used by spwi010.spl
299 spwi914  // rune of torment - used by spwi914.spl 
300 spwi401  // blacksphere - used by spwi401.spl
455 prayerg  // prayer - used by sppr303.spl (via prayerg.spl)
456 prayerb  // prayer - used by sppr303.spl (via prayerb.spl)

 

Link to comment

And here is the behavior from the hardcoded projectile indices identified by @Bubb

I tested these by configuring Magic Missile (spwi107.spl) to only have its damaging effect and changing it's projectile to the index+1 for each. 

I then loaded into game and cast Magic Missile on Morte in the Smoldering Corpse bar, with Grace nearby to check for allied AoEs. 

Spoiler

21 - instant hit
23 - chromatic orb 
24 - crash 
25 - crash 
38 - adder's kiss 
44 - instant hit
65 - instant hit
66 - instant hit
67 - instant hit
68 - instant hit (x2) 
69 - instant hit (x3)  
70 - instant hit (x4)  
71 - instant hit (x5)  
72 - instant hit (x6)
73 - instant hit (x7)
74 - instant hit (x8)
75 - instant hit (x9)
76 - instant hit (x10)
77 - instant hit (x11)
78 - delayed hit (invisible traveling projectile)
79 - instant hit <not in bubb's list>
80 - instant hit, prevents save/rest 
81 - instant hit, prevents save/rest  
82 - instant hit, prevents save/rest 
83 - instant hit, prevents save/rest 
84 - instant hit, prevents save/rest 
85 - instant hit, prevents save/rest 
86 - instant hit, prevents save/rest 
87 - instant hit, prevents save/rest  
88 - instant hit, prevents save/rest 
89 - instant hit, prevents save/rest 
90 - instant hit, prevents save/rest 
96 - instant hit, also hits neutrals and allies in a radius around target 
109 - instant hit 
118 - instant hit 
119 - instant hit 
120 - instant hit 
121 - instant hit 
122 - instant hit 
123 - instant hit 
124 - instant hit 
125 - instant hit 
126 - instant hit 
127 - instant hit 
128 - instant hit 
129 - instant hit 
130 - instant hit 
131 - instant hit 
132 - instant hit 
133 - instant hit 
134 - instant hit 
135 - instant hit 
136 - instant hit 
137 - instant hit  
138 - instant hit  
139 - instant hit 
140 - instant hit  
141 - instant hit  
142 - no hit (on allies/neutrals), prevents save/rest
143 - no hit (on allies/neutrals), prevents save/rest
144 - no hit (on allies/neutrals), prevents save/rest
145 - instant hit 
146 - instant hit 
147 - instant hit
188 - slight pause, hits target, then hits everyone in area
190 - crash
194 - instant hit 
195 - instant hit 
196 - instant hit 
197 - instant hit 
198 - instant hit 
199 - instant hit 
200 - instant hit 
201 - instant hit 
202 - instant hit  

 

Link to comment

Putting all of this together.

Spoiler

21  --         // unused, instant hit (hardcoded)
23  --         // chromatic orb - used by spwi101.spl (hardcoded)
24  --         // do not use - crash (hardcoded)
25  --         // do not use - crash (hardcoded)
38  --         // adder's kiss - special spell hit (spwi201.spl) (hardcoded)
44  --          // unused, instant hit (hardcoded)
59  ghost    // howl of pandemonium ghost - used by spwi603.spl 
61  stormbld // blade storm blade - used by spwi702.spl <unsure about this one>
65  --          // unused, instant hit (hardcoded)
66  --          // unused, instant hit (hardcoded)
67  --          // unused, instant hit (hardcoded)
68  --          // unused, instant hit (x2) (hardcoded)
69  --          // unused, instant hit (x3) (hardcoded) 
70  --          // unused, instant hit (x4) (hardcoded)
71  --          // unused, instant hit (x5) (hardcoded)     
72  --          // unused, instant hit (x6) (hardcoded)
73  --          // unused, instant hit (x7) (hardcoded)
74  --          // unused, instant hit (x8) (hardcoded)
75  --          // unused, instant hit (x9) (hardcoded)
76     --          // unused, instant hit (x10) (hardcoded)
77     --          // unused, instant hit (x11) (hardcoded)
78  --          // invisible traveling projectile (explosion projectile of sppr105.pro, spwi108.pro) (hardcoded)
80  --          // unused, instant hit, prevents save/rest (hardcoded)
81  --          // unused, instant hit, prevents save/rest (hardcoded)
82  --          // unused, instant hit, prevents save/rest (hardcoded)
83  --          // unused, instant hit, prevents save/rest (hardcoded)
84  --          // unused, instant hit, prevents save/rest (hardcoded)
85  --          // unused, instant hit, prevents save/rest (hardcoded)
86  --          // unused, instant hit, prevents save/rest (hardcoded)
87  --          // unused, instant hit, prevents save/rest (hardcoded)
88  --          // unused, instant hit, prevents save/rest (hardcoded)
89  --          // unused, instant hit, prevents save/rest (hardcoded)
90  --          // unused, instant hit, prevents save/rest (hardcoded)
96  --          // unused, instant hit, medium radius around target (hardcoded)
109 --          // unused, instant hit (hardcoded)
118 --          // unused, instant hit (hardcoded)
119 --          // unused, instant hit (hardcoded)
120 --          // unused, instant hit (hardcoded)
121 --          // unused, instant hit (hardcoded)
122 --          // unused, instant hit (hardcoded)
123 --          // unused, instant hit (hardcoded)
124 --          // unused, instant hit (hardcoded)
125 --          // unused, instant hit (hardcoded)
126 --          // unused, instant hit (hardcoded)
127 --          // unused, instant hit (hardcoded)
128 --          // unused, instant hit (hardcoded)
129 --          // unused, instant hit (hardcoded)
130 --          // unused, instant hit (hardcoded)
131 --          // unused, instant hit (hardcoded)
132 --          // unused, instant hit (hardcoded) 
133 --          // unused, instant hit (hardcoded)
134 --          // unused, instant hit (hardcoded) 
135 --          // unused, instant hit (hardcoded) 
136 --          // unused, instant hit (hardcoded) 
137 --          // unused, instant hit (hardcoded)  
138 --          // unused, instant hit (hardcoded)  
139 --          // unused, instant hit (hardcoded) 
140 --          // unused, instant hit (hardcoded)  
141 --          // unused, instant hit (hardcoded) 
142 --          // unused, no ally/neutral hit, prevents save/rest (hardcoded)
143 --          // unused, no ally/neutral hit, prevents save/rest (hardcoded)
144 --          // unused, no ally/neutral hit, prevents save/rest (hardcoded)
145 --          // unused, instant hit (hardcoded)  
146 --          // unused, instant hit (hardcoded)
147 --          // unused, instant hit (hardcoded)
188 --          // delayed hit, then hits everyone in area (hardcoded)
189 ntoken   // hold person - used by ntoken.itm 
190 --          // do not use - crash (hardcoded)
194 --          // unused, instant hit (hardcoded)
195 --          // unused, instant hit (hardcoded)
196 --          // unused, instant hit (hardcoded)
197 --          // unused, instant hit (hardcoded)
198 --          // unused, instant hit (hardcoded)
199 --          // unused, instant hit (hardcoded)
200 --          // unused, instant hit (hardcoded)
201 --          // unused, instant hit (hardcoded)
202 --          // unused, instant hit (hardcoded)
203 --         // litany of curses - used by spin101.spl (hardcoded)
204 --         // stories-bones-tell/speak with dead - used by spin103.spl, sppr304.spl (hardcoded)
205 magicmis // magic missiles 1 - used by spwi107.spl
206 spwi107  // magic missiles 2 - used by spwi107.spl
207 spwi107  // magic missiles 3 - used by spwi107.spl
208 spwi107  // magic missiles 4 - used by spwi107.spl
209 spwi107  // magic missiles 5 - used by spwi107.spl
210 spwi107  // magic missiles 6 - unused
211 spwi107  // magic missiles 7 - unused
212 spwi107  // magic missiles 8 - unused
213 spwi107  // magic missiles 9 - unused
214 spwi107  // magic missiles 10 - unused
215 --         // skull mob - used by spin102.spl (hardcoded)
216 --          // do not use - crash (hardcoded)
217 --         // swarm curse (spwi212), 9' radius (hardcoded)
218 --         // swarm curse arrow - used by swarm curse (hardcoded)
219 --       // originally adder's kiss, unused
220 --         // ice knife - used by spwi207.spl (hardcoded) 
221 --         // pacify - used by spwi108.spl (hardcoded)
222 --         // strength - used by spwi211.spl (hardcoded)
223 --         // ball of lightning - used by spwi301 (hardcoded)
224 --         // ball of lightning sphere - used by spwi301 (hardcoded)
225 --         // blood bridge - used by spwi204.spl (hardcoded)
226 --         // force missiles - used by spwi405.spl (hardcoded)
227 --         // improved strength - used by spwi406.spl (hardcoded)
228 --         // shroud of shadows - used by spwi408.spl (hardcoded)
229 --         // cloudkill - used by spwi501.spl (hardcoded)
230 --         // howl of pandemonium - used by spwi603.spl (hardcoded)
231 --         // blade storm - used by spwi702.spl (hardcoded)
232 --         // elysium's fires - used by spwi905.spl (hardcoded)
233 --         // abyssal fury - used by spwi912.spl (hardcoded)
234 --         // horror - used by spwi213.spl (hardcoded)
235 --         // knock - used by spwi215.spl (hardcoded) 
236 --         // hold undead - used by spwi307.spl (hardcoded)
237 --         // missile of patience - used by spwi113.spl (hardcoded)
238 --         // elysium's tears - used by spwi305.spl (hardcoded)
239 --         // tasha's unbearable derisive laughter - used by spwi308.spl (hardcoded)
240 --         // axe of torment - used by spwi310.spl (hardcoded)
241 --         // blacksphere - unused, originally used by spwi401.spl (hardcoded)
242 --         // cone of cold - used by spwi502.spl (hardcoded)
243 --         // desert hell - used by spwi505.spl (hardcoded)
244 --         // fire and ice - used by spwi506.spl (hardcoded)
245 --         // chain lightning storm - used by spwi604.spl (hardcoded)
246 --         // acid storm - used by spwi701.spl (hardcoded)
247 --         // stygian ice storm - used by spwi705.spl (hardcoded) 
248 --         // meteor storm bombardment - used by spwi802.spl (hardcoded)
249 --         // deathbolt - used by spwi803.spl (hardcoded)
250 --         // ignus' fury - used by spwi804.spl (hardcoded)
251 --         // pw blind - used by spwi805.spl (hardcoded)
252 --         // mechanus' cannon - used by spwi807.spl (hardcoded)
253 --         // celestial host - used by spwi901.spl (hardcoded)
254 --         // rune of torment - unused, originally used by spwi914.spl (hardcoded)
255 --         // blessing - used by sppr101.spl, spwi118.spl (hardcoded)
256 --         // curse - used by sppr103.spl, spwi117.spl (hardcoded)
257 --       // originally detect evil, unused
258 --         // halo of lesser revelation - used by sppr105.spl (hardcoded) 
259 --         // spritual hammer - used by sppr204.spl (hardcoded)
260 --         // call lightning - used by sppr301.spl (hardcoded)
261 --       // originally soul exodus, unused 
262 --         // vampiric touch - used by spwi309.spl (hardcoded)
263 --         // confusion - used by spwi402.spl (hardcoded)
264 --         // pw kill - used by spwi909.spl (hardcoded)
265 --         // globe of invulnerability - used by spwi602.spl (hardcoded)
266 bolt01   // nordom's crossbow bolts - used by bolt01.itm through bolt09.itm, nordbolt.itm
267 --         // raise dead - used by sppr502.spl, spin108.spl (hardcoded)
268 --         // aura of fear - used by spin106.spl (hardcoded)
269 --         // conflagration - used by spwi902.spl (hardcoded)
270 spwi001  // special trap - used by spwi001.spl 
271 ignusfi  // ignus' fireball - used by ignusfi.itm
272 imiss    // tongues of flame 1 - used by spwi116.spl
273 spwi116  // tongues of flame 2 - used by spwi116.spl
274 spwi116  // tongues of flame 3 - used by spwi116.spl
275 spwi116  // tongues of flame 4 - used by spwi116.spl
276 spwi116  // tongues of flame 5 - used by spwi116.spl
277 --         // ignus' terror - used by spwi217.spl (hardcoded)
278 --         // infernal orb - used by spwi218.spl (hardcoded)
279 --         // fiery rain - used by spwi313.spl (hardcoded)
280 --         // elemental strike - used by spwi410.spl (hardcoded)
281 amiss    // reign of anger 1 - used by spwi121.spl
282 spwi121  // reign of anger 2 - used by spwi121.spl
283 spwi121  // reign of anger 3 - used by spwi121.spl
284 spwi121  // reign of anger 4 - used by spwi121.spl
285 spwi121  // reign of anger 5 - used by spwi121.spl
286 --         // power of one - used by spwi219.spl (hardcoded)
287 --         // kiss - used by spin107.spl (hardcoded)
288 --         // embalming - used by spwi103.spl, spwi205.spl (hardcoded)
289 spwi305b // elysium tears meteor - used by spwi305
290 spwi002  // special trap - used by spwi002.spl
291 spwi003  // special trap - used by spwi003.spl
292 spwi004  // special trap - used by spwi004.spl
293 spwi005  // special trap - used by spwi005.spl
294 spwi006  // special trap - used by spwi006.spl
295 spwi007  // special trap - used by spwi007.spl
296 spwi008  // special trap - used by spwi008.spl
297 spwi009  // special trap - used by spwi009.spl
298 spwi010  // special trap - used by spwi010.spl
299 --         // rune of torment - used by spwi914.spl (hardcoded) 
300 --         // blacksphere - used by spwi401.spl (hardcoded)
455 --         // prayer - used by sppr303.spl (via prayerg.spl)
456 --         // prayer - used by sppr303.spl (via prayerb.spl)

 

Edited by Aquadrizzt
Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...