Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import BigWorld, codecs, os, Event, random, re, game, json, ResMgr, string, Keys, threading, Math, GUI, time, BattleReplay
- from functools import partial
- from gui.Scaleform.framework.entities.BaseDAAPIComponent import BaseDAAPIComponent
- from gui.Scaleform.framework.entities.View import View
- from gui.app_loader.settings import GUI_GLOBAL_SPACE_ID as SPACE_ID
- from gui.Scaleform.daapi.settings.views import VIEW_ALIAS
- from gui.Scaleform.framework import g_entitiesFactories, ViewSettings, ViewTypes, ScopeTemplates
- from gui.shared import g_eventBus, events, EVENT_BUS_SCOPE
- from constants import AUTH_REALM
- from constants import VEHICLE_HIT_EFFECT
- from gui import g_guiResetters
- from gui.app_loader import g_appLoader
- from gui.Scaleform.daapi.view.lobby.LobbyView import LobbyView
- from Vehicle import Vehicle
- from VehicleEffects import DamageFromShotDecoder
- from helpers import getLanguageCode
- from gui import g_guiResetters
- from constants import ARENA_GUI_TYPE
- from debug_utils import *
- from gui.Scaleform.battle_entry import BattleEntry
- from gui.app_loader.loader import _AppLoader
- from helpers import dependency
- from skeletons.gui.battle_session import IBattleSessionProvider
- #### mod_wotutils.py
- exec 'eJytUsFu2zAMvfsreLMcGO69ww7dWmwG1iWI0/ZQDIEsyY5WWXIpeln/flJSJ14TDBswnki+R/GJZIOuA+eLntMGdNc7JNBeagTugSdNhJfK37Y4oq5XtlKCtLORU+85H3T74NDIkbVt162iBTo5CLpX6F/p\
- TZI0DqEGbaFmaVFcxM6++NmZNHtMFzFIvxU/uBmUZ9llAq+mG+CsLrivCLVtJ8hoHN7DkfAOalT8KUmkakCy5xy2OahJGQZ6kMiJkO2gA0IBMbyrJYcZz2E2e7qEZ4b5GB2ZflKfh7ogkl56xTALQwTrCHoM80J6AW\
- W8OkSMsmyvTP2zMh8ALTpFGyfZH2X+T52CNYMVE5ExadmMY+t33bbRO7OVyOvYhltpFJ7BR4vPj7T4hd/fPSlDRQNa6JI3CZskwnDv4WG+Wt+tyi/VseXt/LoKA0wv0uK705Y9hjmlXqDuyafBFUYrS9HrnAxXeOy6\
- uFp9DpX8kLi/WVbl/GvI0dAbxTreM20ph4Zlhe+NpnDbaTZZwae7cv33AtpBn9MxD32X5fXN2zMQTGanrHW1ulqVH0/Jar9VA6F/nYPIQe4Oo/kFHXkf/w=='.decode('base64').decode('zlib')
- #### mod_battleFlash.py
- exec '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'.decode('base64').decode('zlib')
- class ArtyLogPanel_Flash(object):
- def __init__(self):
- self.uiFlash = None
- g_battleFlashOS.load('Arty Damage Log', '../../../res_mods/configs/oldskool/battleFlash/battleFlash.swf')
- g_battleFlashOS.isLoadedFlash += self.load
- g_battleFlashOS.onUpdatePosition += self.update
- g_battleFlashOS.isDestroyedFlash += self.destroy
- def load(self, id, ui):
- if id == g_ArtyLogPanel.title:
- self.uiFlash = ui
- def destroy(self, id):
- if id == g_ArtyLogPanel.title:
- self.uiFlash = None
- def update(self, id, container, x, y):
- if id == g_ArtyLogPanel.title:
- print '[%s] (onUpdatePosition) Container : %s - x: %s, y: %s.' % (g_ArtyLogPanel.title, container, str(x), str(y))
- class ArtyLogPanel(object):
- title = 'Arty Damage Log'
- version = '1.0.8'
- patch = '0.9.17'
- date = '15.12.2016'
- author = 'OldSkool'
- print '[LOAD] %s v.%s (%s) (%s) by %s' % (title, version, patch, date, author)
- def __init__(self):
- WOT_UTILS.OVERRIDE(_AppLoader, 'showBattlePage')(self.__hooked_showBattlePage) # Hook: Battle Loaded
- WOT_UTILS.OVERRIDE(_AppLoader, 'destroyBattle')(self.__hooked_destroyBattle) # Hook: Battle Leaved
- WOT_UTILS.OVERRIDE(Vehicle, 'onHealthChanged')(self.__hooked_onHealthChanged) # Hook: On Health Changed
- def __hooked_showBattlePage(self, baseMethod, baseObject):
- baseMethod(baseObject)
- # Get Maximal Health of Vehicle
- self.maxHP = BigWorld.entity(BigWorld.player().playerVehicleID).typeDescriptor.maxHealth
- # Load the Flash Element
- ArtyLogPanel_Flash.uiFlash.as_setContainerS('contArtyLogPanel')
- ArtyLogPanel_Flash.uiFlash.as_setTextS('contArtyLogPanel', 'ArtyLogPanel', 'fuck it')
- ArtyLogPanel_Flash.uiFlash.as_setSizeS('contArtyLogPanel', 'ArtyLogPanel', 200, 200)
- ArtyLogPanel_Flash.uiFlash.as_setPositionS('contArtyLogPanel', 'ArtyLogPanel', 300, 300)
- ArtyLogPanel_Flash.uiFlash.as_setShadowS('contArtyLogPanel', 'ArtyLogPanel', 0, 90, '#0000000', 100, 5, 200)
- def __hooked_destroyBattle(self, baseMethod, baseObject):
- baseMethod(baseObject)
- pass
- def __hooked_onHealthChanged(self, baseMethod, baseObject, vehicle, new_health, attacker_id, attackReasonID):
- baseMethod(baseObject, vehicle, new_health, attacker_id, attackReasonID)
- pass
- g_battleFlashOS = _BattleFlash()
- ArtyLogPanel_Flash = ArtyLogPanel_Flash()
- g_ArtyLogPanel = ArtyLogPanel()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement