Jump to content

Chargable Spells


grmblf

Recommended Posts

I'm gonna go for a chargeable firebolt spell. I'll do only this spell and try to keep it simple so that you can adapt it to whatever kind of chargeable spell you want. Here's the general idea:

 

- Use the console to learn the spell.

- Players sets it as the current spell. When this happens, a quest script disables the cast key.

- Player presses and holds cast key. The quest script removes spell effects from the spell and keep a timer of how long you hold it.

- Player releases cast key. Quest script stops timer.

- Quest script adds spell effects to the spell based on the charge timer.

- Quest script uses TapControl to simulate the player pressing the cast key. The player should cast the spell.

 

- If the charge spell isn't the current spell, enable the cast key.

Link to comment
Share on other sites

  • Replies 96
  • Created
  • Last Reply

Top Posters In This Topic

I'm gonna go for a chargeable firebolt spell. I'll do only this spell and try to keep it simple so that you can adapt it to whatever kind of chargeable spell you want. Here's the general idea:

 

- Use the console to learn the spell.

- Players sets it as the current spell. When this happens, a quest script disables the cast key.

- Player presses and holds cast key. The quest script removes spell effects from the spell and keep a timer of how long you hold it.

- Player releases cast key. Quest script stops timer.

- Quest script adds spell effects to the spell based on the charge timer.

- Quest script uses TapControl to simulate the player pressing the cast key. The player should cast the spell.

 

- If the charge spell isn't the current spell, enable the cast key.

It sounds pretty good. I'm always afraid of background scripts that run every frame but I guess there's no reason to, seeing how it solves most of the problems currently present and also saves little intensive code running when casting the spells. I wonder if there's something such an empty spell with no effects, no lihgt and no anim, to trigger the whole the effect from there.

 

 

Make the fireball have a larger radius if you charge it for longer.

yeah, but probably not as plain as this but depending on your willpower and destruction skill, and only after having being charging for a certain time. But as you can see the main part is being discussed yet so it may take some time to implement this kind of things.

Link to comment
Share on other sites

Just a thought. It might be nice to make maybe three maximum spells per type. Because I could see a time where I want a super powerful fireball with no AoE, but if you set it to have an AoE always under certain conditions I couldn't achieve that. Not a major issue just a thought. It might be nice for the three types of spells to be like this:

 

Single Target Fireball

AoE Fireball

AoE Fire Centered around caster

 

There's already several mods that add explosions centered around the caster "Supreme Magicka" for example, so it should be easy enough to reference their mods to get it working.

 

And personally I've never really needed touch spells. The only reason I ever used them in vanilla was because they were cheaper magicka wise, but even then after a few levels it was essentially a minor difference. I personally would just balance the mod around target only spells. Unless maybe there's something I'm not thinking of...

 

That said, it's your mod do as you like. If I don't like it I'll make my own rendition haha. :)

 

And a thought for later:

 

While having spells that grow with you is a super excellent idea, it somewhat removes the necessity to go find new spells meaning that after a few levels of spell casting you already have everything and it starts loosing the fun. It would be cool to add maybe some special spells that are instant cast, powerful, but expensive. Through maybe quests or such. Another option (or could be implemented as well), is to scale the spells... Example: A basic lightning bolt can be learned at level one but has a wide range of damage from really low to fairly high (pretty standard for RPGs in my experience), at level two you learn a fireball with more stable albiet it somewhat lower damage. Level three grants an ice based projectile that slows enemies. Something to that effect. Reserve the AoE centered around caster to 5 levels above the basic projectile of the same type. And then make the AoE on target 5 levels above the AoE on caster of the same type. Of course it would need tweaking for balance, but it's a thought to impliment a great idea without making magic excessively repetitive.

Link to comment
Share on other sites

Just a thought. It might be nice to make maybe three maximum spells per type. Because I could see a time where I want a super powerful fireball with no AoE, but if you set it to have an AoE always under certain conditions I couldn't achieve that. Not a major issue just a thought. It might be nice for the three types of spells to be like this:

 

Single Target Fireball

AoE Fireball

AoE Fire Centered around caster

 

There's already several mods that add explosions centered around the caster "Supreme Magicka" for example, so it should be easy enough to reference their mods to get it working.

 

And personally I've never really needed touch spells. The only reason I ever used them in vanilla was because they were cheaper magicka wise, but even then after a few levels it was essentially a minor difference. I personally would just balance the mod around target only spells. Unless maybe there's something I'm not thinking of...

 

