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")
Beispiel #2
0
    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)
Beispiel #3
0
 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)
Beispiel #4
0
    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."))
Beispiel #6
0
	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")
Beispiel #7
0
    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")
Beispiel #8
0
 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")
Beispiel #9
0
	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")
Beispiel #10
0
    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)
Beispiel #11
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)
Beispiel #12
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)
Beispiel #13
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)
Beispiel #14
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)
Beispiel #15
0
 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)
Beispiel #17
0
 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)
Beispiel #18
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 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)
Beispiel #19
0
	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)
Beispiel #21
0
 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)
Beispiel #22
0
 def __init__ (self, mapcharacterinstance):
     self.myself = mapcharacterinstance
     self.myself.set_callback (self.goal_reached)
     adonthell.gamedata_get_quest ("demo").set_val ("intro_on", 1)
Beispiel #23
0
 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)