def after_awakening(self): """ All actions after awakening - sort out spawns. """ for spawn_i in xrange(len(self.spawn)): spawn_type = self.spawn[spawn_i] # simplified access to spawns's type spawn = girls_data.spawn_info[spawn_type] # simplified access to spawns's data renpy.show("meow", what=store.Image("img/scene/spawn/%s.jpg" % spawn_type)) spawn_mod = spawn['modifier'] # simplified access to spawns's modifiers list # Make check. True if not sea spawn or sea spawn in underwater lair # TODO: Возможно стоит сделать умирание слуги, если оно не морское и в морском логове. marine_check = ('marine' not in spawn_mod) or \ (self.game.lair.type.require and 'swimming' in self.game.lair.type.require) spawn_menu = [(u"К Вам приходит %s и просит назначения" % spawn['name'], None)] # меню отродий # Possible menu points if ('poisonous' in spawn_mod) and ('poison_guards' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Выпустить в логово", u'poison_guards')) if ('servant' in spawn_mod) and ('servant' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Сделать слугой", 'servant')) if ('warrior' in spawn_mod) and ('regular_guards' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Сделать охранником", 'regular_guards')) if ('elite' in spawn_mod) and ('elite_guards' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Сделать элитным охранником", 'elite_guards')) spawn_menu.append((u"Выпустить в королевство", 'free')) if (('servant' in spawn_mod) or ('warrior' in spawn_mod) or ('elite' in spawn_mod)) and \ ('marine' not in spawn_mod): spawn_menu.append((u"Отправить в армию тьмы", 'army_of_darkness')) menu_action = renpy.display_menu(spawn_menu) if menu_action == 'free': renpy.say(self.game.narrator, u"%s отправляется бесчинствовать в королевстве." % spawn['name']) self.free_spawn(spawn['power']) elif menu_action == 'army_of_darkness': renpy.say(self.game.narrator, u"%s отправляется в армию тьмы." % spawn['name']) self.army_of_darkness(spawn_type) else: # Message about work start renpy.say(self.game.narrator, u"%s приступает к выполнению обязанностей." % spawn['name']) # Message about work end if 'replaces' in data.lair_upgrades[menu_action].keys(): replace = data.lair_upgrades[menu_action]['replaces'] renpy.say(self.game.narrator, u"%s больше не требуются и уходят." % data.lair_upgrades[replace]['name']) # add lair improvement self.game.lair.add_upgrade(menu_action) renpy.hide("meow") self.spawn = []
def after_awakening(self): """ Все действия после пробуждения - разбираемся с воспитанными отродьями. """ for spawn_i in xrange(len(self.spawn)): spawn_type = self.spawn[spawn_i] # упрощение обращения к типу отродий spawn = girls_data.spawn_info[spawn_type] # упрощение обращения к данным отродий renpy.show("meow", what=store.Image("img/scene/spawn/%s.jpg" % spawn_type)) spawn_mod = spawn['modifier'] # упрощение обращения к списку модификаторов отродий # Делаем проверку. Истина, если не морское отродье или морское в подводном логове # TODO: Возможно стоит сделать умирание слуги, если оно не морское и в морском логове. marine_check = ('marine' not in spawn_mod) or \ (self.game.lair.type.require and 'swimming' in self.game.lair.type.require) spawn_menu = [(u"К Вам приходит %s и просит назначения" % spawn['name'], None)] # меню отродий # Возможные пункты меню if ('poisonous' in spawn_mod) and ('poison_guards' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Выпустить в логово", u'poison_guards')) if ('servant' in spawn_mod) and ('servant' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Сделать слугой", 'servant')) if ('warrior' in spawn_mod) and ('regular_guards' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Сделать охранником", 'regular_guards')) if ('elite' in spawn_mod) and ('elite_guards' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Сделать элитным охранником", 'elite_guards')) spawn_menu.append((u"Выпустить в королевство", 'free')) if (('servant' in spawn_mod) or ('warrior' in spawn_mod) or ('elite' in spawn_mod)) and \ ('marine' not in spawn_mod): spawn_menu.append((u"Отправить в армию тьмы", 'army_of_darkness')) menu_action = renpy.display_menu(spawn_menu) if menu_action == 'free': renpy.say(self.game.narrator, u"%s отправляется бесчинствовать в королевстве." % spawn['name']) self.free_spawn(spawn['power']) elif menu_action == 'army_of_darkness': renpy.say(self.game.narrator, u"%s отправляется в армию тьмы." % spawn['name']) self.army_of_darkness(spawn_type) else: # выдача сообщения о начале работы renpy.say(self.game.narrator, u"%s приступает к выполнению обязанностей." % spawn['name']) # выдача сообщения о конце работы, если это необходимо if 'replaces' in data.lair_upgrades[menu_action].keys(): replace = data.lair_upgrades[menu_action]['replaces'] renpy.say(self.game.narrator, u"%s больше не требуются и уходят." % data.lair_upgrades[replace]['name']) # добавление в улучшение логова self.game.lair.add_upgrade(menu_action) renpy.hide("meow") self.spawn = []
def after_awakening(self): """ Все действия после пробуждения - разбираемся с воспитанными отродьями. """ for spawn_i in xrange(len(self.spawn)): spawn_type = self.spawn[ spawn_i] # упрощение обращения к типу отродий spawn = girls_data.spawn_info[ spawn_type] # упрощение обращения к данным отродий renpy.show("meow", what=store.Image("img/scene/spawn/%s.jpg" % spawn_type)) spawn_mod = spawn[ 'modifier'] # упрощение обращения к списку модификаторов отродий # Делаем проверку. Истина, если не морское отродье или морское в подводном логове # TODO: Возможно стоит сделать умирание слуги, если оно не морское и в морском логове. marine_check = ('marine' not in spawn_mod) or \ (self.game.lair.type.require and 'swimming' in self.game.lair.type.require) spawn_menu = [ (u"К Вам приходит %s и просит назначения" % spawn['name'], None) ] # меню отродий # Возможные пункты меню if ('poisonous' in spawn_mod) and ( 'poison_guards' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Выпустить в логово", u'poison_guards')) if ('servant' in spawn_mod) and ( 'servant' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Сделать слугой", 'servant')) if ('warrior' in spawn_mod) and ( 'regular_guards' not in self.game.lair.upgrades) and marine_check: spawn_menu.append((u"Сделать охранником", 'regular_guards')) if ('elite' in spawn_mod) and ( 'elite_guards' not in self.game.lair.upgrades) and marine_check: spawn_menu.append( (u"Сделать элитным охранником", 'elite_guards')) spawn_menu.append((u"Выпустить в королевство", 'free')) if (('servant' in spawn_mod) or ('warrior' in spawn_mod) or ('elite' in spawn_mod)) and \ ('marine' not in spawn_mod): spawn_menu.append( (u"Отправить в армию тьмы", 'army_of_darkness')) menu_action = renpy.display_menu(spawn_menu) if menu_action == 'free': renpy.say( self.game.narrator, u"%s отправляется бесчинствовать в королевстве." % spawn['name']) self.free_spawn(spawn['power']) elif menu_action == 'army_of_darkness': renpy.say(self.game.narrator, u"%s отправляется в армию тьмы." % spawn['name']) self.army_of_darkness(spawn_type) else: # выдача сообщения о начале работы renpy.say( self.game.narrator, u"%s приступает к выполнению обязанностей." % spawn['name']) # выдача сообщения о конце работы, если это необходимо if 'replaces' in data.lair_upgrades[menu_action].keys(): replace = data.lair_upgrades[menu_action]['replaces'] renpy.say( self.game.narrator, u"%s больше не требуются и уходят." % data.lair_upgrades[replace]['name']) # добавление в улучшение логова self.game.lair.add_upgrade(menu_action) renpy.hide("meow") self.spawn = []