def addResourcesToPlanet( self, planet ): ResourceType = self.model.use( 'ResourceType' ) NaturalResourceTypes = [ ResourceType.ByName( name ) for name in [ 'Fruit Tree', 'Weird Artifact', 'Rock', 'Water' ] ] # Add a random smattering of resources to planets... for Type in self.random.sample( NaturalResourceTypes, self.randint(0, 4) ): planet.resources[ Type ] = { 'accessible' : self.randint( 0, 10 ), 'extractable' : self.randint( 0, 100 ), 'inaccessible' : self.randint( 0, 1000 ) } Model.update( planet )
def addPlayer( self, username, password, email = 'Unknown', comment = 'A Minisec Player' ): """ Create a Solar System, Planet, and initial Fleet for the player, positioned randomly within the Universe. """ user, system, planet, fleet = MinisecRuleset.addPlayer( self, username, password, email, comment ) ResourceType = self.model.use( 'ResourceType' ) # Get the player's planet object and add the empire capital planet.resources = { ResourceType.ByName('House') : { 'accessible' : 1 }, ResourceType.ByName('Empire Capital') : { 'accessible' : 1 } } Model.update( planet )
def populate(self, *args, **kwargs): """ Populate a universe with a number of systems and planets. """ Ruleset.populate(self, *args, **kwargs) self.generator.initialise(*args) Object = self.model.use("Object") universe = Object.ByType("Universe")[0] systems = self.generator.generateStarSystems(parent=universe) for system in systems: self.generator.generatePlanets(parent=system) Model.update(universe)