This file is intended to describe the special magic and combat rounds which exit in the Merentha Lib. In most MUDs you will have a command for fighters called 'whirl'. This command will have a fighter whirl and hit his enemy, usually in the same round they typed the command. This, although it works, does not leave the defendant any chance to escape. The special magic and combat rounds are a way to give the target a fighting chance. Both the special magic and combat rounds work the same and so I will only describe how the combat rounds work, since the same is true for magic. First the functions: Magic Combat set_casting() set_special() set_casting_damage() set_special_damage() set_magic_casting() set_combat_special() Now a description of how it all works. You will create a command in /cmds/abilities/ and I've it a name, for example whirl.c. This file will then check if the caster is able to use this command and so forth, and from inside this file the functions set_special(), set_special_damage() and set_combat_special() are called. Notice that there is no set_target() function. So if you set your combat special to hit in 3 rounds time and by that time the target has changed you will hit your new target. Fortunalty the way the code is this shouldn't happen, but it could. This may be upgraded in the next system to include a set_target(). Also note that there is no set for defense or anything like that. The reason being is that I have intentionally left this for the whirl.c command. Though there are general formulas used for normal combat rounds to determin hits/misses and damage it is logical to assume that these formulas would not be used to judge hits from special combat rounds. So now..... Lets say in your whirl.c command you have determined that the whirl will take 1 round to hit, do 25 points of damage. You will then add something similar to: message("skill", "You whirl at your target.", this_player()); this_player()->set_special(1); this_player()->set_special_damage(25); this_player()->set_combat_special( ({ "You hit your target.", "You get hit with a whirl.", this_player()->query_cap_name()+" hits his target." }) ); Then 1 round later your 25 hp hit will occure on your target and the messages will be displayed. You will of course want to display messages to the target and others in the room initally like the one you displayed before the set_special() call. If you decide your whirl misses I would suggest still using these calls, just set the damage to 0 instead of 25 and a default miss message will be displayed. I hope this helps. Magic is done the exact same way. I have placed some examples in /cmds/abilities/ and /cmds/spells/ to show in greater detail some ways to use these calls.