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
Ejemplo n.º 2
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))
Ejemplo n.º 3
0
	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()
Ejemplo n.º 4
0
	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()
Ejemplo n.º 5
0
	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()
Ejemplo n.º 6
0
	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)
Ejemplo n.º 7
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()
Ejemplo n.º 8
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()
Ejemplo n.º 9
0
 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()
Ejemplo n.º 10
0
    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()
Ejemplo n.º 11
0
	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)
Ejemplo n.º 12
0
	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)
Ejemplo n.º 13
0
 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()
Ejemplo n.º 14
0
    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()
Ejemplo n.º 15
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])
Ejemplo n.º 16
0
    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)
Ejemplo n.º 17
0
	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(";")]
Ejemplo n.º 18
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)
		)
Ejemplo n.º 19
0
	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"))
Ejemplo n.º 20
0
	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)
Ejemplo n.º 21
0
	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)
Ejemplo n.º 22
0
	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)),
		]
Ejemplo n.º 23
0
 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"))
Ejemplo n.º 24
0
	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])
Ejemplo n.º 25
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])
Ejemplo n.º 26
0
 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)
Ejemplo n.º 27
0
	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()
Ejemplo n.º 28
0
    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)),
        ]
Ejemplo n.º 29
0
	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)
Ejemplo n.º 30
0
    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])
Ejemplo n.º 31
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")
Ejemplo n.º 32
0
	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()
Ejemplo n.º 33
0
	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"])
Ejemplo n.º 34
0
	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()
Ejemplo n.º 35
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")
Ejemplo n.º 36
0
    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)
Ejemplo n.º 37
0
 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(";")]
Ejemplo n.º 38
0
	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()
Ejemplo n.º 39
0
 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")))
Ejemplo n.º 40
0
	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]
Ejemplo n.º 41
0
	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")))
Ejemplo n.º 42
0
 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)
Ejemplo n.º 43
0
	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)))
Ejemplo n.º 44
0
	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()
Ejemplo n.º 45
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)
Ejemplo n.º 46
0
 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
Ejemplo n.º 48
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)
Ejemplo n.º 49
0
	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()
Ejemplo n.º 50
0
	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)
Ejemplo n.º 51
0
	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)
Ejemplo n.º 52
0
	def start(self):
		self.channel.play(absroot.gamedb(self.config.get("ambiance", "snd_quarks_bar_ambiance")), -1)
		self.uimi_start()