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 ca2db9e 219/237: COMPLETED


From: Kai Sterker
Subject: [adonthell-wastesedge-commits] Release_0-3-1 ca2db9e 219/237: COMPLETED Silverhair
Date: Mon, 25 Jul 2016 18:15:14 +0000 (UTC)

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

    COMPLETED Silverhair
    ADDED Fellnir
    FIXED others
---
 scripts/dialogues/Makefile.am         |    2 +-
 scripts/dialogues/erek_start.py       |    6 +
 scripts/dialogues/fellnir_start.py    |  167 +++++++++++++++++++
 scripts/dialogues/silverhair_start.py |  293 ++++++++++++++++++++++++++++++---
 scripts/dialogues/talan_start.py      |    7 +-
 scripts/events/brn_to_silverhair.py   |   10 +-
 scripts/init.py                       |    1 +
 7 files changed, 460 insertions(+), 26 deletions(-)

diff --git a/scripts/dialogues/Makefile.am b/scripts/dialogues/Makefile.am
index 50df5f8..371b9b2 100755
--- a/scripts/dialogues/Makefile.am
+++ b/scripts/dialogues/Makefile.am
@@ -6,7 +6,7 @@ EXTRA_DIST = orloth_start.py lucia_start.py sarin_start.py \
     janesta_start.py erek_start.py oliver_start.py bjarn_start.py \
     frostbloom_start.py talan_start.py alek_start.py jelom_start.py \
     tristan_start.py jelom_2nd.py demo_intro_1.py extro.py \
-    silverhair_start.py
+    silverhair_start.py fellnir_start.py
 
 all:
        $(adonthell_binary) -c
diff --git a/scripts/dialogues/erek_start.py b/scripts/dialogues/erek_start.py
index 3b2811b..3e23fb6 100755
--- a/scripts/dialogues/erek_start.py
+++ b/scripts/dialogues/erek_start.py
@@ -324,6 +324,8 @@ class erek_start:
                self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
                self.npc.append (24)
                self.cont.append (15)
+               adonthell.gamedata_get_quest("demo").set_val ("know_argument" , 
1)
+
                self.player.append (-1)
 
        def answer24 (self):
@@ -670,6 +672,8 @@ class erek_start:
                self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
                self.npc.append (24)
                self.cont.append (15)
+               adonthell.gamedata_get_quest("demo").set_val ("know_argument" , 
1)
+
                self.player.append (-1)
 
        def answer22 (self):
@@ -695,6 +699,8 @@ class erek_start:
                self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
                self.npc.append (24)
                self.cont.append (15)
+               adonthell.gamedata_get_quest("demo").set_val ("know_argument" , 
1)
+
                self.player.append (-1)
 
        def answer13 (self):