That said, it's your mod do as you like. If I don't like it I'll make my own rendition haha. :)

 

Well, that's one of the reasons I started this topic too, so all you can give me feedback on your preferences for the spells. It's not that it will please everyone's needs, but the more opinions thown here the easier it will :)

 

In my case I use both 'touch' and 'target' spells, but hardly ever one with AoE (unless it's casted on touch) because they're very expensive, so I was thinking about making the AoE kinda bonus, without detriment of the spell power, but that's and interesting thought, maybe there's people who want to be able to throw a fireball with big radius but not so much powerful. Perhaps a key combo may determine the final form of your spell (ie holding block while charging makes the spell have bigger AoE and lower damage) or do you think it would be easier to have different spells for different uses?

 

Basically I want it to be easy to use and intuitive, and adding a bunch of new spells seems to me somehow counterproductive, as one of it's goals is (suposed to be) to save a few spells in the spells list. I supose we'll see it clearly once we can test it widely in-game.

 

 

And a thought for later:

 

While having spells that grow with you is a super excellent idea, it somewhat removes the necessity to go find new spells meaning that after a few levels of spell casting you already have everything and it starts loosing the fun. It would be cool to add maybe some special spells that are instant cast, powerful, but expensive. Through maybe quests or such. Another option (or could be implemented as well), is to scale the spells... Example: A basic lightning bolt can be learned at level one but has a wide range of damage from really low to fairly high (pretty standard for RPGs in my experience), at level two you learn a fireball with more stable albiet it somewhat lower damage. Level three grants an ice based projectile that slows enemies. Something to that effect. Reserve the AoE centered around caster to 5 levels above the basic projectile of the same type. And then make the AoE on target 5 levels above the AoE on caster of the same type. Of course it would need tweaking for balance, but it's a thought to impliment a great idea without making magic excessively repetitive.

 

I've never liked the way magic is learned in oblivion: you may spend hours casting flares, and even if you're the Arch-Mage you're not able to cast a bigger fire ball unless you pay for it. Then you go to a merchant, pay a sum and voilà! you know a new spell. What's this? You've spent hours training yourself, increasing your magic capabilities, but aren't good enought to improve your spells? IMO this makes magic quite unreal, it makes me feel like all you have to know to cast a spell is a magic word. What the hell happens inside the shop so you can learn a bunch of spells in minutes while you've being unable to improve the spells you already knew on your own??? What I said, they tell you the secret word...

 

Notice that I'm talking about improving spells you know, I think it's quite logical that someone has to teach you a spell you've never used. But you've made an interesting point. I don't want to give all the spells to the player and let him forget about learning magic throught the conventional ways. Perhaps the quest option is the best one for me, so you can avoid having scaled spells but still have to do something to improve them beyond increasing your skill. So maybe in a quest a mage teaches you how to make your spells last for longer, another one teaches you how to increase the AoE, (quests limited to your level in a particular skill) and so on, but for now that's beyond the aim of this mod, althought I must admit that's somewhat I'd like to see in the future.

 

Anyway, as always, thanks for sharing your ideas with us. I consider every suggestion made.

Link to comment
Share on other sites

Heh, I miraculously had a bunch of free time today, so I finished my chargeable fireball resource. It's up on tesnexus at

http://tesnexus.com/downloads/file.php?id=27557

muahahaha... I love you guy!! :D Unfortunatelly today it's me who doesn't have a bunch of free time but I'll start working on this new 'engine' as late as tomorrow. A big :thanks: to you!

 

PS: could you add a link to this topic on the download section so people that download it could give any feedback if they want? Much appreciated

Link to comment
Share on other sites

After a couple minutes of testing I would just like to say this is extremely unbalanced!! You suck sir.

 

Just kidding of course.

 

Nice work.

There are quite a few things I would have implemented a tad differently, but it should be plenty to get/keep grmblf going.

 

That said here are some things I noticed that will need to be adressed, or at least considered.

 

1) You're able to move while charging the spell. This may or may not be an issue depending on your intention. Personally I kinda think that it would take a lot of concentration to create a fireball out of thin air you probably wouldn't be running around at the same time. If you decide to do that just use a doonce flag and disablecontrol for the movement keys. It might be a neat perk for higher levels to be able to move while charging spells? Maybe forcing them to not run? I'm not sure offhand how to make them not run but surely it can be done. Of course all that may be moot if you want to be able to move while charging in the first place.

 

