Lava Orcs and Djinni as Divine Abilities


Although the central place for design discussion is ##crawl-dev on freenode, some may find it helpful to discuss requests and suggestions here first.

User avatar

Ziggurat Zagger

Posts: 5832

Joined: Thursday, 10th February 2011, 18:30

Post Thursday, 13th February 2014, 03:03

Lava Orcs and Djinni as Divine Abilities

From a thread about something completely different....

Roderic wrote:
reaver wrote:I just want to reiterate my notion that Dj mechanics would work much better on a god than a species. So a Felid could worship this Dj-god and fuse their MP/HP into essence, receive rF+++ at top piety, cast with glow, etc.

To me, both Dj and LO quirky mechanics fit nice for a god(s) worship rather or at least as valid as a species


The mechanics for Vine Stalkers are at least slightly more acceptable than either of the above two options. Lava Orcs and Djinni seem overpowered with their abilities, and the suggestions made above, to translate these existing species mechanics into unlock-able divine abilities for a worshiper of a yet-to-be-defined-but-likely-heat-themed divine entity, seem completely reasonable. As it stands, from the prior thread, Djinni are being removed, but their code is being left in; I'm sure the same is being considered with Lava Orcs. I say, keep the code and let's use it effectively to create a new god to go alongside Dith.

Yes / no / maybe / feedback / someone list the effects...
"Be aware that a lot of people on this forum, such as mageykun and XuaXua, have a habit of making things up." - minmay a.k.a. duvessa
Did I make a lame complaint? Check for Bingo!
Totally gracious CSDC Season 2 Division 4 Champeen!

For this message the author XuaXua has received thanks:
Klown

Tartarus Sorceror

Posts: 1888

Joined: Saturday, 9th July 2011, 20:57

Post Thursday, 13th February 2014, 03:30

Re: Lava Orcs and Djinni as Divine Abilities

XuaXua wrote:I say, keep the code and let's use it effectively to create a new god to go alongside Dith.


Well, I don't expect that it would go in alongside Dith unless a really stellar idea that a dev feels compelled to write up gets proposed right out of the gate, in time to go in for the 0.14 release.

On the other hand, I'm always down to discuss crazy god ideas. I'm not convinced that the best approach is to just straight up make a god of Making You Into A Djinn. The essence pool or hungerless glow-casting might work as some sort of magic-themed diety. (I'm thinking some kind of Gnostic deity where you slowly shed the trappings of flesh to become a being of pure spirit and magic. But then, I've been trying to fit Gnosticism into a Crawl deity for ages.) The immunity to all fire would work better thematically if it were combined with a Lava-Orc inspired heat god. Alternatively, combine glow-casting with the passive damage aura to make a god of magical radiation. Become a walking Chernobyl!

Edit: It would probably be beneficial to consider what the most useful and interesting parts of Djinn and Lava Orcs are first.
User avatar

Ziggurat Zagger

Posts: 5832

Joined: Thursday, 10th February 2011, 18:30

Post Thursday, 13th February 2014, 05:01

Re: Lava Orcs and Djinni as Divine Abilities

nicolae wrote: It would probably be beneficial to consider what the most useful and interesting parts of Djinn and Lava Orcs are first.


Hence the very last statement in my post.
"Be aware that a lot of people on this forum, such as mageykun and XuaXua, have a habit of making things up." - minmay a.k.a. duvessa
Did I make a lame complaint? Check for Bingo!
Totally gracious CSDC Season 2 Division 4 Champeen!

Tartarus Sorceror

Posts: 1888

Joined: Saturday, 9th July 2011, 20:57

Post Thursday, 13th February 2014, 05:25

Re: Lava Orcs and Djinni as Divine Abilities

XuaXua wrote:
nicolae wrote: It would probably be beneficial to consider what the most useful and interesting parts of Djinn and Lava Orcs are first.


Hence the very last statement in my post.


Yes. Part of the reason I mention it again is that some of the special features of Djinn or Lava Orcs might not be worth saving at all, so we'd have to ask "are essence or temperature actually desirable?".
User avatar

Ziggurat Zagger

Posts: 5832

Joined: Thursday, 10th February 2011, 18:30

Post Thursday, 13th February 2014, 05:45

Re: Lava Orcs and Djinni as Divine Abilities

Well, list all the aspects and we can say "toss these, keep these" and maybe make a combination of two or three choice options. Or along the lines of Dith, "Lava Form".
"Be aware that a lot of people on this forum, such as mageykun and XuaXua, have a habit of making things up." - minmay a.k.a. duvessa
Did I make a lame complaint? Check for Bingo!
Totally gracious CSDC Season 2 Division 4 Champeen!

Crypt Cleanser

Posts: 746

Joined: Thursday, 5th December 2013, 04:01

Post Thursday, 13th February 2014, 07:08

Re: Lava Orcs and Djinni as Divine Abilities

XuaXua wrote:Well, list all the aspects and we can say "toss these, keep these" and maybe make a combination of two or three choice options. Or along the lines of Dith, "Lava Form".


I haven't played much of either race, but the things I personally find interesting:

