kemott11 wrote:
Looks cool. I always really liked the theme of the darkness tree but it was pretty lackluster. Now let's hope this won't make the game puke out tons of lua errors.
Totally agree. Shadows are the class's real source of power in the base game, and I find them too passive to make a fun build. I've always wished that Darkness was more viable.
Been testing this out a bit, and, so far, no errors at all. Definitely a boost in power for creeping darkness. Maybe be a bit over-tuned, but it's hard to say for sure because I'm still early in my run. Inner Darkness looks good, too, particularly Dark Blood. Damage smearing is always great.
Amakthel wrote:
Dark Tendrils--the exact way that Dark Tendrils moves in the original code was.. odd, and I didn't see a good way to make the talent move any more quickly, so I replaced it with a cone shaped ability that pulls enemies that are more than four tiles away to about four tiles away, and enemies that are fewer than four tiles away in to melee range. Then it pins them and deals damage, much like the old ability. The range, damage, and pin strength should scale with talent level.
I like how the old Dark Tendrils worked, being able to follow an actor if it moves. Watching it chase after a mob is also nice visually. They did move awfully slowly, though.
So, I did a bit of poking around in the engine and figured out how you could make the old dark tendrils move 'faster'. Turns out to be very easy, actually. The tendrils are Objects with a defined 'act' function; inside this function they use energy, which is the game's meter for how many 'actions' can happen in a turn. By default, everything has 1000 energy to use in a turn (this is an over-simplification, but Dark Tendrils are very simple objects, so it works). You will see inside of the createDarkTendrils function that the 'act' field beings with
Code:
"local Map = require "engine.Map"
self:useEnergy()
By default, useEnergy will use up the exact amount of energy that the entity has available in one turn, based on speeds, etc. However, you can pass it a value, and it will use that value instead. So,
Code:
self:useEnergy(500)
would cause the tendrils to only use up 500, or half, of their energy, meaning they can 'move' twice in one turn. Change it to 333 and they could move 3 times per turn, 666 for 3 times every 2 turns, and so on. You could even add a new parameter to createDarkTendrils and add a new scaling value to the Dark Tendrils talent that you pass into it, making it so they could move faster with talent investment. For instance, scaling from 750 to 250 or so, going from 4 moves every 3 turns to 4 moves in 1 turn. At 200, or 5 moves per turn, they could hit a stationary target the turn after they are cast. They could also chase down an actor who has used a Movement Infusion or has otherwise buffed movement speed, who would normally be able to out run the tendrils. Personally, I would go with a scaling value.
Hope that's helpful, and thanks for the work. Nice mod!
Edit: I attached a version of darkness.lua (zipped, because the forum won't let me upload a .lua file) that has a scaling 'speed' component. I did not update the description to reflect the changes, or give them a test run, but it should show you what I meant, in case my explanation wasn't clear.