def _render_normal_movemode(self): if self.mover.get_current_speed() <= 1: self.clock.set_ap_mp_costs() elif pbge.my_state.view.mouse_tile in self.nav.cost_to_tile: mypath = self.nav.get_path(pbge.my_state.view.mouse_tile) # Draw the trail, highlighting where one action point ends and the next begins. traildrawer.draw_trail( self.cursor_sprite, self.SC_TRAILMARKER, self.SC_ZEROCURSOR, self.SC_ENDCURSOR, self.camp.scene, self.mover, self.camp.fight.cstat[self.mover].mp_remaining, mypath) self.clock.set_ap_mp_costs(mp_to_spend=self.nav.cost_to_tile[ pbge.my_state.view.mouse_tile]) elif pbge.my_state.view.mouse_tile in self.reachable_waypoints: wp, pos = self.reachable_waypoints[pbge.my_state.view.mouse_tile] mypath = self.nav.get_path(pos) # Draw the trail, highlighting where one action point ends and the next begins. traildrawer.draw_trail( self.cursor_sprite, self.SC_TRAILMARKER, self.SC_ZEROCURSOR, self.SC_ENDCURSOR, self.camp.scene, self.mover, self.camp.fight.cstat[self.mover].mp_remaining, mypath) self.clock.set_ap_mp_costs( ap_to_spend=1, mp_to_spend=self.nav.cost_to_tile[mypath[-1]]) else: pbge.my_state.view.overlays[pbge.my_state.view.mouse_tile] = ( self.cursor_sprite, self.SC_VOIDCURSOR) self.clock.set_ap_mp_costs()
def render(self, flash=False): if self.num_targets > 1: self.targets_widget.active = True else: self.targets_widget.active = False pbge.my_state.view.overlays.clear() pbge.my_state.view.overlays[self.pc.pos] = (self.cursor_sprite, self.SC_ORIGIN) mmecha = pbge.my_state.view.modelmap.get(pbge.my_state.view.mouse_tile) if mmecha: mmecha = [m for m in mmecha if m.is_operational()] if self.invo and pbge.my_state.view.mouse_tile in self.legal_tiles: aoe = self.invo.area.get_area(self.camp, self.pc.pos, pbge.my_state.view.mouse_tile) for p in aoe: pbge.my_state.view.overlays[p] = (self.cursor_sprite, self.SC_AOE) if self.invo and self.targets: for t in self.targets: aoe = self.invo.area.get_area(self.camp, self.pc.pos, t) for p in aoe: pbge.my_state.view.overlays[p] = (self.cursor_sprite, self.SC_AOE) if pbge.my_state.view.mouse_tile in self.legal_tiles: pbge.my_state.view.overlays[pbge.my_state.view.mouse_tile] = ( self.cursor_sprite, self.SC_CURSOR) if self.clock: self.clock.set_ap_mp_costs(ap_to_spend=1) elif mmecha and self.can_move_and_attack(mmecha[0].pos): if self.camp.fight: mp_remaining = self.camp.fight.cstat[self.pc].mp_remaining if self.clock: self.clock.set_ap_mp_costs( ap_to_spend=1, mp_to_spend=self.nav.cost_to_tile[self.mypath[-1]]) else: mp_remaining = float('inf') traildrawer.draw_trail( self.cursor_sprite, self.SC_TRAILMARKER, self.SC_ZEROCURSOR, self.SC_ENDCURSOR, self.camp.scene, self.pc, mp_remaining, self.mypath + [pbge.my_state.view.mouse_tile]) else: pbge.my_state.view.overlays[pbge.my_state.view.mouse_tile] = ( self.cursor_sprite, self.SC_VOIDCURSOR) if self.clock: self.clock.set_ap_mp_costs() pbge.my_state.view() # Display info for this tile. my_info = self.camp.scene.get_tile_info(pbge.my_state.view) if my_info: if self.invo and mmecha and hasattr(self.invo.fx, "get_odds"): odds, modifiers = self.invo.fx.get_odds( self.camp, self.pc, mmecha[0]) my_info.info_blocks.append(info.OddsInfoBlock(odds, modifiers)) my_info.view_display()
def render(self): pbge.my_state.view.overlays.clear() pbge.my_state.view.overlays[self.origin] = (self.cursor_sprite, self.SC_ORIGIN) if pbge.my_state.view.mouse_tile in self.nav.cost_to_tile: pbge.my_state.view.overlays[pbge.my_state.view.mouse_tile] = ( self.cursor_sprite, self.SC_ZEROCURSOR + min( 4, self.camp.fight.ap_needed(self.mover, self.nav, pbge.my_state.view.mouse_tile))) mypath = self.nav.get_path(pbge.my_state.view.mouse_tile) # Draw the trail, highlighting where one action point ends and the next begins. traildrawer.draw_trail( self.cursor_sprite, self.SC_TRAILMARKER, self.SC_ZEROCURSOR, self.camp.scene, self.mover, self.camp.fight.cstat[self.mover].mp_remaining, mypath) elif pbge.my_state.view.mouse_tile in self.reachable_waypoints: wp, pos = self.reachable_waypoints[pbge.my_state.view.mouse_tile] pbge.my_state.view.overlays[pos] = ( self.cursor_sprite, self.SC_ZEROCURSOR + min(4, self.camp.fight.ap_needed(self.mover, self.nav, pos))) pbge.my_state.view.overlays[wp.pos] = (self.cursor_sprite, self.SC_CURSOR) mypath = self.nav.get_path(pos) # Draw the trail, highlighting where one action point ends and the next begins. traildrawer.draw_trail( self.cursor_sprite, self.SC_TRAILMARKER, self.SC_ZEROCURSOR, self.camp.scene, self.mover, self.camp.fight.cstat[self.mover].mp_remaining, mypath) else: pbge.my_state.view.overlays[pbge.my_state.view.mouse_tile] = ( self.cursor_sprite, self.SC_VOIDCURSOR) pbge.my_state.view() # Display info for this tile. my_info = self.camp.scene.get_tile_info(pbge.my_state.view.mouse_tile) if my_info: my_info.popup() pbge.my_state.do_flip()