1. Essence pool. Although I think it could also be simplified to "you can use health to cast spells when your mana is empty" and still be interesting. We already have the other half in the game with Guardian Spirit (and if Vine Stalkers stay then it'll even still be an intrinsic feature of a race).

2. Contamination instead of spell hunger. I didn't play Djinn enough to see how well this actually works, but I think generally playing with ways to use magical contamination, whether it's a race that interacts with it differently or a god that uses it in interesting ways.

3. Variable powers depending on tension. The thing I found interesting when playing as Lava Orcs wasn't the specific powers that came with high temperature, but the general need to take your temperature into account. Needing to carefully plan your scroll use to avoid finding yourself in need of a scroll but too hot to use one was the most interesting part, I thought.

Putting all these things together, I'm wondering if you could have a mechanic (not sure if it would be better as a race or a god) that revolved around magical contamination. Replace spell hunger with contamination, then add various powers and drawbacks that appear as your contamination increases.

Snake Sneak

Posts: 129

Joined: Wednesday, 8th May 2013, 19:30

Post Thursday, 13th February 2014, 09:52

Re: Lava Orcs and Djinni as Divine Abilities

So, looking at this, I have the following god proposal:

Igni, Keeper of the First Flame

Igni is the god charged with maintaining the light, heat and magic in the world, a task which requires constant sacrifices of bodies and souls. Her followers and required to offer bodies to keep the eternal fire satiated and in exchange obtain powers over the flames and magical essences.


Likes: killing things with fire, sacrificing corpses ( fresh, old, skeletons, Igni takes it all)
Dislikes: learing and casting Ice magic (penance), casting Ice form (excommunication), animating the dead with animate skeleton and animate dead (they should be sacrificed instead!)

Powers granted:

- upon joining: conservation for scrolls, can sacrifice corpses by praying over them
* : Gain rF+. Active power: "Self immolation" : sacrifice health and a little piety to gain the fire aura of lava orcs. Duration and damage should scale with invocations. The fire aura prevents the reading of scrolls
**: "Body fuel" (passive): Magic spells can be cast even when the player doesn't have enough mana. The cost is two HP for each MP and 1 Piety pro spell cast this way.
***: rF++
****: rF+++. Mass Offering: from now on, praying causes all corpses in line of sight to erupt in clouds of flame. Duration scales with invocations
The player can now also walk on lava
*****: "Rekindle the flames": functions like a scroll of immolation. Costs a lot of piety and some HP
******: Fire immunity, Hellfire immunity, rC-

Punishments: Hex a nearby monster with Inner fire. Fire magic miscasts, summon fire themed demons

Extra Fluff: Upon death, the player's body 1) vanishes in a bright flash at low piety, 2) explodes in a fireball a moderate piety and 3) explodes in a firestorm at high piety.

For this message the author Velikolepni has received thanks: 5
and into, Brannock, Klown, magicpoints, sgrunt
User avatar

Halls Hopper

Posts: 83

Joined: Saturday, 23rd March 2013, 11:12

Post Thursday, 13th February 2014, 13:05

Re: Lava Orcs and Djinni as Divine Abilities

Lava orcs that are no more orcs, but 200% lava?

Do it. :D
You slash the rat with your +7 +5 cursed slightly rusted very sharp meteoric steel demonic flaming triple sword of speed and pain covered with various bloods and vomit. The rat is not hurt.
The rat bites you.
You die…

Spider Stomper

Posts: 221

Joined: Thursday, 29th August 2013, 09:40

Post Thursday, 13th February 2014, 18:11

Re: Lava Orcs and Djinni as Divine Abilities

Hmm, that god proposal could work. It does kinda pigeonhole you into using fire, which might be slightly less than ideal for non-casters that can't find a fiery weapon or for races that are bad at fire, but then, we already have the good gods who are against everything necromantic.

I like the idea of being able to turn on the heat aura whenever you feel like it. Would you be able to turn it off if you really needed a scroll? Also, would it make sense to have the size of the aura increase with Invocations as well, or does that make it too overpowered?

Would Body Fuel be able to support evocable abilities that cost MP (like a ring of flight)?

Does Mass Offering ignite the corpse you're standing on?

Not sure gaining a vulnerability at max piety is a good idea, though I imagine by the time you hit max piety, you'll have a decent chance of finding at least some form of rC+, plus this god's piety probably decays quickly.

Maybe as a wrath effect, you could occasionally be forced to use your HP to cast a spell?
You hear the distant roaring of an enraged eggplant.

Snake Sneak

Posts: 129

Joined: Wednesday, 8th May 2013, 19:30

Post Thursday, 13th February 2014, 19:05

Re: Lava Orcs and Djinni as Divine Abilities

spudwalt wrote:Hmm, that god proposal could work. It does kinda pigeonhole you into using fire, which might be slightly less than ideal for non-casters that can't find a fiery weapon or for races that are bad at fire, but then, we already have the good gods who are against everything necromantic.

True, but neither the Lava orcs nor the Djinni were known for their proficiency with ice magic. Furthermore, you can use Body fuel to cast any spell, so it's not that bad.

spudwalt wrote:I like the idea of being able to turn on the heat aura whenever you feel like it. Would you be able to turn it off if you really needed a scroll? Also, would it make sense to have the size of the aura increase with Invocations as well, or does that make it too overpowered?

I don't think that one should be able to turn it off whenever one likes, but I don't mind either way. I think that both damage and size should scale with invocations, but it probably shouldn't go above two tiles radius.

spudwalt wrote:Would Body Fuel be able to support evocable abilities that cost MP (like a ring of flight)?

Sure, why not.
spudwalt wrote:Does Mass Offering ignite the corpse you're standing on?

Of course, but you don't need to be standing on a corpse. It would be like Fedhas' ability to instantly decompose any corpse by praying.
spudwalt wrote:Not sure gaining a vulnerability at max piety is a good idea, though I imagine by the time you hit max piety, you'll have a decent chance of finding at least some form of rC+, plus this god's piety probably decays quickly.

Hellfire immunity has to have some drawback.
spudwalt wrote:Maybe as a wrath effect, you could occasionally be forced to use your HP to cast a spell?

Yes, that would work. It is pretty tame though, because at most it would be just 18 damage. If it were active for a period of time though, it would be nasty.

Furthermore, this god could incorporate the contamination mechanic at higher piety. Let's say something like:

****: "Spirit fuel": You can now fuel the satiation costs of your spells by burning a piece of your spirit (this is just fluff and can be changed) and no longer hunger from casting spells. The side effects can however include magical contamination.

Barkeep

Posts: 3890

Joined: Wednesday, 14th August 2013, 23:25

Location: USA

Post Thursday, 13th February 2014, 19:42

Re: Lava Orcs and Djinni as Divine Abilities

I could see Igni working as a god; definitely a great starting point, Velikolepni, for a god that's kind of the thematic opposite of Dithmenos. :)

I am not sure about making his abilities invocations-dependent though. I think Igni's divine ring of flames should scale with piety, and should be an "activate, deactivate" ability—i.e., it is like a form that doesn't ever time out. However, it takes a turn or two to extinguish after deactivation, during which time scrolls are still blocked. Rather than taking an amount of health up front as a cost (which steps on Makhleb's territory), how about some deduction to max HP while active? I think that would make it more differentiated, interesting, and unique. Also, it would remove any annoyance of having to "recast" it if you want to leave it on for extended periods.

It might make sense for the "fire form" that igni provides to lower your stealth dramatically or, perhaps better, continuously create noise. There's more of a trade-off when using it, then.

My one worry would be bad interaction with water, creating a bad interface problem. This could be handled in different ways; Igni's "divine fire" could be special-cased such that it does not cause steam clouds. That might be best. Alternately, you could be blocked from using the divine fire ring while you are in or adjacent to water; problem there is, it would be blocked in Swamp (that's fine) but then in Shoals it would be sometimes blocked, sometimes not, and dealing with that could be annoying.

The effects that "fire form" provides can scale up with piety, if you'd like. It would be neat if Igni, at higher piety levels, boosted fire-brand damage from weapons and gave a scaling spell power enhancer (equal to one enhancer effect (e.g., staff of fire) at max piety) to fire spells. You could also do things like, rather than have freezing brand weapons be simply unusable no matter what, make it so that (p)raying over non-artefact, freezing-branded weapons changed them to fire brand. (At the same piety cost as the "rekindle the flames" ability.) So freezing-brand weapons can't be used, but you get the ability to permanently re-brand them later on.

Anyway, overall I think something along these lines would give powerful abilities with wide applicability to different play styles, with clear advantages but also clear drawbacks, both to worship and to using the abilities themselves (there's some trade off).

It is a small thing, but maybe also have Igni give rSticky Flame upon joining, or from first star of piety onward?

For this message the author and into has received thanks:
braks

Snake Sneak

Posts: 129

Joined: Wednesday, 8th May 2013, 19:30

Post Thursday, 13th February 2014, 20:06

Re: Lava Orcs and Djinni as Divine Abilities

and into wrote:I am not sure about making his abilities invocations-dependent though. I think Igni's divine ring of flames should scale with piety, and should be an "activate, deactivate" ability—i.e., it is like a form that doesn't ever time out. However, it takes a turn or two to extinguish after deactivation, during which time scrolls are still blocked. Rather than taking an amount of health up front as a cost (which steps on Makhleb's territory), how about some deduction to max HP while active? I think that would make it more differentiated, interesting, and unique. Also, it would remove any annoyance of having to "recast" it if you want to leave it on for extended periods.

Whether or not the abilities scale off from piety should be a balance thing. Making them piety based is a buff in my mind. If the ability is made to be like that, then it should continuously drain piety at a slow rate so that people don't just walk around with it on all the time. Having it reduce max hp is fine but I think that it should continuously drain health instead.

and into wrote:It might make sense for the "fire form" that igni provides to lower your stealth dramatically or, perhaps better, continuously create noise. There's more of a trade-off when using it, then.

Yes definitely.
and into wrote:My one worry would be bad interaction with water, creating a bad interface problem. This could be handled in different ways; Igni's "divine fire" could be special-cased such that it does not cause steam clouds. That might be best. Alternately, you could be blocked from using the divine fire ring while you are in or adjacent to water; problem there is, it would be blocked in Swamp (that's fine) but then in Shoals it would be sometimes blocked, sometimes not, and dealing with that could be annoying.

It should make clouds and I think that people just should not use it in some branches. The problem is already there for fire mages.

and into wrote:The effects that "fire form" provides can scale up with piety, if you'd like. It would be neat if Igni, at higher piety levels, boosted fire-brand damage from weapons and gave a scaling spell power enhancer (equal to one enhancer effect (e.g., staff of fire) at max piety) to fire spells. You could also do things like, rather than have freezing brand weapons be simply unusable no matter what, make it so that (p)raying over non-artefact, freezing-branded weapons changed them to fire brand. (At the same piety cost as the "rekindle the flames" ability.) So freezing-brand weapons can't be used, but you get the ability to permanently re-brand them later on.

A permanent spell enhancer for fire spells alone would be both too powerfull and would make this god too niche.
I would not mind however changing the "self immolation" ability so that spell power is boosted for all spells while it is active(perhaps only at high piety). It could be balanced by increasing the piety cost or making it continuously drain health.
Rebranding weapons is already in the game via scrolls of brand weapon. I don't know if this god should give it too.

and into wrote:It is a small thing, but maybe also have Igni give rSticky Flame upon joining, or from first star of piety onward?

In the proposal, Igni gives conservation for scrolls upon joining. This should be enough I think.
User avatar

Shoals Surfer

Posts: 319

Joined: Tuesday, 7th January 2014, 06:09

Post Thursday, 13th February 2014, 20:20

Re: Lava Orcs and Djinni as Divine Abilities

Velikolepni wrote:Rebranding weapons is already in the game via scrolls of brand weapon. I don't know if this god should give it too.

Possibly she could give you a one-time option to bless a weapon at high piety like Kiku, Lucy, and TSO.

Snake Sneak

Posts: 129

Joined: Wednesday, 8th May 2013, 19:30

Post Thursday, 13th February 2014, 20:26

Re: Lava Orcs and Djinni as Divine Abilities

By the way, I understand that right now this god is much more suited to mages than to others. I possible remedy, if such were needed would be to add at four or five stars a power like.

"Fire within": Igni makes the fires fueling your methabolism burn faster. This gives a speed boost for all actions but constantly and rapidly drains health and piety. It can be deactivated whenever one wants. Maybe then cause exhaustion. (Has some overlapp with Berserk, but doesn't prevent some actions and reduces health, instead of increasing it)
User avatar

Dungeon Master

Posts: 291

Joined: Wednesday, 6th June 2012, 18:59

Post Thursday, 13th February 2014, 20:29

Re: Lava Orcs and Djinni as Divine Abilities

I may try coding this god up sometime, but only after we get 0.14 out the door - we already have enough new stuff that needs balancing out already (besides which this would necessitate some clean-up of the code surrounding the races at hand), and adding in a new god at this point would benefit from a save compat break (we're out of room for altar enums, though this could probably be worked around)

A couple of comments:
  • rC- should happen sooner / immediately - consider it a drawback of following the god.
  • There was a comment about pidgeonholing players into fire magic - as far as I can tell there's nothing explicitly supportive of fire magic here (and giving a fire enhancer would be a bad idea IMO) other than relative immunity to the drawbacks. Body Fuel alone would make this attractive for people who want to cast just about any sort of spell. EDIT: missed "killing things with fire", which I think could be simplified to just "killing things" if this is a concern.
  • I still think complete fire immunity is not something that should ever be present in the game, much less hellfire immunity (hellfire should be a threat to everyone!); immunity to things which can primarily be considered damage types just isn't something we do. rF+++ should be sufficient.

For this message the author sgrunt has received thanks: 2
Arrhythmia, Klown
User avatar

Shoals Surfer

Posts: 319

Joined: Tuesday, 7th January 2014, 06:09

Post Thursday, 13th February 2014, 21:12

Re: Lava Orcs and Djinni as Divine Abilities

Velikolepni wrote:By the way, I understand that right now this god is much more suited to mages than to others. I possible remedy, if such were needed would be to add at four or five stars a power like.

"Fire within": Igni makes the fires fueling your methabolism burn faster. This gives a speed boost for all actions but constantly and rapidly drains health and piety. It can be deactivated whenever one wants. Maybe then cause exhaustion. (Has some overlapp with Berserk, but doesn't prevent some actions and reduces health, instead of increasing it)

The small radius of her fire aura seems like it would be much more attractive to melee fighters than mages, though.

Barkeep

Posts: 3890

Joined: Wednesday, 14th August 2013, 23:25

Location: USA

Post Thursday, 13th February 2014, 21:20

Re: Lava Orcs and Djinni as Divine Abilities

I was spitballing ideas in my previous post; doing all of those would be too much, but perhaps integrating some of them would work.

I was taking your idea for a * piety ability more in the direction of something that is, functionally, a god-given tmut spell that has advantages as well as pronounced drawbacks, doesn't time out naturally, doesn't require piety while being used (though perhaps takes piety to enter or exit), and which would often be left activated for long periods of time. The advantage of that, as I see it, is that this would be very unique. Obviously, having it function a bit more like other god-given buffs (such as heroism) would be fine too, but maybe a missed opportunity to do something a bit more experimental and (if only in my entirely subjective opinion) interesting.
User avatar

Ziggurat Zagger

Posts: 5832

Joined: Thursday, 10th February 2011, 18:30

Post Thursday, 13th February 2014, 21:30

Re: Lava Orcs and Djinni as Divine Abilities

No regeneration while fire mode is active?
"Be aware that a lot of people on this forum, such as mageykun and XuaXua, have a habit of making things up." - minmay a.k.a. duvessa
Did I make a lame complaint? Check for Bingo!
Totally gracious CSDC Season 2 Division 4 Champeen!

Spider Stomper

Posts: 221

Joined: Thursday, 29th August 2013, 09:40

Post Thursday, 13th February 2014, 22:04

Re: Lava Orcs and Djinni as Divine Abilities

sgrunt wrote:I still think complete fire immunity is not something that should ever be present in the game, much less hellfire immunity (hellfire should be a threat to everyone!); immunity to things which can primarily be considered damage types just isn't something we do. rF+++ should be sufficient.


Perhaps hellfire resistance, as in you take like half damage or 2/3rds damage from hellfire? Hellfire would still be a problem, just less of one.
It just seems odd that the *literal god* of magic fire wouldn't have any way to protect its followers from demonic fire.
You hear the distant roaring of an enraged eggplant.

Tartarus Sorceror

Posts: 1888

Joined: Saturday, 9th July 2011, 20:57

Post Thursday, 13th February 2014, 22:38

Re: Lava Orcs and Djinni as Divine Abilities

Velikolepni wrote:Igni, Keeper of the First Flame

Igni is the god charged with maintaining the light, heat and magic in the world, a task which requires constant sacrifices of bodies and souls. Her followers and required to offer bodies to keep the eternal fire satiated and in exchange obtain powers over the flames and magical essences.


1) I like the Body Fuel and Self Immolation powers. I also like the flavor reasoning for banning corpse animation. Banning some types of necromancy is not what one might expect from a "typical" god of fire, and that makes Igni a little more special.

2) Corpse sacrificing square-by-square is tedious. Praying should sacrifice all corpses in LOS from the start, at the very least. Whether a corpse explodes into flame should be influenced by piety. Alternately, find some other thematic source of piety gain and turn Mass Offering into an activated ability.

3) I'm not really excited by the high-level activated ability, Rekindle the Flames, being identical to a relatively common scroll.

4) On a personal aesthetic note, I'm kind of "eeehhhh" about having a god who bans fire followed up by a god who bans ice. It feels too... symmetrical?

5) I really like the idea suggested in the description that magic is, in some metaphorical, metaphysical sense, a flame maintained by the god, and wonder if more powers could take advantage of this besides Body Fuel. It would make a good way to make the god of fire feel a bit more distinct than another god of blowing things up. E.g. "Dampen the Flames" - high-level ability, costs a ton of piety, shortens duration of existing flame clouds, and smacks everybody in LOS with antimagic.

