Name dcss:brainstorm:effect: levitation
Summary A radical redesign of levitation.
Further information Inspired by SpaceRL. The effect on movement is the basis for a new terrain type and two branch ideas: Floating Rocks and a Hell called the_hanging_gardens.
Added by evktalo
Added on 2010-04-03 14:50

The basic idea is to change levitation into uncontrollable floating. You cannot change your direction while levitating, unless you have something to hold on to and creep along to or spring away from. You can do any actions, but you still keep going to the direction. Ctrl+direction lets you attack, for instance. Play SpaceRL to see how it would approximately work.

When casting/evoking/drinking levitation, you are prompted for a direction that you'll start floating towards. Answering '.' makes you hover still. To change your direction mid-air, you can also apply levitation again, and you'll be prompted for the new direction.

You can hold onto walls that are next to you in a cardinal direction (holding on to a “corner” that is in a diagonal direction is not possible). When you move next to a wall you can hold on to, you stop moving to the direction and get full control of your movement (as long as you stay next to a wall). However, your direction is not truly reset until you touch the ground. If you have just moved next to a wall, and the wall is disintegrated, you keep going to the direction. This is so that the player is never stranded after colliding with something.

If you move next to a monster, you still keep drifting (you do not stop as if it were a wall). You do get the opportunity to use it for springing. If you bump into a monster, your direction is not reset. If the monster moves out of your way or is killed, you keep going to the direction you were going when you were stopped.

This makes levitation more difficult to use to cross over terrain. On the other hand, it makes possible to use it for “strafing”. For instance you can levitate away from the enemy while firing bow or spells at it. Thus, uncontrolled movement speed while levitating should be on the slow side. Controlled flight will probably become more desirable. OTOH, it'll become handy to stop flying and fall back on levitating, so you can strafe-drift.

The drifting while levitating shouldn't spend the actors turns. As in the above, the drifting should be slow that if you drift backwards and fire at an advancing enemy, it can catch up. So, the drifting and your turns can be “overlapping” - you could for instance do three attacks while the drift moves you two squares to the direction. This probably has all sorts of implementation complexities. I can especially imagine a situation where you want to wait exactly until the point you have drifted to the next square.

Monsters that move by levitation are not changed by this proposal. We could give some monsters the Levitation spell though, which would work like the above.

Some ASCII illustrations

1 ..###  2 ..###  3 ..###
  ...#.    ...#.    ..X#X
  .@->.    ...@.    ..x@x
  .....    .....    ..xxx
  .....    .....    .....
  1. You are levitating and drifting to the direction indicated by the arrow. You cannot change your direction without re-levitating.
  2. The wall to the north is in a cardinal direction next to you. Your drifting is stopped.
  3. You can move to any of the spots marked with 'x' or 'X'. If you move to a spot marked with 'x', you begin uncontrollable drifting again. Moving to an 'X', you are holding onto a wall and do not drift.
1 .....  2 .....  3 .....  4 .....
  ..H..    ..H..    .xHx.    ..H..
  .@->.    ..@->    .x@x.    ...@->
  .....    .....    .xxx.    .....
  .....    .....    .....    .....

Here's a character drifting past a hippogriff.

  1. The character is again drifting to the direction indicated with the arrow.
  2. Unlike with walls, you still keep drifting.
  3. You do have an opportunity to change your direction by using the monster as a springhold, to any of the directions represented by the small 'x'. You will start drifting towards that direction (no stopping like with walls).
  4. Lets assume you decided to spend the turn hitting the hippogriff. You have now drifted another square into the direction you were going.
1 .....  2 .....  3 .....  4 .....
  .....    .....    .....    .....
  @->H.    ..@H.    ..@%.    ...@->
  .....    .....    .....    .....
  .....    .....    .....    .....

One more illustration to show what happens when a monster blocks your direction.

  1. You are moving towards the hippogriff.
  2. Hippogriff blocks your direction. It is not automatically attacked or anything; you just won't drift into the direction for as long as it's there. You could use it as a springhold.
  3. The hippogriff is slain..
  4. ..and the drifting may continue.

Levitate Other and cool stuff like that

This change would make it possible to give the player and monsters offensive/defensive Levitate Other -style powers.

A simple Levitate Other could be used to:

  • Levitate others towards you.
  • Levitate others away from you.
  • Levitate others towards water/lava and hope it runs out just in time.
    • Quite possibly too cruel and/or powerful.
    • Possible abuse case: levitating others over water/lava and surrounding with summons such as to make escape difficult until it runs out. Alternatively, levitate other over a large pool, and Fly/Swift yourself, attempt to engage in combat, and stall attempts to escape for until it runs out; come to think of it, this is pretty much a death sentence for any non-amphibious uniques or the such in the Shoals (or the player, if he or she is not merfolk and lacks any way of extending or controlling it and encounters a mean unique with it). — MrMisterMonkey 2010-06-15 09:09
  • Make others stay still in the air.

An area of effect -type effect could also be envisioned: Mass Lift / Antigravity, which levitates everyone else upwards in LOS.

Logged in as: Anonymous (VIEWER)
dcss/brainstorm/effect/levitation.txt · Last modified: 2011-12-21 20:55 by XuaXua
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki