From: Jeff M. <jef...@us...> - 2005-05-18 05:56:43
|
Update of /cvsroot/bzflag/bzflag/src/bzfs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22482/src/bzfs Modified Files: CustomBase.cxx CustomBase.h Log Message: add oncap option to bases to automaticly define an event based world weapon when that base's flag is captured. Index: CustomBase.cxx =================================================================== RCS file: /cvsroot/bzflag/bzflag/src/bzfs/CustomBase.cxx,v retrieving revision 2.1 retrieving revision 2.2 diff -w -u -r2.1 -r2.2 --- CustomBase.cxx 17 Jan 2005 23:46:27 -0000 2.1 +++ CustomBase.cxx 18 May 2005 05:56:34 -0000 2.2 @@ -25,6 +25,9 @@ rotation = 0.0f; size[0] = size[1] = BZDB.eval(StateDatabase::BZDB_BASESIZE); color = 0; + + trigerWorldWep = false; + worldWepType = "SW"; } @@ -33,7 +36,14 @@ input >> color; if ((color < 0) || (color >= CtfTeams)) return false; - } else { + } + else if (strcmp(cmd, "oncap") == 0) + { + trigerWorldWep= true; + input >> worldWepType; + } + else + { if (!WorldFileObstacle::read(cmd, input)) return false; } @@ -46,6 +56,9 @@ float absSize[3] = { fabsf(size[0]), fabsf(size[1]), fabsf(size[2]) }; BaseBuilding* base = new BaseBuilding(pos, rotation, absSize, color); groupdef->addObstacle(base); + + if (trigerWorldWep) + worldEventManager.addCapEvent(color,new WorldWeaponGlobalEventHandaler(Flag::getDescFromAbbreviation(worldWepType.c_str()), pos, rotation, 0)); } // Local variables: *** Index: CustomBase.h =================================================================== RCS file: /cvsroot/bzflag/bzflag/src/bzfs/CustomBase.h,v retrieving revision 2.1 retrieving revision 2.2 diff -w -u -r2.1 -r2.2 --- CustomBase.h 17 Jan 2005 23:46:27 -0000 2.1 +++ CustomBase.h 18 May 2005 05:56:34 -0000 2.2 @@ -33,6 +33,8 @@ protected: int color; + bool trigerWorldWep; + std::string worldWepType; }; #endif /* __CUSTOMBASE_H__ */ |