TABLE OF CONTENTS
- 1. Ships/SCrew
- 1.1. SCrew/SCrew.Death
- 1.2. SCrew/SCrew.Delete_Member
- 1.3. SCrew/SCrew.Find_Member
- 1.4. SCrew/SCrew.Give_Orders
- 1.5. SCrew/SCrew.Update_Morale
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