game.processGameEvent(new GameAttackEvent(this,(AttackAction)ea));
    protected void receiveAttack(Packet c) {        Vector vector = (Vector) c.getObject(0);        boolean charge = c.getBooleanValue(1);        boolean addAction = true;        for (Enumeration i = vector.elements(); i.hasMoreElements();) {            EntityAction ea = (EntityAction) i.nextElement();            int entityId = ea.getEntityId();            if (ea instanceof TorsoTwistAction && game.hasEntity(entityId)) {                TorsoTwistAction tta = (TorsoTwistAction) ea;                Entity entity = game.getEntity(entityId);                entity.setSecondaryFacing(tta.getFacing());            } else if (ea instanceof FlipArmsAction && game.hasEntity(entityId)) {                FlipArmsAction faa = (FlipArmsAction) ea;                Entity entity = game.getEntity(entityId);                entity.setArmsFlipped(faa.getIsFlipped());            } else if (ea instanceof DodgeAction && game.hasEntity(entityId)) {                Entity entity = game.getEntity(entityId);                entity.dodging = true;                addAction = false;            } else if (ea instanceof AttackAction) {                if (ea instanceof ClubAttackAction) {                    ClubAttackAction clubAct = (ClubAttackAction) ea;                    Entity entity = game.getEntity(clubAct.getEntityId());                    clubAct.setClub(Compute.clubMechHas(entity));                }                game.processGameEvent(new GameAttackEvent(this,(AttackAction)ea));            }            if (addAction) {                // track in the appropriate list                if (charge) {                    game.addCharge((AttackAction) ea);                } else {                    game.addAction(ea);                }            }        }    }