2) You're able to attack while charging spells. While moving could be understood I don't think attacking should be allowed. Up to you though.

 

3) Some sort of limiter should definitely be set to avoid the charging too long and not casting. I'm sure you've considered that, but just in case :)

 

4) Of course you'll have to come up with a formula based on whatever stats you come up with. :)

Link to comment
Share on other sites

PS: could you add a link to this topic on the download section so people that download it could give any feedback if they want? Much appreciated

 

Links are now in the description and comments sections.

 

1) You're able to move while charging the spell. This may or may not be an issue depending on your intention. Personally I kinda think that it would take a lot of concentration to create a fireball out of thin air you probably wouldn't be running around at the same time. If you decide to do that just use a doonce flag and disablecontrol for the movement keys. It might be a neat perk for higher levels to be able to move while charging spells? Maybe forcing them to not run? I'm not sure offhand how to make them not run but surely it can be done. Of course all that may be moot if you want to be able to move while charging in the first place.

 

2) You're able to attack while charging spells. While moving could be understood I don't think attacking should be allowed. Up to you though.

 

3) Some sort of limiter should definitely be set to avoid the charging too long and not casting. I'm sure you've considered that, but just in case :)

 

4) Of course you'll have to come up with a formula based on whatever stats you come up with. :)

 

Like I said, I wanted to keep it simple and adaptable. I think you could achieve a lot of this stuff without big edits to my script.

 

1. disablecontrol or set restrained should work if you want to stop movement. I think setrestrained prevents you from looking left and right though, so you'll probably want to avoid that. Another option is to make the player able to walk, but unable to run. Another option is to burn fatigue or magicka if you move.

 

2. disablecontrol can work. But I do like the idea of having moving, attacking, blocking, etc. as perks.

 

3. You could change the formulas or the max charge time to achieve this. You could change the spell so that it's not autocalculated, and calculate the magicka cost with your own formula, then consume the magicka using player.modav. Another way is to cast a simple cheap fireball, then get the fireball's reference with getfirstref/getnextref and getprojectilesource, and then use addfulleffectitem to add whatever effects you want to the fireball.

 

4. If you want to make it really complicated, you can use a bunch of variables for your formulas. Charge time, magic school skills, willpower, intelligence, max magicka, luck, etc.

Link to comment
Share on other sites

Well, that's one of the reasons I started this topic too, so all you can give me feedback on your preferences for the spells. It's not that it will please everyone's needs, but the more opinions thown here the easier it will :)

 

