TABLE OF CONTENTS


Ships/SCrew [ Packages ]

[ Top ] [ Ships ] [ Packages ]

FUNCTION

 Provides code for manipulate ships crews

SOURCE

package Ships.Crew is

SCrew/SCrew.Death [ Subprograms ]

[ Top ] [ SCrew ] [ Subprograms ]

FUNCTION

 Handle crew member death

SOURCE

   procedure Death
     (Member_Index: Crew_Container.Extended_Index; Reason: Unbounded_String;
      Ship: in out Ship_Record; Create_Body: Boolean := True) with
      Pre => Member_Index in Ship.Crew.First_Index .. Ship.Crew.Last_Index and
      Reason /= Null_Unbounded_String;

PARAMETERS

 Member_Index - Crew index of the member which died
 Reason       - Reason of the death
 Ship         - Ship in which crew member died
 Create_Body  - If true, create body for dead crew member. Default is
                true

RESULT

 Parameter Ship with updated data (crew, cargo, modules)

SCrew/SCrew.Delete_Member [ Subprograms ]

[ Top ] [ SCrew ] [ Subprograms ]

FUNCTION

 Delete selected member from crew list

SOURCE

   procedure Delete_Member
     (Member_Index: Crew_Container.Extended_Index;
      Ship: in out Ship_Record) with
      Pre => Member_Index in Ship.Crew.First_Index .. Ship.Crew.Last_Index;

PARAMETERS

 Member_Index - Crew index of the member which will be deleted
 Ship         - Ship which crew will be modified

RESULT

 Parameter Ship with modified data (crew and modules)

SCrew/SCrew.Find_Member [ Subprograms ]

[ Top ] [ SCrew ] [ Subprograms ]

FUNCTION

 Find index of first crew member with selected order

SOURCE

   function Find_Member
     (Order: Crew_Orders; Ship_Crew: Crew_Container.Vector := Player_Ship.Crew)
      return Crew_Container.Extended_Index with
      Post => Find_Member'Result <= Ship_Crew.Last_Index;

PARAMETERS

 Order - Current crew order which will be looking for
 Crew  - Crew of ship which will be searched

RESULT

 Crew index of crew member with selected order or 0 if nothing was found

SCrew/SCrew.Give_Orders [ Subprograms ]

[ Top ] [ SCrew ] [ Subprograms ]

FUNCTION

 Change order for selected crew member

SOURCE

   procedure Give_Orders
     (Ship: in out Ship_Record; Member_Index: Crew_Container.Extended_Index;
      Given_Order: Crew_Orders;
      Module_Index: Modules_Container.Extended_Index := 0;
      Check_Priorities: Boolean := True) with
      Pre => Member_Index in Ship.Crew.First_Index .. Ship.Crew.Last_Index and
      Module_Index <= Ship.Modules.Last_Index;

PARAMETERS

 Ship             - Ship in which crew member will be have changed order
 Member_Index     - Crew index of member to change order
 Given_Order      - New order for selected crew member
 Module_Index     - Index of module to assign to crew member with new
                    order. Default is 0 - no module assigned
 Check_Priorities - If true, check orders priorities of whole crew.
                    Default is true
 Result
 Parameter Ship with modified data (crew, modules, cargo)

SCrew/SCrew.Update_Morale [ Subprograms ]

[ Top ] [ SCrew ] [ Subprograms ]

FUNCTION

 Update morale of selected crew member by value

SOURCE

   procedure Update_Morale
     (Ship: in out Ship_Record; Member_Index: Crew_Container.Extended_Index;
      Amount: Integer) with
      Pre => Member_Index in Ship.Crew.First_Index .. Ship.Crew.Last_Index;

PARAMETERS

 Ship         - Ship on which crew member will be have updated morale
 Member_Index - Crew index of member to update morale
 Amount       - Amount of morale to add or substract

RESULT

 Parameter Ship with modified crew info