def first_start(self): debug("Starting ANIMCutscenePlayer") self.config = absroot.gamedb(self.params) self.frames = [[absroot.gamedb(x), y] for [x, y] in self.config["frames"]] self.time = 0. self.current = 0
def internal_update(self): screen = self.root.screen.screen screen.fill((200, 200, 200)) screen.blit( absroot.gamedb( self.ship.get_faction_attr("inventory_image", "img_cargobay_default")), (0, 0)) for x in xrange(self.INVENTORY_WIDTH + 2): pygame.draw.line(screen, (40, 40, 40), (x * 64, 50), (x * 64, 690), 2) for y in xrange(30): pygame.draw.line(screen, (40, 40, 40), (0, 50 + (y * 64)), (960, 50 + (y * 64)), 2) for l in self.tiles: screen.blit(l[2], l[1]) if l[0] == self.selected_item: pygame.draw.rect(screen, (0, 255, 0), pygame.Rect(l[1].left, l[1].top, 64, 64), 2) l[0].tt_delay_update(l[1]) screen.blit( absroot.gamedb( self.ship.get_faction_attr("inventory_image", "img_cargobay_default")).subsurface( (0, 0, 1300, 50)), (0, 0)) screen.blit(absroot.gamedb("img_playermenu_inv_sel"), (0, 0)) pygame.draw.rect(screen, (0, 0, 0), pygame.Rect(962, 50, 400, 700)) text = _t("INVENTORY MANAGEMENT SYSTEM") text += _t("\nGrey --> Equipped") text += _t("\nWhite --> Not Owned") text += _t("\nGreen --> Selected") text += _t("\n[=======================================]") text += _t("\nShip : ") + str(self.ship.name) text += _t("\nAccel : ") + str( int(self.ship.speed / self.ship.get_mass())) text += _t("\nMass : ") + str(self.ship.get_mass()) + "t" text += _t("\nCargo : ") + str(self.ship.get_inventory_mass()) + "t" text += _t("\nItems : ") + str( sum([x.count for x in self.ship.inventory])) if self.is_shop: text += _t( "\n[=======================================]\nTRADE MANAGEMENT SYSTEM\nSelect an item and press T to trade" ) text += _t("\nShop : ") + self.shop_other.name #text+=_t("\nAccel : "+str(int(self.shop_other.speed/self.shop_other.get_mass())) #Probably don't need this... text += _t("\nMass : ") + str(self.shop_other.get_mass()) + "t" text += _t("\nCargo : ") + str( self.shop_other.get_inventory_mass()) + "t" text += _t("\nItems : ") + str( sum([x.count for x in self.shop_other.inventory])) screen.blit( tooltips.render_wrapped_text(text, 300, absroot.gamedb("font_item_desc"), (200, 200, 200)), (962, 50))
def tt_render_image(self): self.tt_image_init((1000,1000)) self.tt_image.blit(absroot.gamedb("font_item_title").render(self.name, 1, (200,200,200)), (0,0)) self.tt_image.blit( tooltips.render_wrapped_text(self.get_description(), 400, absroot.gamedb("font_item_desc"), (40,40,40)) ,(0, absroot.gamedb("font_item_title").size("|")[1])) self.tt_image_clip() self.tt_add_box()
def tt_render_image(self): self.tt_image_init((500,500)) self.tt_image.blit(absroot.gamedb("font_item_title").render(self.tt_title, 1, (20,20,20)), (0,0)) if self.tt_body: self.tt_image.blit(absroot.gamedb("font_item_desc").render(self.tt_body, 1, (20,20,20)), (0,absroot.gamedb("font_item_title").size("|")[1])) self.tt_image_clip() self.tt_add_box()
def tt_render_image(self): self.tt_image_init((1000,1000)) self.tt_image.blit(self.banner_image, (0,0)) self.tt_image.blit(absroot.gamedb("font_item_title").render(self.name, 1, self.color), (70,0)) self.tt_image.blit( tooltips.render_wrapped_text("("+self.longname+")\n"+self.description, 400, absroot.gamedb("font_item_desc"), (40,40,40)) ,(70, absroot.gamedb("font_item_title").size("|")[1])) self.tt_image_clip() self.tt_add_box()
def internal_update(self): absroot.screen.screen.fill((0,0,0)) pos=self.basepos for name, ext in absroot.extentions.iteritems(): absroot.gamedb("LOADER_font_plugin_list").set_bold(ext.get_bold()) absroot.gamedb("LOADER_font_plugin_list").set_italic(ext.get_italic()) absroot.screen.screen.blit(absroot.gamedb("LOADER_font_plugin_list").render(name+": "+ext.get_text(), 1, ext.get_color()), [0, pos]) pos+=absroot.gamedb("LOADER_font_plugin_list").size("A")[1] absroot.gamedb("LOADER_font_plugin_list").set_bold(0) absroot.gamedb("LOADER_font_plugin_list").set_italic(0)
def tt_render_image(self): self.tt_image_init((1000,1000)) self.tt_image.blit(absroot.gamedb("font_item_title").render(self.desc_text, 1, (20,20,20)), (0,0)) self.tt_image.blit( absroot.gamedb("font_item_desc").render("Cost: "+str(self.get_cost()), 1, (20,20,20)), (0,absroot.gamedb("font_item_title").size("|")[1])) self.tt_image_clip() self.tt_add_box()
def tt_render_image(self): self.tt_image_init((1000, 1000)) self.tt_image.blit( absroot.gamedb("font_item_title").render(self.desc_text, 1, (20, 20, 20)), (0, 0)) self.tt_image.blit( absroot.gamedb("font_item_desc").render( "Cost: " + str(self.get_cost()), 1, (20, 20, 20)), (0, absroot.gamedb("font_item_title").size("|")[1])) self.tt_image_clip() self.tt_add_box()
def tt_render_image(self): self.tt_image_init((1000, 1000)) self.tt_image.blit(self.banner_image, (0, 0)) self.tt_image.blit( absroot.gamedb("font_item_title").render(self.name, 1, self.color), (70, 0)) self.tt_image.blit( tooltips.render_wrapped_text( "(" + self.longname + ")\n" + self.description, 400, absroot.gamedb("font_item_desc"), (40, 40, 40)), (70, absroot.gamedb("font_item_title").size("|")[1])) self.tt_image_clip() self.tt_add_box()
def tt_render_image(self): self.tt_image_init((500, 500)) self.tt_image.blit( absroot.gamedb("font_item_title").render(self.tt_title, 1, (20, 20, 20)), (0, 0)) if self.tt_body: self.tt_image.blit( absroot.gamedb("font_item_desc").render( self.tt_body, 1, (20, 20, 20)), (0, absroot.gamedb("font_item_title").size("|")[1])) self.tt_image_clip() self.tt_add_box()
def internal_update(self): absroot.screen.screen.blit(absroot.gamedb(self.config.get("bg_image", "large_black_bg")), (0,0)) absroot.screen.screen.blit(self.title_render, (0,0)) for subscreen_c in self.config.get("subscreens", []): absroot.screen.screen.blit( absroot.gamedb(subscreen_c["image"]), subscreen_c.get("pos", [100,100]) ) absroot.screen.screen.blit( absroot.gamedb(self.config.get("font", "font_standard_large")).render(subscreen_c.get("name","[subscreen_c name not set]"), 1, subscreen_c.get("color",(255,255,255))), (subscreen_c.get("pos", [100,100])[0]+(absroot.gamedb(subscreen_c["image"]).get_width()/2)-(absroot.gamedb(self.config.get("font", "font_standard_large")).size(subscreen_c.get("name","[subscreen_c name not set]"))[0]/2), subscreen_c.get("pos", [100,100])[1]+(absroot.gamedb(subscreen_c["image"]).get_height()/2)-(absroot.gamedb(self.config.get("font", "font_standard_large")).size(subscreen_c.get("name","[subscreen_c name not set]"))[1]/2)) ) pygame.draw.rect(absroot.screen.screen, (255,0,0), pygame.Rect(subscreen_c.get("pos", [100,100]), absroot.gamedb(subscreen_c["image"]).get_size()), 3)
def internal_update(self): absroot.screen.screen.blit(absroot.gamedb(self.config.get("scn_image", "large_black_bg")), (0,0)) absroot.screen.screen.blit(self.title_render, (0,0)) for button in self.buttons: button.render() button.tt_delay_update(button.rect)
def first_start(self): self.ui_widgets = absroot.gamedb("sgcui_icn_hangar2")["widgets"] self.ui_bg = self.params[2]["scn_image"] self.data_inserts = { "hangar_name": self.params[0].get("name", "[Station name not set]") + " Hangar" } self.init_ui()
def event_state(self, state, event): if event.type == pygame.USEREVENT: if event.sg_type == triggers.UE_SHL_DAMAGE_DEALT: if event.system.shields > 30: if not event.x: event.x, event.y = event.source.rotated_rect.center # dx = - event.source.rotated_rect.centerx - event.x # dy = - event.source.rotated_rect.centery - event.y angle = get_angle(event.system.ship.rotated_rect.centerx, event.x, event.system.ship.rotated_rect.centery, event.y) orig_image = pygame.transform.scale( absroot.gamedb("image_shield_hit_default"), (event.system.ship.rotated_rect.width + 30, event.system.ship.rotated_rect.height + 30)) def _(t, r): orig_rect = pygame.Rect((0, 0), orig_image.get_size()) orig_rect.center = ( event.system.ship.rotated_rect.centerx, event.system.ship.rotated_rect.centery) rot_image, rot_rect = rot_center( orig_image, orig_rect, angle) absroot.screen.blit(rot_image, rot_rect) tasks.add_task(self.root, "render_after_entities", tasks.Task(absroot, _, 2)) if event.sg_type == triggers.UE_SHIELDS_DOWN: if absroot.game_time - self.last_shields_warning > 10: self.last_shields_warning = absroot.game_time if (event.system.ship == absroot.state_manager.getcurr().player): absroot.gamedb("snd_shelds_down_warning_player").play() if event.sg_type == triggers.UE_HUL_DAMAGE_DEALT: if absroot.game_time - self.last_hull_warning > 10: if event.system.hull < 20: self.last_hull_warning = absroot.game_time if (event.system.ship == absroot.state_manager.getcurr().player): absroot.gamedb("snd_hull_breach_player").play()
def internal_update(self): absroot.screen.screen.fill((0, 0, 0)) pos = self.basepos for track in absroot.music_tracks: absroot.screen.screen.blit( absroot.gamedb("LOADER_font_plugin_list").render( track.name + ": " + str(track.get_value()), 1, (255, 255, 255)), [0, pos]) pos += absroot.gamedb("LOADER_font_plugin_list").size("A")[1] absroot.screen.screen.blit( absroot.gamedb("LOADER_font_plugin_list").render( "Top Track => " + get_manager().get_top_track().name + " (Value:" + str(get_manager().get_top_track().get_value()) + ")", 1, (255, 255, 255)), [0, pos]) pos += absroot.gamedb("LOADER_font_plugin_list").size("A")[1] absroot.screen.screen.blit( absroot.gamedb("LOADER_font_plugin_list").render( "recent_plays => " + str([x.name for x in get_manager().recent_plays]), 1, (255, 255, 255)), [0, pos]) pos += absroot.gamedb("LOADER_font_plugin_list").size("A")[1] absroot.screen.screen.blit( absroot.gamedb("LOADER_font_plugin_list").render( "playing_requested => " + str(get_manager().playing_requested), 1, (255, 255, 255)), [0, pos])
def internal_update(self): absroot.screen.screen.blit( absroot.gamedb(self.config.get("scn_image", "large_black_bg")), (0, 0)) absroot.screen.screen.blit(self.title_render, (0, 0)) for button in self.buttons: button.render() button.tt_delay_update(button.rect)
def run_in_event(self, event): debug("Setting up a event_generic_courier_driver_init::QGCourierDriverInit") event.database['item_id']=random.choice([x for x in absroot.item_factories.keys() if absroot.item_factories[x].questable_for]) event.database['tonnage']=random.randint(10,30) #event.database['count']=event.database['tonnage']/absroot.item_factories[event.database['item_id']].mass event.database['payout']=event.database['tonnage']*200 sel_sel=random.choice([x for x in absroot.gamedb("cfg_list_spacestation_courier_destinations") if absroot.get_entity_by_selector(x) not in [s.hash_id for s in absroot.gamestate.entities]]) event.database['endpoint']=absroot.get_hid_by_selector(sel_sel) event.database['sector_hint']=sel_sel[sel_sel.find("@")+1:sel_sel.find(";")]
def internal_update(self): screen=self.root.screen.screen screen.fill((200,200,200)) screen.blit(absroot.gamedb(self.ship.get_faction_attr("inventory_image", "img_cargobay_default")), (0,0)) for x in xrange(self.INVENTORY_WIDTH+2): pygame.draw.line(screen, (40,40,40), (x*64, 50), (x*64, 690), 2) for y in xrange(30): pygame.draw.line(screen, (40,40,40), (0, 50+(y*64)), (960, 50+(y*64)), 2) for l in self.tiles: screen.blit(l[2], l[1]) if l[0]==self.selected_item: pygame.draw.rect(screen, (0,255,0), pygame.Rect(l[1].left, l[1].top, 64, 64), 2) l[0].tt_delay_update(l[1]) screen.blit(absroot.gamedb(self.ship.get_faction_attr("inventory_image", "img_cargobay_default")).subsurface((0,0,1300,50)), (0,0)) screen.blit(absroot.gamedb("img_playermenu_inv_sel"), (0,0)) pygame.draw.rect(screen, (0,0,0), pygame.Rect(962, 50, 400, 700)) text=_t("INVENTORY MANAGEMENT SYSTEM") text+=_t("\nGrey --> Equipped") text+=_t("\nWhite --> Not Owned") text+=_t("\nGreen --> Selected") text+=_t("\n[=======================================]") text+=_t("\nShip : ")+str(self.ship.name) text+=_t("\nAccel : ")+str(int(self.ship.speed/self.ship.get_mass())) text+=_t("\nMass : ")+str(self.ship.get_mass())+"t" text+=_t("\nCargo : ")+str(self.ship.get_inventory_mass())+"t" text+=_t("\nItems : ")+str(sum([x.count for x in self.ship.inventory])) if self.is_shop: text+=_t("\n[=======================================]\nTRADE MANAGEMENT SYSTEM\nSelect an item and press T to trade") text+=_t("\nShop : ")+self.shop_other.name #text+=_t("\nAccel : "+str(int(self.shop_other.speed/self.shop_other.get_mass())) #Probably don't need this... text+=_t("\nMass : ")+str(self.shop_other.get_mass())+"t" text+=_t("\nCargo : ")+str(self.shop_other.get_inventory_mass())+"t" text+=_t("\nItems : ")+str(sum([x.count for x in self.shop_other.inventory])) screen.blit( tooltips.render_wrapped_text(text, 300, absroot.gamedb("font_item_desc"), (200,200,200)) ,(962,50) )
def __init__(self, config): self.config=config self.id_str=config["id"] self.name=config.get("name", "UNS_name") self.longname=config.get("longname","["+self.name+"]") self.description=config.get("description", "UNS_description") self.color=config.get("color", [40,40,40]) self.tags=config.get("tags",[]) self.join_required=config.get("join_requirements",[]) self.leave_required=config.get("leave_requirements",[]) self.join_effects=config.get("join_effects",[]) self.leave_effects=config.get("leave_effects",[]) self.relations=config.get("relations",{}) self.visible=config.get("visible", True) self.has_name_gen="namedb" in config if self.has_name_gen: self.name_pool_base=config["namedb"] if self.visible: self.icon_image=absroot.gamedb(config.get("icon_image", "$BLANK")) self.banner_image=absroot.gamedb(config.get("banner_image", "$BLANK"))
def internal_update(self): absroot.screen.screen.blit(absroot.gamedb(self.config.get("scn_image", "large_black_bg")), (0,0)) absroot.screen.screen.blit(self.title_render, (0,0)) # self.wait_button.render() # self.wait_button.tt_delay_update(self.wait_button.rect) sgc.update(absroot.clock.get_fps()) for patron in self.people: patron.render() pygame.draw.rect(absroot.screen.screen, (255,0,0), patron.rect, 2) patron.tt_delay_update(patron.rect)
def __init__(self, node, basepath, metadata={}): #Called right from asset loader assert "sound" in node, "Assets of type `track` require a `sound` attribute" self.sound=absroot.gamedb(node["sound"]) self.tags=node.get("tags",[]) self.affinities=node.get("affinity",{}) self.threshold=node.get("threshold", 2) self.priority=float(node.get("priority", 1)) self.name=node.get("trackname", node["sound"]) self.decay=node.get("decay", node.get("decay", 0.1)) self.value=0.0 absroot.music_tracks.append(self)
def first_start(self): debug("Starting HangarState") self.g_config=self.params[0] self.config=self.params[2] self.ship=self.params[1] self.title_render=absroot.gamedb(self.g_config.get("lg_font", "font_standard_large")).render(self.g_config.get("name","[Station name not set]")+" Hangar", 1, self.config.get("color",(255,255,255))) self.buttons=[ _RepairHullButton("Repair Hull", (0,200,0), (500,200)), _RepairSystemsButton("Repair Subsystems", (0,0,200), (650,200)), _RepairOneHullButton("Repair One Hull", (200,0,0), (500,250)), ]
def __init__(self, config): self.config = config self.id_str = config["id"] self.name = config.get("name", "UNS_name") self.longname = config.get("longname", "[" + self.name + "]") self.description = config.get("description", "UNS_description") self.color = config.get("color", [40, 40, 40]) self.tags = config.get("tags", []) self.join_required = config.get("join_requirements", []) self.leave_required = config.get("leave_requirements", []) self.join_effects = config.get("join_effects", []) self.leave_effects = config.get("leave_effects", []) self.relations = config.get("relations", {}) self.visible = config.get("visible", True) self.has_name_gen = "namedb" in config if self.has_name_gen: self.name_pool_base = config["namedb"] if self.visible: self.icon_image = absroot.gamedb(config.get( "icon_image", "$BLANK")) self.banner_image = absroot.gamedb( config.get("banner_image", "$BLANK"))
def internal_update(self): screen=self.root.screen.screen screen.fill((0,0,0)) screen.blit(self.ship_image, self.ship_image_pos) # pygame.draw.line(screen, (255,0,255), (0,0), self.ship_image_pos, 5) screen.blit(absroot.gamedb("font_standard_large").render(_t("Select A Slot"), 1, (255,255,255)), (0,0)) for i in self.scaled_hardpoints: pygame.draw.rect(screen, i[2], i[0], 2) # pygame.draw.line(screen, (0,0,255), self.ship_image_pos, i[0].topleft, 5) if i[2] == (255,0,0): self.params["item"].parent.get_item_in_hardpoint(i[1]).tt_delay_update(i[0])
def internal_update(self): absroot.screen.screen.fill((0,0,0)) pos=self.basepos for track in absroot.music_tracks: absroot.screen.screen.blit(absroot.gamedb("LOADER_font_plugin_list").render(track.name+": "+str(track.get_value()), 1, (255,255,255)), [0, pos]) pos+=absroot.gamedb("LOADER_font_plugin_list").size("A")[1] absroot.screen.screen.blit(absroot.gamedb("LOADER_font_plugin_list").render("Top Track => "+get_manager().get_top_track().name+" (Value:"+str(get_manager().get_top_track().get_value())+")", 1, (255,255,255)), [0, pos]) pos+=absroot.gamedb("LOADER_font_plugin_list").size("A")[1] absroot.screen.screen.blit(absroot.gamedb("LOADER_font_plugin_list").render("recent_plays => "+str([x.name for x in get_manager().recent_plays]), 1, (255,255,255)), [0, pos]) pos+=absroot.gamedb("LOADER_font_plugin_list").size("A")[1] absroot.screen.screen.blit(absroot.gamedb("LOADER_font_plugin_list").render("playing_requested => "+str(get_manager().playing_requested), 1, (255,255,255)), [0, pos])
def __init__(self, node, basepath, metadata={}): #Called right from asset loader assert "sound" in node, "Assets of type `track` require a `sound` attribute" self.sound = absroot.gamedb(node["sound"]) self.tags = node.get("tags", []) self.affinities = node.get("affinity", {}) self.threshold = node.get("threshold", 2) self.priority = float(node.get("priority", 1)) self.name = node.get("trackname", node["sound"]) self.decay = node.get("decay", node.get("decay", 0.1)) self.value = 0.0 absroot.music_tracks.append(self)
def event_state(self, state, event): if event.type==pygame.USEREVENT: if event.sg_type==triggers.UE_SHL_DAMAGE_DEALT: if event.system.shields > 30: if not event.x: event.x, event.y = event.source.rotated_rect.center # dx = - event.source.rotated_rect.centerx - event.x # dy = - event.source.rotated_rect.centery - event.y angle=get_angle(event.system.ship.rotated_rect.centerx, event.x, event.system.ship.rotated_rect.centery, event.y) orig_image=pygame.transform.scale(absroot.gamedb("image_shield_hit_default"), (event.system.ship.rotated_rect.width+30, event.system.ship.rotated_rect.height+30 ) ) def _(t, r): orig_rect=pygame.Rect( (0,0), orig_image.get_size()) orig_rect.center=(event.system.ship.rotated_rect.centerx, event.system.ship.rotated_rect.centery) rot_image, rot_rect=rot_center(orig_image, orig_rect, angle) absroot.screen.blit(rot_image, rot_rect) tasks.add_task(self.root, "render_after_entities", tasks.Task(absroot, _, 2)) if event.sg_type==triggers.UE_SHIELDS_DOWN: if absroot.game_time - self.last_shields_warning > 10: self.last_shields_warning=absroot.game_time if (event.system.ship == absroot.state_manager.getcurr().player): absroot.gamedb("snd_shelds_down_warning_player").play() if event.sg_type==triggers.UE_HUL_DAMAGE_DEALT: if absroot.game_time - self.last_hull_warning > 10: if event.system.hull < 20: self.last_hull_warning=absroot.game_time if (event.system.ship == absroot.state_manager.getcurr().player): absroot.gamedb("snd_hull_breach_player").play()
def first_start(self): debug("Starting HangarState") self.g_config = self.params[0] self.config = self.params[2] self.ship = self.params[1] self.title_render = absroot.gamedb( self.g_config.get("lg_font", "font_standard_large")).render( self.g_config.get("name", "[Station name not set]") + " Hangar", 1, self.config.get("color", (255, 255, 255))) self.buttons = [ _RepairHullButton("Repair Hull", (0, 200, 0), (500, 200)), _RepairSystemsButton("Repair Subsystems", (0, 0, 200), (650, 200)), _RepairOneHullButton("Repair One Hull", (200, 0, 0), (500, 250)), ]
def process_events(self, events): mapping={ "store":lambda ic:absroot.state_manager.start_interdicting("inventory", {"ship":absroot.state_manager.states["game"].player, "is_shop":True, "shop_ship":self.ship}), "bar":lambda ic:absroot.state_manager.start_interdicting("icn_ss_bar", [self.params[0], self.params[1], ic]), "hangar":lambda ic:absroot.state_manager.start_interdicting("icn_ss_hangar2", [self.params[0], self.params[1], ic]) } for event in events: if event.type==pygame.KEYDOWN: if event.key==pygame.K_ESCAPE: self.finish() if event.type==pygame.MOUSEBUTTONDOWN: if event.button==1: for subscreen_c in self.config.get("subscreens", []): if pygame.Rect(subscreen_c.get("pos", [100,100]), absroot.gamedb(subscreen_c["image"]).get_size()).collidepoint(pygame.mouse.get_pos()): mapping[subscreen_c["action"]](subscreen_c)
def internal_update(self): screen = self.root.screen.screen screen.fill((0, 0, 0)) screen.blit(self.ship_image, self.ship_image_pos) # pygame.draw.line(screen, (255,0,255), (0,0), self.ship_image_pos, 5) screen.blit( absroot.gamedb("font_standard_large").render( _t("Select A Slot"), 1, (255, 255, 255)), (0, 0)) for i in self.scaled_hardpoints: pygame.draw.rect(screen, i[2], i[0], 2) # pygame.draw.line(screen, (0,0,255), self.ship_image_pos, i[0].topleft, 5) if i[2] == (255, 0, 0): self.params["item"].parent.get_item_in_hardpoint( i[1]).tt_delay_update(i[0])
def first_start(self): debug("Starting MPGCutscenePlayer") self.config=absroot.gamedb(self.params) assert "x_type" in self.config, "Is this actually a cutscene you gave me??" assert self.config["x_type"]=="cutscene", "Is this actually a cutscene you gave me?? [2]" path=absroot.gamedb.get_meta(self.params)["basepath"]+self.config["path"] debug("Loading path: "+path) self.movie=pygame.movie.Movie(path) if not self.config.get("mute"): pygame.mixer.quit() self.movie_screen=pygame.Surface(absroot.renderspace_size).convert() self.movie.set_display(self.movie_screen, pygame.Rect((0,0), absroot.renderspace_size)) self.time=0.0 self.movie.skip(self.config.get("clipping", [0,0])[0]) self.movie.play() debug("Movie started")
def __init__(self, pos, race=None, image=None): self.image=image if image is None: #print "IIN" self.faction_o=absroot.faction_manager.pick_faction_with_tag("species") self.image=random.choice(self.faction_o.config["people_pool"]) self.name=self.faction_o.gen_name() self.image_o=absroot.gamedb(self.image) self.pos=pos #self.race_o=pick_faction_with_tag self.rect=pygame.Rect(pos, self.image_o.get_size()) self.player_relations="N/A" self.id_string="BARPATRON_???" self._init()
def __init__(self, root, json_dict): self.cost=json_dict["cost"] self.id=json_dict["id"] self.name=json_dict["name"] self.questable_for=json_dict.get("allow_fetch_quests", True) and (self.id not in absroot.gamedb("fetch_quest_block_list")) # self.inventory_image=root.gamedb.get_asset(json_dict["inventory_image"]) # self.equipped_image=root.gamedb.get_asset(json_dict["equipped_image"]) self.mass=json_dict.get("mass", 1) # self.hardpoint=json_dict["mount_type"] # self.rarity=rarity.Rarity(json_dict["rarity"]) # self.fire_required=json_dict["required"] # self.passive_equip=json_dict["equip"] # self.passive_dequip=json_dict["dequip"] # self.fire_events=json_dict["fire_events"] self.root=root self.config=json_dict debug("Cached item '"+self.config["id"])
def tt_render_image(self): self.tt_image_init((1000,1000)) self.tt_image.blit(absroot.gamedb("font_item_title").render(self.name, 1, (20,20,20)), (0,0)) self.tt_image.blit( absroot.gamedb("font_item_desc").render(type(self).classfancyname, 1, (20,20,20)), (0,absroot.gamedb("font_item_title").size("|")[1])) if self.get_additional_text(): self.tt_image.blit( absroot.gamedb("font_item_desc").render(self.get_additional_text(), 1, (20,20,20)), (0,absroot.gamedb("font_item_title").size("|")[1]+absroot.gamedb("font_item_desc").size("|")[1])) self.tt_image_clip() self.tt_add_box()
def first_start(self): debug("Starting MPGCutscenePlayer") self.config = absroot.gamedb(self.params) assert "x_type" in self.config, "Is this actually a cutscene you gave me??" assert self.config[ "x_type"] == "cutscene", "Is this actually a cutscene you gave me?? [2]" path = absroot.gamedb.get_meta( self.params)["basepath"] + self.config["path"] debug("Loading path: " + path) self.movie = pygame.movie.Movie(path) if not self.config.get("mute"): pygame.mixer.quit() self.movie_screen = pygame.Surface(absroot.renderspace_size).convert() self.movie.set_display(self.movie_screen, pygame.Rect((0, 0), absroot.renderspace_size)) self.time = 0.0 self.movie.skip(self.config.get("clipping", [0, 0])[0]) self.movie.play() debug("Movie started")
def load_font(self, font, size): # if font in pygame.font.get_fonts(): # f = pygame.font.SysFont(font, size) # if self.fonts.has_key(font): # self.fonts[font][size] = f # else: # self.fonts[font] = {size:f} # else: # try: # f = pygame.font.Font(font, size) # except: # f = pygame.font.Font(None, size) # if self.fonts.has_key(font): # self.fonts[font][size] = f # else: # self.fonts[font] = {size:f} #MODIFIED_FOR_SPACEGAME return absroot.gamedb(font)
def run_in_event(self, event): debug( "Setting up a event_generic_courier_driver_init::QGCourierDriverInit" ) event.database['item_id'] = random.choice([ x for x in absroot.item_factories.keys() if absroot.item_factories[x].questable_for ]) event.database['tonnage'] = random.randint(10, 30) #event.database['count']=event.database['tonnage']/absroot.item_factories[event.database['item_id']].mass event.database['payout'] = event.database['tonnage'] * 200 sel_sel = random.choice([ x for x in absroot.gamedb( "cfg_list_spacestation_courier_destinations") if absroot.get_entity_by_selector(x) not in [s.hash_id for s in absroot.gamestate.entities] ]) event.database['endpoint'] = absroot.get_hid_by_selector(sel_sel) event.database['sector_hint'] = sel_sel[sel_sel.find("@") + 1:sel_sel.find(";")]
def first_start(self): debug("Starting BarState") self.g_config=self.params[0] self.config=self.params[2] #print self.config self.ship=self.params[1] self.channel=pygame.mixer.Channel(1) self.title_render=absroot.gamedb(self.g_config.get("lg_font", "font_standard_large")).render(self.g_config.get("name","[Station name not set]")+" Bar", 1, self.config.get("color",(255,255,255))) self.people=[] #self.wait_button=WaitButton(self) self.widgets=[ ui_states.bind_and_return(sgc.SimpleTTButton(label="Wait", tt_title="Wait around for more patrons", pos=(0,50)), { "on_click":lambda *a:self.rebuild_patrons() } ) ] if "bar_people" in self.ship.database: for conf in self.ship.database["bar_people"]: self.people.append(BarPatron.load_from_config_node(conf)) else: self.rebuild_patrons()
def gen_name(self): return random.choice( absroot.gamedb(self.name_pool_base.replace( "*", "first"))) + " " + random.choice( absroot.gamedb(self.name_pool_base.replace("*", "last")))
def render_lines(self, text, color=(255,255,255)): text=textwrap.wrap(text, int(absroot.renderspace_size[0]/absroot.gamedb("LOADER_font_small").size("_")[0])-2) for l in text: absroot.screen.screen.blit(absroot.gamedb("LOADER_font_small").render(l, 1, color), (0, self.pos)) self.pos+=absroot.gamedb("LOADER_font_small").size("|")[1] self.pos+=absroot.gamedb("LOADER_font_small").size("|")[1]
def gen_name(self): return random.choice(absroot.gamedb(self.name_pool_base.replace("*","first")))+" "+random.choice(absroot.gamedb(self.name_pool_base.replace("*","last")))
def render(self): pygame.draw.rect(absroot.screen.screen, self.color, self.rect) absroot.screen.screen.blit( absroot.gamedb("font_item_title").render(self.name, 1, (0, 0, 0)), self.rect)
def first_start(self): self.config=self.params[0] self.ship=self.params[1] self.title_render=absroot.gamedb(self.config.get("lg_font", "font_standard_large")).render(self.config.get("name","[Station name not set]"), 1, self.config.get("color",(255,255,255)))
def first_start(self): self.ui_widgets=absroot.gamedb("sgcui_icn_hangar2")["widgets"] self.ui_bg=self.params[2]["scn_image"] self.data_inserts={"hangar_name":self.params[0].get("name","[Station name not set]")+" Hangar"} self.init_ui()
def start(self): debug( "Starting Menu Music..." ) #pygame.mixer.music.load( if not self.channel.get_busy(): self.channel.play(absroot.gamedb("snd_main_menu_ambiance"), -1)
def __init__(self, name, color, pos): self.name = name self.color = color self.size = absroot.gamedb("font_item_title").size(name) self.pos = pos self.rect = pygame.Rect(pos, self.size)
def first_start(self): debug("Starting ANIMCutscenePlayer") self.config=absroot.gamedb(self.params) self.frames=[[absroot.gamedb(x), y] for [x,y] in self.config["frames"]] self.time=0. self.current=0
def start(self): debug("Starting Menu Music...") #pygame.mixer.music.load( if not self.channel.get_busy(): self.channel.play(absroot.gamedb("snd_main_menu_ambiance"), -1)
def tt_render_image(self): self.tt_image_init((1000,1000)) self.tt_image.blit(self.inventory_image, (0,0)) self.tt_image.blit(absroot.gamedb("font_item_title").render(self.name, 1, (20,20,20)), (70,0)) text=self.config.get("desc_text", "Some indescribably horror.") image_1=tooltips.render_wrapped_text(text, 400, absroot.gamedb("font_item_desc"), (40,40,40)) self.tt_image.blit( image_1, (70,absroot.gamedb("font_item_title").size("|")[1])) absroot.gamedb("font_item_desc").set_italic(1) text="" for i in self.fire_required: if i=='enemy_selected': if self.fire_required[i]: text+="\nRequires targeted enemy." if i=="energy": text+="\nRequires "+str(self.fire_required[i])+" energy." if i=="cooldown": text+="\nRequires "+str(self.fire_required[i])+" seconds between shots." if i=="item": text+="\nRequires a "+str(self.fire_required[i])+" to fire." if i=="distance<": text+="\nTarget must be closer than "+str(self.fire_required[i])+"u." self.tt_image.blit( tooltips.render_wrapped_text(text, 400, absroot.gamedb("font_item_desc"), (40,40,40)), (70,absroot.gamedb("font_item_title").size("|")[1]+image_1.get_height()+10)) absroot.gamedb("font_item_desc").set_italic(0) absroot.gamedb("font_item_desc").set_bold(1) self.tt_image.blit( absroot.gamedb("font_item_desc").render("Mass : "+str(self.get_mass()), 1 ,(40,40,40)) ,(0,130)) self.tt_image.blit( absroot.gamedb("font_item_desc").render("Cost : "+str(self.get_cost()), 1 ,(40,40,40)) ,(0,130+absroot.gamedb("font_item_desc").size("|")[1])) self.tt_image.blit( absroot.gamedb("font_item_desc").render("(Here) "+str(self.get_cost()*absroot.galaxy.get_sector().get_price(self)), 1 ,(40,40,40)) ,(0,130+absroot.gamedb("font_item_desc").size("|")[1]*2)) absroot.gamedb("font_item_desc").set_bold(0) self.tt_image_clip() # absroot.gamedb("font_item_desc").set_underline(1) img=absroot.gamedb("font_item_desc").render(self.id_str, 1, (100,210,100)) rect=pygame.Rect((0,0), img.get_size()) rect.bottomright=self.tt_image.get_size() rect.move_ip(-5,-5) self.tt_image.blit(img, rect) # absroot.gamedb("font_item_desc").set_underline(0) self.tt_add_box()
def __init__(self, name, color, pos): self.name=name self.color=color self.size=absroot.gamedb("font_item_title").size(name) self.pos=pos self.rect=pygame.Rect(pos, self.size)
def render(self): pygame.draw.rect(absroot.screen.screen, self.color, self.rect) absroot.screen.screen.blit(absroot.gamedb("font_item_title").render(self.name, 1, (0,0,0)), self.rect)
def start(self): self.channel.play(absroot.gamedb(self.config.get("ambiance", "snd_quarks_bar_ambiance")), -1) self.uimi_start()