jeremygurr / dcssca

Dungeon Crawl Stone Soup: Circus Animals fork
11 stars 8 forks source link

Spells which should cost a % of your max mana and last forever #336

Open yrmvgh opened 8 years ago

yrmvgh commented 8 years ago

Summoning and transmutations being pseudo-infinite (or at least, infinite when your skill is high enough) makes me wish more spells could work that way.

Darkness

Darkness is a spell that not only is tedious to re-cast, but unlike Summon Small Mammal (or most summons), it retains its value forever. It's equally useful when you're trying sneak up on a lich as it is when you're trying to stealth-whack a whole pile of yaks that you're not afraid of.

As such, flat mana costs don't make sense for it, because it's a worthy spell when you first get all the way through Zigs.

The major balancing factor for Darkness is that it's super tedious to cast all the time, so you tend not to make as much use of it as you could or should if you were playing "optimally" with all the tiresome little actions and luring behavior that optimal play entails.

And that part needs to go!

What other spells can you think of that might deserve such a treatment - spells which you could maintain indefinitely but sometimes don't bother, even though they retain their value through Extended?

yrmvgh commented 8 years ago
jeremygurr commented 8 years ago

all of these should reapply the spell failure chance as they are used (like transmutations do), to add the needed balance.

Sandman25DCSS commented 8 years ago

Haste is already fixed by stamina cost. I like how Ozocubu's Armour was fixed in vanilla crawl, maybe we can give a significant feedback to Darkness and other spammable spells too. Darkness might slowly drain stamina IMHO, it is somewhat similar to Care mode.

jeremygurr commented 8 years ago

How was ozocubu's armour fixed in vanilla?

Sandman25DCSS commented 8 years ago

Ozocubu's Armour decreases movement speed by 0.1 as long as it is active so it is much harder to escape.

Sandman25DCSS commented 8 years ago

So casting the spell while exploring is not a good idea, it is used before fights only and even then not before every fight.

jeremygurr commented 8 years ago

I can see how that works in vanilla crawl, but I think we can do better here.

I'm really liking this philosophy of already having buffs in place before a battle. I've played several summoners and transmuters lately and it is so nice to just have the form / summons in place for several battles in a row (unless I'm trying too difficult of a transmutation spell, then it's annoying, as it should be I think).

I think this idea can be abstracted out in the code and applied more generally to many different spells / buffs in the game. The abstraction is a little work, but once it's in place it will be easy to apply it to whatever spells we want. Maybe we can even bring back the ice shield spell.

We should distinguish between two main types of buffs: temporary (should never always be on, like berserk, invisibility, haste), and persistent (like darkness, ozo armour, transmuted forms).

Temporary buffs stay on as long as you have stamina to support them.

Persistent buffs freeze part of the magic pool, and have a chance to fail whenever they are used according to the current spell failure rate (so spellcasters can't just put on heavy armour after they have buffed up). So the size of the magic pool is a major limiting factor to how many buffs a player can have active at a time. Half of the MP is returned when the buff fails, or all MP is returned if the player deactivates it themselves.

So we need a standard way to deactivate these. I don't want to create a new ability for each spell. Maybe we need a new command here. We have our cast spell command, maybe we can have an uncast spell command. The unsummon and revert form commands could then be taken away from the ability list, making that less cluttered. Maybe control Z could be bound to this command by default.

yrmvgh commented 8 years ago

^z is cute, I like it. Undo that spell!

Sandman25DCSS commented 8 years ago

Sounds interesting indeed.

yrmvgh commented 8 years ago

Another option for more powerful stuff that's actually worth spending a combat turn on normally (stuff like Battlesphere and Ring of Fire)

When it would normally expire, it instead "flickers" for 1 to 2 turns, charges you mana, and then kicks back on.

Your battlesphere is recharging... Your battlesphere recharges its batteries! (You spend 5 mana)

Your Ring of Flames fliickers, then gutters out, leaving only smoke... Your Ring of Flames reignites! (You spend 7 mana)

Why should it go down for 2 turns? Because you're not having to spend the turn yourself, so it skips a turn for you and a turn for itself. But 2 turns is a long time, maybe 1 is enough.

Either way, you can manually recast it to pay the turn cost yourself instead and keep it running.

yrmvgh commented 8 years ago

Gorgo also had an idea where RoF could be cast out of combat, and it would last indefinitely until you entered combat (aka the game's Tension is non-zero), but then start expiring normally at that point. That way you could macro it to your character's rest and autoexplore buttons and save a ton of keystrokes.

G0rg0 commented 8 years ago

I am a big fan of anything that reduces the repetitive gameplay. Ideally, everything should be as easy to manage as rmsl/dmsl, whatever the underlying mechanism is. It would definitely need to be balanced so as to not be overpowered, but just think how nice those two buffs are to manage: pretty much set and forget.

yrmvgh commented 8 years ago

I think I like your "tickdown only in combat" idea best for RoF, but the "battery recharging" best for battlesphere. Both of them could potentially "only work in power mode" or "eat stamina", but there's a limit to the number of spells that can simultaneously lean on those mechanics.

You can just reserve % mana for them, too, but that feels like a better mechanic for low-impact, "background noise" spells. There's something to be said for consistent mechanics that work across all Spellcasting stuff, though. Consistency over appropriateness/flavor is certainly the direction crawl tends to go.