/* $Id: weaponguidedmissile.cpp,v 1.2 2005/10/16 17:53:05 pohlt Exp $ */ #include "weaponguidedmissile.hpp" #include "world.hpp" #include "avatar.hpp" #include "stationarygun.hpp" /**********************************************************/ bool WeaponGuidedMissile::reallyShoot( World* world, Avatar* avatar, const StationaryGun* gun ) const { // place missile GuidedMissile* const homing = dynamic_cast( world->newObject( GUIDED_MISSILE )); if( gun ) { CHECK( false, "WeaponGuidedMissile::reallyShoot: weapon is not prepared for gun mode\n" ); return false; } else { return homing->initialize( // initial position of the missile avatar->placeBesideCollRect( homing->getCollRectX() + homing->getCollRectWidth() - 1, -homing->getCollRectX(), homing->getCollRectY() + homing->getCollRectHeight() - 1, -homing->getCollRectY() ), // initial velocity avatar->getRandomizedAimingVector( 2 )*0.25 + avatar->getVel(), // owner avatar->getPlayer()->getPlayerID(), // number of shrapnels, damage 200, 35, // initial thrust avatar->getRandomizedAimingVector( 2 )*60.0 ); } } /**********************************************************/