TABLE OF CONTENTS
- 1. ShipModules/ShipModules
- 1.1. ShipModules/ShipModules.Module_Size
- 1.2. ShipModules/ShipModules.Module_Type
- 1.3. ShipModules/ShipModules.Owners_Amount
- 1.4. ShipModules/ShipModules.Base_Module_Data
- 1.5. ShipModules/ShipModules.Default_Module_Type
- 1.6. ShipModules/ShipModules.Empty_Base_Module
- 1.7. ShipModules/ShipModules.Get_Module_Type
ShipModules/ShipModules [ Packages ]
FUNCTION
Provided code to manipulate ship modules prototypes
SOURCE
package ShipModules is
ShipModules/ShipModules.Module_Size [ Types ]
[ Top ] [ ShipModules ] [ Types ]
FUNCTION
Range of size of ships' modules
SOURCE
subtype Module_Size is Positive range 1 .. 10;
HISTORY
7.4 - Added
ShipModules/ShipModules.Module_Type [ Types ]
[ Top ] [ ShipModules ] [ Types ]
FUNCTION
Types of ship modules
SOURCE
type Module_Type is (ANY, ENGINE, CABIN, COCKPIT, TURRET, GUN, CARGO, HULL, ARMOR, BATTERING_RAM, ALCHEMY_LAB, FURNACE, WATER_COLLECTOR, WORKSHOP, GREENHOUSE, MEDICAL_ROOM, HARPOON_GUN, TRAINING_ROOM) with Default_Value => ANY;
ShipModules/ShipModules.Owners_Amount [ Types ]
[ Top ] [ ShipModules ] [ Types ]
FUNCTION
Range of allowed owners for ships' modules
SOURCE
subtype Owners_Amount is Natural range 0 .. 10;
HISTORY
7.4 - Added
ShipModules/ShipModules.Base_Module_Data [ Records ]
[ Top ] [ ShipModules ] [ Records ]
FUNCTION
Data structure for prototypes of ship modules
SOURCE
type Base_Module_Data is record Name: Tiny_String.Bounded_String; M_Type: Module_Type; Weight: Natural := 0; Value: Integer := 0; Max_Value: Integer := 0; Durability: Integer := 0; Repair_Material: Tiny_String.Bounded_String; Repair_Skill: SkillsData_Container.Extended_Index; Price: Natural := 0; Install_Time: Positive := 1; Unique: Boolean; Size: Module_Size := 1; Description: Short_String.Bounded_String; Max_Owners: Owners_Amount := 0; Speed: Integer := 0; Reputation: Reputation_Range; end record;
PARAMETERS
Name - Name of module M_Type - Type of module Weight - Base weight of module Value - For engine base power, depends on module Max_Value - For gun, damage, depends on module Durability - Base durability of module Repair_Material - Material needed for repair module Repair_Skill - Skill needed for repair module Price - Price for module in shipyards Install_Time - Amount of minutes needed for install/remove module Unique - Did ship can have installed only one that module Size - How many space in ship this module take Description - Description of module Max_Owners - How many owners module can have Speed - How fast the gun shoots in combat Reputation - Minimal reputation in base needed to buy that module
ShipModules/ShipModules.Default_Module_Type [ Constants ]
[ Top ] [ ShipModules ] [ Constants ]
FUNCTION
Default value for modules type
SOURCE
Default_Module_Type: constant Module_Type := ANY;
ShipModules/ShipModules.Empty_Base_Module [ Constants ]
[ Top ] [ ShipModules ] [ Constants ]
FUNCTION
Empty prototype module data
SOURCE
Empty_Base_Module: constant Base_Module_Data := (others => <>);
ShipModules/ShipModules.Get_Module_Type [ Subprograms ]
[ Top ] [ ShipModules ] [ Subprograms ]
FUNCTION
Get type of selected module (replace all underscore with spaces)
SOURCE
function Get_Module_Type(Module_Index: Positive) return String with Post => Get_Module_Type'Result'Length > 0;
PARAMETERS
Module_Index - Index of module in prototypes list RETURNS Formatted type of module