In my case I use both 'touch' and 'target' spells, but hardly ever one with AoE (unless it's casted on touch) because they're very expensive, so I was thinking about making the AoE kinda bonus, without detriment of the spell power, but that's and interesting thought, maybe there's people who want to be able to throw a fireball with big radius but not so much powerful. Perhaps a key combo may determine the final form of your spell (ie holding block while charging makes the spell have bigger AoE and lower damage) or do you think it would be easier to have different spells for different uses?

 

Basically I want it to be easy to use and intuitive, and adding a bunch of new spells seems to me somehow counterproductive, as one of it's goals is (suposed to be) to save a few spells in the spells list. I supose we'll see it clearly once we can test it widely in-game.

 

Yeah I agree with cleaning up the terribly cluttered spell list. I'm thinking when this gets to a release stage you'd take all the regular spells away from vendors and change the defaultplayerspell. My thought here was that thee spells for different kinds of fireballs is better than the twenty in game.

 

After consideration, I don't use target AoE particularly often. Now that I have the AoE centered around myself I do use it somewhat frequently.

The main spell I ever use target AoE for is frenzy, and that does basically the same thing as single target all in all.

 

My thought with touch vs target, if you make one spell combine them! Well you can't, but just always make it a target spell and try to keep magicka costs somewhat balanced. If the enemy is really close to you a target spell hits them almost as fast as a touch would anyways the only difference in vanilla being touch is cheaper.

 

Also, modifier controls is an excellent idea. If you want I just made a script for my KeyboardViewControls mod that has a nice reference for how to allow people to define custom keys. Just download it and open the quest/script to go over it (I think in that mod everything I added is prefixed with a z, where in everything else I've been working on I prefix it with PP).

 

Modifier controls could be done however you want, but here's a quick basic idea:

- Spell cast unmodified is a target spell / Self Spell for beneficial effects.

- Spell cast with modifier 1 (Default = Shift [i know it's used for running, but in my experiences that doesn't conflict]) is a self AoE

- Spell cast with modifier 2 (Default = Block [Just used your idea, it should be tested to see if it causes issues])

- Spell cast with modifiers 1 & 2 is a touch

 

On second thought maybe both modifiers should be self AoE and one of the others touch. But I digress.

 

 

I've never liked the way magic is learned in oblivion: you may spend hours casting flares, and even if you're the Arch-Mage you're not able to cast a bigger fire ball unless you pay for it. Then you go to a merchant, pay a sum and voilà! you know a new spell. What's this? You've spent hours training yourself, increasing your magic capabilities, but aren't good enought to improve your spells? IMO this makes magic quite unreal, it makes me feel like all you have to know to cast a spell is a magic word. What the hell happens inside the shop so you can learn a bunch of spells in minutes while you've being unable to improve the spells you already knew on your own??? What I said, they tell you the secret word...

 

Notice that I'm talking about improving spells you know, I think it's quite logical that someone has to teach you a spell you've never used. But you've made an interesting point. I don't want to give all the spells to the player and let him forget about learning magic throught the conventional ways. Perhaps the quest option is the best one for me, so you can avoid having scaled spells but still have to do something to improve them beyond increasing your skill. So maybe in a quest a mage teaches you how to make your spells last for longer, another one teaches you how to increase the AoE, (quests limited to your level in a particular skill) and so on, but for now that's beyond the aim of this mod, althought I must admit that's somewhat I'd like to see in the future.

 

Anyway, as always, thanks for sharing your ideas with us. I consider every suggestion made.

 

I completely agree with that. Maybe (if you use modifier keys for example) you could impliment my same levelled idea (based on whatever formula you choose), and if your character level/associated skill isn't high enough that modifier does nothing. I.E. an unskilled apprentice can cast a basic, week target fireball but no AoEs, an Arch-Mage however has the whole range of abilities.

 

What you said about quests is perfect. And I entirely understand that I'm currently ahead of the scope of this mod, I just like to keep you thinking, and hopefully if you stay interested it eventually will be in the scope of this mod

 

Like I said, I wanted to keep it simple and adaptable. I think you could achieve a lot of this stuff without big edits to my script.

 

1. disablecontrol or set restrained should work if you want to stop movement. I think setrestrained prevents you from looking left and right though, so you'll probably want to avoid that. Another option is to make the player able to walk, but unable to run. Another option is to burn fatigue or magicka if you move.

 

2. disablecontrol can work. But I do like the idea of having moving, attacking, blocking, etc. as perks.

 

3. You could change the formulas or the max charge time to achieve this. You could change the spell so that it's not autocalculated, and calculate the magicka cost with your own formula, then consume the magicka using player.modav. Another way is to cast a simple cheap fireball, then get the fireball's reference with getfirstref/getnextref and getprojectilesource, and then use addfulleffectitem to add whatever effects you want to the fireball.

 

4. If you want to make it really complicated, you can use a bunch of variables for your formulas. Charge time, magic school skills, willpower, intelligence, max magicka, luck, etc.

 

I understand your goal, and to meet your ends you did a most decidedly excellent job. And you are correct, for most of my ideas it would require only some pretty basic changes.

 

1/2) DisableControl would definitely be the best option if it's chosen to be implemented. At a later date perhaps it could be an ini setting along these lines:

 

SpellcastingRestriction = 0

;0 = Default - No penalties assessed while charging spells.

;1 = Movement is restricted but the player is able to attack and block as normal

;2 = Running is restricted but player is able to move (slowly) attack and block

;3 = Attack is restricted but player is able to move and block as normal

;4 = Block is restricted but player is able to Attack and Move as normal

;5 = Attack and Block are restricted but playes is able to move

;6 = Attack, Block, and Running are restricted but player is able to move (slowly)

;7 = Attack, Block, and Movement are restricted.

 

That might be too many options, or it might be perfect, but in my experiences .ini files are an excellent way to make a mod more pleasing to a larger audience without uploading eight different .esp files.

 

3) How he decides to deal with this is up to grmblf, I've given too many suggestions as it is haha. ;)

 

4) From what I understand all those factors will eventually be taken into account. As well as chances for side effects and such.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...