+ void SetHandsFree();
+ void SetCarrying();
+ void SetPushing();
+
+ void SetFlags(int f) { flags = f; }
+ bool Blocking() const { return !(flags & FLAG_NONBLOCKING); }
+ bool Hostile() const { return partyLayout && numMonsters > 0; }
+ bool Pushable() const { return flags & FLAG_PUSHABLE; }
+ bool CanTurn() const { return !(flags & FLAG_FIXED_ORIENTATION); }
+
+ void SetPartyLayout(battle::PartyLayout *l) { partyLayout = l; }
+ battle::PartyLayout *PartyLayout() { return partyLayout; }
+
+ void SetMonsters(battle::Monster *m, int num) { monsters = m; numMonsters = num; }
+ battle::Monster *MonstersBegin() { return monsters; }
+ battle::Monster *MonstersEnd() { return monsters + numMonsters; }
+