Jump to content


Photo

Arcane Specialties (new mage-sorcerer-bard mod project)

mage wizard sorcerer specialist bard spell school mana pool focus

18 replies to this topic

#16 kjeron

kjeron
  • Members
  • 100 posts

Posted 07 August 2018 - 03:10 PM

What do you think about this? Could it work? It would be better or worse than make hundreds of rows in splprot for predetermined stat checks?

Yes, splitting it into separate spells would be better than hundreds/thousands of splprot entries, and should work, one way or another.

SPELLA: As is but without:
Protection From Spell #206 => (SPELL D)
// This is taken care of in SPELLB##

For SPELLB##:
(all minlvls)

  • Cast Spell #146 (instantly) => (SPELL D)

(min lvl: 1)

  • Immunity Spell #318 (value: 0, type: 0) (duration 2400/(2+CHA modifier)-1) => (SPELL A)
  • Immunity Spell #318 (value: (2+CHA modifier), type: STAT 116 < -1 splprot row) => (SPELLB##)
  • Cast Spell #146 (value: (2+CHA modifier), type: instantly at level) => (SPELL D)

(min lvl: 2)

  • Immunity Spell #318 (value: 0, type: 0) (duration 2400/(2+CHA modifier)*2-1) => (SPELL A)
  • Immunity Spell #318 (value: (2+CHA modifier)*2, type: STAT 116 < -1 splprot row) => (SPELLB##)
  • Cast Spell #146 (value: (2+CHA modifier)*2, type: instantly at level) => (SPELL D)

(min lvl: 3)

  • Immunity Spell #318 (value: 0, type: 0) (duration 2400/(2+CHA modifier)*3-1) => (SPELL A)
  • Immunity Spell #318 (value: (2+CHA modifier)*3, type: STAT 116 < -1 splprot row) => (SPELLB##)
  • Cast Spell #146 (value: (2+CHA modifier)*3, type: instantly at level) => (SPELL D)

(...)

SPELLC: (If we are or would go over maximum mana, remove all modifiers and reset current = maximum, cleans up accumulating effects)
(for all min lvls)

  • Remove Effects by Resource #321: => (SPELLC) // Remove Increments (over time)
  • Remove Effects by Resource #321: => (SPELLD) // Remove Reset (this one)
  • Remove Effects by Resource #321: => (SPELLE) // Remove Decrements (from casting) (SPELL6 in my first post)
  • Proficiency Modifier #233 (value: min lvl, type: 116, Increment)

// FYI minlvl is not capped at either 50 or 255 when set using the "Cast at Level" opcodes, if you need higher values.

SPELLD: Don't need the Cast SpellA, it will already be cast every round.

 

Use opcode 318 instead of 324 - the latter will flood the combat log with feedback messages about "Unaffected by effects from <RESOURCE>".


Edited by kjeron, 07 August 2018 - 03:12 PM.


#17 MaLa

MaLa
  • Members
  • 9 posts
  • Gender:Male
  • Location:Italy

Posted 07 August 2018 - 05:01 PM

Wow! This is much better then my version! Thank you very much!

 

 

Cast Spell #146 (instantly) => (SPELL D)

 

No delay? Maybe I'm missing something, but wouldn't this instantly regenerate one mana point after a spell has been cast at max mana?

 

 

FYI minlvl is not capped at either 50 or 255 when set using the "Cast at Level" opcodes, if you need higher values.

 

I was struggling for how to pass a value from one effect to another: this is brilliant!

 

 

SPELLD: Don't need the Cast SpellA, it will already be cast every round.

 

I was actually trying to avoid the "every round" casting with that chain cast, thinking that it would be less demanding for the game engine, but maybe it's a bit risky. Obviously in that case I would have removed the Cast On Condition and iniciate the chain by making every sorcerer spell cast SPELL A.



#18 kjeron

kjeron
  • Members
  • 100 posts

Posted 07 August 2018 - 06:28 PM

No delay? Maybe I'm missing something, but wouldn't this instantly regenerate one mana point after a spell has been cast at max mana?

Immunity to SPELLA is applied regardless of current mana. The very first time it triggers will be instant, but afterwards it would only occur if the timer (2400 / ((2+CHA)*level)) had already expired.

I was actually trying to avoid the "every round" casting with that chain cast, thinking that it would be less demanding for the game engine, but maybe it's a bit risky. Obviously in that case I would have removed the Cast On Condition and iniciate the chain by making every sorcerer spell cast SPELL A.

In that case having it cast SPELLA is probably correct.


Also a correction on SPELLB##
these lines should be specifying SPELLC:
Cast Spell #146 (value: (2+CHA modifier), type: instantly at level) => (SPELL D)
->
Cast Spell #146 (value: (2+CHA modifier), type: instantly at level) => (SPELL C)

Edited by kjeron, 07 August 2018 - 06:29 PM.


#19 MaLa

MaLa
  • Members
  • 9 posts
  • Gender:Male
  • Location:Italy

Posted 08 August 2018 - 12:54 AM

 

Cast Spell #146 (value: (2+CHA modifier), type: instantly at level) => (SPELL D)
->
Cast Spell #146 (value: (2+CHA modifier), type: instantly at level) => (SPELL C)

 

Yes, I figured that out, but I didn't want to be annoying, so I didn't correct you! =P


Edited by MaLa, 08 August 2018 - 06:29 AM.




Reply to this topic



  



Also tagged with one or more of these keywords: mage, wizard, sorcerer, specialist, bard, spell, school, mana, pool, focus

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users