|
From: Bernt H. <bth...@us...> - 2007-02-25 15:51:50
|
Update of /cvsroot/bzflag/bzflag/src/bzfs In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7006/src/bzfs Modified Files: Tag: v2_0branch bzfs.cxx Log Message: Add bz_eFlagTransferredEvent to intercept thief steals Index: bzfs.cxx =================================================================== RCS file: /cvsroot/bzflag/bzflag/src/bzfs/bzfs.cxx,v retrieving revision 2.199.2.67 retrieving revision 2.199.2.68 diff -w -u -r2.199.2.67 -r2.199.2.68 --- bzfs.cxx 25 Feb 2007 15:48:23 -0000 2.199.2.67 +++ bzfs.cxx 25 Feb 2007 15:51:47 -0000 2.199.2.68 @@ -3727,10 +3727,22 @@ if (!toData) return; + bz_FlagTransferredEventData eventData; + + eventData.fromPlayerID = fromData->player.getPlayerIndex(); + eventData.toPlayerID = toData->player.getPlayerIndex(); + eventData.flagType = NULL; + eventData.action = eventData.ContinueSteal; + + worldEventManager.callEvents(bz_eFlagTransferredEvent,&eventData); + + if (eventData.action != eventData.CancelSteal) { int oFlagIndex = toData->player.getFlag(); if (oFlagIndex >= 0) zapFlag (*FlagInfo::get(oFlagIndex)); + } + if (eventData.action == eventData.ContinueSteal) { void *obufStart = getDirectMessageBuffer(); void *obuf = nboPackUByte(obufStart, from); obuf = nboPackUByte(obuf, to); @@ -3743,6 +3755,7 @@ obuf = flag.pack(obuf); broadcastMessage(MsgTransferFlag, (char*)obuf - (char*)obufStart, obufStart); + } break; } |