All pastes #421396 Raw Edit

Miscellany

public cpp v1 · immutable
·published 2007-04-02 20:20 UTC
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