+struct IMoveAction : public InventoryAction, public MoveAction
+{
+ // count=0 means "everything"
+ u16 count = 0;
+ bool move_somewhere = false;
+
+ // treat these as private
+ // related to movement to somewhere
+ bool caused_by_move_somewhere = false;
+ u32 move_count = 0;
+
+ IMoveAction() = default;
+
+ IMoveAction(std::istream &is, bool somewhere);
+
+ IAction getType() const