TABLE OF CONTENTS
Events/Events [ Packages ]
FUNCTION
Provide code to generate and update random events
SOURCE
package Events is
Events/Events.Events_Types [ Types ]
FUNCTION
Types of events
SOURCE
type Events_Types is (NONE, ENEMYSHIP, ATTACKONBASE, DISEASE, DOUBLEPRICE, BASERECOVERY, FULLDOCKS, ENEMYPATROL, TRADER, FRIENDLYSHIP) with Default_Value => NONE;
Events/Events.Event_Data [ Records ]
[ Top ] [ Events ] [ Records ]
FUNCTION
Data structure for random events
SOURCE
type Event_Data(E_Type: Events_Types := NONE) is record Sky_X: Map_X_Range; Sky_Y: Map_Y_Range; Time: Positive; case E_Type is when DOUBLEPRICE => Item_Index: Positive; when ATTACKONBASE | ENEMYSHIP | ENEMYPATROL | TRADER | FRIENDLYSHIP => Ship_Index: Positive; when others => Data: Natural := 0; end case; end record;
PARAMETERS
E_Type - The type of the event Sky_X - X coordinate on sky map Sky_Y - Y coordinate on sky map Time - Time to end of event Item_Index - Index of proto item which have bonus to price Ship_Index - Index of proto ship which player meet Data - Various data for event (for example index of enemy ship)
Events/Events.Empty_Event [ Constants ]
[ Top ] [ Events ] [ Constants ]
FUNCTION
Default value for Event_Data, an empty event
SOURCE
Empty_Event: constant Event_Data := (E_Type => No_Event, Sky_X => 1, Sky_Y => 1, Time => 1, Data => 0);
Events/Events.No_Event [ Constants ]
[ Top ] [ Events ] [ Constants ]
FUNCTION
Default value for Events_Types
SOURCE
No_Event: constant Events_Types := NONE;
Events/Events.Check_For_Event [ Subprograms ]
[ Top ] [ Events ] [ Subprograms ]
FUNCTION
Check if event happen
SOURCE
function Check_For_Event return Boolean;
RESULT
Return true if combat starts, otherwise false
Events/Events.Delete_Event [ Subprograms ]
[ Top ] [ Events ] [ Subprograms ]
FUNCTION
Delete selected event
SOURCE
procedure Delete_Event(Event_Index: Positive);
PARAMETERS
EventIndex - Index of the event to delete
Events/Events.Generate_Traders [ Subprograms ]
[ Top ] [ Events ] [ Subprograms ]
FUNCTION
Create list of traders needed for trader event
SOURCE
procedure Generate_Traders;
Events/Events.GenerateEnemies [ Subprograms ]
[ Top ] [ Events ] [ Subprograms ]
FUNCTION
Create list of enemies ships
SOURCE
procedure Generate_Enemies (Enemies: in out Positive_Container.Vector; Owner: Tiny_String.Bounded_String := Tiny_String.To_Bounded_String(Source => "Any"); With_Traders: Boolean := True);
PARAMETERS
Enemies - List of enemies to generate Owner - Index of faction which enemies list should contains. Default all factions With_Traders - Did list should contains enemy traders too. Default true