Core ammunition implementation...
This commit is contained in:
parent
9e65b3434f
commit
fede5c4bbf
46
xabina.adb
46
xabina.adb
@ -257,6 +257,40 @@ function xabina return integer is
|
||||
-- Ammunition
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
type ammunition_list is (
|
||||
ARROWS, BOLTS, SLINGSHOTS, JARIDS
|
||||
);
|
||||
|
||||
type ammunition_mark is mod 72;
|
||||
|
||||
type ammunition_constant_type is new entity_constant_type with
|
||||
record
|
||||
value : natural := 0;
|
||||
weight : natural := 0;
|
||||
dual_wield : boolean := false;
|
||||
amount_limit : natural := 0;
|
||||
attack_range : natural_subrange := (0, 0);
|
||||
distance_range : natural_subrange := (0, 0);
|
||||
end record;
|
||||
|
||||
type ammunition_variable_type is new entity_variable_type with
|
||||
record
|
||||
amount : natural_subrange := (0, 0);
|
||||
enchantment : natural := 0;
|
||||
end record;
|
||||
|
||||
type ammunition_constant_list is array (ammunition_list) of ammunition_constant_type;
|
||||
type ammunition_variable_list is array (ammunition_mark) of ammunition_variable_type;
|
||||
|
||||
ammunition_constant_data : constant ammunition_constant_list := (
|
||||
(ENTITY_AMMUNITION, to_unbounded_string ("Arrows"), '^', COLOUR_RED, EFFECT_NORMAL, 11, 13, false, 23, (0, 7), (17, 67)),
|
||||
(ENTITY_AMMUNITION, to_unbounded_string ("Bolts"), '^', COLOUR_RED, EFFECT_NORMAL, 13, 23, false, 29, (0, 5), (17, 67)),
|
||||
(ENTITY_AMMUNITION, to_unbounded_string ("Slingshots"), '^', COLOUR_RED, EFFECT_NORMAL, 5, 7, true, 43, (0, 7), (17, 67)),
|
||||
(ENTITY_AMMUNITION, to_unbounded_string ("Jarids"), '^', COLOUR_RED, EFFECT_NORMAL, 29, 37, true, 7, (0, 7), (17, 67))
|
||||
);
|
||||
|
||||
ammunition_variable_data : ammunition_variable_list;
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- Weapon
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@ -407,12 +441,24 @@ function xabina return integer is
|
||||
|
||||
begin
|
||||
|
||||
for this in magic_list
|
||||
loop
|
||||
x := x + render_character (magic_constant_data (this).symbol, magic_constant_data (this).colour, magic_constant_data (this).effect);
|
||||
put_line (" " & to_string (magic_constant_data (this).name));
|
||||
end loop;
|
||||
|
||||
for this in item_list
|
||||
loop
|
||||
x := x + render_character (item_constant_data (this).symbol, item_constant_data (this).colour, item_constant_data (this).effect);
|
||||
put_line (" " & to_string (item_constant_data (this).name));
|
||||
end loop;
|
||||
|
||||
for this in ammunition_list
|
||||
loop
|
||||
x := x + render_character (ammunition_constant_data (this).symbol, ammunition_constant_data (this).colour, ammunition_constant_data (this).effect);
|
||||
put_line (" " & to_string (ammunition_constant_data (this).name));
|
||||
end loop;
|
||||
|
||||
for this in weapon_list
|
||||
loop
|
||||
x := x + render_character (weapon_constant_data (this).symbol, weapon_constant_data (this).colour, weapon_constant_data (this).effect);
|
||||
|
Loading…
Reference in New Issue
Block a user