import gameobjects
import constants
import npcs
+import gamestate
class MainGame:
potion3 = gameobjects.HealthPotion (5, 2, self.img_redpotion)
npc_bulisa = npcs.Bulisa (4, 3, self.img_bulisa, self.img_bulisa_portrait,
- [ os.path.join ("dialogues", "bulisa1.dlg") ])
+ [ os.path.join ("dialogues", "bulisa1.dlg"),
+ os.path.join ("dialogues", "bulisa2.dlg"),
+ os.path.join ("dialogues", "bulisa3.dlg") ] )
chest1.objects = [ gold50, gold25, potion2, potion3, key2, gold10 ]
# interaction with npcs
def interact_npc (self, npc):
# interact with NPC and get the response ID
- resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.img_butaba_portrait, 0, 90)
-
- # if none
- if resp_id is None:
+ # if the NPC is Bulisa
+ if isinstance (npc, npcs.Bulisa):
+ self.interact_npc_bulisa (npc)
+
+ # interact with NPC Bulisa
+ def interact_npc_bulisa (self, npc):
+ # set initial response ID to none
+ resp_id = None
+ print (gamestate.mission_bulisa_water_from_well, gamestate.mission_bulisa_water_from_well_complete)
+ # not yet started mission drawing water from well and not refused it
+ if (gamestate.mission_bulisa_water_from_well is False
+ and gamestate.mission_bulisa_water_from_well_refused is False):
+ # set the current dialogue
+ npc.currentdialog = 0
+ # get the response ID
+ resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.img_butaba_portrait, 0, 90)
+ if (gamestate.mission_bulisa_water_from_well_refused is True and
+ gamestate.mission_bulisa_water_from_well is False):
+ # set the current dialog
+ npc.currentdialog = 2
+ resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.img_butaba_portrait, 0, 90)
+ # mission accepted but not completed
+ elif (gamestate.mission_bulisa_water_from_well is True
+ and gamestate.mission_bulisa_water_from_well_complete is False):
+ npc.currentdialog = 1
+ # get the response ID
+ resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.img_butaba_portrait, 0, 90)
+
+ print resp_id
+ # if response ID is 12, then drawing water from well mission is refused
+ if resp_id == "12" or resp_id == "18":
+ gamestate.mission_bulisa_water_from_well_refused = True
+ # if response ID is 13: that is accepted the drawing water from well mission begins
+ if resp_id == "13" or resp_id == "17":
+ gamestate.mission_bulisa_water_from_well = True
+ # if response ID is none
+ elif resp_id is None:
self.status_message = "You cannot initiate a conversation with %s" % npc.charname
# interaction with objects