def get(self): _trace = TRACE+'Home:: get() ' logging.info(_trace) battles = models.BattlePin.all().fetch(100) monsters = models.MonsterPartyPin.all().fetch(100) players = models.PlayerPartyPin.all().fetch(100) battles_json = [] monsters_json = [] players_json = [] for b in battles: lat, lon = utils.parseGeoPt(b.location) data = {'name': b.name,'lat': lat,'lon': lon} battles_json.append(data) for m in monsters: lat, lon = utils.parseGeoPt(m.location) data = {'name': m.name,'lat': lat,'lon': lon} monsters_json.append(data) for p in players: lat, lon = utils.parseGeoPt(p.location) data = {'name': p.name,'lat': lat,'lon': lon} players_json.append(data) logging.info(_trace+'battles = '+simplejson.dumps(battles_json)) logging.info(_trace+'monsters = '+simplejson.dumps(monsters_json)) logging.info(_trace+'players = '+simplejson.dumps(players_json)) template_values = { 'players': simplejson.dumps(players_json), 'monsters': simplejson.dumps(monsters_json), 'battles': simplejson.dumps(battles_json) } generate(self, 'main.html', template_values)
def spawnLocation(location, meters=60): """Creates a new location within random meters of provided location. Returns: a new location. """ _trace=TRACE+"spawnLocation() " logging.info(_trace) lat, lon = utils.parseGeoPt(location) logging.info(_trace+'lat = '+lat) logging.info(_trace+'lon = '+lon) # Randomly determine distance of new lat/lon ran_lat_meters = utils.roll(meters, 1) ran_lon_meters = utils.roll(meters, 1) logging.info(_trace+'ran_lat_meters = '+str(ran_lat_meters)) logging.info(_trace+'ran_lon_meters = '+str(ran_lon_meters)) lat_meters = ran_lat_meters*.00001 lon_meters = ran_lon_meters*.00001 logging.info(_trace+'lat_meters = '+str(lat_meters)) logging.info(_trace+'lon_meters = '+str(lon_meters)) # Randomly determine direction of new lat/lon pos_lat_vector = random.choice([True, False]) pos_lon_vector = random.choice([True, False]) logging.info(_trace+'pos_lat_vector = '+str(pos_lat_vector)) logging.info(_trace+'pos_lon_vector = '+str(pos_lon_vector)) lat = utils.strToIntOrFloat(lat) lon = utils.strToIntOrFloat(lon) new_lat = lat new_lon = lon if pos_lat_vector == False: new_lat = lat - lat_meters logging.info(_trace+'False new_lat = '+str(new_lat)) else: new_lat = lat + lat_meters logging.info(_trace+'True new_lat = '+str(new_lat)) if pos_lon_vector == False: new_lon = lon - lon_meters logging.info(_trace+'False new_lon = '+str(new_lon)) else: new_lon = lon + lon_meters logging.info(_trace+'True new_lon = '+str(new_lon)) new_location = db.GeoPt(str(new_lat), str(new_lon)) return new_location
def get(self, method): _trace = TRACE+'Test:: get() ' logging.info(_trace) if method == "start": pc_templates = models.PlayerCharacterTemplate.all().fetch(100) user = users.get_current_user() characters = models.Character.all().filter('user ='******'pc_templates': pc_templates, 'characters': characters, 'user': user } generate(self, 'test/test_start.html', template_values) elif method == "quest": user = users.get_current_user() key = self.request.get('key') character = db.get(key) party = models.PlayerParty.all().filter('leader = ', character).get() template_values = { 'party': party, 'character': character, 'user': user } generate(self, 'test/test_quest.html', template_values) elif method == "attack": user = users.get_current_user() key = self.request.get('key') character = db.get(key) items = db.get(character.items) powers = db.get(character.powers) party = models.PlayerParty.all().filter('leader = ', character).get() monster_party = models.NonPlayerParty.get_by_id(171) monsters = db.get(monster_party.monsters) template_values = { 'party': party, 'monster_party': monster_party, 'monsters': monsters, 'character': character, 'items': items, 'powers': powers, 'user': user } generate(self, 'test/test_attack.html', template_values) elif method == "map": battles = models.BattlePin.all().fetch(100) monsters = models.MonsterPartyPin.all().fetch(100) players = models.PlayerPartyPin.all().fetch(100) battles_json = [] monsters_json = [] players_json = [] for b in battles: lat, lon = utils.parseGeoPt(b.location) data = {'name': b.name,'lat': lat,'lon': lon} battles_json.append(data) for m in monsters: lat, lon = utils.parseGeoPt(m.location) data = {'name': m.name,'lat': lat,'lon': lon} monsters_json.append(data) for p in players: lat, lon = utils.parseGeoPt(p.location) data = {'name': p.name,'lat': lat,'lon': lon} players_json.append(data) logging.info(_trace+'battles = '+simplejson.dumps(battles_json)) logging.info(_trace+'monsters = '+simplejson.dumps(monsters_json)) logging.info(_trace+'players = '+simplejson.dumps(players_json)) template_values = { 'players': simplejson.dumps(players_json), 'monsters': simplejson.dumps(monsters_json), 'battles': simplejson.dumps(battles_json) } generate(self, 'test/test_map.html', template_values)