TABLE OF CONTENTS
- 1. Bases/Bases
- 1.1. Bases/BCargo
- 1.1.1. BCargo/BCargo.Find_Base_Cargo
- 1.1.2. BCargo/BCargo.Update_Base_Cargo
- 1.2. Bases/BTrade
- 1.2.1. BTrade/BTrade.Buy_Recipe
- 1.2.2. BTrade/BTrade.Heal_Cost
- 1.2.3. BTrade/BTrade.Heal_Wounded
- 1.2.4. BTrade/BTrade.Hire_Recruit
- 1.2.5. BTrade/BTrade.Train_Cost
- 1.2.6. BTrade/BTrade.Train_Skill
- 1.3. Bases/BUI
- 1.3.1. BUI/BUI.Base_Sort_Orders
- 1.3.2. BUI/BUI.Default_Base_Sort_Order
- 1.3.3. BUI/BUI.Base_Sort_Order
- 1.3.4. BUI/BUI.Base_Table
- 1.3.5. BUI/BUI.Items_Indexes
- 1.3.6. BUI/BUI.Add_Commands
- 1.3.7. BUI/BUI.Base_Action_Command
- 1.3.8. BUI/BUI.Search_Recipes_Command
- 1.3.9. BUI/BUI.Show_Base_Menu_Command
- 1.3.10. BUI/BUI.Show_Base_Ui_Command
- 1.3.11. BUI/BUI.Sort_Modules_Command
- 1.4. Bases/LUI
- 1.4.1. LUI/LUI.Items_Sort_Orders
- 1.4.2. LUI/LUI.Default_Items_Sort_Order
- 1.4.3. LUI/LUI.Items_Indexes
- 1.4.4. LUI/LUI.Items_Sort_Order
- 1.4.5. LUI/LUI.Loot_Table
- 1.4.6. LUI/LUI.Add_Commands
- 1.4.7. LUI/LUI.Get_Item_Index
- 1.4.8. LUI/LUI.Item_Index
- 1.4.9. LUI/LUI.Loot_Amount_Command
- 1.4.10. LUI/LUI.Loot_Item_Command
- 1.4.11. LUI/LUI.Show_Loot_Command
- 1.4.12. LUI/LUI.Show_Trade_Loot_Info_Command
- 1.4.13. LUI/LUI.Sort_Items_Command
- 1.5. Bases/RecruitUI
- 1.5.1. RecruitUI/RecruitUI.Recruits_Sort_Orders
- 1.5.2. RecruitUI/RecruitUI.Default_Recruits_Sort_Order
- 1.5.3. RecruitUI/RecruitUI.Modules_Indexes
- 1.5.4. RecruitUI/RecruitUI.Recruit_Index
- 1.5.5. RecruitUI/RecruitUI.Recruit_Table
- 1.5.6. RecruitUI/RecruitUI.Recruits_Sort_Order
- 1.5.7. RecruitUI/RecruitUI.Add_Commands
- 1.5.8. RecruitUI/RecruitUI.Get_Highest_Attribute
- 1.5.9. RecruitUI/RecruitUI.Get_Highest_Skill
- 1.5.10. RecruitUI/RecruitUI.Get_Recruit_Index
- 1.5.11. RecruitUI/RecruitUI.Hire_Command
- 1.5.12. RecruitUI/RecruitUI.Negotiate_Command
- 1.5.13. RecruitUI/RecruitUI.Negotiate_Hire_Command
- 1.5.14. RecruitUI/RecruitUI.Show_Recruit_Command
- 1.5.15. RecruitUI/RecruitUI.Show_Recruit_Info_Command
- 1.5.16. RecruitUI/RecruitUI.Show_Recruit_Tab_Command
- 1.5.17. RecruitUI/RecruitUI.Sort_Recruits_Command
- 1.5.18. RecruitUI/RecruitUI.Validate_Negotiate_Command
- 1.6. Bases/SchoolUI
- 1.6.1. SchoolUI/SchoolUI.Add_Commands
- 1.6.2. SchoolUI/SchoolUI.Get_Member_Index
- 1.6.3. SchoolUI/SchoolUI.Get_Skill_Index
- 1.6.4. SchoolUI/SchoolUI.Set_School_Skills_Command
- 1.6.5. SchoolUI/SchoolUI.Show_School_Command
- 1.6.6. SchoolUI/SchoolUI.Train_Skill_Command
- 1.6.7. SchoolUI/SchoolUI.Update_School_Cost_Command
- 1.6.8. SchoolUI/SchoolUI.Update_School_Selected_Cost_Command
- 1.7. Bases/Ship
- 1.7.1. Ship/Ship.Bases_Ship_Installation_Error
- 1.7.2. Ship/Ship.Bases_Ship_Removing_Error
- 1.7.3. Ship/Ship.Bases_Ship_Unique_Module
- 1.7.4. Ship/Ship.Repair_Cost
- 1.7.5. Ship/Ship.Repair_Ship
- 1.7.6. Ship/Ship.Upgrade_Ship
- 1.8. Bases/ShipyardUI
- 1.8.1. ShipyardUI/ShipyardUI.Modules_Sort_Orders
- 1.8.2. ShipyardUI/ShipyardUI.Default_Modules_Sort_Order
- 1.8.3. ShipyardUI/ShipyardUI.Install_Indexes
- 1.8.4. ShipyardUI/ShipyardUI.Install_Table
- 1.8.5. ShipyardUI/ShipyardUI.Module_Index
- 1.8.6. ShipyardUI/ShipyardUI.Modules_Sort_Order
- 1.8.7. ShipyardUI/ShipyardUI.Remove_Indexes
- 1.8.8. ShipyardUI/ShipyardUI.Remove_Table
- 1.8.9. ShipyardUI/ShipyardUI.Add_Commands
- 1.8.10. ShipyardUI/ShipyardUI.Get_Module_Index
- 1.8.11. ShipyardUI/ShipyardUI.Manipulate_Module_Command
- 1.8.12. ShipyardUI/ShipyardUI.Set_Module_Info
- 1.8.13. ShipyardUI/ShipyardUI.Show_Install_Info_Command
- 1.8.14. ShipyardUI/ShipyardUI.Show_Remove_Info_Command
- 1.8.15. ShipyardUI/ShipyardUI.Show_Shipyard_Command
- 1.8.16. ShipyardUI/ShipyardUI.Compare_Modules_Command
- 1.8.17. ShipyardUI/ShipyardUI.Show_Shipyard_Tab_Command
- 1.8.18. ShipyardUI/ShipyardUI.Sort_Modules_Command
- 1.9. Bases/Bases.BaseCargo_Container
- 1.10. Bases/Bases.Bases_Size
- 1.11. Bases/Bases.Recruit_Amount_Range
- 1.12. Bases/Bases.Recruit_Container
- 1.13. Bases/Bases.Base_Cargo
- 1.14. Bases/Bases.Base_Record
- 1.15. Bases/Bases.Recruit_Data
- 1.16. Bases/Bases.Default_Base_Size
- 1.17. Bases/Bases.Empty_Base_Cargo
- 1.18. Bases/Bases.SkyBases
- 1.19. Bases/Bases.Count_Price
- 1.20. Bases/Bases.Generate_Base_Name
Bases/Bases [ Packages ]
FUNCTION
Provide code for manipulate sky bases
SOURCE
package Bases is
Bases/Bases.BaseCargo_Container [ Types ]
FUNCTION
Used to store sky bases cargos
SOURCE
package BaseCargo_Container is new Formal_Indefinite_Vectors (Index_Type => Positive, Element_Type => Base_Cargo, Max_Size_In_Storage_Elements => Base_Cargo'Size, Bounded => False);
Bases/Bases.Bases_Size [ Types ]
FUNCTION
Bases sizes
SOURCE
type Bases_Size is (SMALL, MEDIUM, BIG, UNKNOWN) with Default_Value => MEDIUM;
Bases/Bases.Recruit_Amount_Range [ Types ]
FUNCTION
Used to set the amount of available recruits in bases
SOURCE
subtype Recruit_Amount_Range is Positive range 1 .. 60;
HISTORY
7.5 - Added
Bases/Bases.Recruit_Container [ Types ]
FUNCTION
Used to store sky bases recruits data
SOURCE
package Recruit_Container is new Formal_Indefinite_Vectors (Index_Type => Recruit_Amount_Range, Element_Type => Recruit_Data, Max_Size_In_Storage_Elements => Recruit_Data'Size, Bounded => False);
Bases/Bases.Base_Cargo [ Records ]
FUNCTION
Data structure for bases cargo
SOURCE
type Base_Cargo is record Proto_Index: Natural; Amount: Natural; Durability: Items_Durability; Price: Natural; end record;
PARAMETERS
Proto_Index - Index of item prototype Amount - Amount of items Durability - Durability of items Price - Current price of item
Bases/Bases.Base_Record [ Records ]
FUNCTION
Data structure for bases
SOURCE
type Base_Record is record Name: Tiny_String.Bounded_String; Visited: Date_Record; Sky_X: Map_X_Range; Sky_Y: Map_Y_Range; Base_Type: Tiny_String.Bounded_String; Population: Natural; Recruit_Date: Date_Record; Recruits: Recruit_Container.Vector (Capacity => 5); Known: Boolean; Asked_For_Bases: Boolean; Asked_For_Events: Date_Record; Reputation: Reputation_Data; Missions_Date: Date_Record; Missions: Mission_Container.Vector; Owner: Tiny_String.Bounded_String; Cargo: BaseCargo_Container.Vector (Capacity => 32); Size: Bases_Size; end record;
PARAMETERS
Name - Base name Visited - Time when player last visited base Sky_X - X coordinate on sky map Sky_Y - Y coordinate on sky map Base_Type - Type of base Population - Amount of people in base Recruit_Date - Time when recruits was generated Recruits - List of available recruits Known - Did base is know to player Asked_For_Bases - Did player asked for bases in this base Asked_For_Events - Time when players asked for events in this base Reputation - Reputation level and progress of player Missions_Date - Time when missions was generated Missions - List of available missions Owner - Index of faction which own base Cargo - List of all cargo in base Size - Size of base
Bases/Bases.Recruit_Data [ Records ]
FUNCTION
Data structure for recruits
SOURCE
type Recruit_Data is new Mob_Record with record Name: Tiny_String.Bounded_String; Gender: Character; Price: Positive; Inventory: Positive_Formal_Container.Vector (Capacity => 7); Equipment: Equipment_Array; Payment: Positive; Home_Base: Bases_Range; Faction: Tiny_String.Bounded_String; end record;
PARAMETERS
Name - Name of recruit Gender - Gender of recruit Skills - Names indexes, levels and experience in skills of recruit Cost - Cost of enlist of recruit Attributes - Names indexes, levels and experience in attributes of recruit Inventory - Owned items by recruit Equipment - Items indexes from inventory used by recruit. Payment - How much money recruit will take as payment each day. Home_Base - Index of base from which recruit is Faction - Index of faction to which recruit belongs
Bases/Bases.Default_Base_Size [ Constants ]
[ Top ] [ Bases ] [ Constants ]
FUNCTION
The default size of a base
SOURCE
Default_Base_Size: constant Bases_Size := MEDIUM;
Bases/Bases.Empty_Base_Cargo [ Constants ]
[ Top ] [ Bases ] [ Constants ]
FUNCTION
Empty base cargo
SOURCE
Empty_Base_Cargo: constant Base_Cargo := (Proto_Index => 0, Amount => 0, Durability => Default_Item_Durability, Price => 0);
Bases/Bases.SkyBases [ Variables ]
[ Top ] [ Bases ] [ Variables ]
FUNCTION
List of sky bases
SOURCE
Sky_Bases: array(Bases_Range) of Base_Record;
Bases/Bases.Count_Price [ Subprograms ]
[ Top ] [ Bases ] [ Subprograms ]
FUNCTION
Count price for actions with bases (buying/selling/docking/ect)
SOURCE
procedure Count_Price (Price: in out Natural; Trader_Index: Crew_Container.Extended_Index; Reduce: Boolean := True) with Pre => Trader_Index <= Player_Ship.Crew.Last_Index;
PARAMETERS
Price - Cost of action with the base Trader_Index - Index of crew member assigned as trader or 0 if noone is assigned Reduce - If true, reduce cost of action, otherwise raise. Default is true
RESULT
Parameter Cost
Bases/Bases.Generate_Base_Name [ Subprograms ]
[ Top ] [ Bases ] [ Subprograms ]
FUNCTION
Generate random name for base based on faction
SOURCE
function Generate_Base_Name (Faction_Index: Tiny_String.Bounded_String) return Tiny_String.Bounded_String with Post => Tiny_String.Length(Source => Generate_Base_Name'Result) > 0;
PARAMETERS
Faction_Index - Index of faction to which base belong
RESULT
Random name for the sky base