[Open / Signup] One Room Round Robin 3 - Calling All Modders
- AndakRainor
- Posts: 674
- Joined: Thu Nov 20, 2014 5:18 pm
Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod
The goal is to add some synergy between spells and "more interesting" game play. I thought this spell could do it because it does not freeze its targets, is half physical and I had no better candidate for a "shatter" effect. (And it is very similar to other storms spells)
I noticed discharge has strange behaviors with elevation... Its range seems unlimited on this dimension.
Also one question, why do you test the party's elevation and world position to prevent the fire beam to actually spawn?
On the high number of spells; we can cut a lot of them, no problem... And your 7 spells just replace the puzzle breaker ones I had. (the water breathing one was just exactly the same as mine!)
I noticed discharge has strange behaviors with elevation... Its range seems unlimited on this dimension.
Also one question, why do you test the party's elevation and world position to prevent the fire beam to actually spawn?
On the high number of spells; we can cut a lot of them, no problem... And your 7 spells just replace the puzzle breaker ones I had. (the water breathing one was just exactly the same as mine!)
Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod
The current public version of firebeam has a bug where it doesn't trace properly at nonzero elevations, it's fixed in the next version. The world position check is so that firebeam can't pass through the ground on heightmapped levels.AndakRainor wrote:Also one question, why do you test the party's elevation and world position to prevent the fire beam to actually spawn?
I assure you, pure coincidence, I hadn't looked at your spells pack until after I uploaded the last version of MinAssets.AndakRainor wrote:(the water breathing one was just exactly the same as mine!)
Discharge's vertical range is indeed unlimited, it should probably have no vertical range at all. But it doesn't belong in this dungeon in the first place.
edit: If you want a better candidate for a "shatter" effect, what about the literal Shatter spell? Frozen creatures taking more damage from it would make sense.
Grimrock 1 dungeon
Grimrock 2 resources
I no longer answer scripting questions in private messages. Please ask in a forum topic or this Discord server.
Grimrock 2 resources
I no longer answer scripting questions in private messages. Please ask in a forum topic or this Discord server.
- AndakRainor
- Posts: 674
- Joined: Thu Nov 20, 2014 5:18 pm
Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod
Ok, I will upload the file tomorrow if you prefer to update it yourself, but I can also do it if you send me your files (I had to do some adaptations to your spells to get them in the pack, please don't scream when you see it )minmay wrote:The current public version of firebeam has a bug where it doesn't trace properly at nonzero elevations, it's fixed in the next version. The world position check is so that firebeam can't pass through the ground on heightmapped levels.
Oh I did not mean you took it, but as you noted, such a boring spell is necessary very similar, and differs on duration, requirements, icons and name only.minmay wrote:I assure you, pure coincidence, I hadn't looked at your spells pack until after I uploaded the last version of MinAssets.
Do you mean maybe it should be removed?minmay wrote:Discharge's vertical range is indeed unlimited, it should probably have no vertical range at all. But it doesn't belong in this dungeon in the first place.
I agree, but I was looking for a water spell initially, with damage similar to other elemental schools against enemies immune to the water crowd controls. Perhaps the most important part is the additional damage against frozen immune monsters more than frozen ones. (But frozen ones require using a lower damage crowd control before the high dps spell so it is less powerful that way).minmay wrote:edit: If you want a better candidate for a "shatter" effect, what about the literal Shatter spell? Frozen creatures taking more damage from it would make sense.
Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod
I mean Discharge should definitely be removed.AndakRainor wrote:Do you mean maybe it should be removed?minmay wrote:Discharge's vertical range is indeed unlimited, it should probably have no vertical range at all. But it doesn't belong in this dungeon in the first place.
By the way I just looked at your recreations of builtin spells and most of them are inaccurate. In particular, your burst spell targeter picks the wrong position in many cases, and your projectile spell creator puts the projectiles in the wrong position. I have exact burst, projectile, and shield spell recreations here (and I can prove their accuracy if you are interested). These are the two functions of interest:
Code: Select all
-- Builtin burst spell rules:
-- Try to target the square in front of the party.
-- If this square is solid, or is blocked by an ObstacleComponent that would
-- block the party and its parent GameObject does NOT have a component named
-- "health", target the party's square instead.
-- If the path between the party and this square is blocked by a door, target
-- the party's square instead.
--
-- This function emulates this behaviour.
--
-- NOTE: The builtin poison_cloud spell is a little different: it can be cast
-- through sparse doors (but not non-sparse ones). This behaviour in the
-- original game is intended, and easy to replicate, but since it leads to
-- abuses I don't think anyone actually wants it, so I haven't implemented it.
function getBurstSpellTarget(x,y,direction,elevation)
local dx,dy = getForward(direction)
local nx = x+dx
local ny = y+dy
local obs = party.map:checkObstacle(party,direction)
if obs == "door" or obs == "wall" then
return party.level,x,y,direction,elevation
elseif obs == "obstacle" then
for e in party.map:entitiesAt(nx,ny) do
if e.elevation == party.elevation and not e.health then
for _,c in e:componentIterator() do
if c:getClass() == "ObstacleComponent" and c:getBlockParty() then
return party.level,x,y,direction,elevation
end
end
end
end
end
return party.level,nx,ny,direction,elevation
end
Code: Select all
function getProjectileSpellLaunchPosition(champion,x,y,direction,elevation)
local ord = champion:getOrdinal()
local left = nil
for i = 1,4 do
if party.party:getChampion(i):getOrdinal() == ord then
left = i == 1 or i == 3
break
end
end
local wpos = party:getWorldPosition()
local dx = nil
local dz = nil
if party.facing == 0 then
dx = left and -0.1 or 0.1
dz = -1
elseif party.facing == 1 then
dz = left and 0.1 or -0.1
dx = -1
elseif party.facing == 2 then
dx = left and 0.1 or -0.1
dz = 1
else -- party.facing == 3
dz = left and -0.1 or 0.1
dx = 1
end
return party:getWorldPosition()+vec(dx,1.35,dz)
end
Grimrock 1 dungeon
Grimrock 2 resources
I no longer answer scripting questions in private messages. Please ask in a forum topic or this Discord server.
Grimrock 2 resources
I no longer answer scripting questions in private messages. Please ask in a forum topic or this Discord server.
- AndakRainor
- Posts: 674
- Joined: Thu Nov 20, 2014 5:18 pm
Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod
That is great feedback
I will trust you on this and update my targeting functions.
Just a few things about it;
- Meteor storm uses a fixed pattern to set the starting position of each of its 5 projectiles. I don't want to reproduce it and prefer randomization. Also, my storm spells don't generally launch exactly 5 projectiles.
- Yesterday I realized casting from "non integer tiles" elevations was not really supported. I think the built in spells have this problem too and it should definitely be improved.
- The poison cloud abuse is intended as you said, maybe because earth builtin spells are the weakest? I am not sure this abuse should be removed, it was a signature of this element... But with more powerful spells, I may be wrong.
- In the projectile positioning function, I see the main difference is the "depth" starting value is the same for front and back line casters? Is that the problem you refer to, or the just the numeric values I chose (0.5 versus 0.1 in your code)
I will trust you on this and update my targeting functions.
Just a few things about it;
- Meteor storm uses a fixed pattern to set the starting position of each of its 5 projectiles. I don't want to reproduce it and prefer randomization. Also, my storm spells don't generally launch exactly 5 projectiles.
- Yesterday I realized casting from "non integer tiles" elevations was not really supported. I think the built in spells have this problem too and it should definitely be improved.
- The poison cloud abuse is intended as you said, maybe because earth builtin spells are the weakest? I am not sure this abuse should be removed, it was a signature of this element... But with more powerful spells, I may be wrong.
- In the projectile positioning function, I see the main difference is the "depth" starting value is the same for front and back line casters? Is that the problem you refer to, or the just the numeric values I chose (0.5 versus 0.1 in your code)
- AndakRainor
- Posts: 674
- Joined: Thu Nov 20, 2014 5:18 pm
Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod
Finally, I have uploaded a new version of the project file with fixes for my room and the spells pack!
So in this version the previous files for custom spells are removed.
It took me a lot of time this week end, so I will let you look at it for some time before changing anything in it! (I have also a lot of improvements to the pack that I now have to integrate in the published pack!)
Now that this is done, here is an example of a nice feature you all can use for your item rewards
So in this version the previous files for custom spells are removed.
It took me a lot of time this week end, so I will let you look at it for some time before changing anything in it! (I have also a lot of improvements to the pack that I now have to integrate in the published pack!)
Now that this is done, here is an example of a nice feature you all can use for your item rewards
Code: Select all
defineObject{
name = "andak_pendant",
baseObject = "base_item",
components = {
{
class = "Model",
model = "assets/models/items/jewel_pendant.fbx",
},
{
class = "Item",
uiName = "Andak Rainor Pendant",
gfxIndex = 306,
weight = 0.7,
traits = { "enchanted", "necklace" },
description = "The golden necklace itself would be worth a fortune. The huge amethyst attached to it makes you rich beyond your wildest dreams.",
gameEffect = "Concentration, Fire, Air, Water and Earth Spells Power +100%",
onEquipItem = function(self, champion, slot)
spells_functions.script.setPower(champion, "concentration", slot, 100) -- +100% concentration spells power
spells_functions.script.setPower(champion, "fire_magic", slot, 100) -- +100% fire magic spells power
spells_functions.script.setPower(champion, "air_magic", slot, 100) -- +100% air magic spells power
spells_functions.script.setPower(champion, "water_magic", slot, 100) -- +100% water magic spells power
spells_functions.script.setPower(champion, "earth_magic", slot, 100) -- +100% earth magic spells power
end,
onUnequipItem = function(self, champion, slot)
spells_functions.script.setPower(champion, "concentration", slot) -- 0% concentration spells power
spells_functions.script.setPower(champion, "fire_magic", slot) -- 0% fire magic spells power
spells_functions.script.setPower(champion, "air_magic", slot) -- 0% air magic spells power
spells_functions.script.setPower(champion, "water_magic", slot) -- 0% water magic spells power
spells_functions.script.setPower(champion, "earth_magic", slot) -- 0% earth magic spells power
end,
},
{
class = "EquipmentItem",
willpower = 2,
},
},
}
Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod
Actually only the y and z offsets are fixed. The x offset is randomized. But yeah, as long as you keep the projectiles within the same bounds it'll be fine.AndakRainor wrote:- Meteor storm uses a fixed pattern to set the starting position of each of its 5 projectiles. I don't want to reproduce it and prefer randomization.
Non-integer x,y,facing,elevation,level are not really supported by the engine and should be avoided.AndakRainor wrote:- Yesterday I realized casting from "non integer tiles" elevations was not really supported. I think the built in spells have this problem too and it should definitely be improved.
Both. The 0.1 instead of 0.5 is far more important, though.AndakRainor wrote:- In the projectile positioning function, I see the main difference is the "depth" starting value is the same for front and back line casters? Is that the problem you refer to, or the just the numeric values I chose (0.5 versus 0.1 in your code)
edit: Looked through the version you uploaded, mostly looks good to me but I'm afraid I have some complaints.
Serious issues:
- Might doesn't really work right, the stat bonuses should be applied in the condition's onRecomputeStats with Champion:addStatModifier(), instead of trying to use Champion:setBaseStat().
- handling for not meeting energy costs (e.g. reduced cost of disrupt) is really bad. It should act the same as not meeting the energy cost in the builtin spell system. Consider changing it from "energy cost is reduced by X" to "X energy is refunded after casting" which would not suffer the same problem.
- discharge should be removed since it can break so many puzzles by killing normally-unreachable monsters
- air/earth/fire/water enchantment are, frankly, really obtuse and also overpowered. Should be removed.
- All Shall Fall's removal of flying from monsters can also break puzzles, and unless you make a lot of new animations for crowerns etc. it doesn't really make sense in the first place.
- like Discharge, zone effects can be used to affect monsters that are supposed to be unreachable. Not sure how to fix this without doing some fairly complex pathfinding. Unlike discharge I think the ranges are short enough that they don't currently break any rooms, though.
- zone effects also use the wrong geometry to compute whether a tile is within their radius, remember that while Grimrock's space is visually Euclidean, it is functionally Taxicab for the most part (gravity-affected projectiles are an exception, not the norm)
- ice shards should be reverted to the builtin targeting rules like the other burst spells (custom damage rules is fine). You don't actually have to check the ground in front of the party because IceShardsComponent does that automatically; see my recreation of the spell.
- your poison cloud implementation doesn't merge CloudSpellComponents like the builtin one, this is important because yours allows stacking a large number of poison clouds. Cloud merging is nontrivial to recreate and you will pretty much have to reimplement CloudSpellComponent with TileDamagerComponent and TimerComponent (to decay the attack power). I think that with rock fall added, earth magic doesn't need poison cloud anyway so it is likely better to remove it.
- I know you had good intentions by removing the firebeam tracer, but you misunderstand its purpose. The tracer is required for the spell to work properly on heightmapped levels; by removing the tracer you have allowed the spell to pass through the ground. (I will fix this next time I get the file).
Not bugs, but complaints:
- frostburst spell is too powerful (frostbolt is higher level, is not guaranteed to freeze, and is still an amazingly good spell). A dedicated melee freeze spell could work but it needs to be higher level.
- I still massively disagree with your hailstorm buff against freezing immune targets. If water magic actually gets better against cold immune targets, then what's the point of cold immunity even existing?
- I do not think spells should give haste, rage, or resurrection - those are supposed to be limited resources and haste is extremely powerful.
- Spells should be learned as soon as the scroll is obtained, instead of making players carry the scroll the first time they cast it. At the very least, use PartyComponent:isCarrying() to determine whether the party has the scroll, instead of making you put it in a specific champion's inventory and remove it from containers. Alternatively, it's easy to change my spellbook to automatically record new spells as the scrolls are picked up.
I still think 111 spells is an insanely high number. That's a ton of cognitive load for players and I really think it should be reduced; here are my ideas:
1. Get rid of most of the "palette swap" spells - only have a rune trap for one element, only have a meteor storm for one element, probably just get rid of frostburst (ice shards is a much more unique spell, and there's already frostbolt for freezing things), and there's no need for the combined storms or combined shields.
1.5. Alternatively, have just a single "Bolt Storm" spell that includes bolts from the elemental schools you have. So if you only have fire magic 4, it acts like meteor storm, and if you only have air magic 4, it acts like thunder storm, and if you have fire,air,earth,water 4, it acts like elemental storm. Do the same thing for elemental shielding. This reduces 30 overly similar spells to 2 spells.
2. If the resurrection spells are kept, at least reduce the number of them. I count 7, and the game also has potions of resurrection and crystal shards and big healing crystals. I think breath of life alone is enough, and if not, the 7 resurrection spells could easily be combined as above, but I think just having one of breath of life OR soul bound is cleaner.
By the way...who does get the file next? (I'd be happy to make any subset of these changes myself if you want me to)
Grimrock 1 dungeon
Grimrock 2 resources
I no longer answer scripting questions in private messages. Please ask in a forum topic or this Discord server.
Grimrock 2 resources
I no longer answer scripting questions in private messages. Please ask in a forum topic or this Discord server.
Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod
If this question is directed towards me - no one is scheduled to have it. Andak was the last one to ask to add something, which he's done, and the other people with rooms left to add haven't asked for the file, nor has anyone for bug fixes. Just post here when you are working, and when you are done, and that should be fine for now.By the way...who does get the file next?
- AndakRainor
- Posts: 674
- Joined: Thu Nov 20, 2014 5:18 pm
Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod
If you can just wait one day before cutting 90% of the spells, I will make a detailed answer to all your points
Don't worry, I know that I could not do every thing I had to do and this version is basically the full pack modulo your spells. Cutting in it raises a lot of questions about the final product we collectively want this mod to be!
Now I need some rest
Don't worry, I know that I could not do every thing I had to do and this version is basically the full pack modulo your spells. Cutting in it raises a lot of questions about the final product we collectively want this mod to be!
Now I need some rest
- AndakRainor
- Posts: 674
- Joined: Thu Nov 20, 2014 5:18 pm
Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod
So, let's start answering your points! First if I can make a request, when you say something does not work, please give some example of a bug it could trigger, from now on I will try my best to guess what you mean by "is bad", "problem" or "doesn't work", so it is possible I miss the target...minmay wrote:Serious issues:
Why not, but is it really safe to read the current stat inside the onRecomputeStats function? Or do you have another idea in mind to get the stat value?minmay wrote:- Might doesn't really work right, the stat bonuses should be applied in the condition's onRecomputeStats with Champion:addStatModifier(), instead of trying to use Champion:setBaseStat().
That is what I had for those spells in a previous version of the pack. I was not happy with it... So, the only thing I can imagine is different from the builtin spells is about PartyComponent.onCastSpell triggering hooks for non paid spells, is that the problem? (every thing else has builtin similar behavior I think). If so, a solution could also be to report the test to the main onCastSpell hook of spells_functions.luaminmay wrote:- handling for not meeting energy costs (e.g. reduced cost of disrupt) is really bad. It should act the same as not meeting the energy cost in the builtin spell system. Consider changing it from "energy cost is reduced by X" to "X energy is refunded after casting" which would not suffer the same problem.
Is there really such puzzles in the mod? Is this good puzzle design?minmay wrote:- discharge should be removed since it can break so many puzzles by killing normally-unreachable monsters
minmay wrote:- air/earth/fire/water enchantment are, frankly, really obtuse and also overpowered. Should be removed.
Okay, would a nerf and some notes in the dungeon about their effects change your mind?
I agree it is cheap without new animations, but it has some game play value. This is nearly always prefered to realism in gamingminmay wrote:- All Shall Fall's removal of flying from monsters can also break puzzles, and unless you make a lot of new animations for crowerns etc. it doesn't really make sense in the first place.
Do you have examples of such rooms that I could test?minmay wrote:- like Discharge, zone effects can be used to affect monsters that are supposed to be unreachable. Not sure how to fix this without doing some fairly complex pathfinding. Unlike discharge I think the ranges are short enough that they don't currently break any rooms, though.
I think you refer to my use of tiles coordinates on non 3 meters module height maps? I should correct that, sure!minmay wrote:- zone effects also use the wrong geometry to compute whether a tile is within their radius, remember that while Grimrock's space is visually Euclidean, it is functionally Taxicab for the most part (gravity-affected projectiles are an exception, not the norm)
Okay, I totally missed this component functionalities when I reproduced the behavior. I can remove it, but from what I tested so far, I managed to get the same behavior as the builtin ice shards. If I remove it, I suppose the ice shards component can be used for other ground attack spells too?minmay wrote:- ice shards should be reverted to the builtin targeting rules like the other burst spells (custom damage rules is fine). You don't actually have to check the ground in front of the party because IceShardsComponent does that automatically; see my recreation of the spell.
I never knew this even existed. Is there really a potential FPS problem with stacking clouds? What does the engine do about it, are you talking about merging objects? Because components merging does not make sens to me, unless you talk about components from multiple objects. I did not know the game deleted those objects to protect its framerate in the first place. Is there a plausible scenario in which a player would stack TOO MUCH clouds? (Removing one of the original spells is a bit excessive, isn't it?)minmay wrote:- your poison cloud implementation doesn't merge CloudSpellComponents like the builtin one, this is important because yours allows stacking a large number of poison clouds. Cloud merging is nontrivial to recreate and you will pretty much have to reimplement CloudSpellComponent with TileDamagerComponent and TimerComponent (to decay the attack power). I think that with rock fall added, earth magic doesn't need poison cloud anyway so it is likely better to remove it.
I left it quoted after testing some spells behaviors with non-integer elevation casting. I stopped working on it when you told me you had a new version of the spell.minmay wrote:- I know you had good intentions by removing the firebeam tracer, but you misunderstand its purpose. The tracer is required for the spell to work properly on heightmapped levels; by removing the tracer you have allowed the spell to pass through the ground. (I will fix this next time I get the file).
In this part other modders thoughts are very very welcomeminmay wrote:Not bugs, but complaints:
I think we really need a spell with this level of requirement for the water school. Frostburst was evident as it was the only missing burst spell in the game. I thought with a very short freeze effect it would not be so overpowered. Maybe we could reduce its duration? About the necessity of having spells at certains skills level requirements, and especially at this first skill point, see my answer about the goals of the mod below.minmay wrote:- frostburst spell is too powerful (frostbolt is higher level, is not guaranteed to freeze, and is still an amazingly good spell). A dedicated melee freeze spell could work but it needs to be higher level.
Well, first "frozen" immune targets and "cold" damage type immune targets are not the same. Water spells crowd control may be very powerful, but they are always disabled against bosses in all games since the dawn of humanity (don't come with an odd case!). The idea is to give water school some damage when its crowd control is negated. Its cold damage will still be reduced by monsters' resistance. And monsters not immune to its crowd control will still require using the low damage crowd control spells to build a "shatter" effect. May be another spell should do it but not hailstorm, but I think it should be a water spell (or a multi schools spell with water). Also, perhaps this spell should remove the frozen condition on hit, so a storm type spell is not ideal.minmay wrote:- I still massively disagree with your hailstorm buff against freezing immune targets. If water magic actually gets better against cold immune targets, then what's the point of cold immunity even existing?
I thought rage was the best effect (when stacked)? I don't mind removing haste from wind_rider though, now that it as the air cushion effect. Do you want to remove all buff spells? Also spells are supposed to be powerful, just not too much compared to non-casters champions. Before removing a spell or effect, you can always try to reduce its power.minmay wrote:- I do not think spells should give haste, rage, or resurrection - those are supposed to be limited resources and haste is extremely powerful.
I totally missed this function! But reading a spell scroll from inside a bag or other champions' pockets is not easy =Dminmay wrote:- Spells should be learned as soon as the scroll is obtained, instead of making players carry the scroll the first time they cast it. At the very least, use PartyComponent:isCarrying() to determine whether the party has the scroll, instead of making you put it in a specific champion's inventory and remove it from containers. Alternatively, it's easy to change my spellbook to automatically record new spells as the scrolls are picked up.
A new way to learn spells is really welcome! Making scroll usable and/or using your spellbook + using PartyComponent:isCarrying() should be nice features. Also, I never had any answer about the spell restriction feature. Perhaps nobody wants it in the first place?
That is the big point to discuss, and it is totally linked with the kind of gaming experience we all want for this mod. 111 spells is sure way too much for a single player. But how many spells would you like?minmay wrote:I still think 111 spells is an insanely high number. That's a ton of cognitive load for players and I really think it should be reduced; here are my ideas:
To get all the spells you would have to get to at least level 23 with a skilled non farmer human, or use several skill tomes, or multiple casters. I see only two possibilities to get to this point: the player really wants it, and that's cool, or the player has imported a high level party. So this is a very important question to consider before cutting spells; will the mod allow champions import? If the answer is no, then most of the spells are in practice out of reach of the average player, and reducing their number is useless. And still in that scenario, the end game level of a typical caster is also very important.
In the allowed import scenario, another way we could limit the number of spells a player can get would be to limit the number of scrolls the can find/buy, etc... It could be interesting if they could read all the scrolls but only choose something like 20 (for example) during one game.
Again depending on allowing import party or not, palette swap is mainly there to neuter the "bad skill choice! no luck!" effect I found awful with Isle of Nex spells that led me to making this pack. Not sure if you will agree, but I see it that way; earth magic was the bad choice trap for uninformed players, as much boring with so few spells as weak compared to real end game magic schools like fire, fire or fire. (Air and Water are debatable, but not for their damage). that must be why so many people here have posted custom spells frequently for the earth magic school. I don't think a game with a leveling system that simple and character customization that limited should have a few good builds and all the rest is garbage. So, the goal was a least one new spell each time the player levels up, and yes similar spells, not very exiting but efficient from a player perspective I think.minmay wrote:1. Get rid of most of the "palette swap" spells - only have a rune trap for one element, only have a meteor storm for one element, probably just get rid of frostburst (ice shards is a much more unique spell, and there's already frostbolt for freezing things), and there's no need for the combined storms or combined shields.
Why not, but again, learning a new spell when you level up, to me is not the same as your old spell gaining +20% damage. I understand it may be unnatural to you to see it that way, after all learning a new spell from a new scroll that just does 20% more damage than your old spell is in fine the same thing as a passive stat boost, but I believe it is more enjoyable for the average player.minmay wrote:1.5. Alternatively, have just a single "Bolt Storm" spell that includes bolts from the elemental schools you have. So if you only have fire magic 4, it acts like meteor storm, and if you only have air magic 4, it acts like thunder storm, and if you have fire,air,earth,water 4, it acts like elemental storm. Do the same thing for elemental shielding. This reduces 30 overly similar spells to 2 spells.
The BIG BIG BIG advantage of elemental storm is not the pretty colors or even damage type considerations, but the fact that it requires 2 skill points in each elemental school, for a total of 8 skill points, while meteor storm requires 5 fire magic + 3 concentraion (was air magic in the builtin version) for the same total. So the player who wanted to play an elementalist and thought it was a good idea will not be punished by the game and be left with only burst and ice shards spells, no projectile spell, at the same level an informed player gets meteor storm.
Not sure about that. In a way ressurection spells, having high energy cost, are limited by energy potions. But I could also add a longer cooldown to them?. I would say they truly are game breakers in single use crystal iron mode only.minmay wrote:2. If the resurrection spells are kept, at least reduce the number of them. I count 7, and the game also has potions of resurrection and crystal shards and big healing crystals. I think breath of life alone is enough, and if not, the 7 resurrection spells could easily be combined as above, but I think just having one of breath of life OR soul bound is cleaner.
All that being said, I am okay with reducing the spells number, we could even remove all multiple magic schools spells and still respect the rule of at least one new spell for each new skill point. This rule, and having all possible builds nearly similar in power, are the strict minimum I want from the final product