The following is a living document that will be shared with the game as the combat system is designed.
The goal of the WCNH combat system is to provide a reliably accurate translation of a traditional tabletop experience into the MUSH environment. At the same time, we want to accomodate and take advantage of the unique opportunities that the online and text-based environment offers.
- Combat Scene - An RP scene in a specific room that involves combat or competitive action of some sort.
- Participant List - A list of people in the current room who are participants in the ongoing combat scene.
- Game Master (GM) - An administrator who is GMing the scene. In the future, consider possibly allowing PHers or even regular players to GM their own scenes.
- Combat Action - A coded command, such as 'attack' or 'shoot' that accompanies a pose and actually "runs" the combat code.
A Combat Scene
The combat scene should evolve in a procedural fashion as follows:
- Combat is initiated in the room.
- Everyone in the room is automatically added as a combatant.
- The pose/action order is generated by way of some initiative roll.
- GMs in the room are not added to the list, but can insert themselves after the order is established.
- Everyone in the room is told who's turn it is to pose/act first.
- GM modifiers may be declared.
- GMs can give a universal +1/-1 to a participant's offensive or defensive capabilities.
- Each participant goes in turn.
- On their turn, user poses and uses a combat action (attack, shoot, etc.).
- The next person cannot use a combat action until the previous person has used an action.
- The scene can advance to the next person if either the person manually opts to skip (because they're not taking an action, etc.) or the GM manually skips someone.
- Attacks of any kind use a straight up compared skill/attrib check to determine if it's a hit or miss.
- Attackers can declare a targetted action (i.e. called shot) to the target's body, resulting in raised difficulty. Otherwise, damage is inflicted to a random area.
- Being knocked uncon/killed removes a user from the list order.
- A participant can remove themselves from the participant list at will.
- Combat action commands don't work unless combat has been initiated in the room and the user is in the participant list.
- GMs can pause the scene, preventing anyone from using action commands.
- Scene continues until there is only 1 person left in the participant list, or a GM manually ends the scene.
- Participants cannot leave the room until they are removed from the participant list.
Misc. UI Notes
- Attack/shoot/etc. use whatever weapon is "wielded". Wield/unwield are not combat action commands and can be used freely. It's up to the GM to decide if participants can wield/unwield in the midst of combat.
- Reloading is not a combat action command. It's up to the GM to decide if someone can reload in the midst of combat.
Code Check List
- Attack/shoot/etc. calls a generic combat action method that does the error checking and passes it off to a method in the Combatant object.
- Combat attack methods only determine hit or miss. If it's a hit, call the weapon type's attack/shoot method which in turn hands damage infliction off to the Anatomy module.
- Wield/unwield and reload commands, ammunition handling.
- Finish implementing unconscious/death handling.
- Fully implement Steps 1 and 4 of the scene progression. Implement all of Step 3 except for called shots.
- Add GM modifiers in Step 2.
- Add support for called shots in Step 3.
- Consider additional "special" combat actions.