Advertisement
Guest User

Untitled

a guest
Dec 12th, 2016
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.72 KB | None | 0 0
  1. import BigWorld, codecs, os, Event, random, re, game, json, ResMgr, string, Keys, threading, Math, GUI, time, BattleReplay
  2. from functools import partial
  3. from gui.Scaleform.framework.entities.BaseDAAPIComponent import BaseDAAPIComponent
  4. from gui.Scaleform.framework.entities.View import View
  5. from gui.app_loader.settings import GUI_GLOBAL_SPACE_ID as SPACE_ID
  6. from gui.Scaleform.daapi.settings.views import VIEW_ALIAS
  7. from gui.Scaleform.framework import g_entitiesFactories, ViewSettings, ViewTypes, ScopeTemplates
  8. from gui.shared import g_eventBus, events, EVENT_BUS_SCOPE
  9. from constants import AUTH_REALM
  10. from constants import VEHICLE_HIT_EFFECT
  11. from gui import g_guiResetters
  12. from gui.app_loader import g_appLoader
  13. from gui.Scaleform.daapi.view.lobby.LobbyView import LobbyView
  14. from Vehicle import Vehicle
  15. from VehicleEffects import DamageFromShotDecoder
  16. from helpers import getLanguageCode
  17. from gui import g_guiResetters
  18. from constants import ARENA_GUI_TYPE
  19. from debug_utils import *
  20. from gui.Scaleform.battle_entry import BattleEntry
  21. from gui.app_loader.loader import _AppLoader
  22. from helpers import dependency
  23. from skeletons.gui.battle_session import IBattleSessionProvider
  24.  
  25. #### mod_wotutils.py
  26. exec 'eJytUsFu2zAMvfsreLMcGO69ww7dWmwG1iWI0/ZQDIEsyY5WWXIpeln/flJSJ14TDBswnki+R/GJZIOuA+eLntMGdNc7JNBeagTugSdNhJfK37Y4oq5XtlKCtLORU+85H3T74NDIkbVt162iBTo5CLpX6F/p\
  27. TZI0DqEGbaFmaVFcxM6++NmZNHtMFzFIvxU/uBmUZ9llAq+mG+CsLrivCLVtJ8hoHN7DkfAOalT8KUmkakCy5xy2OahJGQZ6kMiJkO2gA0IBMbyrJYcZz2E2e7qEZ4b5GB2ZflKfh7ogkl56xTALQwTrCHoM80J6AW\
  28. W8OkSMsmyvTP2zMh8ALTpFGyfZH2X+T52CNYMVE5ExadmMY+t33bbRO7OVyOvYhltpFJ7BR4vPj7T4hd/fPSlDRQNa6JI3CZskwnDv4WG+Wt+tyi/VseXt/LoKA0wv0uK705Y9hjmlXqDuyafBFUYrS9HrnAxXeOy6\
  29. uFp9DpX8kLi/WVbl/GvI0dAbxTreM20ph4Zlhe+NpnDbaTZZwae7cv33AtpBn9MxD32X5fXN2zMQTGanrHW1ulqVH0/Jar9VA6F/nYPIQe4Oo/kFHXkf/w=='.decode('base64').decode('zlib')
  30.  
  31. #### mod_battleFlash.py
  32. exec 'eNrVWltv4jgUfl9p/0PU1YigRfkBleYBCu0gUagITB9Go8glp+DdYGcTp5dd7X/fYzv3K6Ud2KFSBPHxuXz+zvFx0o1HwtAYESE8uMbvu1sQxByREMbD4d30iu99zoCJ/qWBn19/ya4uPBr+q+MHlIkZ35oh\
  33. eI8DQ8ALymoJ+bm4uMh+XPokIHslY1watsCp25zsZQAiCpjRNF1asLTBxRMEAXVhEgQ8MHs5P3r9Gicj3yUC7nhIBeUsdnXDmSCUQTAwXgbGa5fXqXit61rmBcfm0f4BgurYa+3Ye0IuRlUNnIROCOIq8dsux/2+iD\
  34. s8p4+x8zRUTJoyKsA18zblJ9aiRB8l/xYPf8BGWCXfzczpmihd8H7aKPO+V6JMPuU1XWEG2VUae+QBvMNy8BA2K3Ut48fm8YdQQ0JgNsTeAh7C3Qbej4XtFGSqxaWhNIzI5s9twCPmNpOJ7skWTsEmZehsdMqgMJsw\
  35. qC883Rj+/JxqAaejUH2lIX3woJleT1rgFASLTaHEiHMPCDs1x2IwzGYU2sFMdvpmND+qj+mC8sP7nA/BN+3vGoBpR3fo+TvSDC2Rw6fAVhk6G4YKBbMp/HYEl1yQdn4GscQpcExsnQ3KBA6zBYd2QG36d0vpfKau2A\
  36. 2MHdDt7iT9njLYkvnak7PhLdEyu2DqAHxHXP7cDLlLQ0HYBjAf2NYDKeLxIM6OgRGiB3gVAbCt2J1iSRKHWlZFedoyrkI4qh7pcRl023CMxvloodbUfO9idhzIsKNYUb+GOQJHBPU/ggyxqvMduXSQZk10deeLTQCQ\
  37. 7gVvKlb/60KjwjLLVaUQ+iYKQp4+iTiwxT1ve6pdNrNGVP5tyg8HzdKDQmkgi9xxKNp1HBV33nYY+RDk5w6UD30rndEv6sEzR40aH70pyPncjzwi4A0G0ym5hN46D5nkwrZoOOPEBVeHXEGLkT3E+vI64AmYGEWhRV\
  38. x3hqUF5AMddTO0bnDKRH61lsPxdDhzbifztXN1Ox7E6yb4FkvQkriUeLfAIry/4T58nnydzFfOaG079tXibmKNhqvVbHKE3ev1bObYq+HKLpq8jjzPxmYk/HCL9pfFvXO1XtqLZWIy3PHnK0W0gVG2czNbjIazI+x8\
  39. mY4nJTs76sIb7GwjugSsbwICZUsvuROA3AJsle/9YuHPHs3mhUosxv3F52GVnFW6jQG3Gf7ayrh6ZALY8yc4C926TP8QxnUZfSPp3mPqjbyrMVXgHbJlQ4Ja7h1S1xKyFSlYYGelSKrb93oj0z++6I31s3Gznlr6Fn\
  40. rIvUidY/ol8uc3+SZdlc6gwr14l1T45t3DtODPDH1RI9ZGvHzr6Xu975nUb4ZlWQ02UqY1m7B3R9vIeBWrdwrgxgAlrcAqiKC4NhlZDpl/TbwwXwPe9XqrXIE4W1c11Ox5ZZUN7nS8ElTDRi/ngvHN+BQa3/HSMz4Z\
  41. JhbDhhqo+nFTKWxqUaZMiiOoXyk8H9ufJEqO61MOUKcn9o/sZir66roa6iKvFYxbENNxceglP8ZceDGpW5Peeo20ORtFBnJqWc7Vu5dZS4fGXbA7qNqSpmMpK8s3tiixZvSvCObIGLOPddz3yAbMMukze73qq9MUFk\
  42. 1hBOey0G0juJRV8kjxdToOv1H3e33r3TYDSw/LymK+AMWTVQ3Ig3FMriVhN+VcCb5KyuWOOUV2JEhpjlxWG6a6Qw/i2PJGyH0502koH1mO9lnBcfKHIq7mtdaaKhrt7W36fxe617ha3N4t5rKhWE5upvZqspykvZzD\
  43. WSq9hK1UFIB7QOOrphfOOlgUtD11NauyxUa1Q7y8q3SIp8T8bPSc5EevJJTkCwr98+8htbizoTsP0tYGOR10ItwgVka2KoZgFFGtGUqxTKiZoemhp7mEDp/VF7lp6D6khs+6KDIuZGEs6C+lXWFM1r14LVtlyrUR56\
  44. A/xUm41EwgHhBeExkyfpGpZWODjeUlVA1B+gN9/b2I0MCo34xk7HLq6tVHhffT+XhxPzDmyIKBYcsDzAr2vtx8w3jhNQv6/Xd5V/AmMZe5kdK0wZPx5Hq4nq0yV7K1jVhhdWs3trb1q/BHrk93rDr7WvDvH6Gj1I7V\
  45. 5mdj8/8Yd/3EowQLCpYdl8gX/XeEgdczCHNjAXWVuCuhWiO9EkiofOsQ31cpH8hNdQyPekWHvl/ZivK7VgPsyecRK2T3IhWRbHHEkmSQvKpbkf8AYuuXFg=='.decode('base64').decode('zlib')
  46.  
  47. class ArtyLogPanel_Flash(object):
  48.  
  49.     def __init__(self):
  50.         self.uiFlash = None
  51.         g_battleFlashOS.load('Arty Damage Log', '../../../res_mods/configs/oldskool/battleFlash/battleFlash.swf')
  52.         g_battleFlashOS.isLoadedFlash += self.load        
  53.         g_battleFlashOS.onUpdatePosition += self.update
  54.         g_battleFlashOS.isDestroyedFlash += self.destroy
  55.  
  56.     def load(self, id, ui):
  57.         if id == g_ArtyLogPanel.title:
  58.             self.uiFlash = ui            
  59.  
  60.     def destroy(self, id):
  61.         if id == g_ArtyLogPanel.title:
  62.             self.uiFlash = None
  63.  
  64.     def update(self, id, container, x, y):
  65.         if id == g_ArtyLogPanel.title:
  66.             print '[%s] (onUpdatePosition) Container : %s - x: %s, y: %s.' % (g_ArtyLogPanel.title, container, str(x), str(y))
  67.  
  68. class ArtyLogPanel(object):
  69.    
  70.     title = 'Arty Damage Log'
  71.     version = '1.0.8'
  72.     patch = '0.9.17'
  73.     date = '15.12.2016'
  74.     author = 'OldSkool'
  75.     print '[LOAD] %s v.%s (%s) (%s) by %s' % (title, version, patch, date, author)
  76.  
  77.     def __init__(self):
  78.         WOT_UTILS.OVERRIDE(_AppLoader, 'showBattlePage')(self.__hooked_showBattlePage)      # Hook: Battle Loaded
  79.         WOT_UTILS.OVERRIDE(_AppLoader, 'destroyBattle')(self.__hooked_destroyBattle)        # Hook: Battle Leaved
  80.         WOT_UTILS.OVERRIDE(Vehicle, 'onHealthChanged')(self.__hooked_onHealthChanged)       # Hook: On Health Changed
  81.        
  82.     def __hooked_showBattlePage(self, baseMethod, baseObject):
  83.         baseMethod(baseObject)
  84.        
  85.         # Get Maximal Health of Vehicle
  86.         self.maxHP = BigWorld.entity(BigWorld.player().playerVehicleID).typeDescriptor.maxHealth
  87.        
  88.         # Load the Flash Element
  89.         ArtyLogPanel_Flash.uiFlash.as_setContainerS('contArtyLogPanel')
  90.         ArtyLogPanel_Flash.uiFlash.as_setTextS('contArtyLogPanel', 'ArtyLogPanel', 'fuck it')
  91.         ArtyLogPanel_Flash.uiFlash.as_setSizeS('contArtyLogPanel', 'ArtyLogPanel', 200, 200)
  92.         ArtyLogPanel_Flash.uiFlash.as_setPositionS('contArtyLogPanel', 'ArtyLogPanel', 300, 300)
  93.         ArtyLogPanel_Flash.uiFlash.as_setShadowS('contArtyLogPanel', 'ArtyLogPanel', 0, 90, '#0000000', 100, 5, 200)
  94.        
  95.     def __hooked_destroyBattle(self, baseMethod, baseObject):
  96.         baseMethod(baseObject)
  97.         pass
  98.        
  99.     def __hooked_onHealthChanged(self, baseMethod, baseObject, vehicle, new_health, attacker_id, attackReasonID):
  100.         baseMethod(baseObject, vehicle, new_health, attacker_id, attackReasonID)
  101.         pass
  102.        
  103.        
  104. g_battleFlashOS = _BattleFlash()
  105. ArtyLogPanel_Flash = ArtyLogPanel_Flash()
  106. g_ArtyLogPanel = ArtyLogPanel()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement