home *** CD-ROM | disk | FTP | other *** search
/ Game Level Design / GLDesign.bin / Software / UnrealEngine2Runtime / UE2Runtime-22262001_Demo.exe / Engine / Classes / ArmorPickup.uc < prev    next >
Text File  |  2003-06-23  |  1KB  |  47 lines

  1. class ArmorPickup extends Pickup
  2.     abstract;
  3.  
  4. function float BotDesireability( pawn Bot )
  5. {
  6.     local Inventory AlreadyHas;
  7.     local Armor AlreadyHasArmor;
  8.     local float desire;
  9.     local bool bChecked;
  10.  
  11.     desire = MaxDesireability;
  12.  
  13.     if ( RespawnTime < 10 )
  14.     {
  15.         bChecked = true;
  16.         AlreadyHas = Bot.FindInventoryType(InventoryType); 
  17.         if ( AlreadyHas != None ) 
  18.         {
  19.             if ( Inventory != None )
  20.             {
  21.                 if( Inventory.Charge <= AlreadyHas.Charge )
  22.                     return -1;
  23.             }
  24.             else if ( InventoryType.Default.Charge <= AlreadyHas.Charge )
  25.                 return -1;
  26.         }
  27.     }
  28.  
  29.     if ( !bChecked )
  30.         AlreadyHasArmor = Armor(Bot.FindInventoryType(InventoryType)); 
  31.     if ( AlreadyHasArmor != None )
  32.         desire *= (1 - AlreadyHasArmor.Charge * AlreadyHasArmor.ArmorAbsorption * 0.00003);
  33.     
  34.     if ( Armor(Inventory) != None )
  35.     {
  36.         // pointing to specific, existing item
  37.         desire *= (Inventory.Charge * 0.005);
  38.         desire *= (Armor(Inventory).ArmorAbsorption * 0.01);
  39.     }
  40.     else
  41.     {
  42.         desire *= (InventoryType.default.Charge * 0.005);
  43.         desire *= (class<Armor>(InventoryType).default.ArmorAbsorption * 0.01);
  44.     }
  45.     return desire;
  46. }
  47.