Advertisement
Guest User

Altitude ShockWaveModule

a guest
Jan 25th, 2020
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.52 KB | None | 0 0
  1. class ShockWaveModule(GameModeModule):
  2.     #
  3.     # Not really set to work on just TBD yet!!
  4.     #
  5.     def __init__(self, mode='TBD'):
  6.         self.mode = mode
  7.         super().__init__(self, mode)
  8.  
  9.  
  10.     async def kill(self, event, _, servers):
  11.         #{"victimPositionY":407.63,"victimVelocityX":1.17,"streak":3,"source":"plane","type":"kill","victimPositionX":1395.17,"victimVelocityY":2.63,"multi":3,"port":27278,"xp":10,"victim":0,"time":12800875,"player":11}
  12.         async def jiggle(multi, team):
  13.             if not team: return
  14.  
  15.             for player in team:
  16.                 if not player.is_bot():
  17.                     await player.whisper('MULTI-KILL (%s) OMEGA BURST INCOMING!!!' %  multi)
  18.                     #await player.whisper('TAKE COVER!!!')
  19.                 for i in range(1, multi+2):
  20.                     await player.applyForce(random.randrange(i*-5,i*5),random.randrange(i*-5,i*5))
  21.                     await asyncio.sleep(.2)
  22.                 #await player.applyForce(random.randrange(-10,10),random.randrange(-10,10))
  23.                 #await asyncio.sleep(.1)
  24.                 #await player.applyForce(random.randrange(-8,8),random.randrange(-8,8))
  25.  
  26.         server = servers[event['port']]
  27.         player = await server.get_player_by_number(event['player'])
  28.         teams = server.get_players_by_team()
  29.         if event['multi'] > 1:
  30.             if player in teams['leftTeam']:
  31.                 await jiggle(event['multi'],teams.get('rightTeam'))
  32.             else:
  33.                 await jiggle(event['multi'], teams.get('leftTeam'))
  34.    
  35.     async def structureDamage(self, event, _, servers):
  36.         async def jiggle(team):
  37.             if not team: return
  38.  
  39.             for player in team:
  40.                 if not player.is_bot():
  41.                     await player.whisper('BEWARE SHOCK WAVE FROM BASE DAMAGE!')
  42.                 await player.applyForce(random.randrange(-12,12),random.randrange(-12,12))
  43.                 await asyncio.sleep(.2)
  44.                 await player.applyForce(random.randrange(-10,10),random.randrange(-10,10))
  45.                 await asyncio.sleep(.2)
  46.                 await player.applyForce(random.randrange(-8,8),random.randrange(-8,8))
  47.  
  48.         server = servers[event['port']]
  49.         # for testing
  50.         #{"positionY":475,"port":27278,"exactXp":31.25,"xp":31,"time":5135540,"type":"structureDamage","player":3,"target":"base","positionX":3184}
  51.         player = await server.get_player_by_number(event['player'])
  52.         teams = server.get_players_by_team()
  53.         if event['target'] == 'base':
  54.             if player in teams['leftTeam']:
  55.                 await jiggle(teams.get('rightTeam'))
  56.             else:
  57.                 await jiggle(teams.get('leftTeam'))
  58.  
  59.     async def structureDestroy(self, event, _, servers):
  60.         async def jiggle(team):
  61.             for player in team:
  62.                 if not player.is_bot():
  63.                     await player.whisper('SHRAPNAL INCOMING FROM DESTROYED TURRET!')
  64.                 await player.applyForce(random.randrange(-10,10),random.randrange(-10,10))
  65.                 await asyncio.sleep(.1)
  66.                 await player.applyForce(random.randrange(-8,8),random.randrange(-8,8))
  67.  
  68.         server = servers[event['port']]
  69.         player = await server.get_player_by_number(event['player'])
  70.         teams = server.get_players_by_team()
  71.         if event['target'] == 'turret':
  72.             if player in teams.get('leftTeam'):
  73.                 await jiggle(teams.get('rightTeam'))
  74.             else:
  75.                 await jiggle(teams.get('leftTeam'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement