Skip to content

Commit

Permalink
Update to use new cuwo.world abstraction
Browse files Browse the repository at this point in the history
  • Loading branch information
matpow2 committed Jul 22, 2014
1 parent 43e20ad commit 16d817f
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 38 deletions.
12 changes: 6 additions & 6 deletions koth/scripts/kingofthehill.py
Expand Up @@ -242,7 +242,7 @@ def on_kill(self, event):
if self.parent.king is None:
return

if event.target == self.parent.king.entity_data:
if event.target == self.parent.king.entity:
message = 'you killed {} for {}(+{}xp) KotH points! (+king bonus)'
self.connection.send_chat((message
.format(event.target.name,
Expand Down Expand Up @@ -395,7 +395,7 @@ def do_proximity_check(self):
player.position).magnitude_squared()

if (distance < self.proximity_radius and
player.entity_data.hp > 0):
player.entity.hp > 0):
if player not in self.players_in_proximity:
self.players_in_proximity.append(player)
elif player in self.players_in_proximity:
Expand Down Expand Up @@ -449,7 +449,7 @@ def grant_xp_and_gold(self):

print(message)
self.server.send_chat(message)
item = self.generate_item(player.entity_data)
item = self.generate_item(player.entity)
player.give_item(item)

self.drop_gold(self.copper_per_tick)
Expand Down Expand Up @@ -497,7 +497,7 @@ def drop_item(self, item):

def give_xp(self, player, amount):
# don't give XP to max levels
if self.max_level == 0 or player.entity_data.level < self.max_level:
if self.max_level == 0 or player.entity.level < self.max_level:
update_packet = self.server.update_packet
action = KillAction()
action.entity_id = player.entity_id
Expand Down Expand Up @@ -637,7 +637,7 @@ def random_item(self, itemdict):
item.material = materials[random.randint(0, len(materials) - 1)]
return item

def generate_item(self, entity_data):
def generate_item(self, entity):
item_bias = random.randint(0, 100)

if item_bias < 30:
Expand All @@ -664,7 +664,7 @@ def generate_item(self, entity_data):
if item.type == 20:
item.level = 1
else:
item.level = entity_data.level
item.level = entity.level

return item

Expand Down
14 changes: 7 additions & 7 deletions tdm/scripts/loot.py
Expand Up @@ -142,19 +142,19 @@ def random_item(itemdict):
return item


def generate_item(level=1, entity_data=None):
def generate_item(level=1, entity=None):
item_bias = random.randint(0, 100)

if item_bias < 30:
if entity_data is not None:
class_id = entity_data.class_type
if entity is not None:
class_id = entity.class_type
else:
class_id = random.randint(1, 4)

item = random_item(REWARD_CLASS_WEAPONS[class_id])
elif item_bias < 60:
if entity_data is not None:
class_id = entity_data.class_type
if entity is not None:
class_id = entity.class_type
else:
class_id = random.randint(1, 4)

Expand All @@ -178,8 +178,8 @@ def generate_item(level=1, entity_data=None):

if item.type == 20:
item.level = 1
elif entity_data is not None:
item.level = entity_data.level
elif entity is not None:
item.level = entity.level
else:
item.level = level

Expand Down
8 changes: 4 additions & 4 deletions tdm/scripts/teamdeathmatch.py
Expand Up @@ -56,12 +56,12 @@ def on_load(self):
pass

def give_kill_xp(self, player, is_assist=False):
if self.connection.entity_data.level >= self.max_level:
if self.connection.entity.level >= self.max_level:
return
xp_action = KillAction()
xp_action.entity_id = self.connection.entity_id
xp_action.target_id = player.connection.entity_id
level = player.connection.entity_data.level
level = player.connection.entity.level
xp_action.xp_gained = max(get_max_xp(level) * 0.03, 5)
if is_assist:
xp_action.xp_gained *= 0.5
Expand Down Expand Up @@ -90,7 +90,7 @@ def on_player_kill(self, player):
killed_spree = int(player.spree / self.spree_kill_count)
player.spree = 0
if killed_spree > 0:
entity_type = player.connection.entity_data.entity_type
entity_type = player.connection.entity.entity_type
his_her = 'his' if entity_type in self.male_entities else 'her'
message += ', ending %s killing spree.' % his_her

Expand Down Expand Up @@ -171,7 +171,7 @@ def on_load(self):
def give_reward(self, team):
for m in team.members:
self.silent_give_item(m.connection,
generate_item(0, m.connection.entity_data))
generate_item(0, m.connection.entity))