diff --git a/scripts/dialogues/fellnir_start.py 
b/scripts/dialogues/fellnir_start.py
new file mode 100644
index 0000000..4bb84cd
--- /dev/null
+++ b/scripts/dialogues/fellnir_start.py
@@ -0,0 +1,167 @@
+import adonthell
+
+class fellnir_start:
+       loop = []
+       strings = ["What do you want from me?  I don't know anything.", "I am 
with Lady Silverhair, and I am trying to prove her innocense.  Do you know what 
happened here?", "Fellnir looks suspiciously at you.  He absently jots 
something down in a notebook and shifts one of his beakers slightly.", "Ask 
somebody else.  Anybody.  I just keep to myself and I don't know anything.", 
"He turns his attention back to his work, poring over the array of steaming 
liquids and decanters of unknown origin.  [...]
+
+       def set_name (self, new_name):
+               pass
+
+       def set_npc (self, new_npc):
+               pass
+
+       def set_portrait (self, new_portrait):
+               pass
+
+       def __init__(self, p, n):
+               self.the_player = p
+               self.the_npc = n
+
+               self.dialogue = [self.start, self.answer1, self.answer2, 
self.answer3, self.answer5, self.answer6, self.answer7, self.answer8, 
self.answer9, self.answer10, self.answer11, self.answer12, self.answer13, 
self.answer14, self.answer15, self.answer16, self.answer17, None]
+
+       def clear (self):
+               del self.dialogue
+
+       def __getattr__ (self, name):
+               return 0
+
+       def run (self, answer):
+               self.npc = []
+               self.player = []
+               self.cont = []
+               self.dialogue[answer]()
+
+       def start (self):
+               self.set_npc ("Fellnir Kezular")
+               self.color = adonthell.gamedata_get_character("Fellnir 
Kezular").get_color()
+               self.npc.append (0)
+               self.cont.append (-1)
+               if self.the_npc.get_val ("talked_to") == 0:
+
+                       self.player.append (1)
+                       self.cont.append (1)
+               elif adonthell.gamedata_get_quest("demo").get_val 
("know_jelom") == 2 and adonthell.gamedata_get_character("Imoen 
Silverhair").get_val ("talked_to") == 0:
+
+                       self.player.append (6)
+                       self.cont.append (5)
+               elif adonthell.gamedata_get_quest("demo").get_val 
("told_on_talan") == 1:
+
+                       self.player.append (5)
+                       self.cont.append (4)
+               elif adonthell.gamedata_get_quest("demo").get_val 
("know_noise") != 0 and adonthell.gamedata_get_quest("demo").get_val 
("know_talan_singing") == 0:
+
+                       self.player.append (9)
+                       self.cont.append (8)
+               elif adonthell.gamedata_get_quest("demo").get_val 
("bjarn_door_open") == 1:
+
+                       self.player.append (7)
+                       self.cont.append (6)
+               else:
+
+                       self.player.append (8)
+                       self.cont.append (7)
+               self.player.append (-1)
+
+       def answer8 (self):
+               self.set_npc (self.the_npc.get_id())
+               self.color = 0
+               self.npc.append (2)
+               self.cont.append (2)
+               self.player.append (-1)
+
+       def answer2 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (3)
+               self.cont.append (3)
+               self.player.append (-1)
+
+       def answer3 (self):
+               self.color = 0
+               self.npc.append (4)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer7 (self):
+               self.set_npc (self.the_npc.get_id())
+               self.color = 0
+               self.npc.append (13)
+               self.cont.append (12)
+               self.player.append (-1)
+
+       def answer13 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (14)
+               self.cont.append (13)
+               self.player.append (-1)
+
+       def answer14 (self):
+               self.color = 0
+               self.npc.append (4)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer9 (self):
+               self.set_npc (self.the_npc.get_id())
+               self.color = 0
+               self.npc.append (17)
+               self.cont.append (16)
+               self.player.append (-1)
+
+       def answer17 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (10)
+               self.cont.append (9)
+               self.player.append (-1)
+
+       def answer10 (self):
+               self.color = 0
+               self.npc.append (4)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer5 (self):
+               self.set_npc (self.the_npc.get_id())
+               self.color = 0
+               self.npc.append (11)
+               self.cont.append (10)
+               self.player.append (-1)
+
+       def answer11 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (16)
+               self.cont.append (15)
+               self.player.append (-1)
+
+       def answer16 (self):
+               self.color = 0
+               self.npc.append (4)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer6 (self):
+               self.set_npc (self.the_npc.get_id())
+               self.color = 0
+               self.npc.append (15)
+               self.cont.append (14)
+               self.player.append (-1)
+
+       def answer15 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (12)
+               self.cont.append (11)
+               self.player.append (-1)
+
+       def answer12 (self):
+               self.color = 0
+               self.npc.append (4)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer1 (self):
+               self.the_npc.set_val ("talked_to" , 1)
+
+               self.set_npc (self.the_npc.get_id())
+               self.color = 0
+               self.npc.append (2)
+               self.cont.append (2)
+               self.player.append (-1)
diff --git a/scripts/dialogues/silverhair_start.py 
b/scripts/dialogues/silverhair_start.py
index 5d182f2..f15c781 100644
--- a/scripts/dialogues/silverhair_start.py
+++ b/scripts/dialogues/silverhair_start.py
@@ -2,7 +2,7 @@ import adonthell
 
 class silverhair_start:
        loop = []
-       strings = ["Oh!!", "$name, have you found anything yet?  This 
confinement is intolerable, as you may well understand.", "Mistress! Mistress! 
$name has come!", "Yes, yes dear, I see him. Please calm yourself. $name, I am 
relieved to see you. This situation has clearly gone beyond any civil 
control.", "That is certain, my lady. I am told you are suspected of theft.", 
"Theft indeed, and theft most grave. This Fingolson may be uncouth, but he 
bears considerable influence. A theft from him w [...]
+       strings = ["Oh!!", "$name, have you found anything yet?  This 
confinement is intolerable, as you may well understand.", "Mistress!  Mistress! 
 $name has come!", "Yes, yes dear, I see him.  Please calm yourself.  $name, I 
am relieved to see you.  This situation has clearly gone beyond any civil 
control.", "That is certain, my lady.  I am told you are suspected of theft.", 
"Theft indeed, and theft most grave. This Fingolson may be uncouth, but he 
bears considerable influence. A theft from [...]
 
        def set_name (self, new_name):
                pass
@@ -17,7 +17,7 @@ class silverhair_start:
                self.the_player = p
                self.the_npc = n
 
-               self.dialogue = [self.start, self.answer0, self.answer2, 
self.answer4, self.answer6, self.answer8, self.answer9, self.answer10, 
self.answer13, None]
+               self.dialogue = [self.start, self.answer2, self.answer4, 
self.answer6, self.answer8, self.answer9, self.answer10, self.answer13, 
self.answer14, self.answer16, self.answer18, self.answer20, self.answer23, 
self.answer24, self.answer26, self.answer28, self.answer29, self.answer31, 
self.answer33, self.answer34, self.answer35, self.answer37, self.answer38, 
self.answer40, self.answer41, self.answer43, self.answer44, self.answer45, 
self.answer46, self.answer50, self.answer54, self.answer55, s [...]
 
        def clear (self):
                del self.dialogue
@@ -32,23 +32,278 @@ class silverhair_start:
                self.dialogue[answer]()
 
        def start (self):
-               self.set_npc ("Janesta Skywind")
-               self.color = adonthell.gamedata_get_character("Janesta 
Skywind").get_color()
-               self.npc.append (0)
-               self.cont.append (1)
-               self.player.append (-1)
-               if 1 == 0:
+               if self.the_npc.get_val ("talked_to") == 0:
+
+                       self.set_npc ("Janesta Skywind")
+                       self.color = adonthell.gamedata_get_character("Janesta 
Skywind").get_color()
+                       self.npc.append (0)
+                       self.cont.append (-1)
+                       self.the_npc.set_val ("talked_to" , 1)
+
+                       self.player.append (2)
+                       self.cont.append (1)
+                       self.player.append (-1)
+               elif adonthell.gamedata_get_quest("demo").get_val 
("silverhair_free") != 1:
 
                        self.set_npc ("Imoen Silverhair")
                        self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
                        self.npc.append (1)
                        self.cont.append (-1)
+                       self.player.append (14)
+                       self.cont.append (8)
                        self.player.append (-1)
+               elif adonthell.gamedata_get_quest("demo").get_val ("get_item") 
== 0:
 
-       def answer0 (self):
-               self.color = adonthell.gamedata_get_character("Janesta 
Skywind").get_color()
-               self.npc.append (2)
-               self.cont.append (2)
+                       self.set_npc ("Imoen Silverhair")
+                       self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+                       self.npc.append (22)
+                       self.cont.append (-1)
+                       adonthell.gamedata_get_quest("demo").set_val 
("get_item" , 1)
+
+                       self.player.append (46)
+                       self.cont.append (28)
+                       self.player.append (-1)
+               elif adonthell.gamedata_get_quest("demo").get_val ("have_gem") 
== 1:
+
+                       self.color = self.the_npc.get_color()
+                       self.npc.append (53)
+                       self.cont.append (-1)
+                       adonthell.gamedata_get_quest("demo").set_val 
("gem_worthless" , adonthell.gamedata_get_quest("demo").get_val 
("gem_worthless") | 1)
+                       
+                       
+
+                       self.player.append (54)
+                       self.cont.append (30)
+                       self.player.append (-1)
+               else:
+
+                       self.color = self.the_npc.get_color()
+                       self.npc.append (49)
+                       self.cont.append (-1)
+                       self.player.append (50)
+                       self.cont.append (29)
+                       self.player.append (-1)
+
+       def answer50 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (51)
+               self.cont.append (-1)
+               self.player.append (52)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer52 (self):
+               pass
+
+       def answer54 (self):
+               self.color = 0
+               self.npc.append (55)
+               self.cont.append (31)
+               self.player.append (-1)
+
+       def answer55 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (56)
+               self.cont.append (-1)
+               self.player.append (57)
+               self.cont.append (32)
+               self.player.append (-1)
+
+       def answer57 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (58)
+               self.cont.append (33)
+               self.player.append (-1)
+
+       def answer58 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (59)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer46 (self):
+               self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+               self.npc.append (47)
+               self.cont.append (-1)
+               self.player.append (61)
+               self.cont.append (34)
+               self.player.append (48)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer48 (self):
+               pass
+
+       def answer61 (self):
+               self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+               self.npc.append (62)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer14 (self):
+               self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+               self.npc.append (15)
+               self.cont.append (-1)
+               self.player.append (16)
+               self.cont.append (9)
+               if adonthell.gamedata_get_quest("demo").get_val 
("know_argument") == 1:
+
+                       self.player.append (24)
+                       self.cont.append (13)
+               if adonthell.gamedata_get_quest("demo").get_val ("know_noise") 
& 2 == 2:
+
+                       self.player.append (23)
+                       self.cont.append (12)
+               if adonthell.gamedata_get_quest("demo").get_val 
("talked_about_yeti") == 0 and adonthell.gamedata_get_quest("demo").get_val 
("know_frostbloom") == 1:
+
+                       self.player.append (18)
+                       self.cont.append (10)
+               self.player.append (-1)
+
+       def answer18 (self):
+               adonthell.gamedata_get_quest("demo").set_val 
("talked_about_yeti" , 1)
+
+               self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+               self.npc.append (19)
+               self.cont.append (-1)
+               self.player.append (20)
+               self.cont.append (11)
+               self.player.append (-1)
+
+       def answer20 (self):
+               self.set_npc (self.the_npc.get_id())
+               self.color = self.the_npc.get_color()
+               self.npc.append (21)
+               self.cont.append (-1)
+               self.player.append (29)
+               self.cont.append (16)
+               self.player.append (-1)
+
+       def answer29 (self):
+               self.set_npc ("Imoen Silverhair")
+               self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+               self.npc.append (17)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer23 (self):
+               adonthell.gamedata_get_quest("demo").set_val ("know_noise" , 
adonthell.gamedata_get_quest("demo").get_val ("know_noise") | 1 )
+
+               self.set_npc (self.the_npc.get_id())
+               self.color = self.the_npc.get_color()
+               self.npc.append (30)
+               self.cont.append (-1)
+               self.player.append (31)
+               self.cont.append (17)
+               self.player.append (-1)
+
+       def answer31 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (32)
+               self.cont.append (-1)
+               self.player.append (33)
+               self.cont.append (18)
+               self.player.append (34)
+               self.cont.append (19)
+               self.player.append (-1)
+
+       def answer34 (self):
+               self.color = 0
+               self.npc.append (35)
+               self.cont.append (20)
+               self.player.append (-1)
+
+       def answer35 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (36)
+               self.cont.append (-1)
+               self.player.append (33)
+               self.cont.append (18)
+               self.player.append (-1)
+
+       def answer33 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (37)
+               self.cont.append (21)
+               self.player.append (-1)
+
+       def answer37 (self):
+               self.color = 0
+               self.npc.append (38)
+               self.cont.append (22)
+               self.player.append (-1)
+
+       def answer38 (self):
+               self.set_npc ("Imoen Silverhair")
+               self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+               self.npc.append (17)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer24 (self):
+               self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+               self.npc.append (39)
+               self.cont.append (-1)
+               self.player.append (40)
+               self.cont.append (23)
+               self.player.append (-1)
+
+       def answer40 (self):
+               self.set_npc (self.the_npc.get_id())
+               self.color = self.the_npc.get_color()
+               self.npc.append (41)
+               self.cont.append (24)
+               self.player.append (-1)
+
+       def answer41 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (42)
+               self.cont.append (-1)
+               self.player.append (43)
+               self.cont.append (25)
+               self.player.append (-1)
+
+       def answer43 (self):
+               self.color = self.the_npc.get_color()
+               self.npc.append (44)
+               self.cont.append (26)
+               self.player.append (-1)
+
+       def answer44 (self):
+               self.color = 0
+               self.npc.append (45)
+               self.cont.append (27)
+               self.player.append (-1)
+
+       def answer45 (self):
+               self.set_npc ("Imoen Silverhair")
+               self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+               self.npc.append (17)
+               self.cont.append (-1)
+               self.player.append (-1)
+
+       def answer16 (self):
+               self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+               self.npc.append (25)
+               self.cont.append (-1)
+               self.player.append (26)
+               self.cont.append (14)
+               self.player.append (-1)
+
+       def answer26 (self):
+               self.set_npc (self.the_npc.get_id())
+               self.color = self.the_npc.get_color()
+               self.npc.append (27)
+               self.cont.append (-1)
+               self.player.append (28)
+               self.cont.append (15)
+               self.player.append (-1)
+
+       def answer28 (self):
+               self.set_npc ("Imoen Silverhair")
+               self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
+               self.npc.append (17)
+               self.cont.append (-1)
                self.player.append (-1)
 
        def answer2 (self):
@@ -57,7 +312,7 @@ class silverhair_start:
                self.npc.append (3)
                self.cont.append (-1)
                self.player.append (4)
-               self.cont.append (3)
+               self.cont.append (2)
                self.player.append (-1)
 
        def answer4 (self):
@@ -65,23 +320,23 @@ class silverhair_start:
                self.npc.append (5)
                self.cont.append (-1)
                self.player.append (6)
-               self.cont.append (4)
+               self.cont.append (3)
                self.player.append (9)
-               self.cont.append (6)
+               self.cont.append (5)
                self.player.append (-1)
 
        def answer9 (self):
                self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
                self.npc.append (10)
-               self.cont.append (7)
+               self.cont.append (6)
                self.player.append (-1)
 
        def answer10 (self):
                self.color = adonthell.gamedata_get_character("Imoen 
Silverhair").get_color()
-               self.npc.append (14)
+               self.npc.append (60)
                self.cont.append (-1)
                self.player.append (13)
-               self.cont.append (8)
+               self.cont.append (7)
                self.player.append (-1)
 
        def answer13 (self):
@@ -100,7 +355,7 @@ class silverhair_start:
                self.npc.append (7)
                self.cont.append (-1)
                self.player.append (8)
-               self.cont.append (5)
+               self.cont.append (4)
                self.player.append (-1)
 
        def answer8 (self):
diff --git a/scripts/dialogues/talan_start.py b/scripts/dialogues/talan_start.py
index 33af4f7..928d8c1 100755
--- a/scripts/dialogues/talan_start.py
+++ b/scripts/dialogues/talan_start.py
@@ -348,7 +348,7 @@ class talan_start:
                self.cont.append (-1)
                self.player.append (23)
                self.cont.append (11)
-               if adonthell.gamedata_get_quest("demo").get_val ("know_noise") 
== 2:
+               if adonthell.gamedata_get_quest("demo").get_val ("know_noise") 
& 2 == 2:
 
                        self.player.append (77)
                        self.cont.append (42)
@@ -451,14 +451,13 @@ class talan_start:
                self.color = self.the_npc.get_color()
                self.npc.append (21)
                self.cont.append (-1)
+               adonthell.gamedata_get_quest("demo").set_val 
("know_talan_singing" , 2)
+
                self.player.append (22)
                self.cont.append (-1)
                self.player.append (-1)
 
        def answer22 (self):
-               adonthell.gamedata_get_quest("demo").set_val 
("know_talan_singing" , 2)
-               
-
                pass
 
        def answer77 (self):
diff --git a/scripts/events/brn_to_silverhair.py 
b/scripts/events/brn_to_silverhair.py
index c17b527..5c6d925 100644
--- a/scripts/events/brn_to_silverhair.py
+++ b/scripts/events/brn_to_silverhair.py
@@ -10,7 +10,8 @@
 #  See the COPYING file for more details
 #
 
-# -- Map Event to teleport a character from the barn into Silverhair's room
+# -- Map Event to teleport a character from the veranda into 
+#    Silverhair's room
 
 import adonthell
 import events
@@ -38,4 +39,9 @@ class brn_to_silverhair:
 
         p.stand ()
         p.go_west ()
-        adonthell.gamedata_get_character ("Imoen Silverhair").launch_action (p)
+        
+        silverhair = adonthell.gamedata_get_character ("Imoen Silverhair")
+        
+        # -- only initiate dialogue the first time the player enters
+        if silverhair.get_val ("talked_to") == 0:
+            silverhair.launch_action (p)
diff --git a/scripts/init.py b/scripts/init.py
index da838d0..12e76b8 100755
--- a/scripts/init.py
+++ b/scripts/init.py
@@ -1352,6 +1352,7 @@ class title_screen:
         silverhair.set_map (gamedata_engine ().get_landmap ())
         silverhair.jump_to (13, 4, 4)
         silverhair.set_action ("talk")
+        silverhair.set_color (4)
         silverhair.stand_south ()
         silverhair.set_schedule ("silverhair")
         silverhair.set_portrait ("silverhair.pnm")



reply via email to

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