void GoalRoutine(int whichGoal) { room.ResetOffside(); room.ballInNetDelayer = 100; room.autoMoving = 1; room.timerEnabled = false; room.keeperDistanceShot = -1; bool isOwnGoal; room.fouledTID = -1; for (int i = 0; i < 2; i++) { if (room.keepers[i].divingDelay == 0) { room.keepers[i].speed = 0; } } //upper net if (whichGoal == 0) { //away scored if (room.homeSide == 1) { room.teams[1].score++; room.kickoff = 0; isOwnGoal = room.IsOwnGoal(whichGoal); room.SendTrainingGoalData(1, isOwnGoal); room.AddGoalStats(1, isOwnGoal); if (!isOwnGoal) { room.AddShotStat(true); } room.BroadcastInfoAboutGoal(5, room.timerEnabled, room.IsOwnGoal(whichGoal)); } //home scored else { room.teams[0].score++; room.kickoff = 1; isOwnGoal = room.IsOwnGoal(whichGoal); room.SendTrainingGoalData(0, isOwnGoal); room.AddGoalStats(0, isOwnGoal); if (!isOwnGoal) { room.AddShotStat(true); } room.BroadcastInfoAboutGoal(4, room.timerEnabled, room.IsOwnGoal(whichGoal)); } } //lower net else { //home scored if (room.homeSide == 1) { room.teams[0].score++; room.kickoff = 1; isOwnGoal = room.IsOwnGoal(whichGoal); room.SendTrainingGoalData(0, isOwnGoal); room.AddGoalStats(0, isOwnGoal); if (!isOwnGoal) { room.AddShotStat(true); } room.BroadcastInfoAboutGoal(4, room.timerEnabled, room.IsOwnGoal(whichGoal)); } //away scored else { room.teams[1].score++; room.kickoff = 0; isOwnGoal = room.IsOwnGoal(whichGoal); room.SendTrainingGoalData(1, isOwnGoal); room.AddGoalStats(1, isOwnGoal); if (!isOwnGoal) { room.AddShotStat(true); } room.BroadcastInfoAboutGoal(5, room.timerEnabled, room.IsOwnGoal(whichGoal)); } } room.ResetSlideTacklesAndFallDelays(); room.SetKickOffCoords(); }