screen quest_menu: modal True add "images/quest_back.jpg" add "images/quests/textbox_2.png" xpos 20 ypos 40 window background None: area (25, 47, 590, 835) viewport: if (len(quests_list) + len(comp_quests_list) + len(side_quests_list)) >= 10: scrollbars "vertical" mousewheel True draggable True pagekeys True side_yfill True vbox: if Main_Quest == 1: imagebutton: mouse 'pointer' idle "images/quests/buttons/main_quest_text2.png" hover im.MatrixColor('images/quests/buttons/main_quest_text2.png', im.matrix.brightness(0.2)) action SetVariable("Main_Quest", 0) for i in quests_list: if i.looked == 0: button: mouse 'pointer' xsize 572 ysize 76 hovered Function(set_hover, i, 1) unhovered Function(set_hover, i, 0) action [ SetVariable("quest", i), Hide('QuestTextShow'), Show('QuestTextShow') ] if i.is_hovering_quest: add "Quest_Back_n_h" xpos 0.0 yalign 0.5 else: add "Quest_Back_n" xpos 0.0 yalign 0.5 vbox xpos 42: yalign 0.5 text "[i.title.upper()]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 24: color "#897a7a" hover_color "#b3a5a5" text "[i.place]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 18: color "#534545" hover_color "#6c5e5e" else: button: mouse 'pointer' xsize 572 ysize 76 hovered Function(set_hover, i, 1) unhovered Function(set_hover, i, 0) action [ SetVariable("quest", i), Hide('QuestTextShow'), Show('QuestTextShow') ] if i.is_hovering_quest: add "Quest_Back_h" xpos 0.0 yalign 0.5 else: add "Quest_Back" xpos 0.0 yalign 0.5 vbox xpos 42: yalign 0.5 text "[i.title.upper()]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 24: color "#897a7a" hover_color "#b3a5a5" text "[i.place]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 18: color "#534545" hover_color "#6c5e5e" else: imagebutton: mouse 'pointer' idle "images/quests/buttons/main_quest_text.png" hover im.MatrixColor('images/quests/buttons/main_quest_text.png', im.matrix.brightness(0.2)) action SetVariable("Main_Quest", 1) if Side_Quest == 1: imagebutton: mouse 'pointer' idle "images/quests/buttons/secondary_quest_text2.png" hover im.MatrixColor('images/quests/buttons/secondary_quest_text2.png', im.matrix.brightness(0.2)) action SetVariable("Side_Quest", 0) for i in side_quests_list: if i.looked == 0: button: mouse 'pointer' xsize 572 ysize 76 hovered Function(set_hover, i, 1) unhovered Function(set_hover, i, 0) action [ SetVariable("quest", i), Hide('QuestTextShow'), Show('QuestTextShow') ] if i.is_hovering_quest: add "Quest_Back_n_h" xpos 0.0 yalign 0.5 else: add "Quest_Back_n" xpos 0.0 yalign 0.5 vbox xpos 42: yalign 0.5 text "[i.title.upper()]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 24: color "#897a7a" hover_color "#b3a5a5" text "[i.place]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 18: color "#534545" hover_color "#6c5e5e" else: button: mouse 'pointer' xsize 572 ysize 76 hovered Function(set_hover, i, 1) unhovered Function(set_hover, i, 0) action [ SetVariable("quest", i), Hide('QuestTextShow'), Show('QuestTextShow') ] if i.is_hovering_quest: add "Quest_Back_h" xpos 0.0 yalign 0.5 else: add "Quest_Back" xpos 0.0 yalign 0.5 vbox xpos 42: yalign 0.5 text "[i.title.upper()]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 24: color "#897a7a" hover_color "#b3a5a5" text "[i.place]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 18: color "#534545" hover_color "#6c5e5e" else: imagebutton: mouse 'pointer' idle "images/quests/buttons/secondary_quest_text.png" hover im.MatrixColor('images/quests/buttons/secondary_quest_text.png', im.matrix.brightness(0.2)) action SetVariable("Side_Quest", 1) if Completed_Quest == 1: imagebutton: mouse 'pointer' idle "images/quests/buttons/completed_quest_text2.png" hover im.MatrixColor('images/quests/buttons/completed_quest_text2.png', im.matrix.brightness(0.2)) action SetVariable("Completed_Quest", 0) for i in comp_quests_list: if i.looked == 0: button: mouse 'pointer' xsize 572 ysize 76 hovered Function(set_hover, i, 1) unhovered Function(set_hover, i, 0) action [ SetVariable("quest", i), Hide('QuestTextShow'), Show('QuestTextShow') ] if i.is_hovering_quest: add "Quest_Back_n_h" xpos 0.0 yalign 0.5 else: add "Quest_Back_n" xpos 0.0 yalign 0.5 vbox xpos 42: yalign 0.5 text "[i.title.upper()]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 24: color "#897a7a" hover_color "#b3a5a5" text "[i.place]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 18: color "#534545" hover_color "#6c5e5e" else: button: mouse 'pointer' xsize 572 ysize 76 hovered Function(set_hover, i, 1) unhovered Function(set_hover, i, 0) action [ SetVariable("quest", i), Hide('QuestTextShow'), Show('QuestTextShow') ] if i.is_hovering_quest: add "Quest_Back_h" xpos 0.0 yalign 0.5 else: add "Quest_Back" xpos 0.0 yalign 0.5 vbox xpos 42: yalign 0.5 text "[i.title.upper()]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 24: color "#897a7a" hover_color "#b3a5a5" text "[i.place]" yalign 0.5 xmaximum 550 font "gui/fonts/Kurale.ttf" size 18: color "#534545" hover_color "#6c5e5e" else: imagebutton: mouse 'pointer' idle "images/quests/buttons/completed_quest_text.png" hover im.MatrixColor('images/quests/buttons/completed_quest_text.png', im.matrix.brightness(0.2)) action SetVariable("Completed_Quest", 1) imagebutton xalign 0.998 yalign 0.01: mouse 'pointer' idle "images/quests/buttons/exit.png" hover im.MatrixColor('images/quests/buttons/exit.png', im.matrix.brightness(0.2)) action [ Hide('QuestTextShow'), Hide('quest_menu') ] key "K_ESCAPE": action [ Hide('QuestTextShow'), Hide('quest_menu') ] default Main_Quest = 0 default Side_Quest = 0 default Completed_Quest = 0 define quest = "" screen QuestTextShow: zorder 100 add "images/quests/textbox_2.png" xpos 665 ypos 40 add "images/quests/textbox_2.png" xpos 1310 ypos 40 $ quest.looked = 1 timer 0.00001 action Show('QuestTextShow') fixed xpos 675 ypos 47 xsize 565 ysize 76: add 'Quest_Middle' text "[quest.title.upper()]" yalign 0.5 xalign 0.5 xmaximum 565 font "gui/fonts/Kurale.ttf" size 30: color "#c4b9b9" if quest.currentstep < 2: imagebutton idle "images/quests/buttons/quest_icon.png" xpos 690 ypos 157 text quest.step1 xpos 735 ypos 155 size 22 color "#dcdcdc" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" elif quest.currentstep < 3: imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 157 text quest.step1 xpos 735 ypos 155 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" if quest.step2 != '': imagebutton idle "images/quests/buttons/quest_icon.png" xpos 690 ypos 207 text quest.step2 xpos 735 ypos 205 size 22 color "#dcdcdc" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" elif quest.currentstep < 4: imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 157 text quest.step1 xpos 735 ypos 155 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 207 text quest.step2 xpos 735 ypos 205 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" if quest.step3 != "": imagebutton idle "images/quests/buttons/quest_icon.png" xpos 690 ypos 257 text quest.step3 xpos 735 ypos 255 size 22 color "#dcdcdc" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" elif quest.currentstep < 5: imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 157 text quest.step1 xpos 735 ypos 155 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 207 text quest.step2 xpos 735 ypos 205 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 257 text quest.step3 xpos 735 ypos 255 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" if quest.step4 != "": imagebutton idle "images/quests/buttons/quest_icon.png" xpos 690 ypos 307 text quest.step4 xpos 735 ypos 305 size 22 color "#dcdcdc" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" elif quest.currentstep < 6: imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 157 text quest.step1 xpos 735 ypos 155 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 207 text quest.step2 xpos 735 ypos 205 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 257 text quest.step3 xpos 735 ypos 255 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 307 text quest.step4 xpos 735 ypos 305 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" if quest.step5 != "": imagebutton idle "images/quests/buttons/quest_icon.png" xpos 690 ypos 357 text quest.step5 xpos 735 ypos 355 size 22 color "#dcdcdc" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" elif quest.currentstep < 7: imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 157 text quest.step1 xpos 735 ypos 155 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 207 text quest.step2 xpos 735 ypos 205 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 257 text quest.step3 xpos 735 ypos 255 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 307 text quest.step4 xpos 735 ypos 305 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 357 text quest.step5 xpos 735 ypos 355 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" if quest.step6 != "": imagebutton idle "images/quests/buttons/quest_icon.png" xpos 690 ypos 407 text quest.step6 xpos 735 ypos 405 size 22 color "#dcdcdc" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" elif quest.currentstep < 8: imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 157 text quest.step1 xpos 735 ypos 155 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 207 text quest.step2 xpos 735 ypos 205 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 257 text quest.step3 xpos 735 ypos 255 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 307 text quest.step4 xpos 735 ypos 305 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 357 text quest.step5 xpos 735 ypos 355 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 407 text quest.step6 xpos 735 ypos 405 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" if quest.step7 != "": imagebutton idle "images/quests/buttons/quest_icon.png" xpos 690 ypos 457 text quest.step7 xpos 735 ypos 455 size 22 color "#dcdcdc" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" elif quest.currentstep < 9: imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 157 text quest.step1 xpos 735 ypos 155 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 207 text quest.step2 xpos 735 ypos 205 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 257 text quest.step3 xpos 735 ypos 255 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 307 text quest.step4 xpos 735 ypos 305 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 357 text quest.step5 xpos 735 ypos 355 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 407 text quest.step6 xpos 735 ypos 405 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" imagebutton idle "images/quests/buttons/questcomp_icon.png" xpos 690 ypos 457 text quest.step7 xpos 735 ypos 455 size 22 color "#897a7a" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" if quest.step8 != "": imagebutton idle "images/quests/buttons/quest_icon.png" xpos 690 ypos 507 text quest.step8 xpos 735 ypos 505 size 22 color "#dcdcdc" xsize 450 line_spacing -10 font "gui/fonts/Kurale.ttf" window background None: area (1335, 75, 554, 935) viewport: scrollbars "vertical" mousewheel True draggable True pagekeys True side_yfill True text quest.text xsize 540 size 22 color "#897a7a" font "gui/fonts/Kurale.ttf" init python: class Quest_List_Info: def __init__(self, fon, fonnew, fonh, fonhnew, title, text, maxstep, currentstep, step1, step2, step3, step4, step5, step6, step7, step8, step9, step10, looked): self.fon = fon self.fonnew = fonnew self.fonh = fonh self.fonhnew = fonhnew self.title = title self.text = text self.maxstep = maxstep self.currentstep = currentstep self.step1 = step1 self.step2 = step2 self.step3 = step3 self.step4 = step4 self.step5 = step5 self.step6 = step6 self.step7 = step7 self.step8 = step8 self.step9 = step9 self.step10 = step10 self.looked = looked class Quest_List_Info2: def __init__(self, title, place, text, maxstep, currentstep, step1, step2, step3, step4, step5, step6, step7, step8, step9, step10, looked, is_hovering_quest): self.title = title self.place = place self.text = text self.maxstep = maxstep self.currentstep = currentstep self.step1 = step1 self.step2 = step2 self.step3 = step3 self.step4 = step4 self.step5 = step5 self.step6 = step6 self.step7 = step7 self.step8 = step8 self.step9 = step9 self.step10 = step10 self.looked = looked self.is_hovering_quest = is_hovering_quest def ChangeTextInQuestList(item, questlist, newvalue): for i in questlist: if i == item: i.text = newvalue i.looked = 0 def ChangeStageInQuestList(item, questlist): for i in questlist: if i == item: i.currentstep += 1 i.looked = 0 def ChangeStepTextInQuestList(item, questlist, step, newvalue): for i in questlist: if i == item: if step == 1: i.step1 = newvalue elif step == 2: i.step2 = newvalue elif step == 3: i.step3 = newvalue elif step == 4: i.step4 = newvalue elif step == 5: i.step5 = newvalue elif step == 6: i.step6 = newvalue elif step == 7: i.step7 = newvalue elif step == 8: i.step8 = newvalue elif step == 9: i.step9 = newvalue elif step == 10: i.step10 = newvalue def set_hover(quest_obj, value): quest_obj.is_hovering_quest = value def FinishCurrentQuest(item, questlist): for i in questlist: if i == item: questlist.remove(i) comp_quests_list.insert(0, i) i.currentstep = i.maxstep+1 def ChangeMaxStepInQuestList(item, questlist, x): for i in questlist: if i == item: i.maxstep = x default Quest_1 = Quest_List_Info("Quest_1", "Quest_1new", "Quest_1h", "Quest_1hnew", "Quest_1_Title", "It seems the local tavern owner is having trouble with his supply delivery. He said his partners were supposed to bring him goods a few days ago, but they never showed up. You need to find out what happened to them.", 6, 1, "Find the tavern owner's partners", "Discover where the bandits are hiding", "Obtain weapons and equipment", "Find the bandit camp", "Talk to the tavern owner", "", "", "", "", "", 0) default Quest_2 = Quest_List_Info("Quest_2", "Quest_2new", "Quest_2h", "Quest_2hnew", "Quest_2_Title", "I need to find weapons and gear that will help me defeat the bandits. I remember there was a blacksmith in this village. Time to pay him a visit.", 4, 1, "Find the blacksmith", "Find the blacksmith’s daughter", "Help either the blacksmith or his daughter", "", "", "", "", "", "", "", 0) default Quest_1_n = Quest_List_Info2("A Problem with Bandits", "Ekhorgan", "It seems the local tavern owner is having trouble with his supply delivery. He said his partners were supposed to bring him goods a few days ago, but they never showed up. You need to find out what happened to them.", 6, 1, "Find the tavern owner's partners", "Discover where the bandits are hiding", "Obtain weapons and equipment", "Find the bandit camp", "Talk to the tavern owner", "", "", "", "", "", 0, 0) default Quest_2_n = Quest_List_Info2("The Blacksmith's Heart", "Ekhorgan", "I need to find weapons and gear that will help me defeat the bandits. I remember there was a blacksmith in this village. Time to pay him a visit.", 4, 1, "Find the blacksmith", "Find the blacksmith’s daughter", "Help either the blacksmith or his daughter", "", "", "", "", "", "", "", 0, 0) default Quest_3 = Quest_List_Info2("Vengeance Among the Trees", "Ekhorgan", "Elder Koluan said that the lumberjacks have refused to help the village gather firewood for the winter. I wonder why? They couldn’t have refused for no reason… right?\n\nI should go speak with the lumberjacks. Maybe I’ll be able to learn more that way.", 5, 1, "Find the lumberjacks", "Kill the large wolf", "Find a way to heal the lumberjack’s wounds", "Talk to the elder", "", "", "", "", "", "", 0, 0) #def __init__(self, title, place, text, maxstep, currentstep, step1, step2, step3, step4, step5, step6, step7, step8, step9, step10, looked): default Quest_4 = Quest_List_Info2("The First Steps", "Ekhorgan", "My suspicions about Marcus turned out to be correct.\n\nWell then — now I need to prove to him that I’m exactly the one he needs, and that I can be of real use to the royal army. He’s already taken notice of me. The important thing now is not to disappoint him.\n\nI need to find the herb with small yellow flowers. That shouldn’t be too difficult.", 5, 1, "Find the herb", "Talk to Marcus", "Head to the city", "Talk to Marcus about joining the guard", "", "", "", "", "", "", 0, 0) default quests_list = [] default comp_quests_list = [] default side_quests_list = [] ################################################################# ##### Quests ##### ################################################################# image Quest_Middle = "images/quests/quest_middle.png" image Quest_Back = "images/quests/quest_back.png" image Quest_Back_h = "images/quests/quest_back_h.png" image Quest_Back_n = "images/quests/quest_back_n.png" image Quest_Back_n_h = "images/quests/quest_back_n_h.png" image Quest_1 = "images/quests/quest_1/quest_1.png" image Quest_1h = "images/quests/quest_1/quest_1_h.png" image Quest_1new = "images/quests/quest_1/quest_1_new.png" image Quest_1hnew = "images/quests/quest_1/quest_1_new_h.png" image Quest_1_Title = "images/quests/quest_1/quest_1_m.png" image Quest_2 = "images/quests/quest_2/quest_2.png" image Quest_2h = "images/quests/quest_2/quest_2_h.png" image Quest_2new = "images/quests/quest_2/quest_2_new.png" image Quest_2hnew = "images/quests/quest_2/quest_2_new_h.png" image Quest_2_Title = "images/quests/quest_2/quest_2_m.png" image Quest_3 = "images/quests/quest_3/quest_3.png" image Quest_3h = "images/quests/quest_3/quest_3_h.png" image Quest_3new = "images/quests/quest_3/quest_3_new.png" image Quest_3hnew = "images/quests/quest_3/quest_3_new_h.png" image Quest_3_Title = "images/quests/quest_3/quest_3_m.png" image Quest_4 = "images/quests/quest_4/quest_4.png" image Quest_4h = "images/quests/quest_4/quest_4_h.png" image Quest_4new = "images/quests/quest_4/quest_4_new.png" image Quest_4hnew = "images/quests/quest_4/quest_4_new_h.png" image Quest_4_Title = "images/quests/quest_4/quest_4_m.png"