adonthell-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[adonthell-wastesedge-commits] Release_0-3-1 049cceb 174/237: ADDED gem


From: Kai Sterker
Subject: [adonthell-wastesedge-commits] Release_0-3-1 049cceb 174/237: ADDED gem found in Silverhair's luggage
Date: Mon, 25 Jul 2016 18:15:10 +0000 (UTC)

tag: Release_0-3-1
commit 049ccebeaa3bca6a8d5a796681b124e94f9eca99
Author: adondev <adondev>
Commit: adondev <adondev>

    ADDED gem found in Silverhair's luggage
---
 gfx/cutscene/gem.pnm                |  Bin 0 -> 12346 bytes
 scripts/events/search_chest.py      |   71 ++++++++++++++++++++++++++++++++++-
 scripts/modules/character_screen.py |    6 +--
 3 files changed, 73 insertions(+), 4 deletions(-)

diff --git a/gfx/cutscene/gem.pnm b/gfx/cutscene/gem.pnm
new file mode 100644
index 0000000..a8ac1dd
Binary files /dev/null and b/gfx/cutscene/gem.pnm differ
diff --git a/scripts/events/search_chest.py b/scripts/events/search_chest.py
index ec8505f..ae1845a 100644
--- a/scripts/events/search_chest.py
+++ b/scripts/events/search_chest.py
@@ -24,8 +24,77 @@ class search_chest:
 
     def run (self, submap, x, y, dir, name):
         if adonthell.gamedata_get_quest ("demo").get_val ("get_item") == 1:
-            self.mapchar.speak ("What is that!? There is one of Fingolson's 
gems in there!")
+            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.")
+
+
+class find_gem_screen (adonthell.win_container):
+    def __init__(self):
+        adonthell.win_container.__init__(self)
+
+        self.py_signal_connect (self.on_update, adonthell.win_event_UPDATE)
+        self.state = 1
+
+        # -- get font and theme
+        self.font = adonthell.win_manager_get_font ("original")
+        self.theme = adonthell.win_manager_get_theme ("original")
+        
+        self.move (58, 75)     
+        self.resize (205, 70)
+        self.set_border (self.theme, adonthell.win_border_MINI)
+        self.set_background (self.theme)
+        self.set_trans_background (1)
+
+        # -- The window text
+        self.text = adonthell.win_label ()
+        self.text.thisown = 0
+        self.text.resize (120, 0)
+        self.text.set_font (self.font)
+        self.text.set_form (adonthell.label_AUTO_HEIGHT)
+        self.text.set_text ("Upon opening the chest, a small green something 
catches your attention ...")
+        self.text.pack ()
+        self.text.move (80, (self.height () - self.text.height ())/2)
+
+        # -- The character image
+        self.image = adonthell.win_image ()
+        self.image.thisown = 0
+        self.image.move (10, 3)
+        self.image.resize (64, 64)
+        self.image.load_pnm ("gfx/cutscene/gem.pnm")
+        self.image.set_mask (1)
+        self.image.pack ()
+        
+        self.add (self.text)
+        self.add (self.image)
+        
+        self.set_visible_background (1)
+        self.set_visible_border (1)
+        self.set_visible_all (1)
+
+    # -- catch relevant keypresses
+    def on_update (self):
+        # -- quit
+        if adonthell.input_has_been_pushed (adonthell.SDLK_RETURN) or \
+           adonthell.input_has_been_pushed (adonthell.SDLK_SPACE) or \
+           adonthell.input_has_been_pushed (adonthell.SDLK_ESCAPE):
+           
+            # -- display second part of text
+            if self.state == 1:
+                self.text.set_text ("There, inmidst your mistress' luggage, 
lies one of Master Fingolson's gems.")
+                self.text.pack ()
+                self.text.move (80, (self.height () - self.text.height ())/2)
+                self.state = 2
+                
+            # -- end
+            else:
+                adonthell.gamedata_engine ().main_quit ()
diff --git a/scripts/modules/character_screen.py 
b/scripts/modules/character_screen.py
index 93c909b..41514cb 100644
--- a/scripts/modules/character_screen.py
+++ b/scripts/modules/character_screen.py
@@ -67,9 +67,9 @@ class character_screen (adonthell.win_container):
         self.add (self.entry)
         self.set_focus_object (self.entry)
         
-        self.set_visible_background (1);
-        self.set_visible_border (1);
-        self.set_visible_all (1);
+        self.set_visible_background (1)
+        self.set_visible_border (1)
+        self.set_visible_all (1)
         self.set_activate (1)
 
         self.entry.set_focus (1)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]