i was just posting in another thread about multi position levers, and decided to search the forum for suggestions related to it. surprisingly i did not find anything. in the interest of getting it down in writing here it is.
all levers should be multi-position levers. when constructing a lever you would make it out of X amount of mechanisms, one for each active state. for example, a single mechanism lever would have one active state, and would act like levers currently do, an on and an off. a 2 mechanism lever would have 2 active states, an all off state, and an all on state (four total states). this could act like the toggle switch that everyone keeps asking for. 3 mechanisms would have 3 active states, and all off and an all on. each active state would be an attachment point for things, with attachment points acting like current levers do (i.e. when one bridge attached to that point is up, all bridges attached to that point are up).
when attaching things to the lever it would be important for a player to attach it to the correct position, but it would allow much easier control of complex mechanisms. this would of course have to coincide with more detail of what was attached and what state it activates on.
i think this would allow toady to retain the old lever code, it would just require him to repackage it into a new lever building.
(if this has been sugested before pleas use your superior search-fu and post a linky here.)
EDIT:
reading lots of other threads about this.
1. re: allowing levers to link to other levers, and power to levers.
when a lever gets a signal from another lever or power source, it increments its state by one, to the next available state. available states can be selected by players, so a 3 position lever with state all off, 1 and 3 selected would cycle, in order, between those states. position 2 and all on would have to be manually set by a dorf. a signal is measured by a positive change in state, from off to on, and only one shift is allowed per state change. so a lever would only change state once when power goes from off to on, or when its controlling lever attachment goes from off to on.
2. allowing multiple positons to be choosen.
if a player select an option to make the lever a single-pull, multi-throw lever they can select multiple positions to be on at the same time. each additional on state would require an extra mechanism to be available. for example, a lever with 5 positions would require 5 mechanisms normally. i you want to make any 2 of those positions active at the same time that would require 6 mechanisms, any 3 on simultaneously would require 7 mechanisms, etc. this should also invalidate the above all on state, so that a "all on state" for a five position lever (6 positions including "all off") would require 9 mechanisms. to mesh this with the above point players should be able to designate "virtual" positions to be cycled though, with their corresponding on states designated there. for balance reasons i would have each new virtual position also require a mechanism.