Warning: ob_start(): function 'compress_handler' not found or invalid function name in /www/htdocs/xfmantis/core.php on line 18

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

Index: game/source/components/RaumschiffList.pas =================================================================== --- game/source/components/RaumschiffList.pas (Revision 598) +++ game/source/components/RaumschiffList.pas (Arbeitskopie) @@ -98,6 +98,8 @@ procedure Build(Model: Integer); function BuildPerScript(Model: TAircraftModel; Base: TBase): TAircraft; + function GetBuyableModelIndex(BuildIndex:Integer):Integer; + function GetBuyableModel(BuildIndex: Integer): TAirCraftModel; procedure LoadFromStream(Stream: TStream); procedure SaveToStream(Stream: TStream); procedure ClearModels; @@ -726,6 +728,30 @@ result:=length(fModels); end; +//sucht unter den Schiffen mit CanBuy=true das Schiff Nr. BuildIndex und liefert den wirklichen Index zurück +function TAircraftList.GetBuyableModelIndex(BuildIndex: Integer): Integer; +var + Count:Integer; + Model:TAircraftModel; +begin + Count:=0; + while(Count<=BuildIndex) do + begin + Model:=GetRaumschiffModel(Count); + if(not(Model.CanBuy)) then + begin + BuildIndex:=BuildIndex+1; + end; + Count:=Count+1; + end; + result:=BuildIndex; +end; + +function TAircraftList.GetBuyableModel(BuildIndex:Integer): TAircraftModel; +begin + result:=GetRaumschiffModel(GetBuyableModelIndex(BuildIndex)); +end; + function TAirCraftList.GetRaumschiff(Index: Integer): TAirCraft; begin result:=nil; Index: game/source/pages/VerRaumschiffe.pas =================================================================== --- game/source/pages/VerRaumschiffe.pas (Revision 598) +++ game/source/pages/VerRaumschiffe.pas (Arbeitskopie) @@ -86,7 +86,7 @@ begin Container.Lock; try - SaveGame.Raumschiffe.Build(Kauf.ItemIndex); + SaveGame.Raumschiffe.Build(SaveGame.Raumschiffe.GetBuyableModelIndex(Kauf.ItemIndex)); Schiffe.Items.Add(IntToStr(SaveGame.Raumschiffe.Count-1)); RenameButton.Enabled:=true; OnSchiffChange(Self); @@ -143,9 +143,9 @@ begin Kauf.DrawSelection(Surface,Mem,Rect,bcMaroon); end; - SaveGame.Raumschiffe.DrawIcon(Surface,Rect.Left+4,Rect.Top+4,SaveGame.Raumschiffe.Models[Index].WaffenZellen); + SaveGame.Raumschiffe.DrawIcon(Surface,Rect.Left+4,Rect.Top+4,SaveGame.Raumschiffe.GetBuyableModel(Index).WaffenZellen); YellowStdFont.Draw(Surface,Rect.Left+38,Rect.Top+4,Kauf.Items[Index]); - WhiteStdFont.Draw(Surface,Rect.Left+38,Rect.Top+20,Format(FCredits,[SaveGame.Raumschiffe.Models[Index].KaufPreis/1])); + WhiteStdFont.Draw(Surface,Rect.Left+38,Rect.Top+20,Format(FCredits,[SaveGame.Raumschiffe.GetBuyableModel(Index).KaufPreis/1])); end; procedure TVerRaumschiffe.DrawSchiff(Sender: TDXComponent; @@ -179,7 +179,7 @@ Button: TMouseButton; Shift: TShiftState; x, y: Integer); begin if Button=mbRight then - ufopaedie_api_ShowEntry(upeRaumschiff,Kauf.ItemIndex); + ufopaedie_api_ShowEntry(upeRaumschiff,SaveGame.Raumschiffe.GetBuyableModelIndex(Kauf.ItemIndex)); end; procedure TVerRaumschiffe.OnSchiffChange(Sender: TObject); @@ -256,7 +256,7 @@ fOldIndex:=Kauf.ItemIndex; fSchiffSel:=false; RaumschiffInfo.Caption:=LModel; - RaumschiffInfo.RaumschiffTyp:=SaveGame.Raumschiffe.Models[Kauf.ItemIndex]; + RaumschiffInfo.RaumschiffTyp:=SaveGame.Raumschiffe.GetBuyableModel(Kauf.ItemIndex); Container.UnLock; RaumschiffInfo.Redraw; end;