void handHistoryParser_PlayerCalled(string playerName, float amount, HoldemGamePhase gamePhase) { HoldemPlayer p = (HoldemPlayer)FindPlayer(playerName); if (p == null) { Trace.WriteLine("Call detected but the player is not in our list. Did he just join?"); return; } // If we are preflop if (gamePhase == HoldemGamePhase.Preflop) { // If the call is the same amount as the big blind, this is also a limp if (amount == BigBlindAmount) { PlayerLimpedPreflop = true; // HasLimped() makes further checks to avoid duplicate counts and whether the player is the big blind or small blind p.CheckForLimp(); } /* Steal raise opportunity */ if (p.IsButton && !PlayerRaisedPreflop && !PlayerLimpedPreflop && !PlayerCheckedPreflop) { p.IncrementOpportunitiesToStealRaise(); } /* Called a steal raise? */ else if (p.IsSmallBlind && PlayerStealRaisedPreflop) { p.IncrementCallsToAStealRaise(); } else if (p.IsBigBlind && PlayerStealRaisedPreflop && !SmallBlindReraisedAStealRaise) { p.IncrementCallsToAStealRaise(); } /* From the blind called a raise (but NOT to a reraise) ? */ if (p.IsBlind() && PlayerRaisedPreflop && !PlayerReRaisedPreflop) { p.IncrementCallsBlindToAPreflopRaise(); } } else if (gamePhase == HoldemGamePhase.Flop) { // Has somebody cbet? if (!PlayerRaisedTheFlop && PlayerCBet) { p.IncrementCallToACBet(); } } p.HasCalled(gamePhase); }