Author Topic: Special Ability  (Read 10043 times)

Legacy_ZX_Diablo

  • Jr. Member
  • **
  • Posts: 53
  • Karma: +0/-0
Special Ability
« on: August 22, 2011, 02:32:56 pm »


               Is there a way to make my character cast Timestop or Horrid Whilting of a Caster Level of 25, i.e. make my Paladin cast Timestop as special ability as Assasin's Darkness?
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Special Ability
« Reply #1 on: August 22, 2011, 03:39:18 pm »


               Yes. My unofficial patch allows to override caster level of all special abilities via variable on creature.

It has one downside that this caster level applies only to damage/duration its not "true" caster level so it cannot pierce monk's SR. SR from items is pierced via this.
               
               

               
            

Legacy_Xardex

  • Sr. Member
  • ****
  • Posts: 414
  • Karma: +0/-0
Special Ability
« Reply #2 on: August 22, 2011, 03:57:07 pm »


               Wait what, now you can have special abilities on PCs?
               
               

               
            

Legacy_ZX_Diablo

  • Jr. Member
  • **
  • Posts: 53
  • Karma: +0/-0
Special Ability
« Reply #3 on: August 22, 2011, 04:01:02 pm »


               Didn't get what you said ShaDoOoW? .... How do I add special ability on PCs?
               
               

               
            

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
Special Ability
« Reply #4 on: August 22, 2011, 07:41:36 pm »


               

ShaDoOoW wrote...

Yes. My unofficial patch allows to override caster level of all special abilities via variable on creature.

It has one downside that this caster level applies only to damage/duration its not "true" caster level so it cannot pierce monk's SR. SR from items is pierced via this.


Yep, editing iprp_spells.2da is the way to assign a specific caster level to a spell for all purposes.  This being achieved through an item; however it only goes by what it is set to.  To be able to change between settings requires using different rows in the 2da by changing the cast spell item property.
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Special Ability
« Reply #5 on: August 23, 2011, 08:09:38 am »


               

Xardex wrote...

Wait what, now you can have special abilities on PCs?

No. So I understood it that he speaking about NPC. If you make NPC with any special ability max lvl you can set for this ability is 15. My patch allows (atm only globally for all abilities) override this number by higher number or lower number (advantage is that lowered number has still default number as caster level for SR purposes, only dmg/duration changes, if the overriden level is higher it works like it should except monk SR (engine limitation)).

WhiZard wrote...

Yep, editing iprp_spells.2da is the way
to assign a specific caster level to a spell for all purposes.  This
being achieved through an item; however it only goes by what it is set
to.  To be able to change between settings requires using different rows
in the 2da by changing the cast spell item property.

This changes globally the caster level of spell at item. Im not sure if the OP ask for this. Anyway my patch also allows to change caster level at item, the advantage is that default level can stay the same and it only applies for specific item (all spells on that item). If you change it via this 2da all these spells on all items will have this caster level.
               
               

               
            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Special Ability
« Reply #6 on: August 23, 2011, 09:25:10 am »


               PCs were blocked from having special abilities in 1.65, as part of an antiexploit. You CAN, however, add them to pcs via nwnx if you're a server admin, using SetSpecialAbility from nwnx_funcs.

Funky
               
               

               
            

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
Special Ability
« Reply #7 on: August 23, 2011, 09:43:38 pm »


               

ShaDoOoW wrote...

This changes globally the caster level of spell at item. Im not sure if the OP ask for this. Anyway my patch also allows to change caster level at item, the advantage is that default level can stay the same and it only applies for specific item (all spells on that item). If you change it via this 2da all these spells on all items will have this caster level.


I was suggesting adding lines so you could have:

Enervation (level 1)
Enervation (level 2)
etc.

and then whenever the item spell needs its caster level changed, simply delete the enervation item property and replace it with another item property casting of the same spell. This would typically make more sense for unique powers.

----
Giventhe monk SR issue in your approach, I assume what you are doing with special abilities is to give the target(s) a temporary SR boost/decrease in relation to the caster level change which will dissipate shortly after the spell script fires.
               
               

               


                     Modifié par WhiZard, 23 août 2011 - 08:47 .
                     
                  


            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Special Ability
« Reply #8 on: August 24, 2011, 07:54:31 am »


               

WhiZard wrote...

Giventhe monk SR issue in your approach, I assume what you are doing with special abilities is to give the target(s) a temporary SR boost/decrease in relation to the caster level change which will dissipate shortly after the spell script fires.

yes exactly, however I cant imagine your solution in practice. First it does not solve caster level of creature abilities it can be applied only for spells cast from items. Second it does require tremedous ammount of work and new lines in TLK (which is something I tried to avoid in my patch) and it wouldnt be compatible with many custom content like PRC - uses these lines for theirs spells. Third it makes total mess in the cast spell item property window, if there would be each spell 40times...

My solution isnt perfect but allows to raise caster level even much higher. And I was thinking about workaround that would solved the issue with monk SR. Also it would be possible to set the caster level override for each spell on item itself, I havent done this yea because I havent found an easy and userfriendly solution so far.
               
               

               
            

