Page 1 of 2

Filling out the Divine Trees (Work in Progress)

Posted: Mon Nov 08, 2010 6:12 pm
by edge2054
I still need to flesh this out. Trying to make sure these ideas don't escape amidst getting my Wyrmic through Ardhungol and talking on IRC.

So...

Sun Paladins should be given access to the Glyph tree (either straight out or at level 10).

A new Rune Tree needs to be put together (I'll brainstorm this) and given to Anorithil (either straight out or available at level 10).

Holy Generic Tree (For Both)
Smite - Low Damage Physical/Light Short Ranged Nuke that stuns Demons, Undead, and Horrors. Most importantly it generates PE so Inner Glow can be used.
Inner Glow - Sustained Regeneration that slowly drains PE and grants X darkness resistance.
Unholy Bane - Sustained. Grants Undead, Demon, and Horror ESP and bonus damage against said foes.
Inquisition - Sustained. Sustained. Generates Positive and Negative energy when you slay an undead, demon, or horror.


Sus also said this in IRC. An idea I really like but I'll give him a chance to flesh it out
How about a light-bending tree? Bend light to make yourself hard to see, massive illumination that has a huge radius and turns corners, resistance to light and darkness damage, etc

Re: Filling out the Divine Trees (Work in Progress)

Posted: Sun Nov 14, 2010 4:50 pm
by edge2054
So last night I started working on a second shield tree for sun paladins. I'll post that in a minute because it requires some explanation.

I'd like to propose a few changes to Sun Paladins and Anorithil in general. For Sun Paladins in particular what I'm hoping to accomplish is to turn them into the tank class through healing spells. They don't have track, they don't have disengage. They have to invest points to get Rush. They don't get Shield Wall. Now we could give them those things and they'd be easier to play, or we could give them massive healing and absorption and give them their own feel. I vote for the later and here's how I think it can be done.

Make the Light Tree Generic
We wanted another generic tree for these two classes and aside from Second Chance the Light Tree could easily be generic. So I propose we remove Second Chance, we'll put it in the sun paladin shield tree, and replace it with Providence, a talent I have coded which clears debuffs and regenerates the character. Also I propose we change the Bathe in Light so that it adds some +healing to those standing in it's radius. Finally, this tree will become open access to both classes rather then requiring a talent tree point.

Thus the new Light tree would look like this.

Light (generic)
Healing Light -
Bathe in Light - Now adds + X healing effect to those standing in it.
Barrier -
Providence - New spell, regens X life and removes 1 status effect per turn for Y turns.

Now we add the shield tree
This is the one I'm in the process of coding.

Divine Protection(Sun Paladin/Class tree) - All talents require a shield to use.
Shield of Light (sustained) - Each time you take damage you get healed you for a small amount. (Synergy with the new Bathe in Light which is important)
Brandish - A new shield bash attack. Hits the target once with your weapon and then once with your shield. If the shield attack hits it does a radius light burst centered on the target.
Retribution (sustained) - Absorbs damage into your shield. Once the maximum amount is reached the damage is released as a light nova.
Second Chance - I have some ideas of how this can work. Basically a sustained that sets your hit points to blah when you take an otherwise lethal attack.

Next we give Paladins access to the Glyph tree and make a new Sigil tree for Anorithil

Haven't got the details worked out on this but the idea is Anorithil get both trees, Sun Paladins now get the Glyph tree.

Finally make all Chants and Hymns zero energy to use

This will allow the player to invest more freely in different chants and hymns. The sun paladin especially should be able to switch between pumping his resists, pumping his physical damage resist, and pumping his light damage without having to burn an action to do so. Keep in mind that all we're doing is removing the action cost, not the cooldown. So once you switch you can't switch back. You just can switch mid-fight without it costing you taking a hit.

Thoughts, criticisms?

Darkgod if you like these ideas, rather all of them or just some of them, I'm willing to do the coding on them. I have three of the new talents done already actually (all the ones outlined above except Brandish). So let me know what you think.

Re: Filling out the Divine Trees (Work in Progress)

Posted: Sun Nov 14, 2010 6:13 pm
by Grey
I like the ideas. Changing hymns/chants to a zero time action is something I was going to suggest myself, along with a reduction in their cooldowns. Twilight is also an ability that should be instant in my opinion.

I think Sun Paladins should have more abilities that incidentally light the area. Shield of Light for instance should give +1 light radius at the same time, whilst other abilities would brighten the area around the target.

Having just started playing Anorithils I have some ideas for an "Eclipse" tree of magic for them, to widen their shadow abilities somewhat. I need to play them more to get a better feel for them though.

Oh, and Anorithils should start with a robe. The naked thing is a bit weird.

On another point... as much as I like Babylon 5, I think it's kinda wrong to quote it verbatim in the game. I'd suggest changing the quotes in the class descriptions to something like the following:

Sun Paladin: "The Sun is our giver, our purity, our essence. We carry the light into dark places, and against our strength none shall pass."

Anorithil: "We stand betwixt the Sun and Moon, where light and darkness meet. In the grey twilight we seek our destiny."

Re: Filling out the Divine Trees (Work in Progress)

Posted: Sun Nov 14, 2010 7:46 pm
by Sirrocco
For Second Chance - perhaps a sustain with long cooldown that cancels itself when used?

Re: Filling out the Divine Trees (Work in Progress)

Posted: Mon Nov 15, 2010 3:42 am
by edge2054
Sirrocco wrote:For Second Chance - perhaps a sustain with long cooldown that cancels itself when used?
Pretty much exactly what I was thinking.

Eclipse sounds like it could be an interesting talent tree.

Re: Filling out the Divine Trees (Work in Progress)

Posted: Mon Nov 15, 2010 12:39 pm
by Kemsha
Maybe a sustain that heals you automatically if you get below x% life?

After it's used it would go to cooldown.
This way it could be useful for all the game and not just once. More levels would mean more healing and maybe a bigger percentage (not sure if this is good or bad)

Re: Filling out the Divine Trees (Work in Progress)

Posted: Mon Nov 15, 2010 5:19 pm
by Sirrocco
Oh - it would be useful for the whole game anyway. You'd just have to wait until it finished cooldown. The limiting factor is that it wouldn't be but so much HP. Having your second chance kick off would be natures way of telling you to drop everything and flee.

Really, it's a combination of a bit more space on the HP bar in emergencies and protection against enormous alpha strikes. The limiting factor is that it leaves you right where you are, in the condition you were in (with a few more HP). It's really not going to do all that much to save you from a stunlock death or heavy disease/poison/burning, for example.

Re: Filling out the Divine Trees (Work in Progress)

Posted: Mon Nov 15, 2010 8:17 pm
by edge2054
Alright here's what I have coded and am currently play testing.

*removed energy usage cost from chants and hymns*
*reduced chant and hymn cooldowns to 8*
*made the light tree generic and replaced Second Life with Providence*
*created a new tree - Guardian. Requires a shield to use*
*gave Sun Paladins access to Light at birth*
*gave Sun Paladins access to Glyphs by spending category points*
*added a healing_factor effect to Bathe in Light*


Providence (added to Light tree)

Code: Select all

newTalent{
	name = "Providence",
	type = {"divine/light", 4},
	require = spells_req4,
	points = 5,
	random_ego = "defensive",
	positive = 30,
	cooldown = 30,
	tactical = {
		HEAL = 10,
	},
	action = function(self, t)
		local dur = 5 + self:getTalentLevel(t)
		self:setEffect(self.EFF_PROVIDENCE, dur, {power=self:combatTalentSpellDamage(t, 5, 25)})
		game:playSoundNear(self, "talents/heal")
		return true
	end,
	info = function(self, t)
		return ([[Places you under divince protection, to regenerating your body for %d life and removing a single negative effect from you each turn for %d turns.
		The life healed will increase with the Magic stat]]):format(self:combatTalentSpellDamage(t, 5, 25), 5 + self:getTalentLevel(t))
	end,
}
Guardian Tree

Code: Select all

newTalent{
	name = "Shield of Light",
	type = {"divine/guardian", 1},
	mode = "sustained",
	require = divi_req1,
	points = 5,
	cooldown = 10,
	sustain_positive = 10,
	tactical = {
		BUFF = 10,
	},
	range = 20,
	activate = function(self, t)
		local shield = self:hasShield()
		if not shield then
			game.logPlayer(self, "You cannot use Shield of Light without a shield!")
			return nil
		end

		game:playSoundNear(self, "talents/spell_generic2")
		local ret = {
		}
		return ret
	end,
	deactivate = function(self, t, p)
		return true
	end,
	info = function(self, t)
		return ([[Infuse your shield with divine energy, healing you for %0.2f each time you take damage.
		Each heal will drain 3 positive energy. The spell ends when energy reaches 0.
		The healing done will increase with the Magic stat]]):format(self:combatTalentSpellDamage(self.T_SHIELD_OF_LIGHT, 1, 25))
	end,
}

newTalent{
	name = "Brandish",
	type = {"divine/guardian", 2},
	require = spells_req2,
	points = 5,
	cooldown = 8,
	positive = 20,
	requires_target = true,
	action = function(self, t)
		local shield = self:hasShield()
		if not shield then
			game.logPlayer(self, "You cannot use Brandish without a shield!")
			return nil
		end

		local tg = {type="hit", range=self:getTalentRange(t)}
		local x, y, target = self:getTarget(tg)
		if not x or not y or not target then return nil end
		if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end

		-- First attack with weapon
		self:attackTarget(target, nil, self:combatTalentWeaponDamage(t, 0.8, 1.3), true)
		-- Second attack with shield
		local speed, hit = self:attackTargetWith(target, shield.special_combat, nil, self:combatTalentWeaponDamage(t, 0.8, 1.3, self:getTalentLevel(self.T_SHIELD_EXPERTISE)))

		-- Light Burst 
		if hit then
			local tg = {type="ball", range=1, friendlyfire=true, radius=2 + self:getTalentLevel(t) / 2, talent=t}
			self:project(tg, x, y, DamageType.LITE, 1)
			tg.friendlyfire = false
			local grids = self:project(tg, self.x, self.y, DamageType.LIGHT, self:combatTalentSpellDamage(t, 20, 150))
			game.level.map:particleEmitter(x, y, tg.radius, "sunburst", {radius=tg.radius, grids=grids, tx=x, ty=y, max_alpha=80})
			game:playSoundNear(self, "talents/flame")
		end

		return true
	end,
	info = function(self, t)
		return ([[Hits the target with your weapon and a shield strike doing %d%% damage.  If the shield strike hits your shield will explode in a burst of light, inflicting %0.2f light damage on all within a radius of %d of the target, lighting up the affected grids.]]):format(100 * self:combatTalentWeaponDamage(t, 0.8, 1.3, self:getTalentLevel(self.T_SHIELD_EXPERTISE)), damDesc(self, DamageType.LIGHT, self:combatTalentSpellDamage(t, 20, 150)), 2 + self:getTalentLevel(t) / 2)
	end,
}

newTalent{
	name = "Retribution",
	type = {"divine/guardian", 3},
	require = divi_req3, no_sustain_autoreset = true,
	points = 5,
	mode = "sustained",
	sustain_positive = 20,
	cooldown = 10, 
	range = function(self, t) return 1 + self:getTalentLevelRaw(t) end,
	tactical = {
		DEFEND = 10,
	},
	activate = function(self, t)
		local shield = self:hasShield()
		if not shield then
			game.logPlayer(self, "You cannot use Retribution without a shield!")
			return nil
		end
		local power = self:combatTalentSpellDamage(t, 50, 170)
		self.retribution_absorb = power
		self.retribution_strike = power
		game:playSoundNear(self, "talents/generic")
		return {
			shield = self:addTemporaryValue("retribution", power),
		}
	end,
	deactivate = function(self, t, p)
		self:removeTemporaryValue("retribution", p.shield)
		self.retribution_absorb = nil
		self.retribution_strike = nil
		return true
	end,
	info = function(self, t)
		return ([[You start absorbing half of all damage you take into your shield.  Once you're shield has absorbed %0.2f damage it will explode in a burst of light, inflicting damage in a radius of %d.
		The amount absorbed will increase with the Magic stat.]]):format(damDesc(self, DamageType.LIGHT, self:combatTalentSpellDamage(t, 28, 170)), 1 + self:getTalentLevelRaw(t))
	end,
}




newTalent{
	name = "Second Life",
	type = {"divine/guardian", 4},
	require = divi_req4, no_sustain_autoreset = true,
	points = 5,
	mode = "sustained",
	sustain_positive = 60,
	cooldown = 50, 
	tactical = {
		DEFEND = 10,
	},
	activate = function(self, t)
		game:playSoundNear(self, "talents/slime")
		local ret = {
			particle = self:addParticles(Particles.new("golden_shield", 1))
		}
		return ret
	end,
	deactivate = function(self, t, p)
		self:removeParticles(p.particle)
		return true
	end,
	info = function(self, t)
		return ([[Any attack that would drop you below 1 hit point triggers Second Life, deactivating the talent and setting your hit points to %d.]]):format(self.max_life * (0.05 + self:getTalentLevelRaw(self.T_SECOND_LIFE)/25))
	end,
}

Re: Filling out the Divine Trees (Work in Progress)

Posted: Tue Nov 16, 2010 1:18 am
by edge2054
Some ideas for Anorithil.

Grey's Eclipse Tree
Blood-Red Moon - ball of darkness damage, causes bleeding in foes. Causes player hit point damage.
Corona - Random bolts of light and darkness in all directions.
Darkest Light - Invisibility that slowly increases your Positive Energy. The lower your PE the higher your invisibility score. When PE hits max Darkest Light deactivates in an explosion of light.
Total Eclipse - Maybe a radial freeze attack or resource drain or something.


Sigils - darkness based glyphs.
Sigil of Suppression - Suppress summoning, multiply, and split.
Sigil of Silence - Silence and darkness effect in a ball when triggered.
Sigil of Banishment - Teleports actor on trigger.
Sigil of Penance - Negative status effects.

Also the idea for a Moon Hunter (Huntress). An Archer/Anorithil Hybrid.

Re: Filling out the Divine Trees (Work in Progress)

Posted: Tue Nov 16, 2010 1:56 am
by Grey
edge2054 wrote:Some ideas for Anorithil.

Grey's Eclipse Tree
Blood-Red Moon - ball of darkness damage, causes bleeding in foes. Causes player hit point damage.
Corona - Random bolts of light and darkness in all directions.
Darkest Light - Invisibility that slowly increases your Positive Energy. The lower your PE the higher your invisibility score. When PE hits max Darkest Light deactivates in an explosion of light.
Total Eclipse - Maybe a radial freeze attack or resource drain or something.
To flesh these ideas out a bit more...

Eclipse (class, Anorithil only, initially locked)
The moment of the Eclipse is the moment of Truth, when Sun and Moon are in tandem and the energies of the world hang in balance. Intense focus allows the greatest Anorithils to harness these energies to unleash devastating forces.

1. Blood-Red Moon (activated, 10 Negative)
Sacrifice yourself to the glory of the moon! Lose 20 HP, and cause 20 darkness damage to all around and bleeding in your foes.
Damage caused, bleeding and range of spell increase with talent level and Magic.

2. Corona (activated, -15 Positive, 15 Negative)
Call the beauty of the Sun's crown around you in streams of light and darkness. Up to 10 rays of light or dark energy are fired from your location to random points up to 3 squares away.
Damage, range and number of bolts increase with talent level and Magic.
(Note that the ranges of each bolt will vary, and there should be about a 60/40 split between light and darkness - should hopefully produce a cool, corona-like effect, especially at high levels.)

3. Totality (activated, 20 Negative)
The divine moment when the world holds it breath in anticipation. All enemies within a radius of 3 are frozen for 3 turns.
Range and duration of effect increase with talent level and Magic.

4. The Darkest Light (sustained, 80 Positive)
Sun, hide thy face and await thy glory! Call on the moon to give you 10 bonus to invisibility. Your negative energy will rapidly drain whilst the spell is active, and your positive energy will rapidly fill. When your positive energy reaches its maximum then the spell ends, your positive energy is depleted, and a radiant burst of light is released for 100 damage in a radius of 6.
Note that Twilight cannot be used whilst this spell is active, and light sources should not be worn whilst relying on the spell.
The invisibility bonus and the range and damage of the final burst increase with talent level and Magic.


The key element of the Anorithils these talents tap into is their numerous radial spells. This gives two more radial damage attacks, another radial status attack, and an invisibility spell that encourages them to get in the middle of a pack of enemies and unleash everything they can. There should obviously be some very appropriate cooldowns on some of these. The Darkest Light should have its positive/negative energy fluxes balanced well too, to ensure it isn't too long or short an effect.

Re: Filling out the Divine Trees (Work in Progress)

Posted: Sat Nov 20, 2010 7:50 pm
by Grey
Having now gotten an Anorithil to the east I would really appreciate another talent tree or two for them. At level 34 I'm plugging points into things I don't care about.

Also, minor point, but Sun Flare says it has a range of 6, but only seems to have a range of 3. I'm guessing the range listing in the talent description is simply wrong.

Re: Filling out the Divine Trees (Work in Progress)

Posted: Sun Nov 21, 2010 7:49 am
by yufra
My skeleton berserker bit the bust in the Far East, so I am giving a look at the newly improved Sun Paladins. One immediate suggestion is that the Guardian tree use the high requirements like in techniques.lua and the Bloodthirst tree. Essentially this would move the talents into the lvl 10-20 region, which I found quite refreshing with my berserker. Still waiting for individual talents to open up is quite enjoyable.

Re: Filling out the Divine Trees (Work in Progress)

Posted: Mon Nov 22, 2010 12:34 am
by edge2054
With Grey's permission I'd like to start working on his Eclipse tree but with drastically different effects.


First of all, the tree will require cunning to put points into.

Secondly the abilities will do the following.

Eclipse

Blood Red Moon
- Increases Spell Crit.
Corona - Corona triggers on crit. Light spells heal the player, dark spells blast nearby enemies.
Darkest Light - Dark Crits grant X light and dark spell penetration, Light Crits grant X spell haste.
Totality - Critical Power. Improves duration of Darkest Light buff when it goes off.

Thoughts, suggestions?

Re: Filling out the Divine Trees (Work in Progress)

Posted: Mon Nov 22, 2010 5:46 am
by edge2054
Because I couldn't figure out how to get the on crit function to tell what kind of damage type triggered it I've got Corona firing off bolts when you crit in a Thunderstorm or Body of Fire type of effect.

The bolts are randomly either light or dark with the bias favoring dark once your cunning gets high enough (it favors light until that point).

I'd still like to have Darkest Light do spell penetration on dark crit and spell haste on light crit so if anyone knows what I need to add to...

if self:knowTalent(self.T_DARKEST_LIGHT) then

to get that to work or if it's possible I'd appreciate the help.

Totality I still plan on functioning as written though I'm going to have it increase the range on Corona bolts.

Unfortunately I couldn't get Corona bolts to crit; created a loop with it's own on crit effect. Probably just as well though (Corona bolts causing Corona to go off would probably be overpowered).

Re: Filling out the Divine Trees (Work in Progress)

Posted: Mon Nov 22, 2010 5:26 pm
by edge2054
Last night I was thinking about dropping the glyph tree all together. Is anyone a fan of this tree or actually use it? (That's on honest question because maybe I just don't like it but other people find it great)

Anyway my thoughts for a replacement tree.

Circle

Circle of Light - Sustained. Place a circle of light at your feet, increasing positive energy by 1 per turn (+1 per tl) and decreasing negative energy by 1 per turn (ne decrease does not go up with talent level). Moving breaks the circle.
Empowerment - Adds Empowerment to your Circle of Light, increasing Spell power by X while it's sustained.
Oration - Adds silence resist to your Circle of Light and silences enemies with in X tiles of your circle of light.
Sanctuary - Adds some kinda of protective buff to your Circle of Light (the class is already heavy on resists, heals, and what not so... I don't know. If someone has a better idea one would be welcome.)

Still pondering the Sigil tree. The more I think about it the more I don't like the Anorithil trapper concept of glyphs and would like to stay away from it. Maybe sigils could 'trigger' when they expire or just be short range on hit effects.

Regardless I want to incorporate some of the better glyph effects into Sigils but with a darkness twist.