/* Do not remove the headers from this file! see /USAGE for more info. */
void simple_action(string msg, array obs...);
varargs mixed *action(mixed *, mixed, object, object);
void inform(mixed *, mixed, object);
string query_combat_message(string);
string damage_message(int percent)
{
switch (percent)
{
case 0: return "!none";
case 1: return "!dam1";
case 2..3: return "!dam2";
case 4..5: return "!dam3";
case 6..9: return "!dam4";
case 10..14: return "!dam5";
case 15..24: return "!dam6";
case 25..49: return "!dam7";
case 50..79: return "!dam8";
case 80..100: return "!dam9";
default: return "!dam10";
}
}
void handle_message(string mess, object target, object weapon, string limb)
{
array combat_who, messages;
if (mess[0] == '!')
{
string tmp;
if (weapon)
tmp = weapon->query_combat_message(mess[1..]);
else
tmp = query_combat_message(mess[1..]);
if (!tmp)
{
simple_action("$N $vare puzzled because $n $vhave no message for '"+mess[1..]+"'.");
LBUG(mess);
LBUG(target);
LBUG(weapon);
return;
}
mess = tmp;
}
combat_who = ({ this_object(), target });
if(!limb)
limb = target->query_random_limb();
messages = action(combat_who, mess, weapon, target->query_weapon(), limb);
inform(combat_who, messages, environment());
}