def get_right_npc (self): if adonthell.gamedata_get_quest("demo").get_val ("work_4_shair") & 1 == 1: return _("Master Orloth") elif adonthell.gamedata_get_quest("demo").get_val ("work_4_shair") & 2 == 2: return _("the mercenary") else: return _("Tristan the merchant")
def enter_inn (self): # -- start music adonthell.audio_load_background (0, "audio/at-demo-5.ogg") adonthell.audio_play_background (0) adonthell.audio_set_schedule ("in_game") adonthell.audio_set_schedule_active (1) self.open_gate () adonthell.gamedata_get_quest ("demo").set_val ("intro_on", 0) self.myself.set_goal (10, 18, adonthell.STAND_EAST)
def run (self, submap, x, y, dir, name): p = adonthell.gamedata_get_character (name) # -- pantry door closed? locked = adonthell.gamedata_get_quest ("demo").get_val("pantry_locked") if locked == 0 or locked == 1: adonthell.gamedata_get_quest ("demo").set_val("pantry_locked", 1) p.stand () p.go_east () p.speak (_("The door to the pantry is locked.")) else: events.switch_submap (p, self.smdest, self.xdest, self.ydest, self.destdir)
def run(self, submap, x, y, dir, name): p = adonthell.gamedata_get_character(name) # -- pantry door closed? locked = adonthell.gamedata_get_quest("demo").get_val("pantry_locked") if locked == 0 or locked == 1: adonthell.gamedata_get_quest("demo").set_val("pantry_locked", 1) p.stand() p.go_east() p.speak(_("The door to the pantry is locked.")) else: events.switch_submap(p, self.smdest, self.xdest, self.ydest, self.destdir)
def run (self, submap, x, y, dir, name): if adonthell.gamedata_get_quest ("demo").get_val ("get_item") == 1: fgs = find_gem_screen () adonthell.gamedata_engine ().set_control_active (0) adonthell.gamedata_player ().set_schedule_active (0) adonthell.gamedata_engine ().main (fgs, "find_gem_screen") adonthell.gamedata_player ().set_schedule_active (1) adonthell.gamedata_engine ().set_control_active (1) adonthell.gamedata_get_quest ("demo").set_val ("get_item", 2) adonthell.gamedata_get_quest ("demo").set_val ("have_gem", 1) else: self.mapchar.speak (_("I know this chest. The Lady uses it on her journeys."))
def __del__(self): if adonthell.gamedata_get_quest("demo").get_val ("the_end") == 1: bjarn = adonthell.gamedata_get_character("Bjarn Fingolson") bjarn.do_stuff ("await_player") # make all dudes go down to Bjarn shair = adonthell.gamedata_get_character("Imoen Silverhair") shair.set_schedule ("to_cellar") shair.time_callback_string ("3t", "warp") jelom = adonthell.gamedata_get_character("Jelom Rasgar") jelom.set_schedule ("to_cellar") jelom.time_callback_string ("1t", "walk") erek = adonthell.gamedata_get_character("Erek Stonebreaker") erek.resume () erek.set_schedule ("to_cellar") erek.time_callback_string ("3t", "walk") fnir = adonthell.gamedata_get_character("Fellnir Kezular") fnir.set_schedule ("to_cellar") fnir.time_callback_string ("4t", "walk") illig = adonthell.gamedata_get_character("Tristan Illig") illig.set_schedule ("to_cellar") illig.time_callback_string ("7t", "walk") player = adonthell.gamedata_player () player.set_schedule_active (1) player.set_schedule ("to_cellar") player.time_callback_string ("2t", "walk")
def __del__(self): if adonthell.gamedata_get_quest("demo").get_val("the_end") == 1: bjarn = adonthell.gamedata_get_character("Bjarn Fingolson") bjarn.do_stuff("await_player") # make all dudes go down to Bjarn shair = adonthell.gamedata_get_character("Imoen Silverhair") shair.set_schedule("to_cellar") shair.time_callback_string("3t", "warp") jelom = adonthell.gamedata_get_character("Jelom Rasgar") jelom.set_schedule("to_cellar") jelom.time_callback_string("1t", "walk") erek = adonthell.gamedata_get_character("Erek Stonebreaker") erek.resume() erek.set_schedule("to_cellar") erek.time_callback_string("3t", "walk") fnir = adonthell.gamedata_get_character("Fellnir Kezular") fnir.set_schedule("to_cellar") fnir.time_callback_string("4t", "walk") illig = adonthell.gamedata_get_character("Tristan Illig") illig.set_schedule("to_cellar") illig.time_callback_string("7t", "walk") player = adonthell.gamedata_player() player.set_schedule_active(1) player.set_schedule("to_cellar") player.time_callback_string("2t", "walk")
def who_heard_noise(self): n = adonthell.gamedata_get_quest("demo").get_val("know_noise") if n == 1: return _("Lady Silverhair has") elif n == 2: return _("Lady Frostbloom has") else: return _("both Lady Silverhair and Lady Frostbloom have")
def who_heard_noise (self): n = adonthell.gamedata_get_quest("demo").get_val ("know_noise") if n == 1: return _("Lady Silverhair has") elif n == 2: return _("Lady Frostbloom has") else: return _("both Lady Silverhair and Lady Frostbloom have")
def restore_schedule (self, retval, args): # -- activate the characters' schedules # player isn't event-driven yet args[2].set_schedule_active (1) if not args[0]: args[2].resume () if not args[1]: args[3].resume () if adonthell.gamedata_get_quest ("demo").get_val ("the_end") != 1: adonthell.gamedata_engine ().set_control_active (1)
def music_finished (self, song): music = adonthell.gamedata_get_quest ("demo").get_val ("music") # -- if we're in Silverhair's room, play special tune if adonthell.gamedata_player ().submap () == 13: adonthell.audio_load_background (2, "audio/at-demo-7.ogg") adonthell.audio_play_background (2) # -- otherwise elif music == 0: adonthell.gamedata_get_quest ("demo").set_val ("music", 1) adonthell.audio_load_background (1, "audio/at-demo-6.ogg") adonthell.audio_play_background (1) else: adonthell.gamedata_get_quest ("demo").set_val ("music", 0) adonthell.audio_load_background (0, "audio/at-demo-5.ogg") adonthell.audio_play_background (0)
def music_finished(self, song): music = adonthell.gamedata_get_quest("demo").get_val("music") # -- if we're in Silverhair's room, play special tune if adonthell.gamedata_player().submap() == 13: adonthell.audio_load_background(2, "audio/at-demo-7.ogg") adonthell.audio_play_background(2) # -- otherwise elif music == 0: adonthell.gamedata_get_quest("demo").set_val("music", 1) adonthell.audio_load_background(1, "audio/at-demo-6.ogg") adonthell.audio_play_background(1) else: adonthell.gamedata_get_quest("demo").set_val("music", 0) adonthell.audio_load_background(0, "audio/at-demo-5.ogg") adonthell.audio_play_background(0)
def walk (self): # -- in common room -> go outside if self.myself.submap () == 1 and \ adonthell.gamedata_get_quest ("demo").get_val ("intro_on") == 0: self.myself.set_goal (13, 8, adonthell.STAND_SOUTH) self.walk_delay = "%it" % random.randint (60, 90) # -- outside -> goto common room else: self.myself.set_goal (18, 13, adonthell.STAND_NORTH) self.walk_delay = "%it" % random.randint (45, 90)
def walk(self): # -- in common room -> go outside if self.myself.submap () == 1 and \ adonthell.gamedata_get_quest ("demo").get_val ("intro_on") == 0: self.myself.set_goal(13, 8, adonthell.STAND_SOUTH) self.walk_delay = "%it" % random.randint(60, 90) # -- outside -> goto common room else: self.myself.set_goal(18, 13, adonthell.STAND_NORTH) self.walk_delay = "%it" % random.randint(45, 90)
def run (self, submap, x, y, dir, name): p = adonthell.gamedata_get_character (name) # -- bjarn's door closed? open = adonthell.gamedata_get_quest ("demo").get_val("bjarn_door_open") if open == 0 or open == 1: if p.get_name () == adonthell.gamedata_player ().get_name (): adonthell.gamedata_get_character ("Bjarn Fingolson").launch_action (p) p.stand () p.go_west () else: events.switch_submap (p, self.smdest, self.xdest, self.ydest, self.destdir)
def run (self, submap, x, y, dir, name): p = adonthell.gamedata_get_character (name) free = adonthell.gamedata_get_quest ("demo").get_val("silverhair_free") # -- Jelom not convinced of Silverhair's innocence if p.get_val ("came_from_barn") == 1 and not free: p.stand () p.go_south () p.speak (_("I better leave the way I came.")) else: events.switch_submap (p, self.smdest, self.xdest, self.ydest, self.destdir) adonthell.audio_fade_out_background (500)
def run(self, submap, x, y, dir, name): p = adonthell.gamedata_get_character(name) # -- bjarn's door closed? open = adonthell.gamedata_get_quest("demo").get_val("bjarn_door_open") if open == 0 or open == 1: if p.get_name() == adonthell.gamedata_player().get_name(): adonthell.gamedata_get_character( "Bjarn Fingolson").launch_action(p) p.stand() p.go_west() else: events.switch_submap(p, self.smdest, self.xdest, self.ydest, self.destdir)
def run(self, submap, x, y, dir, name): p = adonthell.gamedata_get_character(name) free = adonthell.gamedata_get_quest("demo").get_val("silverhair_free") # -- Jelom not convinced of Silverhair's innocence if p.get_val("came_from_barn") == 1 and not free: p.stand() p.go_south() p.speak(_("I better leave the way I came.")) else: events.switch_submap(p, self.smdest, self.xdest, self.ydest, self.destdir) adonthell.audio_fade_out_background(500)
def __del__(self): # -- 'teleport' to Bjarn's room if adonthell.gamedata_get_quest("demo").get_val ("bjarn_door_open") == 2: bjarn = adonthell.gamedata_get_character ("Bjarn Fingolson") bjarn.do_stuff ("await_player") bjarn.time_callback_string ("1t", "start_talking") erek = adonthell.gamedata_get_character ("Erek Stonebreaker") import events erek.set_val ("goto", erek.submap ()) events.switch_submap (self.the_player, 7, 1, 6, 3) events.switch_submap (erek, 7, 2, 7, 0) # -- Teleport to Jelom if adonthell.gamedata_get_quest("demo").get_val ("convince_jelom") == 2: jelom = adonthell.gamedata_get_character ("Jelom Rasgar") jelom.jump_to (9, 2, 3, 1) jelom.time_callback_string ("1t", "start_talking") erek = adonthell.gamedata_get_character ("Erek Stonebreaker") erek.set_schedule_active (0) import events events.switch_submap (self.the_player, 9, 1, 3, 3) events.switch_submap (erek, 9, 2, 4, 0)
def run (self, submap, x, y, dir, name): p = adonthell.gamedata_get_character (name) free = adonthell.gamedata_get_quest ("demo").get_val("silverhair_free") # -- Jelom not convinced of Silverhair's innocence if not free and p.get_name () == adonthell.gamedata_player ().get_name (): # -- we only need that for the dialogue, ... p.set_val ("at_silverhairs_door", 1) p.stand () p.go_north () adonthell.gamedata_get_character ("Jelom Rasgar").launch_action (p) # -- ... so remove it again afterwards p.set_val ("at_silverhairs_door", 0) else: events.switch_submap (p, self.smdest, self.xdest, self.ydest, self.destdir) adonthell.audio_fade_out_background (500)
def start_talking(self): self.myself.launch_action(adonthell.gamedata_player()) adonthell.gamedata_get_character("Erek Stonebreaker").pause() adonthell.gamedata_get_quest("demo").set_val("convince_jelom", 3)
def __init__ (self, mapcharacterinstance): self.myself = mapcharacterinstance self.myself.set_callback (self.goal_reached) adonthell.gamedata_get_quest ("demo").set_val ("intro_on", 1)
def start_talking (self): self.myself.launch_action (adonthell.gamedata_player ()) adonthell.gamedata_get_character ("Erek Stonebreaker").pause () adonthell.gamedata_get_quest ("demo").set_val ("convince_jelom", 3)