Pawn

A Pawn is a moving, animated, AI-driven entity with health. It extends the actor with a skeletal mesh, AI, lifecycle and floating movement. Added with addPawn(tag, skills, lambda).

Setters

Setter Effect
actorClass(class) The ACPawn subclass spawned for this pawn.
basic(...) Identity block → FCBP_ACPBasic.
skeletal(...) Mesh and animation → FCBP_CPSkeletal.
behavior(...) Attack behavior → FCBP_CPBehavior.
ai(...) AI, team, behavior tree → FCBP_CPAI.
lifecycle(...) Health and damage → FCBP_CPLifecycle.
fogOfWar(...) Fog reveal → FCBP_FogOfWarRevealer.
movement(...) Floating movement → FCBP_PMovement.
interaction(...) Interaction rules → FCBP_PawnInteraction.

Example

FCBP_Pawn pawn = FCBP_Pawn()
    .actorClass(ACPawn::StaticClass())
    .basic(FCBP_ACPBasic()
        .mainTag("ENEMY")
        .minScale(0.9f)
        .maxScale(1.1f))
    .skeletal(FCBP_CPSkeletal()
        .skeletalMesh(retrieveAsset<USkeletalMesh>("ENEMY_MESH"))
        .physicsAsset(retrieveAsset<UPhysicsAsset>("ENEMY_PHYSICS"))
        .animClass(retrieveClass<UCAnimInstance>("ENEMY_ANIM_CLASS")))
    .behavior(FCBP_CPBehavior()
        .meleeAttackBehavior(FCBP_CPMeleeAttackBehavior()
            .allowComboLoop(true)))
    .ai(FCBP_CPAI()
        .team(1)
        .aiClass(ACAIController::StaticClass())
        .behaviorTree(retrieveAsset<UBehaviorTree>("ENEMY_BT")))
    .lifecycle(FCBP_CPLifecycle()
        .maxLife(100.0f)
        .damage(5.0f)
        .blockArmor(3.0f)
        .damageOn({ETeamAttitude::Hostile}))
    .fogOfWar(FCBP_FogOfWarRevealer()
        .lineOfSightSizeMeter(4.5f)
        .revealedAreaSizeMeter(6.5f))
    .movement(FCBP_PMovement()
        .maxWalkSpeed(6.0f))
    .interaction(FCBP_PawnInteraction()
        .interactWithPlayerOnly(true));