import math from lib import filePath, contentLoader ENTITIES = contentLoader.loadEntities() #Enemies, Projectiles orderOfEntities = {} for key in ENTITIES[0]: #Add Enemies orderOfEntities[key] = ENTITIES[0][key] for key in ENTITIES[1]: #Add Projectiles orderOfEntities[key] = ENTITIES[1][key] ENTITIES = orderOfEntities del orderOfEntities class entity: def __init__(self, entityId, position=(0, 0, 0)): self.entityId = entityId #Server updates every 30 seconds self.tweenTime = 1000 / 30 self.x, self.y, self.angle = position self.tweenStartX, self.tweenToX, self.tweenStartY = position self.tweenToY, self.tweenStartAngle, self.tweenToAngle = position self.animation = None self.updated = False self.movementSpeed = 40 def getPosition(self): return self.x, self.y, self.angle def getUpdate(self): #Only called by the server if self.updated:
} reverseOpCodes = { } for key in opCodes: reverse = opCodes[key] reverseOpCodes[reverse] = key entityCodes = { } reverseEntityCodes = { } entities = contentLoader.loadEntities() orderOfEntities = [] for key in entities[0]: #Add Enemies length = len(entityCodes) entityCodes[key] = length reverseEntityCodes[length - 1] = key for key in entities[1]: #Add Projectiles length = len(entityCodes) entityCodes[key] = length reverseEntityCodes[length - 1] = key def packetUnpacker(packet): try: packet = json.loads(packet) except Exception as e: print(packet)
import math import json from lib import filePath, contentLoader #Hosts the classes that define how the entities work #Lists the AI's of enemeies #Controls the change of states of enemies #Constants FILERETRACTS = 2 ENTITIES = contentLoader.loadEntities( ) # A list in the order of enemies, projectiles ABILITIES = contentLoader.loadAbilities() for ability in ABILITIES: pass #print(ability) def pointToPoint(xDif, yDif, angle): if yDif < 0: return math.pi / 2 - math.atan(xDif / yDif) else: if yDif != 0: return -math.pi / 2 - math.atan(xDif / yDif) else: return angle #returned when angle can not be calculated #(-1*yDif/abs(yDif)) = math.atan(xDif/yDif) One line equation class entity: