def spawnBomb(self, key): if key != b' ': return ownerEntity = coreInstance.entities[self.ownerId] coreInstance.addEntity( Entity( pos=scramblePosition(ownerEntity.pos, 0.05), render=Render("Model1"), bomb=Bomb(), gravity=Gravity(), friction=0.93, collision=Collision(['layerA'], (0.1, 0.1)), deltaVector=scramblePosition(ownerEntity.deltaVector, 0.05)))
def combinedSpawner(pos, color, factionId): for _ in range(10): freePos = scramblePosition(pos, 0.4, 0.2) if not CollisionLogic.pointCollides(freePos): createUnit(freePos, color, factionId) break return ScheduledTaskResult.ContinueTask
def onCollisionBall(entA, entB, vector): if abs(vector[0]) > abs(vector[1]): entA.deltaVector[0] *= -0.99 else: entA.deltaVector[1] *= -0.99 entA.deltaVector = scramblePosition(entA.deltaVector, 0.01) entA.deltaVector = [x * 0.04 for x in normalize(entA.deltaVector)]
def onKeyDown(self, key): entity = coreInstance.entities[self.ownerId] if key == b'a': entity.pos[0] -= 0.035 entity.deltaVector[0] -= 0.085 elif key == b'd': entity.pos[0] += 0.035 entity.deltaVector[0] += 0.085 elif key == b'w': entity.deltaVector[1] += 0.085 entity.pos[1] += 0.015 elif key == b's': entity.deltaVector[1] -= 0.085 entity.pos[1] -= 0.015 elif key == b' ': for _ in range(0,10): coreInstance.addEntity(Entity( pos=scramblePosition(entity.pos, 0.01), friction=0.93, collision=Collision(['layerA'], (0.005, 0.005), collisionCausesPositionRevert), deltaVector=scramblePosition(entity.deltaVector, 0.15), gravity=Gravity([0, -0.01, 0]), render=Render('Cube', 0.01) ))