Legacy_GhostOfGod

  • Hero Member
  • *****
  • Posts: 1490
  • Karma: +0/-0
Special Ability
« Reply #9 on: August 24, 2011, 09:42:14 am »


               This might be a bit of a sloppy approach but would it be possible to spawn an invisible creature at the PCs location and then have the PC cast a fake spell and the invisible creature cast the actual spell? Then just destroy the invis creature after the spell is cast? Just an idea. Haven't actually tried it.
               
               

               


                     Modifié par GhostOfGod, 24 août 2011 - 08:42 .
                     
                  


            

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
Special Ability
« Reply #10 on: August 24, 2011, 01:55:19 pm »


               

ShaDoOoW wrote...
My solution isnt perfect but allows to raise caster level even much higher. And I was thinking about workaround that would solved the issue with monk SR. Also it would be possible to set the caster level override for each spell on item itself, I havent done this yea because I havent found an easy and userfriendly solution so far.


I wasn't claiming it to be an efficient way.  I was claiming it to be the only way to adjust caster level in all respects.  There are many shorter approaches (like yours) that will, however, miss a little when trying to adjust caster level.  However, my approach may show some efficiency if I am using it for a specific unique power only.
               
               

               


                     Modifié par WhiZard, 24 août 2011 - 12:57 .
                     
                  


            

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
Special Ability
« Reply #11 on: August 24, 2011, 02:04:46 pm »


               

GhostOfGod wrote...

This might be a bit of a sloppy approach but would it be possible to spawn an invisible creature at the PCs location and then have the PC cast a fake spell and the invisible creature cast the actual spell? Then just destroy the invis creature after the spell is cast? Just an idea. Haven't actually tried it.


You can't counter a fake spell.  And cheat cast spells (what the invisible creature would likely cast) have a caster level equal to 2*innate level - 1 (minimum 10).
               
               

               
            

Legacy_WhiZard

  • Hero Member
  • *****
  • Posts: 2149
  • Karma: +0/-0
Special Ability
« Reply #12 on: August 24, 2011, 02:09:56 pm »


               

ShaDoOoW wrote...

WhiZard wrote...

Giventhe monk SR issue in your approach, I assume what you are doing with special abilities is to give the target(s) a temporary SR boost/decrease in relation to the caster level change which will dissipate shortly after the spell script fires.

yes exactly, however I cant imagine your solution in practice. First it does not solve caster level of creature abilities it can be applied only for spells cast from items. Second it does require tremedous ammount of work and new lines in TLK (which is something I tried to avoid in my patch) and it wouldnt be compatible with many custom content like PRC - uses these lines for theirs spells. Third it makes total mess in the cast spell item property window, if there would be each spell 40times...

My solution isnt perfect but allows to raise caster level even much higher. And I was thinking about workaround that would solved the issue with monk SR. Also it would be possible to set the caster level override for each spell on item itself, I havent done this yea because I havent found an easy and userfriendly solution so far.


TLK lines would be reused rather than have new ones added (remember spells.2da already has these lines).  Creatures can be given their special abilities by local variables and then make use of them through items.  So yes it can work on a few select monster abilities, adjusting caster level in all instances.  The question as to how efficient it is, is a completely different matter.
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Special Ability
« Reply #13 on: August 24, 2011, 02:31:48 pm »


               

GhostOfGod wrote...

This might be a bit of a sloppy
approach but would it be possible to spawn an invisible creature at the
PCs location and then have the PC cast a fake spell and the invisible
creature cast the actual spell? Then just destroy the invis creature
after the spell is cast? Just an idea. Haven't actually tried
it.

I cannot see how this solves anything. Except this its extremely lame solution, pardon me for that expression but since you can adjust the caster level in script like I did (with only one downside which is very rare to occur) using some kind of faking via invisible creature is just useless. Except the issues WhiZard already stated Im not very sure how would you synchronize it so it would look as real spell + spawning invisible creature every time... baad

WhiZard wrote...

I was claiming it to be the only way to adjust caster level in all respects.

And this claim is wrong too. There is much more solutions, I just realized another one and Im pretty sure NWNX can do this too.

Re-using TLK lines doesnt solve the issue I had in mind which is that those without the changed TLK sill be gibberlish instead.

Giving special abilities to the monsters on skin or other item seems very user unfriendly to me and I doubt that AI can even use them and if does that definitely not the same way as before as item powers are later in AI code.

If you use it for specific purpose like item caster level it might be a good solution. But it cant be a solution for monster's special abilities.

EDIT: just realized my new idea has the same downside as yours as its a combo of both my and yours idea (make caster lvl at 40 by default and then decrease it via script and SR increase effect on monsters) so I will stick with current solution
               
               

               


                     Modifié par ShaDoOoW, 24 août 2011 - 01:37 .
                     
                  


            

Legacy_Failed.Bard

  • Hero Member
  • *****
  • Posts: 1409
  • Karma: +0/-0
Special Ability
« Reply #14 on: August 24, 2011, 02:43:45 pm »


               The SR problem would be solved most easily by making your own ResistSpell script that took the changes into consideration, wouldn't it?