public void CheckStop(PressurePlate pressurePlate) { if (pressurePlate == Goal) { Pedestal.PressurePlateActiveItemEnum activeItem = pressurePlate.GetPressurePlateActiveItem(); if (activeItem == Pedestal.PressurePlateActiveItemEnum.Dog && attitudeTowardDogs == AttitudeEnum.Fear) { SetNextGoal(World.Instance.GetNextPressurePlate(Goal)); extraChanceToStop += 1f - baseChanceToStop; } else if (activeItem == Pedestal.PressurePlateActiveItemEnum.Lamp && attitudeTowardLight == AttitudeEnum.Attraction) { return; } else if (activeItem == Pedestal.PressurePlateActiveItemEnum.Machine && attitudeTowardMachines == AttitudeEnum.Attraction) { return; } else if (activeItem == Pedestal.PressurePlateActiveItemEnum.Robot) { if (attitudeTowardRobots == AttitudeEnum.Fear) { SetNextGoal(World.Instance.GetNextPressurePlate(Goal)); extraChanceToStop += 1f - baseChanceToStop; } else if (attitudeTowardRobots == AttitudeEnum.Attraction) { return; } } if (Random.Range(extraChanceToStop, 1f) <= baseChanceToStop) { SetNextGoal(World.Instance.GetNextPressurePlate(Goal)); extraChanceToStop += _extraChanceToStopAfterNotStopping; } } }