Dungeon Master

Posts: 3160

Joined: Sunday, 5th August 2012, 14:52

Post Friday, 14th February 2014, 14:55

Re: Lava Orcs and Djinni as Divine Abilities

As designed, the main draws of the god are hp -> mp conversion (sublimation of blood, sort of) and rF+++. I probably would not use this god beyond a single test, particularly since the god as written requires individual corpse sacrifice (which I have become fed up with).

Here are some suggestions that I think would make this more appealing:
* Praying burns every corpse in LOS. This deals minor fire damage to creatures standing on corpses based on piety; at high piety it also leaves flame clouds. When your piety is high enough that corpses leave flame clouds, player is immune to flame clouds as per Ring of Flames. In any case, the player never takes damage from this ability.
* Activated ability at ******: Significant piety for invocations-determined-power fire storm centered on self. Player takes no damage.

Spider Stomper

Posts: 208

Joined: Thursday, 12th September 2013, 15:02

Location: France

Post Friday, 14th February 2014, 15:07

Re: Lava Orcs and Djinni as Divine Abilities

Having Igni enhance fire-branded weapons the same way Beogh enhance orcish weapons doesn't seem a bad idea, by the way.

The immolation-scroll ability seems to fit and would even be expected, but as said before, it being the "hyper power" of the god seems awkward.
A comparison with Holy Word (a much rarer scroll) and Recite may be useful for balance...

Lasty => The whole "no praying over every corpse" being replace by praying has a chance of brusting the corpse in flame, depending on piety (as said before) is a much better thing. But then, maybe you should not get piety that way.

Dungeon Master

Posts: 3160

Joined: Sunday, 5th August 2012, 14:52

Post Friday, 14th February 2014, 15:25

Re: Lava Orcs and Djinni as Divine Abilities

@tompliss, yeah, I thought about that too. I'd be fine with making the sacrifice not give you piety, since the god thanks you by giving you fire instead.
User avatar

Vestibule Violator

Posts: 1591

Joined: Saturday, 3rd August 2013, 18:59

Post Friday, 14th February 2014, 15:52

Re: Lava Orcs and Djinni as Divine Abilities

Infernal resurrection: casts animate dead and gives all zombies resurrected this way the affect of immolation.

Summon minion: creates a fiery minion based on invocations(red imp, fire elemental, salamander, sun demon, balrug, brimstone fiend).

Just some ideas :)
To all new players: Ignore all strategy guides posted on the wiki, ask questions in the Advice forum, players with lots of posts normally have the best advice.

crawl.akrasiac.org:8080 <- take this link to play online or spectate.

Ziggurat Zagger

Posts: 6454

Joined: Tuesday, 30th October 2012, 19:06

Post Friday, 14th February 2014, 18:58

Re: Lava Orcs and Djinni as Divine Abilities

Igni could reduce the fire resistance of creatures other than the player...
Spoiler: show
This high quality signature has been hidden for your protection. To unlock it's secret, send 3 easy payments of $9.99 to me, by way of your nearest theta band or ley line. Complete your transmission by midnight tonight for a special free gift!

Tartarus Sorceror

Posts: 1888

Joined: Saturday, 9th July 2011, 20:57

Post Saturday, 15th February 2014, 04:11

Re: Lava Orcs and Djinni as Divine Abilities

Tiktacy wrote:Infernal resurrection: casts animate dead and gives all zombies resurrected this way the affect of immolation.


I like the idea of Igni working with both fire and necromancy, it's an odd combination, and being able to raise exploding zombies as a god power sounds pretty fun. It might require some tweaking of the anti-necromancy flavor, though maybe Igni won't mind so much if the zombies end up going kaboom anyway.

Spider Stomper

Posts: 221

Joined: Thursday, 29th August 2013, 09:40

Post Saturday, 15th February 2014, 05:17

Re: Lava Orcs and Djinni as Divine Abilities

Maybe instead of exploding zombies, it could be the fiery spirits of the slain. Kinda like spectral things, but more burn-y and explode-y. That might fit the flavor a bit better.
You hear the distant roaring of an enraged eggplant.
User avatar

Shoals Surfer

Posts: 319

Joined: Tuesday, 7th January 2014, 06:09

Post Saturday, 15th February 2014, 05:50

Re: Lava Orcs and Djinni as Divine Abilities

Fedhas already does the whole "turn corpses into suicide bombers" thing, though.

Halls Hopper

Posts: 87

Joined: Wednesday, 14th August 2013, 17:40

Post Saturday, 15th February 2014, 18:32

Re: Lava Orcs and Djinni as Divine Abilities

I haven't read the whole thread, but I really like OP's idea. I'm working on a patch now. Hopefully should be done within a few hours. :ugeek:

edit: latest git isn't building for me. might have to wait a little longer than origionally thought. :(

Snake Sneak

Posts: 129

Joined: Wednesday, 8th May 2013, 19:30

Post Saturday, 15th February 2014, 22:13

Re: Lava Orcs and Djinni as Divine Abilities

Based on the ideas and criticisms, I would like to review my original proposal:

Igni, Keeper of the First Flame

Igni is the god charged with maintaining the light, heat and magic in the world, a task which requires constant offerings of bodies and souls. Her followers and asked to sacrifices corpses to keep the eternal fire satiated and in exchange obtain powers over the flames, magical sources and their own essences.


