equal
deleted
inserted
replaced
7 |
7 |
8 procedure AddAmmoStore(s: shortstring); |
8 procedure AddAmmoStore(s: shortstring); |
9 procedure AssignStores; |
9 procedure AssignStores; |
10 procedure AddAmmo(Hedgehog: pointer; ammo: TAmmoType); |
10 procedure AddAmmo(Hedgehog: pointer; ammo: TAmmoType); |
11 function HHHasAmmo(Hedgehog: pointer; Ammo: TAmmoType): boolean; |
11 function HHHasAmmo(Hedgehog: pointer; Ammo: TAmmoType): boolean; |
12 procedure PackAmmo(Ammo: PHHAmmo; Slot: integer); |
12 procedure PackAmmo(Ammo: PHHAmmo; Slot: LongInt); |
13 procedure OnUsedAmmo(Ammo: PHHAmmo); |
13 procedure OnUsedAmmo(Ammo: PHHAmmo); |
14 |
14 |
15 implementation |
15 implementation |
16 uses uMisc, uTeams, uGears; |
16 uses uMisc, uTeams, uGears; |
17 type TAmmoCounts = array[TAmmoType] of Longword; |
17 type TAmmoCounts = array[TAmmoType] of Longword; |
76 end |
76 end |
77 end; |
77 end; |
78 |
78 |
79 procedure AddAmmo(Hedgehog: pointer; ammo: TAmmoType); |
79 procedure AddAmmo(Hedgehog: pointer; ammo: TAmmoType); |
80 var ammos: TAmmoCounts; |
80 var ammos: TAmmoCounts; |
81 slot, ami: integer; |
81 slot, ami: LongInt; |
82 hhammo: PHHAmmo; |
82 hhammo: PHHAmmo; |
83 begin |
83 begin |
84 FillChar(ammos, sizeof(ammos), 0); |
84 FillChar(ammos, sizeof(ammos), 0); |
85 hhammo:= PHedgehog(Hedgehog)^.Ammo; |
85 hhammo:= PHedgehog(Hedgehog)^.Ammo; |
86 |
86 |
91 |
91 |
92 if ammos[ammo] <> AMMO_INFINITE then inc(ammos[ammo]); |
92 if ammos[ammo] <> AMMO_INFINITE then inc(ammos[ammo]); |
93 FillAmmoStore(hhammo, ammos) |
93 FillAmmoStore(hhammo, ammos) |
94 end; |
94 end; |
95 |
95 |
96 procedure PackAmmo(Ammo: PHHAmmo; Slot: integer); |
96 procedure PackAmmo(Ammo: PHHAmmo; Slot: LongInt); |
97 var ami: integer; |
97 var ami: LongInt; |
98 b: boolean; |
98 b: boolean; |
99 begin |
99 begin |
100 repeat |
100 repeat |
101 b:= false; |
101 b:= false; |
102 ami:= 0; |
102 ami:= 0; |
127 end |
127 end |
128 end |
128 end |
129 end; |
129 end; |
130 |
130 |
131 function HHHasAmmo(Hedgehog: pointer; Ammo: TAmmoType): boolean; |
131 function HHHasAmmo(Hedgehog: pointer; Ammo: TAmmoType): boolean; |
132 var slot, ami: integer; |
132 var slot, ami: LongInt; |
133 begin |
133 begin |
134 Slot:= Ammoz[Ammo].Slot; |
134 Slot:= Ammoz[Ammo].Slot; |
135 ami:= 0; |
135 ami:= 0; |
136 while (ami <= cMaxSlotAmmoIndex) do |
136 while (ami <= cMaxSlotAmmoIndex) do |
137 begin |
137 begin |