Skip to main content

Condition_IsFamilyHead

Description

Checks whether the BaseObject is the head of their household. The household head is determined as the oldest member of the household.

When S1 is ExcludeBusyElsewhere, members who BOTH have an active schedule (B2TimelineComponent::GetScheduleAtNow() != nullptr) AND are located at a different site from the BaseObject are excluded from the candidate pool. Members who are at the same site as the BaseObject — including the BaseObject itself — remain candidates regardless of schedule. The head is then the oldest among the remaining members. If every other member is busy elsewhere, only the BaseObject remains and is treated as the head.

If no valid head can be determined (e.g., household lookup fails, no member has a valid BioComponent, or every member is filtered out), the condition returns false regardless of CompareType — i.e., neither Equal nor NotEqual is satisfied.

Parameters

ParameterDescription
BaseObjectCharacter whose household head status will be checked (Self or Target)
CompareTypeSupported compare types: Equal, NotEqual
S1Optional. ExcludeBusyElsewhere to exclude members scheduled at a different site

Examples

DescriptionBaseObjectCommandCompareTypeS1
If Self is the head of the householdSelfIsFamilyHeadEqual
If Self is not the head of the householdSelfIsFamilyHeadNotEqual
If Target is the head of the householdTargetIsFamilyHeadEqual
If Target is not the head of the householdTargetIsFamilyHeadNotEqual
If Self is the head among members at the same site or with no current scheduleSelfIsFamilyHeadEqualExcludeBusyElsewhere
If Self is not the head among members at the same site or with no current scheduleSelfIsFamilyHeadNotEqualExcludeBusyElsewhere