protected Node TakeWallet(SmartCharacter user) { return ST_Take(user, StateName.HoldingWallet, user.ST_PutWalletInPocket()); }
protected Node CustomerTakeMoney(SmartCharacter user) { return new Sequence( this.Node_Require(StateName.RoleTeller), user.Node_Require(StateName.RoleActor, StateName.IsStanding, ~StateName.RightHandOccupied, ~StateName.HoldingWallet, ~StateName.IsIncapacitated), user.ST_Pickup(HoldPropIntermediate, InteractionIntermediateCustomer), user.ST_PutWalletInPocket(), user.Node_Set(StateName.HoldingWallet)); }
protected Node PickupWallet(SmartCharacter user) { return new Sequence( ST_PickupRightHand(user, StateName.HoldingWallet), user.ST_PutWalletInPocket(), user.Node_Set(~StateName.RightHandOccupied)); }