rendered paste body// oppositeFlag.cpp : Defines the entry point for the DLL application.//#include "bzfsAPI.h"BZ_GET_PLUGIN_VERSIONclass oppositeFlagHandler : public bz_EventHandler {public: virtual void process( bz_EventData *eventData );};oppositeFlagHandler oppositeFlagHandler;BZF_PLUGIN_CALL int bz_Load ( const char* /*commandLine*/ ){ bz_debugMessage(4,"oppositeFlag plugin loaded"); bz_registerEvent( bz_eFlagGrabbedEvent, &oppositeFlagHandler ); return 0;}BZF_PLUGIN_CALL int bz_Unload ( void ){ bz_removeEvent( bz_eFlagGrabbedEvent, &oppositeFlagHandler ); bz_debugMessage(4,"oppositeFlag plugin unloaded"); return 0;}void FlagOnSpawnHandler::process( bz_EventData *eventData ) { bz_FlagGrabbedEventData *grabData = (bz_FlagGrabbedEventData*) eventData; int grabFlag = grabData->flagType; int grabber = grabData->playerID; int bef = grabber - 1; int aft = grabber + 1; if( grabFlag == "Guided Missile" ) { while(bef > 0) { bz_givePlayerFlag( bef, "ST", true ); bef = bef-1; } while(bz_PlayerRecord *myPlayer = bz_getPlayerByIndex( aft ); myPlayer->callsign != NULL) { bz_freePlayerRecord( myPlayer ); bz_givePlayerFlag( aft, "ST", true ); aft = aft+1; } }}// Local Variables: ***// mode:C++ ***// tab-width: 8 ***// c-basic-offset: 2 ***// indent-tabs-mode: t ***// End: ***// ex: shiftwidth=2 tabstop=8