def custom_init( self, nart ): # Create the lever and spirit room. scene = self.elements.get("LOCALE") mygen = nart.get_map_generator( scene ) # Spirit jar room puzzle_room = randmaps.rooms.SharpRoom( tags = (context.ENTRANCE,) ) team = teams.Team(default_reaction=-999, respawn=False ) if random.randint(1,3) == 1: puzzle_room.contents.append( teams.Team(default_reaction=-999, rank=self.rank, strength=100, habitat=scene.get_encounter_request(), fac=scene.fac ) ) self.register_element( "_PUZZLE_ROOM", puzzle_room, dident="LOCALE" ) self.register_element( "_SOURCE", waypoints.SpiritJar(plot_locked=True,anchor=randmaps.anchors.middle), dident="_PUZZLE_ROOM" ) self.spirit_contained = True myhabitat = { (context.MTY_ELEMENTAL,context.MTY_UNDEAD,context.MTY_CELESTIAL,context.MTY_DEMON): True, tuple(self.elements["TARGET"].desctags): True} btype = monsters.choose_monster_type(self.rank,self.rank+2,myhabitat) if btype: boss = self.register_element("_MONSTER",monsters.generate_boss( btype, self.rank+2, team=team )) if random.randint(1,2) == 1: myitem = self.register_element("_ITEM",items.generate_special_item( self.rank + random.randint(1,2))) else: myitem = self.register_element("_ITEM",items.generate_scroll(self.rank+random.randint(1,2))) return btype and myitem
def custom_init( self, nart ): scene = self.elements.get("LOCALE") room = randmaps.rooms.SharpRoom() room.DECORATE = randmaps.decor.LibraryDec(win=None) # Create a chest, and stock it with magical goodies. mychest = waypoints.LargeChest() mychest.stock(self.rank,item_types=(items.SCROLL,items.POTION)) room.contents.append( mychest ) room.contents.append( waypoints.Bookshelf() ) for t in range( random.randint(2,3) ): myitem = items.generate_scroll( self.rank + 1 ) if myitem: myitem.identified = True mychest.contents.append( myitem ) # Create a team for our spellcasters. myhabitat = scene.get_encounter_request() myhabitat[(context.MTY_MAGE,context.MTY_PRIEST)] = True myteam = self.register_element( "TEAM", teams.Team(default_reaction=-999, rank=self.rank, strength=120, habitat=myhabitat, hodgepodge = True ) ) room.contents.append( myteam ) boss = monsters.generate_npc(team=myteam,upgrade=True,rank=self.rank+1,job=random.choice(self.JOBS),fac=scene.fac) myitem = items.generate_special_item( self.rank ) if myitem: boss.contents.append( myitem ) room.contents.append( boss ) self.register_element( "_ROOM", room, dident="LOCALE" ) return True
def custom_init(self, nart): scene = self.elements.get("LOCALE") room = randmaps.rooms.SharpRoom() room.DECORATE = randmaps.decor.LibraryDec(win=None) room.contents.append(waypoints.Bookshelf()) # Create a chest, and stock it with magical goodies. mychest = waypoints.LargeChest() mychest.stock(self.rank, item_types=(items.SCROLL, items.POTION)) room.contents.append(mychest) for t in range(random.randint(5, 8)): myitem = items.generate_scroll(self.rank + 1) if myitem: myitem.identified = True mychest.contents.append(myitem) # Create a team for our undead spellcaster. myhabitat = {context.GEN_UNDEAD: True} myteam = self.register_element( "TEAM", teams.Team(default_reaction=-25, rank=self.rank, strength=0, habitat=myhabitat)) room.contents.append(myteam) mh2 = myhabitat.copy() mh2[(context.MTY_MAGE, context.MTY_PRIEST)] = True btype = monsters.choose_monster_type(self.rank - 1, self.rank + 4, mh2) if btype: boss = monsters.generate_boss(btype, self.rank + 4, team=myteam) myitem = items.generate_special_item(self.rank + 2, items.WAND) if myitem: boss.contents.append(myitem) self.register_element("_ROOM", room, dident="LOCALE") self.register_element("BOSS", boss, "_ROOM") # Record the one thing this boss cares about. self.boss_goal = random.choice(self.GOALS) self.boss_shop = self.register_element( "SHOPSERVICE", services.Shop(services.MAGIC_STORE, rank=self.rank + 5, allow_misc=False, num_items=25, turnover=5, npc=boss)) self.shop_open = False return btype
def custom_init(self, nart): # Create the lever and spirit room. scene = self.elements.get("LOCALE") mygen = nart.get_map_generator(scene) # Spirit jar room puzzle_room = randmaps.rooms.SharpRoom(tags=(context.ENTRANCE, )) team = teams.Team(default_reaction=-999, respawn=False) if random.randint(1, 3) == 1: puzzle_room.contents.append( teams.Team(default_reaction=-999, rank=self.rank, strength=100, habitat=scene.get_encounter_request(), fac=scene.fac)) self.register_element("_PUZZLE_ROOM", puzzle_room, dident="LOCALE") self.register_element("_SOURCE", waypoints.SpiritJar( plot_locked=True, anchor=randmaps.anchors.middle), dident="_PUZZLE_ROOM") self.spirit_contained = True myhabitat = { (context.MTY_ELEMENTAL, context.MTY_UNDEAD, context.MTY_CELESTIAL, context.MTY_DEMON): True, tuple(self.elements["TARGET"].desctags): True } btype = monsters.choose_monster_type(self.rank, self.rank + 2, myhabitat) if btype: boss = self.register_element( "_MONSTER", monsters.generate_boss(btype, self.rank + 2, team=team)) if random.randint(1, 2) == 1: myitem = self.register_element( "_ITEM", items.generate_special_item(self.rank + random.randint(1, 2))) else: myitem = self.register_element( "_ITEM", items.generate_scroll(self.rank + random.randint(1, 2))) return btype and myitem
def custom_init(self, nart): scene = self.elements.get("LOCALE") room = randmaps.rooms.SharpRoom() room.DECORATE = randmaps.decor.LibraryDec(win=None) # Create a chest, and stock it with magical goodies. mychest = waypoints.LargeChest() mychest.stock(self.rank, item_types=(items.SCROLL, items.POTION)) room.contents.append(mychest) room.contents.append(waypoints.Bookshelf()) for t in range(random.randint(2, 3)): myitem = items.generate_scroll(self.rank + 1) if myitem: myitem.identified = True mychest.contents.append(myitem) # Create a team for our spellcasters. myhabitat = scene.get_encounter_request() myhabitat[(context.MTY_MAGE, context.MTY_PRIEST)] = True myteam = self.register_element( "TEAM", teams.Team(default_reaction=-999, rank=self.rank, strength=120, habitat=myhabitat, hodgepodge=True)) room.contents.append(myteam) boss = monsters.generate_npc(team=myteam, upgrade=True, rank=self.rank + 1, job=random.choice(self.JOBS), fac=scene.fac) myitem = items.generate_special_item(self.rank) if myitem: boss.contents.append(myitem) room.contents.append(boss) self.register_element("_ROOM", room, dident="LOCALE") return True
def custom_init( self, nart ): scene = self.elements.get("LOCALE") room = randmaps.rooms.SharpRoom() room.DECORATE = randmaps.decor.LibraryDec(win=None) room.contents.append( waypoints.Bookshelf() ) # Create a chest, and stock it with magical goodies. mychest = waypoints.LargeChest() mychest.stock(self.rank,item_types=(items.SCROLL,items.POTION)) room.contents.append( mychest ) for t in range( random.randint(5,8) ): myitem = items.generate_scroll( self.rank + 1 ) if myitem: myitem.identified = True mychest.contents.append( myitem ) # Create a team for our undead spellcaster. myhabitat = {context.GEN_UNDEAD: True } myteam = self.register_element( "TEAM", teams.Team(default_reaction=-25, rank=self.rank, strength=0, habitat=myhabitat ) ) room.contents.append( myteam ) mh2 = myhabitat.copy() mh2[(context.MTY_MAGE,context.MTY_PRIEST)] = True btype = monsters.choose_monster_type(self.rank-1,self.rank+4,mh2) if btype: boss = monsters.generate_boss( btype, self.rank+4, team=myteam ) myitem = items.generate_special_item( self.rank+2, items.WAND ) if myitem: boss.contents.append( myitem ) self.register_element( "_ROOM", room, dident="LOCALE" ) self.register_element( "BOSS", boss, "_ROOM" ) # Record the one thing this boss cares about. self.boss_goal = random.choice( self.GOALS ) self.boss_shop = self.register_element( "SHOPSERVICE", services.Shop( services.MAGIC_STORE, rank=self.rank+5, allow_misc=False, num_items=25, turnover=5, npc=boss ) ) self.shop_open = False return btype
def custom_init( self, nart ): self._scroll = items.generate_scroll(self.rank) return self._scroll
def custom_init(self, nart): self._scroll = items.generate_scroll(self.rank) return self._scroll