TABLE OF CONTENTS


Crew/Inventory [ Packages ]

[ Top ] [ Crew ] [ Packages ]

FUNCTION

 Provide code for manipulate player ship crew members inventory

SOURCE

package Crew.Inventory is

Inventory/Inventory.Free_Inventory [ Subprograms ]

[ Top ] [ Inventory ] [ Subprograms ]

FUNCTION

 Return available space in crew member inventory after adding or
 extracting Amount

SOURCE

   function Free_Inventory
     (Member_Index: Positive; Amount: Integer; Update_Nim: Boolean := True)
      return Integer with
      Pre => Member_Index <= Player_Ship.Crew.Last_Index;

PARAMETERS

 Member_Index - Crew index of the member which inventory will be checked
 Amount       - Amount of kilogram to add or remove during check
 Update_Nim   - If true, update crew and the selected inventory in Nim

RESULT

 Amount of available space in kilograms

HISTORY

 7.5 - Renamed to Free_Inventory, changed parameter name to Member_Index

Inventory/Inventory.Item_Is_Used [ Subprograms ]

[ Top ] [ Inventory ] [ Subprograms ]

FUNCTION

 Check if selected crew member use this item

SOURCE

   function Item_Is_Used
     (Member_Index, Item_Index: Positive; Update_Nim: Boolean := True)
      return Boolean with
      Pre => Member_Index <= Player_Ship.Crew.Last_Index and
      Item_Index <=
        Inventory_Container.Last_Index
          (Container => Player_Ship.Crew(Member_Index).Inventory);

PARAMETERS

 Member_Index - Crew index of the member which will be checked
 Item_Index   - Iventory index of the item which will be checked
 Update_Nim   - If true, update crew and the selected inventory in Nim

HISTORY

 7.5 - Renamed to Item_Is_Used, changed parameters names to Member_Index
       and Item_Index

Inventory/Inventory.Take_Off_Item [ Subprograms ]

[ Top ] [ Inventory ] [ Subprograms ]

FUNCTION

 Remove selected item from character equipment

SOURCE

   procedure Take_Off_Item
     (Member_Index, Item_Index: Positive; Update_Nim: Boolean := True) with
      Pre => Member_Index <= Player_Ship.Crew.Last_Index and
      Item_Index <=
        Inventory_Container.Last_Index
          (Container => Player_Ship.Crew(Member_Index).Inventory);

PARAMETERS

 Member_Index - Crew index of the member from which item willl be taken
                off
 Item_Index   - Inventory index of item to take off

HISTORY

 7.5 - Renamed to Take_Off_Item, changed parameters names to
       Member_Index and Item_Index

Inventory/Inventory.Update_Inventory [ Subprograms ]

[ Top ] [ Inventory ] [ Subprograms ]

FUNCTION

 Update member inventory

SOURCE

   procedure Update_Inventory
     (Member_Index: Positive; Amount: Integer; Proto_Index: Natural := 0;
      Durability: Items_Durability := 0; Inventory_Index, Price: Natural := 0;
      Ship: in out Ship_Record) with
      Pre => Member_Index <= Ship.Crew.Last_Index and
      Inventory_Index <=
        Inventory_Container.Last_Index
          (Container => Ship.Crew(Member_Index).Inventory);

PARAMETERS

 Member_Index    - Crew index of member which will be have updated the
                   inventory
 Amount          - Amount of items to add or delete from inventory
 Proto_Index     - Prototype index of item to add or delete. Can be
                   empty if InventoryIndex is set
 Durability      - Durability of item to add or delete from inventory
 Inventory_Index - Item index in crew member inventory. Can be empty if
                   ProtoIndex is set
 Price           - Price of the item
 Ship            - The ship to which the crew member belongs

HISTORY

 6.9 - Added Ship parameter
 7.5 - Renamed to Update_Inventory, changed parameters names to
       Member_Index, Proto_Index and Inventory_Index