# give items silently to players without broadcasting it to everyone
def silent_give_item(self, connection, item):
Expand Down
34 changes: 17 additions & 17 deletions tdm/scripts/teams.py
Expand Up @@ -57,7 +57,7 @@ def silent_damage(self, damage):
packet.entity_id = self.connection.entity_id
packet.target_id = self.connection.entity_id
packet.hit_dir = Vector3()
packet.pos = self.connection.entity_data.pos
packet.pos = self.connection.entity.pos
packet.hit_type = 2
packet.show_light = 0
packet.something8 = 0
Expand All @@ -75,40 +75,40 @@ def on_unload(self):
del self.parent.playerscripts[self.connection.entity_id]

def on_entity_update(self, event):
entity_data = self.connection.entity_data
entity = self.connection.entity
# XXX what is this flag?
entity_data.appearance.flags |= 1 << 13
entity_data.hostile_type = self.parent.default_hostile_type
entity_data.power_base = 4
entity.appearance.flags |= 1 << 13
entity.hostile_type = self.parent.default_hostile_type
entity.power_base = 4

# means it was completely updated before this new update fired.
mask_zero = entity_data.mask == 0
mask_zero = entity.mask == 0

if self.first_update:
event.mask |= TEAM_ENTITY_FLAGS
entity_data.mask |= event.mask
entity.mask |= event.mask
self.updated_hostile_type = True
self.requires_team_update = True
else:
# Suppress hostile_type and power_base
event.mask &= ~TEAM_ENTITY_FLAGS
entity_data.mask |= event.mask
entity.mask |= event.mask

if event.mask & entitydata.HP_FLAG:
if self.health_undefined:
self.health_undefined = False
self.health = entity_data.hp
self.health = entity.hp

self.healing_reductions()

if entity_data.hp <= 0 and not self.is_dead:
if entity.hp <= 0 and not self.is_dead:
self.is_dead = True
self.on_death()

if entity_data.hp > 0 and self.is_dead:
if entity.hp > 0 and self.is_dead:
self.is_dead = False
self.last_health = entity_data.hp
self.health = entity_data.hp
self.last_health = entity.hp
self.health = entity.hp
# self.on_revive()

if (not self.first_update
Expand All @@ -123,7 +123,7 @@ def on_entity_update(self, event):
and not self.appearance_updated):
self.appearance_updated = True
event.mask |= entitydata.APPEARANCE_FLAG
entity_data.mask |= event.mask
entity.mask |= event.mask

if self.requires_team_update and not self.updated_hostile_type:
self.send_team_entity_updates()
Expand All @@ -132,9 +132,9 @@ def on_entity_update(self, event):
self.first_update = False

def healing_reductions(self):
entity_data = self.connection.entity_data
entity = self.connection.entity
self.last_health = self.health
self.health = entity_data.hp
self.health = entity.hp
health_gain = self.health - self.last_health
if not self.is_dead and health_gain > 0:
actual_health_gained = (health_gain *
Expand Down Expand Up @@ -361,7 +361,7 @@ def on_hit(self, script, event):
if event.packet.target_id not in self.playerscripts:
return

class_id = script.connection.entity_data.class_type
class_id = script.connection.entity.class_type
playerscript = self.playerscripts[event.packet.target_id]

if event.packet.damage > 0:
Expand Down
8 changes: 4 additions & 4 deletions web/scripts/web.py
Expand Up @@ -101,10 +101,10 @@ def get_players(self, *args):
players = {'response': 'get_players'}
for player in self.web_server.server.players.values():
player_id = player.entity_id
player_data['name'] = player.entity_data.name
player_data['level'] = player.entity_data.level
player_data['klass'] = player.entity_data.class_type
player_data['specialz'] = player.entity_data.specialization
player_data['name'] = player.entity.name
player_data['level'] = player.entity.level
player_data['klass'] = player.entity.class_type
player_data['specialz'] = player.entity.specialization
players[player_id] = player_data
return json.dumps(players)

Expand Down

0 comments on commit 16d817f

Please sign in to comment.