Jump to content

Aquadrizzt

Modders
  • Posts

    120
  • Joined

  • Last visited

Posts posted by Aquadrizzt

  1. 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)

     

  2. 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  

     

  3. 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)

     

  4. 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! 

  5. 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? 

  6. That's unfortunate, but I guess I'll find a way to work around it. Thanks for the confirmation before I wasted even more time trying to figure out if I had messed something up! 

    I'm curious what you mean by the spell system though? Do you mean the stuff like Chromatic Orb and Spiritual Hammer? 

  7. Has anyone successfully added projectiles to PSTEE (via ADD_PROJECTILE, etc) or edited the existing projectiles in a way that manifests in game? 

    My installer runs but when I try to use a spell referencing one of my added projectiles, I instead get a random projectile-based spell, seemingly without any reason (e.g. no obvious bit shifting issues). For example, the first new projectile I added also triggers the full casting of Rune of Torment when I use it, and the second projectile I added triggers Blacksphere. 

    I also tried editing some of the projectile files directly (e.g. reducing the radius on SPPR101.pro from 597 to 0) and observed no change in spell behavior. Does this mean that the projectiles are just hardcoded/inaccessible? If so, is there a way around it? 

  8. I am currently trying to "un-hardcode" Planescape Torment's Fist of Iron effect (bonuses to hit and damage with your Fist weapon). 

    I have added an effect to the spell with opcode 183 (effect when itemtype equipped) targeting Fist weapons with a duration of 60. The subeffect applies a +2 bonus to AC, which I can see register automatically when I switch between my Fist weapon and a dagger. 

    My problem is currently that the AC bonus only lasts a few rounds at most (somewhere between 2 and 4), regardless of how I configure the duration of the applying effect (183) or the subeffect file. 

    Anyone have experience with this opcode in the EEs? 

     

     

  9. I'm looking at extracting data directly from .bif, .key files (much in the way utilities such as NI would), and I'm wondering where in the .key/.bif files the actual resrefs of the files are stored.

     

    For example, if the first entry of creature.bif contains data on random goblin number 3, where can I find said goblin's resref (which could look like RNDGOB3.cre)?

     

  10. I have a macro that I was using for a Planescape/IWD2 map conversion process that lets you submit an associative array and an IWD2 area and it will automatically convert all the IWD2 items over to the replacement items specified in the array (it actually also works on creatures).

     

    The random tables, however, have a bug in their code in the EEs that might present... difficulties (at least last time I checked). The random loot was always a very frustrating component of IWD/IWD2 anyway (although I'm sure that for some it was part of the appeal).

  11. I've toyed around with a Campfire Supplies mechanic like the one in Pillars of Eternity, but I never got around to fine-tuning it. Another mechanic from Pillars is that you could also have resting in a real bed (at your stronghold or your inn) grants a small bonus to that character for 24 hours.

     

    Alternatively, you could also add distinct "checkpoints" throughout dungeons that allow your party to rest there once (e.g. the bedroom next to the Golems in the De'Arnise keep, for example).

     

    Instead of limiting rests, maybe one could implement penalties for taking too long to complete content. Say, once you arrived at the De'Arnise keep, you have 24 hours (2 rests + adventuring time) to resolve things before moderate penalties (e.g. harder encounters etc.) occur. After three days, expect not only even harder encounters while in the Keep, but also less gratitude/rewards upon resolution (possibly including Nalia not remaining in your party without some degree of quest resolution and Charisma checks). If the problem isn't solved after a week, Nalia tells you off and finds other, more capable adventurers (preventing you from ever acquiring Nalia as a party member, the Keep as a stronghold, and any remaining loot).

     

    To be honest, I think the idea of a living world where conflicts evolve with or without your presence would do a lot to 1) scale the difficulty of the game more appropriately (e.g. content left until later would be harder anyway because of the added monsters etc) and 2) make the game world feel more alive and less like it's waiting for you to complete it.

  12. I'm currently working on a mod that requires the patching of all "learn spell" headers of arcane scrolls to also update a few other character stats. I have a list of scrolls to iterate over, but I am not entirely sure how to approach the actual code.

     

    So, the code needs to detect which of the scroll's headers is the "learn spell from scroll" header, and then add several 326 effects to only that header without replacing the learn spell effect. No idea how to really approach this though, and I would rather not have to engage in more bit editing than I already have to.

  13. Figured I'd throw my multiclass macro up here too. It allows you to assign class features to multiclass kits in the 2.0+ engine, and does so with only a single line added to each trueclass clab. It's maintained on GitHub for those who want to download the library directly.

     

    Actual macro code is available here (it's quite long). Syntax looks like this (and assumes that you have a few base files present somewhere in your mod structure):

     

     

    LAF qd_multiclass

    STR_VAR

    kit_name = ~kitname~ //the internal name for your kit (e.g. QDMAGUS)

    kit_clab = ~kitclab~ //the internal name of your kit's clab file, without the .2da extension

    base_class = ~X~ // this can take 6 values: [F]ighter, [P]riest, [D]ruid, [R]anger, [M]age, [T]hief

    mc_dir = ~your/file/structure~ // the directory containing the three files, as noted above

    END

     

     

     

    You can use it to make kitted multi-classes (Fighter/Wild Mage), multi-class kits (Bladesinger as a Fighter/Mage kit) or even multi-kit setups (Berserker/Priest of Talos), all with relatively painless syntax.

     

    If anyone knows how to make weidu generate completely blank spells consistently, then this macro could be further refined to not need a link back to a directory.

  14. I need to take some of the existing creature animations and scale them by about 0.7 in the vertical direction, without any rescaling in the x direction.

     

    NearInfinity seems to only allow scaling that keeps aspect ratios, and BAMWorkshop2 would require me to scale each of several hundred frames manually. Is there any way to do this programatically and avoid six hours of tedious manual rescaling?

  15. I hadn't thought about doors, but for the ARE/WED/TIS coordinates, as long as you maintain the aspect ratio couldn't you just iterate over each coordinate and apply the scaling factor in WeiDu? Granted, iterating over all of those would be quite the task computationally, but it seems pretty doable as long as you are careful with your file structure offsets/size.

     

    Similarly, if you can scale the tile art, then scaling the search/light/height maps should also be fine as long as you are consistent. Right?

  16. As in reduce both dimensions by 25%?

     

    For context, I have script that currently can bring PSTEE areas directly into other EE games. One of the more annoying cosmetic features is that PST creature animations are about 25% larger than other IE games, so all the buildings/tables/etc. are comically large compared to the animations present in other games, so I'm trying to figure out an easy way to scale down the apparent size of the areas to better fit with BG animations.

  17. How would one go about scaling the size of a folder of .pvrz files at run time?

     

    I'm quite certain that it will require a rescale.bat file executed via an AT_NOW command, but the specifics of how I would get .pvrz files into an accessible format for .bat to use through Weidu is beyond me.

×
×
  • Create New...