home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 56 / CDPowerplay56Disc2.iso / demos / blade / data1.cab / Program_Executable_Files / Lib / LevelFuncs.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2000-10-27  |  1.9 KB  |  29 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 1.5)
  3.  
  4. import Bladex
  5. import CharStats
  6.  
  7. class EnemyLevelControl:
  8.     '''Enemy Level Control Class \tUsed for adjusting enemy levels, based on how well the player is doing \tagainst designer expectations for this map.  Normally to be instantiated \tduring map creation, all further enemies created can have their level \tadjusted according to how well the player was doing in the moment of the \tcontrol creation.  Syntax for creation is: \t\tlvl_control= LevelFuncs.EnemyLevelControl (expected_player_lvl_min, expected_player_lvl_max) \tthen later replace calls like... \t\tenemy.Level= 9 \twith \t\tenemy.Level= lvl_control.GiveLevel (8, 10) \t'''
  9.     progression_factor = 0.0
  10.     
  11.     def __init__(self, expected_player_lvl_min, expected_player_lvl_max):
  12.         player = Bladex.GetEntity('Player1')
  13.         
  14.         try:
  15.             LevelLimit = 1.0 * CharStats.GetCharExperienceCost(player.CharType, player.Level)
  16.             adjusted_player_lvl = player.Level + player.PartialLevel / LevelLimit
  17.             adjusted_player_lvl = max(adjusted_player_lvl, 1.0 * expected_player_lvl_min)
  18.             adjusted_player_lvl = min(adjusted_player_lvl, 1.0 * expected_player_lvl_max)
  19.             self.progression_factor = (adjusted_player_lvl - expected_player_lvl_min) / (expected_player_lvl_max - expected_player_lvl_min)
  20.         except:
  21.             print '!!!Error!!! initializing EnemyLevelControl.  Probable cause: Player1 not accessible'
  22.  
  23.  
  24.     
  25.     def GiveLevel(self, enemy_lvl_min, enemy_lvl_max):
  26.         return round((enemy_lvl_max - enemy_lvl_min) * self.progression_factor + enemy_lvl_min)
  27.  
  28.  
  29.