home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 56 / CDPowerplay56Disc2.iso / demos / blade / data1.cab / Program_Executable_Files / Lib / PowDefWidgets.py < prev    next >
Encoding:
Text File  |  2000-10-27  |  5.9 KB  |  174 lines

  1. import ScorerWidgets
  2. import CharStats
  3. import Reference
  4. import Damage
  5. import Bladex
  6. import Scorer
  7. import BUIx
  8.  
  9. DefTextWidget = 0
  10. PowTextWidget = 0
  11. Visible = 0
  12. Color = 0
  13.  
  14. def Draw():
  15.     global Color 
  16.  
  17.     try: # Cuando se carga una partida, char puede que no este inicializado
  18.         if (Visible):
  19.             char = Bladex.GetEntity("Player1")
  20.             if not char:
  21.                 return
  22.  
  23.             shieldFPow = 0.0
  24.             shieldFDef = 0.0
  25.             weaponFPow = 0.0
  26.             weaponFDef = 0.0
  27.  
  28.             charFPow= CharStats.GetCharDamageData(char.CharType,char.Level)
  29.             charFPow= max(charFPow, 0)
  30.             charFDef= 0
  31.  
  32.             charFDef= CharStats.GetCharDefenseData(char.CharType,char.Level) + char.Data.armour_prot_factor
  33.             charFDef= max(charFDef, 0)
  34.  
  35.             #if (char.InvRight):
  36.             #    WeaponName = char.InvRight
  37.             #else:
  38.             #    WeaponName = char.InvRightBack
  39.                             
  40.             #if (char.InvLeft):
  41.             #    ShieldName = char.InvLeft
  42.             #else:
  43.             #    ShieldName = char.InvLeftBack
  44.             inv= char.GetInventory()
  45.             WeaponName = inv.GetActiveWeapon()
  46.             ShieldName = inv.GetActiveShield()
  47.  
  48.             if WeaponName:
  49.                 if Reference.EntitiesObjectData.has_key(WeaponName):
  50.                     if Reference.EntitiesObjectData[WeaponName][0] == Reference.OBJ_WEAPON or Reference.EntitiesObjectData[WeaponName][0] == Reference.OBJ_STANDARD or Reference.EntitiesObjectData[WeaponName][0] == Reference.OBJ_ARROW:
  51.                         weaponData = Reference.EntitiesObjectData[WeaponName]
  52.                         if len (weaponData) > 1:                    
  53.                             weaponFPow = weaponData[1]
  54.                             weaponFDef = weaponData[2]
  55.                 else:
  56.                     kind = Bladex.GetEntity(WeaponName).Kind    
  57.                     if Reference.DefaultObjectData.has_key(kind):
  58.                         if Reference.DefaultObjectData[kind][0] == Reference.OBJ_WEAPON or Reference.DefaultObjectData[kind][0] == Reference.OBJ_STANDARD or Reference.DefaultObjectData[kind][0] == Reference.OBJ_ARROW:
  59.                             weaponData = Reference.DefaultObjectData[kind]
  60.                             if len (weaponData) > 1:
  61.                                 weaponFPow = weaponData[1]
  62.                                 weaponFDef = weaponData[2]                            
  63.  
  64.             if ShieldName:
  65.                 if Reference.EntitiesObjectData.has_key(ShieldName):
  66.                     if Reference.EntitiesObjectData[ShieldName][0] ==  Reference.OBJ_SHIELD:
  67.                         shieldFPow = Reference.EntitiesObjectData[ShieldName][1]                    
  68.                         
  69.                 else:
  70.                     kind = Bladex.GetEntity(ShieldName).Kind    
  71.                     if Reference.DefaultObjectData.has_key(kind):
  72.                         if Reference.DefaultObjectData[kind][0] ==  Reference.OBJ_SHIELD:
  73.                             shieldFPow = Reference.DefaultObjectData[kind][1]                        
  74.  
  75.             FDefense = char.Data.FDefense
  76.             FAttack = char.Data.FAttack
  77.  
  78.             if (char.Data.PowerPotion):
  79.                 if (Color == 0):
  80.                     DefTextWidget.SetColor(255,0,0)
  81.                     PowTextWidget.SetColor(255,0,0)            
  82.                     Color = 1
  83.             else:
  84.                 if (Color):
  85.                     DefTextWidget.SetColor(128,128,128)
  86.                     PowTextWidget.SetColor(128,128,128)            
  87.                     Color = 0
  88.             
  89.             damage = int((charFPow * FAttack) + (weaponFPow + shieldFPow))
  90.             defense = int((charFDef * FDefense) + weaponFDef)
  91.  
  92.             PowTextWidget.SetText("POW " + `damage`)
  93.             DefTextWidget.SetText("DEF " + `defense`)
  94.  
  95.             Bladex.AddScheduledFunc (Bladex.GetTime() + 1.0,Draw,(),"PowWidgetDraw")
  96.             wPowFrame.RecalcLayout()
  97.             wDefFrame.RecalcLayout()
  98.  
  99.     except Exception,exc:
  100.         print "PowDefWidgets.Draw()",exc
  101.  
  102.  
  103. def Deactivate():
  104.     global Visible
  105.  
  106.     if PowTextWidget and DefTextWidget:
  107.         PowTextWidget.SetVisible(0)
  108.         DefTextWidget.SetVisible(0)
  109.         PowBmpWidget.SetVisible(0)
  110.         DefBmpWidget.SetVisible(0)
  111.     
  112.         Visible = 0
  113.  
  114. def Activate():
  115.     global Visible
  116.  
  117.     if PowTextWidget and DefTextWidget:
  118.         PowTextWidget.SetVisible(1)
  119.         DefTextWidget.SetVisible(1)
  120.         PowBmpWidget.SetVisible(1)
  121.         DefBmpWidget.SetVisible(1)
  122.         Visible = 1
  123.  
  124.         Draw()
  125.  
  126. def CreateWidgest():
  127.     global DefTextWidget
  128.     global PowTextWidget
  129.  
  130.     global DefBmpWidget
  131.     global PowBmpWidget
  132.  
  133.     global wDefFrame
  134.     global wPowFrame
  135.     
  136.     wDefFrame=BUIx.B_FrameWidget(Scorer.wFrame,"DefFrame",80,40)
  137.     Scorer.wFrame.AddWidget(wDefFrame,0.09,15,BUIx.B_FrameWidget.B_FR_HRelative,BUIx.B_FrameWidget.B_FR_HCenter,BUIx.B_FrameWidget.B_FR_AbsoluteBottom,BUIx.B_FrameWidget.B_FR_Bottom)
  138.  
  139.     wPowFrame=BUIx.B_FrameWidget(Scorer.wFrame,"PowFrame",80,40)
  140.     Scorer.wFrame.AddWidget(wPowFrame,0.91,15,BUIx.B_FrameWidget.B_FR_HRelative,BUIx.B_FrameWidget.B_FR_HCenter,BUIx.B_FrameWidget.B_FR_AbsoluteBottom,BUIx.B_FrameWidget.B_FR_Bottom)
  141.  
  142.  
  143.     DefTextWidget=ScorerWidgets.B_GameTextWidget(wDefFrame,"DefText")
  144.     DefTextWidget.SetAlpha(1)
  145.     DefTextWidget.SetColor(0,128,255)    
  146.     DefTextWidget.SetText("Def")
  147.     wDefFrame.AddWidget(DefTextWidget,0.5,0.5,BUIx.B_FrameWidget.B_FR_HRelative,      BUIx.B_FrameWidget.B_FR_HCenter,
  148.                                               BUIx.B_FrameWidget.B_FR_VRelative,      BUIx.B_FrameWidget.B_FR_VCenter)
  149.  
  150.     PowTextWidget=ScorerWidgets.B_GameTextWidget(wPowFrame,"PowText")
  151.     PowTextWidget.SetAlpha(1)
  152.     PowTextWidget.SetColor(0,128,255)    
  153.     PowTextWidget.SetText("Pow")
  154.     wPowFrame.AddWidget(PowTextWidget,0.5,0.5,BUIx.B_FrameWidget.B_FR_HRelative,      BUIx.B_FrameWidget.B_FR_HCenter,
  155.                                               BUIx.B_FrameWidget.B_FR_VRelative,      BUIx.B_FrameWidget.B_FR_VCenter)
  156.  
  157.  
  158.  
  159.     DefBmpWidget = BUIx.B_BitmapWidget(wDefFrame,"DefBmpWidget",80,40,"MARCADORDEFENSA","../../Data/marcadordefensa.mmp")
  160.     DefBmpWidget.SetColor(255,255,255)
  161.     DefBmpWidget.SetAlpha(1.0)
  162.     wDefFrame.AddWidget(DefBmpWidget,0.5,0.55,BUIx.B_FrameWidget.B_FR_HRelative,      BUIx.B_FrameWidget.B_FR_HCenter,
  163.                                              BUIx.B_FrameWidget.B_FR_VRelative,      BUIx.B_FrameWidget.B_FR_VCenter)
  164.  
  165.     PowBmpWidget = BUIx.B_BitmapWidget(wPowFrame,"PowBmpWidget",80,40,"MARCADORATAQUE","../../Data/marcadorataque.mmp")
  166.     PowBmpWidget.SetColor(255,255,255)
  167.     PowBmpWidget.SetAlpha(1.0)
  168.     wPowFrame.AddWidget(PowBmpWidget,0.5,0.55,BUIx.B_FrameWidget.B_FR_HRelative,      BUIx.B_FrameWidget.B_FR_HCenter,
  169.                                              BUIx.B_FrameWidget.B_FR_VRelative,      BUIx.B_FrameWidget.B_FR_VCenter)
  170.  
  171.     Deactivate()
  172.  
  173.  
  174.