C Program Unvanquished bot behaviour tree

Unvanquished bot behaviour tree


selector
{
sequence
{
condition alertedToEnemy
selector
{
condition haveWeapon( WP_HBUILD ) && ( !buildingIsDamaged || teamateHasWeapon( WP_HBUILD ) )
{
selector
{
action equip
action flee
}
}
action fight
}
}
selector
{
sequence
{
condition team == TEAM_ALIENS
condition healScore <= 0.25
action heal
}
sequence
{
condition team == TEAM_HUMANS
condition !haveUpgrade( UP_MEDKIT )
condition healScore <= 0.25
action heal
}
}
condition team == TEAM_ALIENS
{
action evolve
}
sequence
{
condition team == TEAM_HUMANS
condition !teamateHasWeapon( WP_HBUILD )
condition buildingIsDamaged
decorator timer( 50000 )
{
selector
{
condition !haveWeapon( WP_HBUILD )
{
action buy( WP_HBUILD )
}
condition haveWeapon( WP_HBUILD )
{
action repair
}
}
}
}
condition team == TEAM_HUMANS
{
action equip
}
condition baseRushScore > 0.5
{
action rush
}
action roam
}


Learn More :