...
	self.behavior = Sequence{
		Bot.Buy,
		Selector{
			Sequence{
				Bot.CanHear,
				Bot.FindNoise,
			},
			Bot.RemoveNoise
		},
		Selector{
			Sequence{
				Bot.CanLook,
				Selector{
					Sequence{
						Bot.HasTarget,
						Bot.AimTarget
					},
					Sequence{
						Bot.HasNoise,
						Bot.AimNoise
					},
					Sequence{
						Bot.HasLastTargetLocation,
						Bot.AimLastTargetLocation
					},
					Sequence{
						Bot.HasSpot,
						Bot.AimSpot
					},
					Bot.MoveAiming
				}
			},
			Bot.Continue
		},
		Selector{
			Selector{
				Sequence{
					Selector{
						Sequence{
							Bot.HasHidingSpot,
							Bot.GoToHidingSpot
						},
						Bot.Continue
					},
					Bot.FindTarget,
					Bot.HasTarget,
					Bot.IsTargetValid,
					Bot.IsTargetInRange,
					Selector{
						Sequence{
							Bot.IsTargetInFreeline,
							Selector{
								Sequence{
									Bot.IsTargetOnCorrectAngle,
									Bot.Attack
								},
								Bot.Continue
							},
							Selector{
								Sequence{
									Bot.IsPanic,
									Bot.FindHidingSpot
								},
								Bot.Continue
							}
						},
						Bot.WhenTargetNotInFreeline
					}
				},
				Bot.RemoveTarget
			},
			Selector{
				Sequence{
					Bot.HasNoise,
					Bot.GoToNoise
				},
				Sequence{
					Bot.HasLastTargetLocation,
					Bot.GoToLastTargetLocation
				},
				Selector{
					Sequence{
						Bot.IsBombDefuseScenario,
						Bot.HasBomb,
						Bot.InBombPlantingArea,
						Bot.PlantBomb
					}
				},
				Selector{
					Sequence{
						Bot.IsBombDefuseScenario,
						Bot.IsBombPlanted,
						Bot.GoToBombPlantingArea
					}
				},
				Sequence{
					Bot.IsBombDefuseScenario,
					Bot.HasBomb,
					Bot.GoToBombPlantingArea
				}
			}
		}
	}
...