Likes: sacrificing corpses ( fresh, old, skeletons, Igni takes it all), killing things while under the effect of "conduit" (see below), (optional, likes killing ice themed monsters)
Dislikes: learing and casting Ice magic (penance), casting Ice form (excommunication), animating the dead with animate skeleton and animate dead (they should be sacrificed instead!), using ice branded weapons

Powers granted:

- upon joining: conservation for scrolls, can sacrifice corpses(fresh or not) in line of sight by praying. At *** piety, sacrifieces corpses burst into clouds of flame and the player becomes immune to these clouds
* : Gain rF+. Active power: "Conduit": the player becomes linked directly to the primal flame. This ability remains active until switched off. While active
1) all creatures killed have their souls consumed by the primordial flame - this gives piety. Since their souls are destroyed, Death channel doesn't work while "channel is active"
2) the player has rC-
3) no regeneration ( or some similar drawback),
4) no reading of scrolls
5) the player gains the fire aura of lava orcs, damage scales with piety (optional, the size of the aura increases with piety). The aura makes some noise and can generate steam clouds when in contact with water.
6) no hunger, but using a lot of magic leads to contamination (like the current Djinn mechanic)
7) at **** piety, the conduit enchances spellpower like a robe of the archmagi
8) (optional, at max piety give some hellfire resistance)
9) (optional, at high piety, say **** or more, works like the ignite blood mutation of demonspawn)
Activation costs some piety. Deactivation leaves the player exhausted preventing rapid reactivation.

**: "Body fuel" (passive): Magic spells can be cast even when the player doesn't have enough mana. The cost is two HP for each MP and 1 Piety pro spell cast this way.
***: rF++, (optional, increase fire damage from fire brand)
****: rF+++. The player can now also walk on lava, like the lava orcs currently can.
Active power: "Fire within". Igni makes the fires fueling your methabolism burn faster. This gives a speed boost (smaller than haste)for all actions but constantly drains health. It can be deactivated whenever one wants. Maybe then cause exhaustion. (Has some overlap with Berserk, but doesn't prevent some actions and reduces health, instead of increasing it)
*****: "Dampen the flames": smacks all creatures, the player as well, with an antimagic effect. If used while "conduit" or "fire within" is active, this deactivates them. This should cost a moderate amout of piety
(optional: some sort of mass fire damage ability, the original one was a scroll of immolation effect)
******: no new abilities

Punishments: Hex a nearby monster with Inner fire. Fire magic miscasts, summon fire themed demons

Extra Fluff: Upon death, the player's body 1) vanishes in a bright flash at low piety, 2) explodes in a fireball a moderate piety and 3) explodes in a firestorm at high piety.

Overview: The idea is to have a god that is good for casters and melee fighters. Hybrids like skalds and transmuters should benefit as well. Stabbers don't benefit much, since "conduit" makes noise, but they can walk around without it and only use it in big fights.
The sacrifice mechanic should be relatively hassle free and the "conduit" ability unique enough to warrant Igni a place in the pantheon.

Halls Hopper

Posts: 87

Joined: Wednesday, 14th August 2013, 17:40

Post Saturday, 15th February 2014, 22:55

Re: Lava Orcs and Djinni as Divine Abilities

Well, as promised, I've got a patch for latest (as of a few hours ago) git. It's considerably different from the proposal in this thread, though. I haven't put any flavor in yet. (no need for that until abilities are finalized, I don't think.) Also I haven't done wrath yet.

Igni
- Upon joining: None
* rf+++ and hellfire immunity.
** HP/MP merge.
*** Nothing.
**** No hunger, contam for spells.
***** Nothing.
****** Nothing.
Appreciates: killing, sacrificing corpses
Deprecates: Nothing

I've played with it a little bit, and it seems relatively bug-free. No hunger and EP seem really good for most species, even non-spellcasters. In any case, comments/questions/requests/whatever welcome. :)

  Code:
diff --git a/crawl-ref/source/ability.cc b/crawl-ref/source/ability.cc
index 2cd0e36..d3cf90a 100644
--- a/crawl-ref/source/ability.cc
+++ b/crawl-ref/source/ability.cc
@@ -191,6 +191,9 @@ ability_type god_abilities[NUM_GODS][MAX_GOD_ABILITIES] =
     // Ashenzari
     { ABIL_NON_ABILITY, ABIL_NON_ABILITY, ABIL_NON_ABILITY,
       ABIL_ASHENZARI_SCRYING, ABIL_ASHENZARI_TRANSFER_KNOWLEDGE },
+    // Igni
+    { ABIL_NON_ABILITY, ABIL_NON_ABILITY, ABIL_NON_ABILITY,
+      ABIL_NON_ABILITY, ABIL_NON_ABILITY },
     // Dithmenos
     { ABIL_NON_ABILITY, ABIL_DITHMENOS_SHADOW_STEP, ABIL_NON_ABILITY,
       ABIL_NON_ABILITY, ABIL_DITHMENOS_SHADOW_FORM },
@@ -657,7 +660,7 @@ const string make_cost_description(ability_type ability)
     string ret;
     int ep = 0;
     if (abil.mp_cost)
-        if (you.species == SP_DJINNI)
+        if (you.species == SP_DJINNI || igni_merge_hpmp())
         {
             ep += abil.mp_cost * DJ_MP_RATE;
             ASSERT(!(abil.flags & ABFLAG_PERMANENT_MP));
@@ -672,7 +675,7 @@ const string make_cost_description(ability_type ability)
     {
         ret += make_stringf(", %d %s%s", ep + abil.hp_cost.cost(you.hp_max),
             abil.flags & ABFLAG_PERMANENT_HP ? "Permanent " : "",
-            you.species == SP_DJINNI ? "EP" : "HP");
+            (you.species == SP_DJINNI || igni_merge_hpmp()) ? "EP" : "HP");
     }
 
     if (abil.zp_cost)
