equal
deleted
inserted
replaced
56 FortName: string; |
56 FortName: string; |
57 TeamHealth: LongInt; |
57 TeamHealth: LongInt; |
58 TeamHealthBarWidth: LongInt; |
58 TeamHealthBarWidth: LongInt; |
59 DrawHealthY: LongInt; |
59 DrawHealthY: LongInt; |
60 AttackBar: LongWord; |
60 AttackBar: LongWord; |
61 HedgehogsNumber: byte; |
61 HedgehogsNumber: Longword; |
62 end; |
62 end; |
63 TClan = record |
63 TClan = record |
64 Color, AdjColor: Longword; |
64 Color, AdjColor: Longword; |
65 Teams: array[0..Pred(cMaxTeams)] of PTeam; |
65 Teams: array[0..Pred(cMaxTeams)] of PTeam; |
66 TeamsNumber: Longword; |
66 TeamsNumber: Longword; |
|
67 CurrTeam: LongInt; |
67 ClanHealth: LongInt; |
68 ClanHealth: LongInt; |
|
69 ClanIndex: LongInt; |
68 end; |
70 end; |
69 |
71 |
70 var CurrentTeam: PTeam = nil; |
72 var CurrentTeam: PTeam = nil; |
71 TeamsArray: array[0..Pred(cMaxTeams)] of PTeam; |
73 TeamsArray: array[0..Pred(cMaxTeams)] of PTeam; |
72 TeamsCount: Longword = 0; |
74 TeamsCount: Longword = 0; |
128 end; |
130 end; |
129 SendStats |
131 SendStats |
130 end; |
132 end; |
131 |
133 |
132 procedure SwitchHedgehog; |
134 procedure SwitchHedgehog; |
133 var th: LongInt; |
135 var c: LongInt; |
134 t: LongWord; |
136 t: LongWord; |
135 g: PGear; |
137 g: PGear; |
136 begin |
138 begin |
137 FreeActionsList; |
139 FreeActionsList; |
138 TargetPoint.X:= NoPointX; |
140 TargetPoint.X:= NoPointX; |
146 Gear^.Z:= cHHZ; |
148 Gear^.Z:= cHHZ; |
147 RemoveGearFromList(Gear); |
149 RemoveGearFromList(Gear); |
148 InsertGearToList(Gear) |
150 InsertGearToList(Gear) |
149 end; |
151 end; |
150 |
152 |
151 t:= 0; |
153 c:= CurrentTeam^.Clan^.ClanIndex; |
152 while CurrentTeam <> TeamsArray[t] do inc(t); |
|
153 CurrentTeam:= TeamsArray[(t + 1) mod TeamsCount]; |
|
154 |
|
155 th:= CurrentTeam^.CurrHedgehog; |
|
156 repeat |
154 repeat |
157 CurrentTeam^.CurrHedgehog:= Succ(CurrentTeam^.CurrHedgehog) mod (cMaxHHIndex + 1); |
155 c:= Succ(c) mod ClansCount; |
158 until (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) or (CurrentTeam^.CurrHedgehog = th); |
156 with ClansArray[c]^ do |
|
157 repeat |
|
158 CurrTeam:= Succ(CurrTeam) mod TeamsNumber; |
|
159 CurrentTeam:= Teams[CurrTeam]; |
|
160 with CurrentTeam^ do |
|
161 repeat |
|
162 CurrHedgehog:= Succ(CurrHedgehog) mod HedgehogsNumber; |
|
163 until Hedgehogs[CurrHedgehog].Gear <> nil; |
|
164 until CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil; |
|
165 until CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil; |
159 |
166 |
160 with CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog] do |
167 with CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog] do |
161 begin |
168 begin |
162 with Gear^ do |
169 with Gear^ do |
163 begin |
170 begin |
204 FillChar(Result^.Clan^, sizeof(TClan), 0); |
211 FillChar(Result^.Clan^, sizeof(TClan), 0); |
205 ClansArray[ClansCount]:= Result^.Clan; |
212 ClansArray[ClansCount]:= Result^.Clan; |
206 inc(ClansCount); |
213 inc(ClansCount); |
207 with Result^.Clan^ do |
214 with Result^.Clan^ do |
208 begin |
215 begin |
|
216 ClanIndex:= Pred(ClansCount); |
209 Color:= TeamColor; |
217 Color:= TeamColor; |
210 AdjColor:= Color; |
218 AdjColor:= Color; |
211 AdjustColor(AdjColor); |
219 AdjustColor(AdjColor); |
212 end |
220 end |
213 end else |
221 end else |