From: osjarw <62134478+osjarw@users.noreply.github.com> Date: Sun, 11 Aug 2024 09:22:46 +0000 (+0300) Subject: Reorder priorities in `MeleeCombatCompound` (#30066) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=456410239ec5bf8eae758bbe99e2f5f0b33ceb10;p=space-station-14.git Reorder priorities in `MeleeCombatCompound` (#30066) Reordered MeleeCombatCompound to improve unpulling --- diff --git a/Resources/Prototypes/NPCs/Combat/melee.yml b/Resources/Prototypes/NPCs/Combat/melee.yml index b0746e5679..9cbfbe7ca0 100644 --- a/Resources/Prototypes/NPCs/Combat/melee.yml +++ b/Resources/Prototypes/NPCs/Combat/melee.yml @@ -3,48 +3,55 @@ - type: htnCompound id: MeleeCombatCompound branches: - # Pickup weapon if we don't have one. + - tasks: + - !type:HTNPrimitiveTask + operator: !type:UtilityOperator + proto: NearbyMeleeTargets + - !type:HTNCompoundTask + task: BeforeMeleeAttackTargetCompound + +- type: htnCompound + id: BeforeMeleeAttackTargetCompound + branches: - preconditions: - - !type:ActiveHandComponentPrecondition - components: - # Just serializer things - - type: MeleeWeapon - damage: - types: - Blunt: 0 - invert: true + - !type:BuckledPrecondition + isBuckled: true tasks: - - !type:HTNCompoundTask - task: PickupMeleeCompound + - !type:HTNPrimitiveTask + operator: !type:UnbuckleOperator + shutdownState: TaskFinished - preconditions: - - !type:BuckledPrecondition - isBuckled: true + - !type:PulledPrecondition + isPulled: true tasks: - - !type:HTNPrimitiveTask - operator: !type:UnbuckleOperator - shutdownState: TaskFinished + - !type:HTNPrimitiveTask + operator: !type:UnPullOperator + shutdownState: TaskFinished - preconditions: - - !type:InContainerPrecondition - isInContainer: true + - !type:InContainerPrecondition + isInContainer: true tasks: - - !type:HTNCompoundTask - task: EscapeCompound + - !type:HTNCompoundTask + task: EscapeCompound + # Pickup weapon if we don't have one. - preconditions: - - !type:PulledPrecondition - isPulled: true + - !type:ActiveHandComponentPrecondition + components: + # Just serializer things + - type: MeleeWeapon + damage: + types: + Blunt: 0 + invert: true tasks: - - !type:HTNPrimitiveTask - operator: !type:UnPullOperator - shutdownState: TaskFinished + - !type:HTNCompoundTask + task: PickupMeleeCompound # Melee combat (unarmed or otherwise) - tasks: - - !type:HTNPrimitiveTask - operator: !type:UtilityOperator - proto: NearbyMeleeTargets - !type:HTNCompoundTask task: MeleeAttackTargetCompound