@@ -681,7 +684,7 @@ const string make_cost_description(ability_type ability)
     if (abil.food_cost && !you_foodless(true)
         && (you.is_undead != US_SEMI_UNDEAD || you.hunger_state > HS_STARVING))
     {
-        if (you.species == SP_DJINNI)
+        if (you.species == SP_DJINNI || igni_merge_hpmp())
             ret += ", Glow";
         else
             ret += ", Food"; // randomised and exact amount hidden from player
@@ -775,7 +778,7 @@ static const string _detailed_cost_description(ability_type ability)
         && (you.is_undead != US_SEMI_UNDEAD || you.hunger_state > HS_STARVING))
     {
         have_cost = true;
-        if (you.species == SP_DJINNI)
+        if (you.species == SP_DJINNI || igni_glowhunger())
             ret << "\nGlow   : ";
         else
             ret << "\nHunger : ";
diff --git a/crawl-ref/source/art-func.h b/crawl-ref/source/art-func.h
index 99a7ee7..35d5bfd 100644
--- a/crawl-ref/source/art-func.h
+++ b/crawl-ref/source/art-func.h
@@ -26,6 +26,7 @@
 #include "fight.h"
 #include "food.h"          // For evokes
 #include "godconduct.h"    // did_god_conduct
+#include "godabil.h"      // igni_merge_hpmp
 #include "misc.h"
 #include "mgen_data.h"     // For Sceptre of Asmodeus evoke
 #include "mon-place.h"     // For Sceptre of Asmodeus evoke
@@ -459,7 +460,7 @@ static void _wucad_miscast(actor* victim, int power,int fail)
 static bool _WUCAD_MU_evoke(item_def *item, int* pract, bool* did_work,
                             bool* unevokable)
 {
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
     {
         mpr("The staff is unable to affect your essence.");
         *unevokable = true;
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc
index c8dfb73..67c5f20 100644
--- a/crawl-ref/source/delay.cc
+++ b/crawl-ref/source/delay.cc
@@ -26,6 +26,7 @@
 #include "fprop.h"
 #include "exclude.h"
 #include "food.h"
+#include "godabil.h"
 #include "godpassive.h"
 #include "godprayer.h"
 #include "invent.h"
@@ -1689,7 +1690,7 @@ bool interrupt_activity(activity_interrupt_type ai,
     const delay_queue_item &item = you.delay_queue.front();
 
     if (ai == AI_FULL_HP)
-        mprf("%s restored.", you.species == SP_DJINNI ? "EP" : "HP");
+        mprf("%s restored.", (you.species == SP_DJINNI || igni_glowhunger()) ? "EP" : "HP");
     else if (ai == AI_FULL_MP)
         mpr("Magic restored.");
 
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index 393d155..dc0e333 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -4343,6 +4343,10 @@ static const char *divine_title[NUM_GODS][8] =
     {"Star-crossed",       "Cursed",                "Initiated",                "Seer",
      "Soothsayer",         "Oracle",                "Illuminatus",              "Omniscient"},
 
+    // Igni -- fire theme
+    {"Gloomy",             "Spark",                 "Illuminated",                  "Flaming",
+     "Blazing",           "Raging",              "Incinerating %s",                 "Firy"},
+
     // Dithmenos -- darkness theme
     {"Illuminated",        "Gloomy",                "Aphotic",                  "Caliginous",
      "Darkened",           "Shadowed",              "Eclipsing",                "Eternal Night"},
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index 9906da5..9086b41 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -3246,6 +3246,8 @@ static string _base_feature_desc(dungeon_feature_type grid, trap_type trap)
         return "shattered altar of Ashenzari";
     case DNGN_ALTAR_DITHMENOS:
         return "shadowy altar of Dithmenos";
+    case DNGN_ALTAR_IGNI:
+        return "blazing altar of Igni";
 
     case DNGN_FOUNTAIN_BLUE:
         return "fountain of clear blue water";
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index 8fa9ed0..217cca6 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -5430,7 +5430,7 @@ static dungeon_feature_type _pick_an_altar()
         // Note: this case includes Pandemonium or the Abyss.
         god = random_choose(GOD_ZIN,      GOD_SHINING_ONE, GOD_KIKUBAAQUDGHA,
                             GOD_XOM,      GOD_OKAWARU,     GOD_MAKHLEB,
-                            GOD_SIF_MUNA, GOD_TROG,        GOD_ELYVILON,
+                            GOD_SIF_MUNA, GOD_TROG,        GOD_ELYVILON, GOD_IGNI,
                             -1);
     }
 
diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h
index 60abccf..98bfb42 100644
--- a/crawl-ref/source/enum.h
+++ b/crawl-ref/source/enum.h
@@ -1434,6 +1434,7 @@ enum dungeon_feature_type
     DNGN_ALTAR_FEDHAS,
     DNGN_ALTAR_CHEIBRIADOS,
     DNGN_ALTAR_ASHENZARI,
+    DNGN_ALTAR_IGNI,
     DNGN_ALTAR_DITHMENOS,
         DNGN_ALTAR_LAST_GOD = DNGN_ALTAR_DITHMENOS,
 
@@ -1886,6 +1887,7 @@ enum god_type
     GOD_FEDHAS,
     GOD_CHEIBRIADOS,
     GOD_ASHENZARI,
+    GOD_IGNI,
     GOD_DITHMENOS,
     NUM_GODS,                          // always after last god
 
diff --git a/crawl-ref/source/evoke.cc b/crawl-ref/source/evoke.cc
index c39034b..714257e 100644
--- a/crawl-ref/source/evoke.cc
+++ b/crawl-ref/source/evoke.cc
@@ -26,6 +26,7 @@
 #include "exercise.h"
 #include "fight.h"
 #include "food.h"
+#include "godabil.h"
 #include "ghost.h"
 #include "invent.h"
 #include "items.h"
@@ -270,9 +271,9 @@ static bool _evoke_horn_of_geryon(item_def &item)
 
 static bool _check_crystal_ball()
 {
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_glowhunger())
     {
-        mpr("These balls have not yet been approved for use by djinn. "
+        mpr("These balls have not yet been approved for use by your kind. "
             "(OOC: they're supposed to work, but need a redesign.)");
         return false;
     }
@@ -1612,7 +1613,7 @@ bool evoke_item(int slot, bool check_range)
             return false;
         }
         else if (you.magic_points >= you.max_magic_points
-                 && (you.species != SP_DJINNI || you.hp == you.hp_max))
+                 && ((you.species != SP_DJINNI && !igni_merge_hpmp()) || you.hp == you.hp_max))
         {
             mpr("Your reserves of magic are already full.");
             return false;
diff --git a/crawl-ref/source/feature.cc b/crawl-ref/source/feature.cc
index f1d18cf..24e4828 100644
--- a/crawl-ref/source/feature.cc
+++ b/crawl-ref/source/feature.cc
@@ -134,6 +134,7 @@ static colour_t _feat_colour(dungeon_feature_type feat)
     case DNGN_ALTAR_FEDHAS:             return GREEN;
     case DNGN_ALTAR_CHEIBRIADOS:        return LIGHTCYAN;
     case DNGN_ALTAR_ASHENZARI:          return LIGHTRED;
+    case DNGN_ALTAR_IGNI:      return BLUE;
     case DNGN_ALTAR_DITHMENOS:          return ETC_DITHMENOS;
     default: return 0;
     }
diff --git a/crawl-ref/source/food.cc b/crawl-ref/source/food.cc
index a4e24e9..75bb946 100644
--- a/crawl-ref/source/food.cc
+++ b/crawl-ref/source/food.cc
@@ -82,7 +82,7 @@ void make_hungry(int hunger_amount, bool suppress_msg,
 
     // Lich/tree form djinn don't get exempted from food costs: infinite
     // healing from channeling would be just too good.
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_glowhunger())
     {
         if (!magic)
             return;
@@ -149,16 +149,18 @@ void set_hunger(int new_hunger_level, bool suppress_msg)
 bool you_foodless(bool can_eat)
 {
     return you.is_undead == US_UNDEAD
-        || you.species == SP_DJINNI && !can_eat
+        || (you.species == SP_DJINNI && !can_eat )
         || you.form == TRAN_FUNGUS
         || you.form == TRAN_TREE
-        || you.form == TRAN_WISP;
+        || you.form == TRAN_WISP
+   || (igni_glowhunger() && !can_eat);
 }
 
 bool you_foodless_normally()
 {
     return you.is_undead == US_UNDEAD && you.form != TRAN_LICH
-        || you.species == SP_DJINNI;
+        || you.species == SP_DJINNI
+   || igni_glowhunger();
 }
 
 /**
@@ -2142,7 +2144,7 @@ bool is_preferred_food(const item_def &food)
         return is_blood_potion(food);
 
     if (food.base_type == OBJ_POTIONS && food.sub_type == POT_PORRIDGE
-        && item_type_known(food) && you.species != SP_DJINNI)
+        && item_type_known(food) && (you.species != SP_DJINNI && !igni_glowhunger()))
     {
         return !player_mutation_level(MUT_CARNIVOROUS);
     }
diff --git a/crawl-ref/source/godabil.cc b/crawl-ref/source/godabil.cc
index 073b35e..7c0fc86 100644
--- a/crawl-ref/source/godabil.cc
+++ b/crawl-ref/source/godabil.cc
@@ -1610,6 +1610,24 @@ bool beogh_water_walk()
            && you.piety >= piety_breakpoint(4);
 }
 
+bool igni_resist_fire()
+{
+    return you_worship(GOD_IGNI) && !player_under_penance()
+           && you.piety >= piety_breakpoint(0);
+}
+
+bool igni_merge_hpmp()
+{
+    return you_worship(GOD_IGNI) && !player_under_penance()
+           && you.piety >= piety_breakpoint(1);
+}
+
+bool igni_glowhunger()
+{
+    return you_worship(GOD_IGNI) && !player_under_penance()
+           && you.piety >= piety_breakpoint(3);
+}
+
 void jiyva_paralyse_jellies()
 {
     mprf(MSGCH_PRAY, "You %s prayer to %s.",
diff --git a/crawl-ref/source/godabil.h b/crawl-ref/source/godabil.h
index d4fd222..cdfecd1 100644
--- a/crawl-ref/source/godabil.h
+++ b/crawl-ref/source/godabil.h
@@ -40,6 +40,10 @@ bool jiyva_remove_bad_mutation();
 
 bool beogh_water_walk();
 
+bool igni_resist_fire();
+bool igni_merge_hpmp();
+bool igni_glowhunger();
+
 bool yred_injury_mirror();
 bool yred_can_animate_dead();
 void yred_animate_remains_or_dead();
diff --git a/crawl-ref/source/godconduct.cc b/crawl-ref/source/godconduct.cc
index e90906a..9d74621 100644
--- a/crawl-ref/source/godconduct.cc
+++ b/crawl-ref/source/godconduct.cc
@@ -336,6 +336,7 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
             case GOD_TROG:
             case GOD_BEOGH:
             case GOD_LUGONU:
+       case GOD_IGNI:
             case GOD_DITHMENOS:
                 if (god_hates_attacking_friend(you.religion, victim))
                     break;
@@ -364,6 +365,7 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
             case GOD_MAKHLEB:
             case GOD_BEOGH:
             case GOD_LUGONU:
+       case GOD_IGNI:
             case GOD_DITHMENOS:
                 if (god_hates_attacking_friend(you.religion, victim))
                     break;
@@ -393,6 +395,7 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
             case GOD_KIKUBAAQUDGHA:
             case GOD_BEOGH:
             case GOD_LUGONU:
+       case GOD_IGNI:
             case GOD_DITHMENOS:
                 if (god_hates_attacking_friend(you.religion, victim))
                     break;
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc
index 749c019..2280b8d 100644
--- a/crawl-ref/source/item_use.cc
+++ b/crawl-ref/source/item_use.cc
@@ -200,7 +200,7 @@ bool can_wield(item_def *weapon, bool say_reason,
             id_brand = true;
         }
     }
-    else if (you.species == SP_DJINNI
+    else if ((you.species == SP_DJINNI || igni_merge_hpmp())
              && get_weapon_brand(*weapon) == SPWPN_ANTIMAGIC
              && (item_type_known(*weapon) || !only_known))
     {
diff --git a/crawl-ref/source/itemname.cc b/crawl-ref/source/itemname.cc
index a52573d..dedbcd1 100644
--- a/crawl-ref/source/itemname.cc
+++ b/crawl-ref/source/itemname.cc
@@ -23,6 +23,7 @@
 #include "decks.h"
 #include "describe.h"
 #include "food.h"
+#include "godabil.h"
 #include "goditem.h"
 #include "invent.h"
 #include "item_use.h"
@@ -3066,7 +3067,7 @@ bool is_bad_item(const item_def &item, bool temp)
         case RING_HUNGER:
             // Even Vampires can use this ring.
             if (you.species == SP_DJINNI || you.species == SP_MUMMY
-                || you.species == SP_VAMPIRE)
+                || you.species == SP_VAMPIRE || igni_glowhunger())
             {
                 return false;
             }
@@ -3385,7 +3386,8 @@ bool is_useless_item(const item_def &item, bool temp)
 
         case AMU_GUARDIAN_SPIRIT:
             return you.species == SP_DJINNI
-                   || you.spirit_shield(false, false);
+                   || you.spirit_shield(false, false)
+         || igni_glowhunger();
 
         case RING_LIFE_PROTECTION:
             return player_prot_life(false, temp, false) == 3;
@@ -3396,7 +3398,8 @@ bool is_useless_item(const item_def &item, bool temp)
                    || you.species == SP_DJINNI
                    || temp && you_foodless()
                    || temp && you.species == SP_VAMPIRE
-                       && you.hunger_state == HS_STARVING;
+                       && you.hunger_state == HS_STARVING
+         || igni_glowhunger();
 
         case RING_REGENERATION:
             return (player_mutation_level(MUT_SLOW_HEALING) == 3)
@@ -3411,7 +3414,7 @@ bool is_useless_item(const item_def &item, bool temp)
                    && (temp || you.species != SP_VAMPIRE);
 
         case RING_PROTECTION_FROM_FIRE:
-            return you.species == SP_DJINNI;
+            return you.species == SP_DJINNI || igni_resist_fire();
 
 #if TAG_MAJOR_VERSION == 34
         case AMU_CONTROLLED_FLIGHT:
@@ -3458,7 +3461,7 @@ bool is_useless_item(const item_def &item, bool temp)
         if (item.sub_type == NUM_FOODS)
             break;
 
-        if (you.species == SP_DJINNI)
+        if (you.species == SP_DJINNI || igni_glowhunger())
         {
             // Only comestibles with effects beyond nutrition have an use.
             if (item.sub_type == FOOD_AMBROSIA
diff --git a/crawl-ref/source/mon-abil.cc b/crawl-ref/source/mon-abil.cc
index fcff92d..7a0e385 100644
--- a/crawl-ref/source/mon-abil.cc
+++ b/crawl-ref/source/mon-abil.cc
@@ -24,6 +24,7 @@
 #endif
 #include "fight.h"
 #include "fprop.h"
+#include "godabil.h"
 #include "ghost.h"
 #include "itemprop.h"
 #include "losglobal.h"
@@ -4693,7 +4694,7 @@ void mon_nearby_ability(monster* mons)
             interrupt_activity(AI_MONSTER_ATTACKS, mons);
 
             int mp = 5 + random2avg(13, 3);
-            if (you.species != SP_DJINNI)
+            if (you.species != SP_DJINNI && !igni_merge_hpmp())
                 mp = min(mp, you.magic_points);
             else
             {
diff --git a/crawl-ref/source/mon-stuff.cc b/crawl-ref/source/mon-stuff.cc
index 96c2f89..d8342ad 100644
--- a/crawl-ref/source/mon-stuff.cc
+++ b/crawl-ref/source/mon-stuff.cc
@@ -2083,7 +2083,7 @@ int monster_die(monster* mons, killer_type killer,
                     die("bad kill-on-healing god!");
                 }
 
-                if (you.species == SP_DJINNI)
+                if (you.species == SP_DJINNI || igni_merge_hpmp())
                     hp_heal = max(hp_heal, mp_heal * 2), mp_heal = 0;
 
                 if (hp_heal && you.hp < you.hp_max
diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc
index d475f08..9b5d73e 100644
--- a/crawl-ref/source/mutation.cc
+++ b/crawl-ref/source/mutation.cc
@@ -669,6 +669,22 @@ string describe_mutations(bool center_title)
         have_any = true;
     }
 
+    if (igni_resist_fire()) {
+        result += "<green>You are immune to all forms of fire, even holy and hellish.</green>\n";
+   have_any = true;
+    }
+
+    if (igni_merge_hpmp())
+    {
+        result += "<green>Your hit points and magic are merged.</green>\n";
+   have_any = true;
+    }
+
+    if (igni_glowhunger())
+    {
+        result += "<green>You need no food.</green>\n";
+    }
+
     if (you.duration[DUR_FIRE_SHIELD])
     {
         result += "<green>You are immune to clouds of flame.</green>\n";
diff --git a/crawl-ref/source/ouch.cc b/crawl-ref/source/ouch.cc
index 2db296e..e810db2 100644
--- a/crawl-ref/source/ouch.cc
+++ b/crawl-ref/source/ouch.cc
@@ -164,7 +164,7 @@ int check_your_resists(int hurted, beam_type flavour, string source,
         break;
 
     case BEAM_HELLFIRE:
-        if (you.species == SP_DJINNI)
+        if (you.species == SP_DJINNI || igni_resist_fire())
         {
             hurted = 0;
             if (doEffects)
diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc
index 3f8fc2f..2372344 100644
--- a/crawl-ref/source/output.cc
+++ b/crawl-ref/source/output.cc
@@ -529,7 +529,7 @@ static void _print_stats_temperature(int x, int y)
 
 static void _print_stats_mp(int x, int y)
 {
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
         return;
 
     // Calculate colour
@@ -574,7 +574,7 @@ static void _print_stats_mp(int x, int y)
 
 static void _print_stats_contam(int x, int y)
 {
-    if (you.species != SP_DJINNI)
+    if (you.species != SP_DJINNI && !igni_merge_hpmp())
         return;
 
     const int max_contam = 8000;
@@ -622,7 +622,7 @@ static void _print_stats_contam(int x, int y)
 static void _print_stats_hp(int x, int y)
 {
     int max_max_hp = get_real_hp(true, true);
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
         max_max_hp += get_real_mp(true);
 
     // Calculate colour
@@ -647,7 +647,7 @@ static void _print_stats_hp(int x, int y)
     // Health: xxx/yyy (zzz)
     CGOTOXY(x, y, GOTO_STAT);
     textcolor(HUD_CAPTION_COLOUR);
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
         CPRINTF(max_max_hp != you.hp_max ? "EP: " : "Essence: ");
     else
         CPRINTF(max_max_hp != you.hp_max ? "HP: " : "Health: ");
@@ -668,14 +668,14 @@ static void _print_stats_hp(int x, int y)
 #ifdef USE_TILE_LOCAL
     if (tiles.is_using_small_layout())
     {
-        if (you.species != SP_DJINNI)
+        if (you.species != SP_DJINNI && !igni_merge_hpmp())
             HP_Bar.vdraw(2, 10, you.hp, you.hp_max);
         else
             EP_Bar.vdraw(2, 10, you.hp, you.hp_max);
     }
     else
 #endif
-    if (you.species != SP_DJINNI)
+    if (you.species != SP_DJINNI && !igni_merge_hpmp())
         HP_Bar.draw(19, y, you.hp, you.hp_max);
     else
         EP_Bar.draw(19, y, you.hp, you.hp_max);
@@ -1404,7 +1404,7 @@ void draw_border(void)
 
     //CGOTOXY(1, 3, GOTO_STAT); CPRINTF("Hp:");
     CGOTOXY(1, mp_pos, GOTO_STAT);
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
         CPRINTF("Contam:");
     else
         CPRINTF("Magic:");
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 258bd9d..57b336b 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -1350,8 +1350,8 @@ int player_regen()
 
     // Compared to other races, a starting djinni would have regen of 4 (hp)
     // plus 17 (mp).  So let's compensate them early; they can stand getting
-    // shafted on the total regen rates later on.
-    if (you.species == SP_DJINNI)
+    // shafted on the total regen rates later on. Igni is also effected.
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
         if (you.hp_max < 100)
             rr += (100 - you.hp_max) / 6;
 
@@ -1520,6 +1520,9 @@ int player_res_fire(bool calc_unid, bool temp, bool items)
     if (you.species == SP_DJINNI)
         return 4; // full immunity
 
+    if (igni_resist_fire())
+        return 4;
+
     int rf = 0;
 
     if (items)
@@ -3698,7 +3701,7 @@ void level_change(int source, const char* aux, bool skip_attribute_increase)
         const int note_maxmp = get_real_mp(false);
 
         char buf[200];
-        if (you.species != SP_DJINNI)
+        if (you.species != SP_DJINNI && !igni_merge_hpmp())
         {
             sprintf(buf, "HP: %d/%d MP: %d/%d",
                     min(you.hp, note_maxhp), note_maxhp,
@@ -4616,7 +4619,7 @@ void dec_mp(int mp_loss, bool silent)
     if (mp_loss < 1)
         return;
 
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
         return dec_hp(mp_loss * DJ_MP_RATE, false);
 
     you.magic_points -= mp_loss;
@@ -4628,7 +4631,7 @@ void dec_mp(int mp_loss, bool silent)
 
 void drain_mp(int loss)
 {
-    if (you.species != SP_DJINNI)
+    if (you.species != SP_DJINNI && !igni_merge_hpmp())
         return dec_mp(loss);
 
     if (loss <= 0)
@@ -4660,7 +4663,7 @@ bool enough_hp(int minimum, bool suppress_msg, bool abort_macros)
     {
         if (!suppress_msg)
         {
-            mpr(you.species != SP_DJINNI ?
+            mpr(you.species != SP_DJINNI || !igni_merge_hpmp() ?
                 "You haven't enough vitality at the moment." :
                 "You haven't enough essence at the moment.");
         }
@@ -4678,7 +4681,7 @@ bool enough_hp(int minimum, bool suppress_msg, bool abort_macros)
 
 bool enough_mp(int minimum, bool suppress_msg, bool abort_macros)
 {
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
         return enough_hp(minimum * DJ_MP_RATE, suppress_msg);
 
     ASSERT(!crawl_state.game_is_arena());
@@ -4726,7 +4729,7 @@ void inc_mp(int mp_gain, bool silent)
     if (mp_gain < 1)
         return;
 
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
         return inc_hp(mp_gain * DJ_MP_RATE);
 
     bool wasnt_max = (you.magic_points < you.max_magic_points);
@@ -6807,7 +6810,7 @@ int player::res_fire() const
 
 int player::res_holy_fire() const
 {
-    if (species == SP_DJINNI)
+    if (species == SP_DJINNI || igni_resist_fire())
         return 3;
     return actor::res_holy_fire();
 }
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 791d783..b323918 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -210,6 +210,12 @@ static const char *_Sacrifice_Messages[NUM_GODS][NUM_PIETY_GAIN] =
         " pulsate% black.",          // unused
         " strongly pulsate% black.", // unused
     },
+    // Igni
+    {
+        " is slowly burnt up.",
+        " collapses into plasma.",
+        " is violently incinerated.",
+    },
     // Dithmenos
     {
         " slowly dissolves into the shadows.",
@@ -333,13 +339,20 @@ const char* god_gain_power_messages[NUM_GODS][MAX_GOD_ABILITIES] =
       "scry through walls",
       "Ashenzari helps you to reconsider your skills."
     },
+    // Igni
+    { "You are immune to all forms of fire, including holy and hellish.",
+      "Igni merges your magical reserves with your health.",
+      "",
+      "You cast spells for no hunger.",
+      ""
+    },
     // Dithmenos
     { "",
       "step into the shadows of nearby creatures",
       "You now sometimes bleed smoke when heavily injured by enemies.",
       "Your shadow now sometimes tangibly mimics your actions.",
       "transform into a swirling mass of shadows"
-    },
+    }
 };
 
 /**
@@ -457,6 +470,12 @@ const char* god_lose_power_messages[NUM_GODS][MAX_GOD_ABILITIES] =
       "scry through walls",
       "Ashenzari no longer helps you to reconsider your skills."
     },
+    // Igni
+    { "You feel hot.",
+      "Your health and magic split.",
+      "",
+      "You feel hungry."
+    },
     // Dithmenos
     { "",
       "step into the shadows of nearby creatures",
@@ -495,7 +514,8 @@ bool is_chaotic_god(god_type god)
     return god == GOD_XOM
            || god == GOD_MAKHLEB
            || god == GOD_LUGONU
-           || god == GOD_JIYVA;
+           || god == GOD_JIYVA
+      || god == GOD_IGNI;
 }
 
 bool is_unknown_god(god_type god)
@@ -659,7 +679,8 @@ string get_god_likes(god_type which_god, bool verbose)
     {
     case GOD_MAKHLEB:
     case GOD_LUGONU:
-        likes.push_back("you or your allies kill living beings");
+    case GOD_IGNI:
+   likes.push_back("you or your allies kill living beings");
         break;
 
     case GOD_TROG:
@@ -704,6 +725,7 @@ string get_god_likes(god_type which_god, bool verbose)
     case GOD_SHINING_ONE:
     case GOD_MAKHLEB:
     case GOD_LUGONU:
+    case GOD_IGNI:
         likes.push_back("you or your allies kill the undead");
         break;
 
@@ -726,6 +748,7 @@ string get_god_likes(god_type which_god, bool verbose)
     case GOD_SHINING_ONE:
     case GOD_MAKHLEB:
     case GOD_LUGONU:
+    case GOD_IGNI:
         likes.push_back("you or your allies kill demons");
         break;
 
@@ -2486,6 +2509,7 @@ string god_name(god_type which_god, bool long_name)
     case GOD_XOM:           return "Xom";
     case GOD_ASHENZARI:     return "Ashenzari";
     case GOD_DITHMENOS:     return "Dithmenos";
+    case GOD_IGNI:       return "Igni";
     case GOD_JIYVA: // This is handled at the beginning of the function
     case NUM_GODS:          return "Buggy";
     }
@@ -3298,6 +3322,7 @@ void excommunication(god_type new_god)
         _set_penance(old_god, 25);
         break;
 
+    case GOD_IGNI:
     case GOD_CHEIBRIADOS:
     default:
         _set_penance(old_god, 25);
@@ -3544,6 +3569,12 @@ bool player_can_join_god(god_type which_god)
         return false;
     }
 
+    if (which_god == GOD_IGNI
+        && (you.species == SP_DJINNI))
+    {
+        return false;
+    }
+
     return _transformed_player_can_join_god(which_god);
 }
 
@@ -3622,6 +3653,11 @@ void god_pitch(god_type which_god)
             simple_god_message(" does not accept worship from the ignorant!",
                                which_god);
         }
+   else if (which_god == GOD_IGNI)
+   {
+       simple_god_message(" doesn't think you'd benefit much.",
+                    which_god);
+   }
         else if (!_transformed_player_can_join_god(which_god))
         {
             simple_god_message(" says: How dare you come in such a loathsome"
@@ -3970,7 +4006,8 @@ bool god_likes_fresh_corpses(god_type god)
 
     return god == GOD_OKAWARU
            || god == GOD_MAKHLEB
-           || god == GOD_TROG;
+           || god == GOD_TROG
+      || god == GOD_IGNI;
 }
 
 bool god_likes_spell(spell_type spell, god_type god)
@@ -4182,10 +4219,12 @@ void handle_god_time(int time_delta)
                 lose_piety(1);
             break;
 
+   case GOD_IGNI:
         case GOD_SIF_MUNA:
             // [dshaligram] Sif Muna is now very patient - has to be
             // to make up for the new spell training requirements, else
             // it's practically impossible to get Master of Arcane status.
+       // Igni doesn't care about piety much either.
             if (one_chance_in(100))
                 lose_piety(1);
             break;
@@ -4244,6 +4283,7 @@ int god_colour(god_type god) // mv - added
         return YELLOW;
 
     case GOD_NEMELEX_XOBEH:
+    case GOD_IGNI:
         return LIGHTMAGENTA;
 
     case GOD_SIF_MUNA:
@@ -4308,6 +4348,7 @@ colour_t god_message_altar_colour(god_type god)
                (rnd == 1) ? LIGHTRED
                           : LIGHTBLUE;
 
+    case GOD_IGNI:
     case GOD_MAKHLEB:
         rnd = random2(3);
         return (rnd == 0) ? RED :
diff --git a/crawl-ref/source/skills2.cc b/crawl-ref/source/skills2.cc
index 03c4d1f..9aa0211 100644
--- a/crawl-ref/source/skills2.cc
+++ b/crawl-ref/source/skills2.cc
@@ -489,7 +489,7 @@ void calc_hp()
 {
     int oldhp = you.hp, oldmax = you.hp_max;
     you.hp_max = get_real_hp(true, false);
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_glowhunger())
         you.hp_max += get_real_mp(true);
     deflate_hp(you.hp_max, false);
     if (oldhp != you.hp || oldmax != you.hp_max)
@@ -498,7 +498,7 @@ void calc_hp()
 
 void calc_mp()
 {
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_glowhunger())
     {
         you.magic_points = you.max_magic_points = 0;
         return calc_hp();
diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc
index 4c0792d..5fbddbc 100644
--- a/crawl-ref/source/spl-cast.cc
+++ b/crawl-ref/source/spl-cast.cc
@@ -164,7 +164,7 @@ int list_spells(bool toggle_with_I, bool viewing, bool allow_preselect,
                               | MF_ALWAYS_SHOW_MORE | MF_ALLOW_FORMATTING,
                               text_only);
     string titlestring = make_stringf("%-25.25s", title.c_str());
-    string hungerstring = you.species == SP_DJINNI ? "Glow  " : "Hunger";
+    string hungerstring = (you.species == SP_DJINNI || igni_glowhunger()) ? "Glow  " : "Hunger";
 #ifdef USE_TILE_LOCAL
     {
         // [enne] - Hack.  Make title an item so that it's aligned.
@@ -347,7 +347,8 @@ int spell_fail(spell_type spell)
     // level, and only Dj already has such information (on the contam bar).
     // Other species would have to check their failure rates all the time
     // when at yellow glow.
-    if (you.species == SP_DJINNI)
+    // This also applies to Igni worshippers.
+    if (you.species == SP_DJINNI || igni_glowhunger())
     {
         int64_t contam = you.magic_contamination;
         // Just +25 on the edge of yellow glow, +200 in the middle of yellow,
@@ -810,7 +811,7 @@ bool cast_a_spell(bool check_range, spell_type spell)
         practise(EX_DID_MISCAST, spell);
 
     // Nasty special cases.
-    if (you.species == SP_DJINNI && cast_result == SPRET_SUCCESS
+    if ((you.species == SP_DJINNI || igni_glowhunger()) && cast_result == SPRET_SUCCESS
         && (spell == SPELL_BORGNJORS_REVIVIFICATION
          || spell == SPELL_SUBLIMATION_OF_BLOOD && you.hp == you.hp_max))
     {
diff --git a/crawl-ref/source/spl-miscast.cc b/crawl-ref/source/spl-miscast.cc
index 310ff3a..84d95dc 100644
--- a/crawl-ref/source/spl-miscast.cc
+++ b/crawl-ref/source/spl-miscast.cc
@@ -17,6 +17,7 @@
 #include "directn.h"
 #include "effects.h"
 #include "env.h"
+#include "godabil.h"
 #include "itemprop.h"
 #include "kills.h"
 #include "libutil.h"
@@ -1516,7 +1517,7 @@ void MiscastEffect::_divination_you(int severity)
             break;
         case 1:
             mpr("You lose your focus.");
-            if (you.magic_points > 0 || you.species == SP_DJINNI)
+            if (you.magic_points > 0 || you.species == SP_DJINNI || igni_merge_hpmp())
             {
                 drain_mp(3 + random2(10));
                 mprf(MSGCH_WARN, "You suddenly feel drained of magical energy!");
@@ -1532,7 +1533,7 @@ void MiscastEffect::_divination_you(int severity)
         {
         case 0:
             mpr("You lose concentration completely!");
-            if (you.magic_points > 0 || you.species == SP_DJINNI)
+            if (you.magic_points > 0 || you.species == SP_DJINNI || igni_merge_hpmp())
             {
                 drain_mp(5 + random2(20));
                 mprf(MSGCH_WARN, "You suddenly feel drained of magical energy!");
diff --git a/crawl-ref/source/state.cc b/crawl-ref/source/state.cc
index cf6d7ae..6812727 100644
--- a/crawl-ref/source/state.cc
+++ b/crawl-ref/source/state.cc
@@ -15,6 +15,7 @@
 #include "delay.h"
 #include "directn.h"
 #include "exclude.h"
+#include "godabil.h"
 #include "macro.h"
 #include "menu.h"
 #include "message.h"
@@ -259,7 +260,7 @@ bool interrupt_cmd_repeat(activity_interrupt_type ai,
             crawl_state.cancel_cmd_repeat("Magic restored.");
         else if (ai == AI_FULL_HP)
         {
-            string health = (you.species == SP_DJINNI ? "EP" : "HP");
+            string health = ((you.species == SP_DJINNI || igni_merge_hpmp()) ? "EP" : "HP");
             crawl_state.cancel_cmd_repeat(health + " restored");
         }
         else
diff --git a/crawl-ref/source/terrain.cc b/crawl-ref/source/terrain.cc
index 6f21ecd..1230a5d 100644
--- a/crawl-ref/source/terrain.cc
+++ b/crawl-ref/source/terrain.cc
@@ -1629,7 +1629,7 @@ static const char *dngn_feature_names[] =
 "altar_okawaru", "altar_makhleb", "altar_sif_muna", "altar_trog",
 "altar_nemelex_xobeh", "altar_elyvilon", "altar_lugonu",
 "altar_beogh", "altar_jiyva", "altar_fedhas", "altar_cheibriados",
-"altar_ashenzari", "altar_dithmenos",
+"altar_ashenzari", "altar_igni", "altar_dithmenos",
 
 "fountain_blue", "fountain_sparkling", "fountain_blood",
 #if TAG_MAJOR_VERSION == 34
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index e1fe008..7e985e8 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -445,6 +445,7 @@ static tileidx_t _tileidx_feature_base(dungeon_feature_type feat)
         return TILE_DNGN_ALTAR_FEDHAS;
     case DNGN_ALTAR_CHEIBRIADOS:
         return TILE_DNGN_ALTAR_CHEIBRIADOS;
+    case DNGN_ALTAR_IGNI: // FIXME FIXME FIXME
     case DNGN_ALTAR_ASHENZARI:
         return TILE_DNGN_ALTAR_ASHENZARI;
     case DNGN_ALTAR_DITHMENOS:
diff --git a/crawl-ref/source/tileweb.cc b/crawl-ref/source/tileweb.cc
index 3b689f1..9c539b5 100644
--- a/crawl-ref/source/tileweb.cc
+++ b/crawl-ref/source/tileweb.cc
@@ -698,17 +698,17 @@ void TilesFramework::_send_player(bool force_full)
     _update_int(force_full, c.hp, you.hp, "hp");
     _update_int(force_full, c.hp_max, you.hp_max, "hp_max");
     int max_max_hp = get_real_hp(true, true);
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
         max_max_hp += get_real_mp(true); // compare _print_stats_hp
     _update_int(force_full, c.real_hp_max, max_max_hp, "real_hp_max");
 
-    if (you.species != SP_DJINNI)
+    if (you.species != SP_DJINNI && !igni_merge_hpmp())
     {
         _update_int(force_full, c.mp, you.magic_points, "mp");
         _update_int(force_full, c.mp_max, you.max_magic_points, "mp_max");
     }
 
-    if (you.species == SP_DJINNI)
+    if (you.species == SP_DJINNI || igni_merge_hpmp())
     {
         // Don't send more information than can be seen from the console HUD.
         // Compare _print_stats_contam and get_contamination_level

Tartarus Sorceror

Posts: 1888

Joined: Saturday, 9th July 2011, 20:57

Post Saturday, 15th February 2014, 23:48

Re: Lava Orcs and Djinni as Divine Abilities

Velikolepni wrote:* : Gain rF+. Active power: "Conduit": the player becomes linked directly to the primal flame. This ability remains active until switched off. While active
1) all creatures killed have their souls consumed by the primordial flame - this gives piety. Since their souls are destroyed, Death channel doesn't work while "channel is active"
2) the player has rC-
3) no regeneration ( or some similar drawback),
4) no reading of scrolls
5) the player gains the fire aura of lava orcs, damage scales with piety (optional, the size of the aura increases with piety). The aura makes some noise and can generate steam clouds when in contact with water.
6) no hunger, but using a lot of magic leads to contamination (like the current Djinn mechanic)
7) at **** piety, the conduit enchances spellpower like a robe of the archmagi
8) (optional, at max piety give some hellfire resistance)
9) (optional, at high piety, say **** or more, works like the ignite blood mutation of demonspawn)
Activation costs some piety. Deactivation leaves the player exhausted preventing rapid reactivation.


Conduit feels like it should be a temporary form. It also kind of feels like throwing most of the features of Djinn and Lava Orcs into one power all at once. Powers 1-5 listed might suffice on their own.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Monday, 17th February 2014, 15:04

Re: Lava Orcs and Djinni as Divine Abilities

The criticism against Dj that I've heard the most often is that they have way too many features. So taking them all and adding LO doesn't sound like a great idea to me.
The most promising proposal I've heard about Dj is to keep only the EP feature (which seems to be the most interesting one) and remove everything else. The replacement of hunger by glow seems pretty bad in general and unfitting for a god anyway.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

For this message the author galehar has received thanks: 2
godzilla, Wahaha
User avatar

Crypt Cleanser

Posts: 720

Joined: Friday, 7th January 2011, 01:43

Post Monday, 17th February 2014, 15:34

Re: Lava Orcs and Djinni as Divine Abilities

As somebody posted above, interesting, defining traits are:
- a) Essence pool
- b) Some abilities/resistances TBD conditioned by tension/temperature/emotional state/concentration... whatever.
- c) Finally, contamination instead of hunger (does it really work on current Dj or does it need to be reworked?). Maybe it's fine as a collateral effect for high XP and high piety characters...

Although the initial proposal has been oriented towards the fire theme, some other ideas like magic radiation can work, just imagine that the god imbues you with such a great power that melds your mind and body into essence and you can barely manage it so you modify your abilities or resistances depending on tension.
duvessa wrote:Christ, you can't remove anything without tavern complaining about it.
User avatar

Dungeon Master

Posts: 291

Joined: Wednesday, 6th June 2012, 18:59

Post Monday, 17th February 2014, 17:04

Re: Lava Orcs and Djinni as Divine Abilities

Things that I do not think should not be in any proposals that arise from this:
  • Fire or hellfire immunity - too powerful.
  • Glow-as-hunger - we already have enough ways to stave off / deal with hunger and/or forms of hungerless game play.
  • Essence as Dj currently implements it (the simplified version of cast-from-HP *might* be okay) - too many special cases, and leads to abuses like demolishing the game as a high HP species with a basically limitless magic pool.

For this message the author sgrunt has received thanks: 2
cerebovssquire, dck

Halls Hopper

Posts: 87

Joined: Wednesday, 14th August 2013, 17:40

Post Monday, 17th February 2014, 18:36

Re: Lava Orcs and Djinni as Divine Abilities

sgrunt wrote:Things that I do not think should not be in any proposals that arise from this:
  • Fire or hellfire immunity - too powerful.
  • Glow-as-hunger - we already have enough ways to stave off / deal with hunger and/or forms of hungerless game play.
  • Essence as Dj currently implements it (the simplified version of cast-from-HP *might* be okay) - too many special cases, and leads to abuses like demolishing the game as a high HP species with a basically limitless magic pool.

I can see that. Fire immunity/glow as hunger are out of my version. I don't like invocable abilities and they seem counterproductive to the point of this god. Maybe random resistances. The idea of a god with (pseudo)random abilities has been thrown around a lot for a while now.
Essence really appeals to me, though; maybe it could be an invocable ability sort of like guardian spirit in reverse (for a short duration)-- spellcasting takes from both HP and MP. Alternatively, EP could be similar to what it is now (unfortunately w/special cases), but as EP drops, you get skill and attribute penalties.
In any case, here's a revised proposal:

Igni the Fiery
Upon joining- nothing
* rF+ OR rC+
** (rPois OR rElec) plus Elemental Brand- Low piety invocation branding your weapon with one of (flaming, freezing, shocks, venom)
*** rN+ AND one of the resistances NOT already granted above.
**** Nothing.
***** Some sort of essence/cast-from-HP mechanic
****** Nothing.

Is this any more viable?

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 33 guests

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.