/*
....[@@@..[@@@..............[@.................. MUD++ is a written from
....[@..[@..[@..[@..[@..[@@@@@....[@......[@.... scratch multi-user swords and
....[@..[@..[@..[@..[@..[@..[@..[@@@@@..[@@@@@.. sorcery game written in C++.
....[@......[@..[@..[@..[@..[@....[@......[@.... This server is an ongoing
....[@......[@..[@@@@@..[@@@@@.................. development project. All
................................................ contributions are welcome.
....Copyright(C).1995.Melvin.Smith.............. Enjoy.
------------------------------------------------------------------------------
Melvin Smith (aka Fusion) msmith@falcon.mercer.peachnet.edu
MUD++ development mailing list mudpp-list@spice.com
------------------------------------------------------------------------------
pc_combat.cc
*/
#include "string.h"
#include "llist.h"
#include "room.h"
#include "random.h"
#include "combat.h"
#include "pc.h"
#include "global.h"
// This is just preliminary crap. Testing of interfaces, etc.
// No real combat code here yet.
void PC::do_wield( String & arg )
{
Object * obj;
String arg1;
String arg2;
if( !arg )
{
out( "Wield what?\n\r" );
return;
}
arg.startArgs();
arg1 = arg.getArg();
if( !( obj = getObjInv( arg1 ) ) )
{
out( "You don't seem to have the '" );
out( arg1 );
out( "'\n\r" );
return;
}
// Add support for dual wield skill later.
// the code is already in place --Fusion *ZZZZZ*
if( getObjWear( EQ_WIELD_R ) )
{
out( "You are already wielding something in your right hand.\n\r" );
return;
}
out( "You grab " );
out( obj->getShort() );
out( " and wield it.\n\r" );
wield( obj, 0 );
}
void PC::do_kill( String & arg )
{
Char * victim;
int dt = -1;
if( !arg )
{
out( "Kill who?\n\r" );
return;
}
if( !( victim = in_room->getChar( arg ) ) )
{
out( "Nobody here by that name.\n\r" );
return;
}
String str;
str << shortdesc << " screams 'BANZAII' and attacks " << victim->getShort()
<< "!!\n\r";
addAttack();
in_room->outAllCharExcept( str.chars(), this, victim );
victim->out( shortdesc );
victim->out( " screams 'BANZAII' and attacks you!!!\n\r" );
out( "You scream 'BANZAII' and attack!!!\n\r" );
attack( victim, dt );
// Now check for victim, in case the attack killed him.
if( fighting )
fighting->setFighting( this );
// Add a speed check here.
// Chars with VERY fast speed will do an instant retaliation
}