From: Harishankar Date: Sat, 15 Oct 2011 05:05:22 +0000 (+0530) Subject: Began working on "Mayor" charity mission X-Git-Url: https://harishankar.org/repos/?p=butaba-adventures.git;a=commitdiff_plain;h=423e47fbbd98064a79a5c4016c4a91c4eb78f800 Began working on "Mayor" charity mission Began working on mayor's charity mission. Added graphics for the mayor and also added many more levels. --- diff --git a/background/tileset.png b/background/tileset.png index d294b05..199fc63 100644 Binary files a/background/tileset.png and b/background/tileset.png differ diff --git a/dialogues/bulisa1.dlg b/dialogues/bulisa1.dlg index e684042..eae26d0 100644 --- a/dialogues/bulisa1.dlg +++ b/dialogues/bulisa1.dlg @@ -25,10 +25,10 @@ Oh, no problem. That's all right, then. - Bye! + Bye! Thanks so much! There is an empty bucket somewhere in the garden. Take that, go to the well behind the house, draw water and bring it back to me. - Right. I'll go at once. + Right. I'll go at once. \ No newline at end of file diff --git a/dialogues/bulisa2.dlg b/dialogues/bulisa2.dlg index bb504e1..d4ef313 100644 --- a/dialogues/bulisa2.dlg +++ b/dialogues/bulisa2.dlg @@ -2,16 +2,16 @@ Hello, my friend. I see you've not yet brought back water from the well. - Where can I find a bucket? - Where can I find the well? + Where can I find a bucket? + Where can I find the well? I'll go and get it at once! Didn't you hear? You can find the bucket somewhere in the garden. - Thanks... + Thanks... I already told you, there is a well behind the house! - Uh, thanks! + Uh, thanks! \ No newline at end of file diff --git a/dialogues/bulisa3.dlg b/dialogues/bulisa3.dlg index 63b41ed..f8fde3d 100644 --- a/dialogues/bulisa3.dlg +++ b/dialogues/bulisa3.dlg @@ -2,17 +2,17 @@ Hello, Butaba. I hope you don't mind my asking you this again, but are you sure you aren't able to draw some water for me? I am not feeling all that well and I hoped you could help me out this one time! - Oh, no problem. I will do it! - Sorry, Bulisa. I am unable to do it... + Oh, no problem. I will do it! + Sorry, Bulisa. I am unable to do it... That is so kind of you, Butaba. There is an empty bucket somewhere in the garden. Take that, go to the well behind the house, draw water and bring it back to me. - Right. I'll go at once. + Right. I'll go at once. Never mind. If you change your mind, do let me know! - Bye! + Bye! \ No newline at end of file diff --git a/dialogues/bulisa5.dlg b/dialogues/bulisa5.dlg index 1d4cc8b..a6e8181 100644 --- a/dialogues/bulisa5.dlg +++ b/dialogues/bulisa5.dlg @@ -14,11 +14,11 @@ Ah, then I think I can put you on to something. You see, the town mayor is collecting money for charity. There is going to be a gala function during the Fete. He's short handed at the moment, looking for volunteers. Maybe you could help! - Sounds like a good idea. I'll go meet him. - Oh, I'll consider it... + Sounds like a good idea. I'll go meet him. + Oh, I'll consider it... No problem. It's a good cause. Hope you can help with that! - Bye! + Bye! \ No newline at end of file diff --git a/dialogues/bulisa6.dlg b/dialogues/bulisa6.dlg new file mode 100644 index 0000000..819c950 --- /dev/null +++ b/dialogues/bulisa6.dlg @@ -0,0 +1,19 @@ + + + + Hello, Butaba! Been to see the mayor, yet? + Uh, no! + Bye! + + + Well, don't worry about seeing him. I'll put a word through to him about you. He is not exactly a very friendly type, +but he is a good, honest, decent man. And... well, not to be immodest or anything, my word... ahem... carries a lot of weight +with important people... + Thanks so much, Bulisa. + Bye! + + + Good. See you later! + Bye! + + \ No newline at end of file diff --git a/gamestate.py b/gamestate.py index 6a7e4ad..013deb4 100644 --- a/gamestate.py +++ b/gamestate.py @@ -10,4 +10,5 @@ flag["mission_bulisa_water_from_well_complete"] = False flag["mission_bulisa_water_from_well_refused"] = False # mission to collect money for charity +flag["mission_charity_informed"] = False flag["mission_charity_money"] = False diff --git a/levels/level1ne.dat b/levels/level1ne.dat new file mode 100644 index 0000000..7ce19cd --- /dev/null +++ b/levels/level1ne.dat @@ -0,0 +1,412 @@ +(lp1 +(lp2 +(lp3 +I2 +aI3 +aI0 +aa(lp4 +I2 +aI3 +aI0 +aa(lp5 +I2 +aI4 +aI0 +aa(lp6 +I0 +aI0 +aI0 +aa(lp7 +I0 +aI0 +aI0 +aa(lp8 +I3 +aI4 +aI0 +aa(lp9 +I1 +aI0 +aI0 +aa(lp10 +I0 +aI0 +aI0 +aa(lp11 +I0 +aI0 +aI0 +aa(lp12 +I0 +aI0 +aI0 +aaa(lp13 +(lp14 +I2 +aI10 +aI01 +aa(lp15 +I2 +aI10 +aI01 +aa(lp16 +I2 +aI10 +aI01 +aa(lp17 +I2 +aI10 +aI01 +aa(lp18 +I2 +aI10 +aI01 +aa(lp19 +I2 +aI11 +aI01 +aa(lp20 +I2 +aI10 +aI01 +aa(lp21 +I2 +aI10 +aI01 +aa(lp22 +I2 +aI10 +aI01 +aa(lp23 +I2 +aI11 +aI01 +aaa(lp24 +(lp25 +I0 +aI0 +aI0 +aa(lp26 +I2 +aI10 +aI01 +aa(lp27 +I3 +aI5 +aI0 +aa(lp28 +I3 +aI6 +aI0 +aa(lp29 +I3 +aI5 +aI0 +aa(lp30 +I2 +aI10 +aI01 +aa(lp31 +I6 +aI6 +aI01 +aa(lp32 +I6 +aI7 +aI01 +aa(lp33 +I0 +aI0 +aI0 +aa(lp34 +I0 +aI0 +aI0 +aaa(lp35 +(lp36 +I2 +aI5 +aI01 +aa(lp37 +I0 +aI0 +aI0 +aa(lp38 +I0 +aI0 +aI0 +aa(lp39 +I0 +aI0 +aI0 +aa(lp40 +I1 +aI0 +aI0 +aa(lp41 +I0 +aI0 +aI0 +aa(lp42 +I7 +aI6 +aI0 +aa(lp43 +I7 +aI7 +aI0 +aa(lp44 +I0 +aI0 +aI0 +aa(lp45 +I2 +aI5 +aI01 +aaa(lp46 +(lp47 +I0 +aI0 +aI0 +aa(lp48 +I0 +aI0 +aI0 +aa(lp49 +I0 +aI0 +aI0 +aa(lp50 +I0 +aI0 +aI0 +aa(lp51 +I0 +aI0 +aI0 +aa(lp52 +I0 +aI0 +aI0 +aa(lp53 +I0 +aI0 +aI0 +aa(lp54 +I0 +aI0 +aI0 +aa(lp55 +I0 +aI0 +aI0 +aa(lp56 +I0 +aI0 +aI0 +aaa(lp57 +(lp58 +I0 +aI0 +aI0 +aa(lp59 +I0 +aI0 +aI0 +aa(lp60 +I0 +aI0 +aI0 +aa(lp61 +I3 +aI4 +aI00 +aa(lp62 +I0 +aI0 +aI00 +aa(lp63 +I0 +aI0 +aI00 +aa(lp64 +I0 +aI0 +aI00 +aa(lp65 +I0 +aI0 +aI0 +aa(lp66 +I0 +aI0 +aI0 +aa(lp67 +I0 +aI0 +aI0 +aaa(lp68 +(lp69 +I0 +aI0 +aI0 +aa(lp70 +I0 +aI0 +aI0 +aa(lp71 +I2 +aI5 +aI01 +aa(lp72 +I0 +aI0 +aI0 +aa(lp73 +I0 +aI5 +aI01 +aa(lp74 +I0 +aI6 +aI01 +aa(lp75 +I0 +aI0 +aI0 +aa(lp76 +I0 +aI0 +aI0 +aa(lp77 +I2 +aI5 +aI01 +aa(lp78 +I0 +aI0 +aI0 +aaa(lp79 +(lp80 +I0 +aI0 +aI0 +aa(lp81 +I1 +aI0 +aI0 +aa(lp82 +I0 +aI0 +aI0 +aa(lp83 +I0 +aI0 +aI0 +aa(lp84 +I1 +aI5 +aI01 +aa(lp85 +I1 +aI6 +aI01 +aa(lp86 +I0 +aI0 +aI0 +aa(lp87 +I0 +aI0 +aI0 +aa(lp88 +I0 +aI0 +aI0 +aa(lp89 +I0 +aI0 +aI0 +aaa(lp90 +(lp91 +I0 +aI0 +aI0 +aa(lp92 +I0 +aI0 +aI0 +aa(lp93 +I0 +aI0 +aI0 +aa(lp94 +I0 +aI0 +aI0 +aa(lp95 +I0 +aI0 +aI0 +aa(lp96 +I0 +aI0 +aI0 +aa(lp97 +I0 +aI0 +aI0 +aa(lp98 +I0 +aI0 +aI0 +aa(lp99 +I1 +aI0 +aI0 +aa(lp100 +I0 +aI0 +aI0 +aaa(lp101 +(lp102 +I0 +aI0 +aI0 +aa(lp103 +I0 +aI0 +aI0 +aa(lp104 +I0 +aI0 +aI0 +aa(lp105 +I0 +aI0 +aI0 +aa(lp106 +I0 +aI0 +aI0 +aa(lp107 +I0 +aI0 +aI0 +aa(lp108 +I0 +aI0 +aI0 +aa(lp109 +I0 +aI0 +aI0 +aa(lp110 +I0 +aI0 +aI0 +aa(lp111 +I2 +aI0 +aI01 +aaa. \ No newline at end of file diff --git a/levels/level1nee.dat b/levels/level1nee.dat new file mode 100644 index 0000000..0d0c8fb --- /dev/null +++ b/levels/level1nee.dat @@ -0,0 +1,412 @@ +(lp1 +(lp2 +(lp3 +I0 +aI0 +aI0 +aa(lp4 +I1 +aI0 +aI0 +aa(lp5 +I0 +aI0 +aI0 +aa(lp6 +I3 +aI4 +aI0 +aa(lp7 +I0 +aI0 +aI0 +aa(lp8 +I1 +aI0 +aI0 +aa(lp9 +I0 +aI0 +aI0 +aa(lp10 +I0 +aI0 +aI0 +aa(lp11 +I1 +aI0 +aI0 +aa(lp12 +I0 +aI0 +aI0 +aaa(lp13 +(lp14 +I2 +aI10 +aI01 +aa(lp15 +I2 +aI10 +aI01 +aa(lp16 +I2 +aI10 +aI01 +aa(lp17 +I2 +aI10 +aI01 +aa(lp18 +I2 +aI10 +aI01 +aa(lp19 +I2 +aI10 +aI01 +aa(lp20 +I2 +aI11 +aI01 +aa(lp21 +I2 +aI10 +aI01 +aa(lp22 +I2 +aI10 +aI01 +aa(lp23 +I0 +aI2 +aI00 +aaa(lp24 +(lp25 +I0 +aI0 +aI0 +aa(lp26 +I0 +aI0 +aI0 +aa(lp27 +I0 +aI0 +aI0 +aa(lp28 +I0 +aI0 +aI0 +aa(lp29 +I0 +aI0 +aI0 +aa(lp30 +I0 +aI0 +aI0 +aa(lp31 +I0 +aI0 +aI0 +aa(lp32 +I0 +aI0 +aI0 +aa(lp33 +I2 +aI10 +aI0 +aa(lp34 +I1 +aI2 +aI0 +aaa(lp35 +(lp36 +I0 +aI0 +aI0 +aa(lp37 +I2 +aI0 +aI01 +aa(lp38 +I0 +aI0 +aI0 +aa(lp39 +I0 +aI0 +aI0 +aa(lp40 +I2 +aI0 +aI01 +aa(lp41 +I1 +aI0 +aI0 +aa(lp42 +I0 +aI0 +aI0 +aa(lp43 +I0 +aI0 +aI0 +aa(lp44 +I2 +aI11 +aI01 +aa(lp45 +I1 +aI3 +aI0 +aaa(lp46 +(lp47 +I0 +aI0 +aI0 +aa(lp48 +I0 +aI0 +aI0 +aa(lp49 +I0 +aI0 +aI0 +aa(lp50 +I0 +aI0 +aI0 +aa(lp51 +I2 +aI10 +aI01 +aa(lp52 +I2 +aI10 +aI01 +aa(lp53 +I2 +aI10 +aI01 +aa(lp54 +I2 +aI10 +aI01 +aa(lp55 +I2 +aI10 +aI01 +aa(lp56 +I2 +aI3 +aI0 +aaa(lp57 +(lp58 +I0 +aI0 +aI0 +aa(lp59 +I0 +aI0 +aI0 +aa(lp60 +I0 +aI0 +aI0 +aa(lp61 +I0 +aI0 +aI0 +aa(lp62 +I2 +aI10 +aI01 +aa(lp63 +I2 +aI6 +aI0 +aa(lp64 +I2 +aI6 +aI0 +aa(lp65 +I8 +aI6 +aI01 +aa(lp66 +I2 +aI10 +aI01 +aa(lp67 +I0 +aI0 +aI0 +aaa(lp68 +(lp69 +I0 +aI0 +aI0 +aa(lp70 +I0 +aI0 +aI0 +aa(lp71 +I3 +aI4 +aI0 +aa(lp72 +I0 +aI0 +aI0 +aa(lp73 +I2 +aI6 +aI0 +aa(lp74 +I2 +aI6 +aI0 +aa(lp75 +I2 +aI6 +aI0 +aa(lp76 +I2 +aI6 +aI0 +aa(lp77 +I2 +aI10 +aI01 +aa(lp78 +I0 +aI0 +aI0 +aaa(lp79 +(lp80 +I0 +aI0 +aI0 +aa(lp81 +I2 +aI5 +aI01 +aa(lp82 +I0 +aI0 +aI00 +aa(lp83 +I0 +aI0 +aI0 +aa(lp84 +I2 +aI10 +aI01 +aa(lp85 +I2 +aI10 +aI01 +aa(lp86 +I2 +aI10 +aI01 +aa(lp87 +I2 +aI10 +aI01 +aa(lp88 +I2 +aI10 +aI01 +aa(lp89 +I1 +aI0 +aI0 +aaa(lp90 +(lp91 +I0 +aI0 +aI0 +aa(lp92 +I0 +aI0 +aI0 +aa(lp93 +I0 +aI0 +aI0 +aa(lp94 +I6 +aI6 +aI01 +aa(lp95 +I6 +aI7 +aI01 +aa(lp96 +I0 +aI0 +aI0 +aa(lp97 +I0 +aI0 +aI0 +aa(lp98 +I0 +aI0 +aI0 +aa(lp99 +I2 +aI10 +aI01 +aa(lp100 +I2 +aI5 +aI01 +aaa(lp101 +(lp102 +I0 +aI0 +aI0 +aa(lp103 +I0 +aI0 +aI0 +aa(lp104 +I0 +aI0 +aI0 +aa(lp105 +I7 +aI6 +aI0 +aa(lp106 +I7 +aI7 +aI0 +aa(lp107 +I0 +aI0 +aI0 +aa(lp108 +I0 +aI0 +aI0 +aa(lp109 +I3 +aI4 +aI0 +aa(lp110 +I2 +aI10 +aI01 +aa(lp111 +I1 +aI0 +aI0 +aaa. \ No newline at end of file diff --git a/levels/level1nw.dat b/levels/level1nw.dat new file mode 100644 index 0000000..2f0843d --- /dev/null +++ b/levels/level1nw.dat @@ -0,0 +1,412 @@ +(lp1 +(lp2 +(lp3 +I2 +aI0 +aI01 +aa(lp4 +I5 +aI6 +aI0 +aa(lp5 +I5 +aI7 +aI0 +aa(lp6 +I0 +aI0 +aI0 +aa(lp7 +I2 +aI5 +aI01 +aa(lp8 +I0 +aI0 +aI0 +aa(lp9 +I0 +aI0 +aI0 +aa(lp10 +I0 +aI0 +aI0 +aa(lp11 +I0 +aI0 +aI0 +aa(lp12 +I0 +aI0 +aI0 +aaa(lp13 +(lp14 +I2 +aI0 +aI01 +aa(lp15 +I5 +aI6 +aI0 +aa(lp16 +I5 +aI7 +aI0 +aa(lp17 +I0 +aI0 +aI0 +aa(lp18 +I0 +aI0 +aI0 +aa(lp19 +I0 +aI0 +aI0 +aa(lp20 +I0 +aI0 +aI0 +aa(lp21 +I2 +aI5 +aI01 +aa(lp22 +I2 +aI10 +aI01 +aa(lp23 +I2 +aI10 +aI01 +aaa(lp24 +(lp25 +I2 +aI5 +aI01 +aa(lp26 +I5 +aI6 +aI0 +aa(lp27 +I5 +aI7 +aI0 +aa(lp28 +I0 +aI0 +aI0 +aa(lp29 +I0 +aI0 +aI0 +aa(lp30 +I0 +aI0 +aI0 +aa(lp31 +I3 +aI4 +aI0 +aa(lp32 +I0 +aI0 +aI0 +aa(lp33 +I2 +aI10 +aI01 +aa(lp34 +I0 +aI0 +aI0 +aaa(lp35 +(lp36 +I2 +aI0 +aI01 +aa(lp37 +I5 +aI6 +aI0 +aa(lp38 +I5 +aI7 +aI0 +aa(lp39 +I6 +aI6 +aI01 +aa(lp40 +I6 +aI7 +aI01 +aa(lp41 +I0 +aI0 +aI0 +aa(lp42 +I0 +aI0 +aI0 +aa(lp43 +I0 +aI0 +aI0 +aa(lp44 +I2 +aI10 +aI01 +aa(lp45 +I0 +aI0 +aI0 +aaa(lp46 +(lp47 +I2 +aI0 +aI01 +aa(lp48 +I5 +aI6 +aI0 +aa(lp49 +I5 +aI7 +aI0 +aa(lp50 +I7 +aI6 +aI0 +aa(lp51 +I7 +aI7 +aI0 +aa(lp52 +I2 +aI0 +aI01 +aa(lp53 +I0 +aI0 +aI0 +aa(lp54 +I0 +aI0 +aI0 +aa(lp55 +I2 +aI10 +aI01 +aa(lp56 +I2 +aI5 +aI01 +aaa(lp57 +(lp58 +I2 +aI0 +aI01 +aa(lp59 +I5 +aI6 +aI0 +aa(lp60 +I5 +aI7 +aI0 +aa(lp61 +I6 +aI6 +aI01 +aa(lp62 +I6 +aI7 +aI01 +aa(lp63 +I0 +aI0 +aI0 +aa(lp64 +I0 +aI0 +aI0 +aa(lp65 +I0 +aI0 +aI0 +aa(lp66 +I2 +aI10 +aI01 +aa(lp67 +I0 +aI0 +aI0 +aaa(lp68 +(lp69 +I2 +aI5 +aI01 +aa(lp70 +I5 +aI6 +aI0 +aa(lp71 +I5 +aI7 +aI0 +aa(lp72 +I7 +aI6 +aI0 +aa(lp73 +I7 +aI7 +aI0 +aa(lp74 +I0 +aI0 +aI0 +aa(lp75 +I0 +aI0 +aI0 +aa(lp76 +I2 +aI0 +aI01 +aa(lp77 +I2 +aI10 +aI01 +aa(lp78 +I0 +aI0 +aI0 +aaa(lp79 +(lp80 +I2 +aI0 +aI01 +aa(lp81 +I5 +aI6 +aI0 +aa(lp82 +I5 +aI7 +aI0 +aa(lp83 +I0 +aI1 +aI0 +aa(lp84 +I0 +aI3 +aI0 +aa(lp85 +I0 +aI2 +aI0 +aa(lp86 +I0 +aI3 +aI0 +aa(lp87 +I0 +aI4 +aI0 +aa(lp88 +I2 +aI10 +aI01 +aa(lp89 +I0 +aI0 +aI0 +aaa(lp90 +(lp91 +I2 +aI5 +aI01 +aa(lp92 +I5 +aI6 +aI0 +aa(lp93 +I5 +aI7 +aI0 +aa(lp94 +I1 +aI1 +aI0 +aa(lp95 +I1 +aI3 +aI0 +aa(lp96 +I1 +aI2 +aI0 +aa(lp97 +I1 +aI3 +aI0 +aa(lp98 +I1 +aI4 +aI0 +aa(lp99 +I2 +aI10 +aI01 +aa(lp100 +I0 +aI0 +aI0 +aaa(lp101 +(lp102 +I2 +aI0 +aI01 +aa(lp103 +I5 +aI6 +aI0 +aa(lp104 +I5 +aI7 +aI0 +aa(lp105 +I1 +aI1 +aI0 +aa(lp106 +I1 +aI3 +aI0 +aa(lp107 +I1 +aI3 +aI0 +aa(lp108 +I1 +aI3 +aI0 +aa(lp109 +I1 +aI4 +aI0 +aa(lp110 +I2 +aI10 +aI01 +aa(lp111 +I0 +aI0 +aI0 +aaa. \ No newline at end of file diff --git a/levels/level1sw.dat b/levels/level1sw.dat new file mode 100644 index 0000000..7cef36c --- /dev/null +++ b/levels/level1sw.dat @@ -0,0 +1,412 @@ +(lp1 +(lp2 +(lp3 +I2 +aI0 +aI01 +aa(lp4 +I4 +aI6 +aI0 +aa(lp5 +I4 +aI7 +aI0 +aa(lp6 +I0 +aI0 +aI0 +aa(lp7 +I0 +aI0 +aI0 +aa(lp8 +I0 +aI0 +aI0 +aa(lp9 +I2 +aI5 +aI01 +aa(lp10 +I0 +aI0 +aI0 +aa(lp11 +I2 +aI10 +aI01 +aa(lp12 +I0 +aI0 +aI0 +aaa(lp13 +(lp14 +I2 +aI5 +aI01 +aa(lp15 +I5 +aI6 +aI0 +aa(lp16 +I5 +aI7 +aI0 +aa(lp17 +I0 +aI0 +aI0 +aa(lp18 +I0 +aI1 +aI0 +aa(lp19 +I0 +aI2 +aI0 +aa(lp20 +I0 +aI2 +aI0 +aa(lp21 +I0 +aI4 +aI0 +aa(lp22 +I2 +aI10 +aI01 +aa(lp23 +I0 +aI0 +aI0 +aaa(lp24 +(lp25 +I2 +aI0 +aI01 +aa(lp26 +I5 +aI6 +aI0 +aa(lp27 +I5 +aI7 +aI0 +aa(lp28 +I0 +aI0 +aI0 +aa(lp29 +I1 +aI1 +aI0 +aa(lp30 +I1 +aI2 +aI0 +aa(lp31 +I1 +aI3 +aI0 +aa(lp32 +I1 +aI4 +aI0 +aa(lp33 +I2 +aI10 +aI01 +aa(lp34 +I0 +aI0 +aI0 +aaa(lp35 +(lp36 +I2 +aI5 +aI01 +aa(lp37 +I5 +aI6 +aI0 +aa(lp38 +I5 +aI7 +aI0 +aa(lp39 +I0 +aI0 +aI0 +aa(lp40 +I1 +aI1 +aI0 +aa(lp41 +I1 +aI3 +aI0 +aa(lp42 +I1 +aI2 +aI0 +aa(lp43 +I1 +aI4 +aI0 +aa(lp44 +I2 +aI10 +aI01 +aa(lp45 +I0 +aI0 +aI0 +aaa(lp46 +(lp47 +I2 +aI0 +aI01 +aa(lp48 +I5 +aI6 +aI0 +aa(lp49 +I5 +aI7 +aI0 +aa(lp50 +I0 +aI0 +aI0 +aa(lp51 +I1 +aI1 +aI0 +aa(lp52 +I1 +aI3 +aI0 +aa(lp53 +I1 +aI3 +aI0 +aa(lp54 +I1 +aI4 +aI0 +aa(lp55 +I2 +aI10 +aI01 +aa(lp56 +I0 +aI0 +aI0 +aaa(lp57 +(lp58 +I2 +aI0 +aI01 +aa(lp59 +I4 +aI6 +aI0 +aa(lp60 +I5 +aI7 +aI0 +aa(lp61 +I2 +aI5 +aI01 +aa(lp62 +I2 +aI1 +aI0 +aa(lp63 +I2 +aI2 +aI0 +aa(lp64 +I2 +aI3 +aI0 +aa(lp65 +I2 +aI4 +aI0 +aa(lp66 +I2 +aI11 +aI01 +aa(lp67 +I2 +aI0 +aI01 +aaa(lp68 +(lp69 +I2 +aI0 +aI01 +aa(lp70 +I5 +aI6 +aI0 +aa(lp71 +I4 +aI7 +aI0 +aa(lp72 +I0 +aI0 +aI0 +aa(lp73 +I0 +aI0 +aI0 +aa(lp74 +I6 +aI6 +aI01 +aa(lp75 +I6 +aI7 +aI01 +aa(lp76 +I0 +aI0 +aI0 +aa(lp77 +I2 +aI10 +aI01 +aa(lp78 +I0 +aI0 +aI0 +aaa(lp79 +(lp80 +I4 +aI4 +aI0 +aa(lp81 +I4 +aI8 +aI0 +aa(lp82 +I5 +aI7 +aI0 +aa(lp83 +I0 +aI0 +aI0 +aa(lp84 +I0 +aI0 +aI0 +aa(lp85 +I7 +aI6 +aI0 +aa(lp86 +I7 +aI7 +aI0 +aa(lp87 +I0 +aI0 +aI0 +aa(lp88 +I2 +aI10 +aI01 +aa(lp89 +I1 +aI0 +aI0 +aaa(lp90 +(lp91 +I5 +aI5 +aI0 +aa(lp92 +I4 +aI8 +aI0 +aa(lp93 +I5 +aI7 +aI0 +aa(lp94 +I0 +aI0 +aI0 +aa(lp95 +I0 +aI0 +aI0 +aa(lp96 +I0 +aI0 +aI0 +aa(lp97 +I0 +aI0 +aI0 +aa(lp98 +I3 +aI4 +aI0 +aa(lp99 +I2 +aI10 +aI01 +aa(lp100 +I2 +aI11 +aI01 +aaa(lp101 +(lp102 +I2 +aI0 +aI01 +aa(lp103 +I5 +aI6 +aI0 +aa(lp104 +I5 +aI7 +aI0 +aa(lp105 +I0 +aI0 +aI0 +aa(lp106 +I0 +aI0 +aI0 +aa(lp107 +I0 +aI0 +aI0 +aa(lp108 +I2 +aI0 +aI01 +aa(lp109 +I0 +aI0 +aI0 +aa(lp110 +I0 +aI0 +aI0 +aa(lp111 +I0 +aI0 +aI0 +aaa. \ No newline at end of file diff --git a/levels/level1sww.dat b/levels/level1sww.dat new file mode 100644 index 0000000..812e121 --- /dev/null +++ b/levels/level1sww.dat @@ -0,0 +1,412 @@ +(lp1 +(lp2 +(lp3 +I0 +aI8 +aI01 +aa(lp4 +I9 +aI7 +aI0 +aa(lp5 +I9 +aI8 +aI0 +aa(lp6 +I9 +aI8 +aI0 +aa(lp7 +I9 +aI8 +aI0 +aa(lp8 +I9 +aI8 +aI0 +aa(lp9 +I9 +aI8 +aI0 +aa(lp10 +I9 +aI9 +aI0 +aa(lp11 +I0 +aI8 +aI01 +aa(lp12 +I0 +aI0 +aI0 +aaa(lp13 +(lp14 +I0 +aI8 +aI01 +aa(lp15 +I9 +aI7 +aI0 +aa(lp16 +I9 +aI8 +aI0 +aa(lp17 +I9 +aI8 +aI0 +aa(lp18 +I9 +aI8 +aI0 +aa(lp19 +I9 +aI8 +aI0 +aa(lp20 +I9 +aI8 +aI0 +aa(lp21 +I9 +aI9 +aI0 +aa(lp22 +I1 +aI11 +aI01 +aa(lp23 +I0 +aI0 +aI0 +aaa(lp24 +(lp25 +I0 +aI8 +aI01 +aa(lp26 +I9 +aI7 +aI0 +aa(lp27 +I9 +aI8 +aI0 +aa(lp28 +I9 +aI8 +aI0 +aa(lp29 +I9 +aI8 +aI0 +aa(lp30 +I9 +aI8 +aI0 +aa(lp31 +I9 +aI8 +aI0 +aa(lp32 +I9 +aI9 +aI0 +aa(lp33 +I0 +aI8 +aI01 +aa(lp34 +I0 +aI0 +aI0 +aaa(lp35 +(lp36 +I0 +aI8 +aI01 +aa(lp37 +I10 +aI7 +aI0 +aa(lp38 +I10 +aI8 +aI0 +aa(lp39 +I10 +aI8 +aI0 +aa(lp40 +I10 +aI8 +aI0 +aa(lp41 +I10 +aI8 +aI0 +aa(lp42 +I10 +aI8 +aI0 +aa(lp43 +I10 +aI9 +aI0 +aa(lp44 +I0 +aI8 +aI01 +aa(lp45 +I3 +aI4 +aI0 +aaa(lp46 +(lp47 +I0 +aI10 +aI01 +aa(lp48 +I1 +aI10 +aI01 +aa(lp49 +I0 +aI7 +aI01 +aa(lp50 +I1 +aI8 +aI01 +aa(lp51 +I3 +aI11 +aI0 +aa(lp52 +I1 +aI7 +aI01 +aa(lp53 +I0 +aI7 +aI01 +aa(lp54 +I0 +aI7 +aI01 +aa(lp55 +I0 +aI11 +aI01 +aa(lp56 +I0 +aI0 +aI0 +aaa(lp57 +(lp58 +I1 +aI0 +aI0 +aa(lp59 +I0 +aI0 +aI0 +aa(lp60 +I3 +aI4 +aI0 +aa(lp61 +I0 +aI0 +aI0 +aa(lp62 +I0 +aI0 +aI0 +aa(lp63 +I0 +aI0 +aI0 +aa(lp64 +I0 +aI0 +aI0 +aa(lp65 +I0 +aI0 +aI0 +aa(lp66 +I0 +aI0 +aI0 +aa(lp67 +I0 +aI0 +aI0 +aaa(lp68 +(lp69 +I2 +aI0 +aI01 +aa(lp70 +I2 +aI5 +aI01 +aa(lp71 +I2 +aI0 +aI01 +aa(lp72 +I2 +aI5 +aI01 +aa(lp73 +I0 +aI0 +aI00 +aa(lp74 +I1 +aI0 +aI00 +aa(lp75 +I2 +aI5 +aI01 +aa(lp76 +I2 +aI0 +aI01 +aa(lp77 +I2 +aI0 +aI01 +aa(lp78 +I2 +aI0 +aI01 +aaa(lp79 +(lp80 +I4 +aI5 +aI0 +aa(lp81 +I4 +aI5 +aI0 +aa(lp82 +I4 +aI5 +aI0 +aa(lp83 +I4 +aI5 +aI0 +aa(lp84 +I4 +aI5 +aI0 +aa(lp85 +I4 +aI5 +aI0 +aa(lp86 +I4 +aI4 +aI0 +aa(lp87 +I4 +aI5 +aI0 +aa(lp88 +I4 +aI5 +aI0 +aa(lp89 +I4 +aI4 +aI0 +aaa(lp90 +(lp91 +I5 +aI4 +aI0 +aa(lp92 +I5 +aI5 +aI0 +aa(lp93 +I5 +aI5 +aI0 +aa(lp94 +I5 +aI5 +aI0 +aa(lp95 +I5 +aI5 +aI0 +aa(lp96 +I5 +aI5 +aI0 +aa(lp97 +I5 +aI4 +aI0 +aa(lp98 +I5 +aI4 +aI0 +aa(lp99 +I5 +aI5 +aI0 +aa(lp100 +I5 +aI5 +aI0 +aaa(lp101 +(lp102 +I2 +aI0 +aI01 +aa(lp103 +I2 +aI0 +aI01 +aa(lp104 +I2 +aI5 +aI01 +aa(lp105 +I2 +aI5 +aI01 +aa(lp106 +I2 +aI0 +aI01 +aa(lp107 +I2 +aI5 +aI01 +aa(lp108 +I2 +aI0 +aI01 +aa(lp109 +I2 +aI5 +aI01 +aa(lp110 +I2 +aI0 +aI01 +aa(lp111 +I2 +aI0 +aI01 +aaa. \ No newline at end of file diff --git a/levels/level1ww.dat b/levels/level1ww.dat new file mode 100644 index 0000000..5324c83 --- /dev/null +++ b/levels/level1ww.dat @@ -0,0 +1,412 @@ +(lp1 +(lp2 +(lp3 +I0 +aI8 +aI01 +aa(lp4 +I3 +aI11 +aI0 +aa(lp5 +I3 +aI11 +aI0 +aa(lp6 +I3 +aI11 +aI0 +aa(lp7 +I3 +aI11 +aI0 +aa(lp8 +I3 +aI11 +aI0 +aa(lp9 +I3 +aI11 +aI0 +aa(lp10 +I3 +aI11 +aI0 +aa(lp11 +I1 +aI11 +aI01 +aa(lp12 +I0 +aI0 +aI0 +aaa(lp13 +(lp14 +I0 +aI8 +aI01 +aa(lp15 +I3 +aI11 +aI0 +aa(lp16 +I1 +aI7 +aI01 +aa(lp17 +I1 +aI10 +aI01 +aa(lp18 +I0 +aI7 +aI01 +aa(lp19 +I0 +aI7 +aI01 +aa(lp20 +I0 +aI7 +aI01 +aa(lp21 +I0 +aI7 +aI01 +aa(lp22 +I2 +aI9 +aI01 +aa(lp23 +I1 +aI0 +aI0 +aaa(lp24 +(lp25 +I0 +aI8 +aI01 +aa(lp26 +I3 +aI11 +aI0 +aa(lp27 +I3 +aI11 +aI0 +aa(lp28 +I3 +aI11 +aI0 +aa(lp29 +I8 +aI4 +aI01 +aa(lp30 +I3 +aI11 +aI0 +aa(lp31 +I8 +aI4 +aI01 +aa(lp32 +I3 +aI11 +aI0 +aa(lp33 +I0 +aI8 +aI01 +aa(lp34 +I0 +aI0 +aI0 +aaa(lp35 +(lp36 +I1 +aI9 +aI01 +aa(lp37 +I3 +aI11 +aI0 +aa(lp38 +I3 +aI11 +aI0 +aa(lp39 +I6 +aI0 +aI01 +aa(lp40 +I6 +aI1 +aI01 +aa(lp41 +I6 +aI0 +aI01 +aa(lp42 +I6 +aI1 +aI01 +aa(lp43 +I3 +aI11 +aI0 +aa(lp44 +I0 +aI8 +aI01 +aa(lp45 +I0 +aI0 +aI0 +aaa(lp46 +(lp47 +I3 +aI11 +aI00 +aa(lp48 +I3 +aI11 +aI0 +aa(lp49 +I3 +aI11 +aI0 +aa(lp50 +I7 +aI0 +aI0 +aa(lp51 +I7 +aI1 +aI0 +aa(lp52 +I7 +aI0 +aI0 +aa(lp53 +I7 +aI1 +aI0 +aa(lp54 +I3 +aI11 +aI0 +aa(lp55 +I0 +aI8 +aI01 +aa(lp56 +I0 +aI0 +aI0 +aaa(lp57 +(lp58 +I0 +aI9 +aI01 +aa(lp59 +I3 +aI11 +aI0 +aa(lp60 +I3 +aI11 +aI0 +aa(lp61 +I3 +aI11 +aI0 +aa(lp62 +I3 +aI11 +aI0 +aa(lp63 +I3 +aI11 +aI0 +aa(lp64 +I3 +aI11 +aI0 +aa(lp65 +I3 +aI11 +aI0 +aa(lp66 +I1 +aI11 +aI01 +aa(lp67 +I3 +aI4 +aI0 +aaa(lp68 +(lp69 +I0 +aI8 +aI01 +aa(lp70 +I3 +aI11 +aI0 +aa(lp71 +I3 +aI11 +aI0 +aa(lp72 +I8 +aI7 +aI0 +aa(lp73 +I8 +aI8 +aI0 +aa(lp74 +I8 +aI9 +aI0 +aa(lp75 +I3 +aI11 +aI0 +aa(lp76 +I3 +aI11 +aI0 +aa(lp77 +I0 +aI8 +aI01 +aa(lp78 +I0 +aI0 +aI0 +aaa(lp79 +(lp80 +I0 +aI8 +aI01 +aa(lp81 +I3 +aI11 +aI0 +aa(lp82 +I3 +aI11 +aI0 +aa(lp83 +I10 +aI7 +aI0 +aa(lp84 +I10 +aI8 +aI0 +aa(lp85 +I10 +aI9 +aI0 +aa(lp86 +I3 +aI11 +aI0 +aa(lp87 +I3 +aI11 +aI0 +aa(lp88 +I0 +aI8 +aI01 +aa(lp89 +I0 +aI0 +aI0 +aaa(lp90 +(lp91 +I2 +aI8 +aI01 +aa(lp92 +I0 +aI7 +aI01 +aa(lp93 +I0 +aI7 +aI01 +aa(lp94 +I1 +aI8 +aI01 +aa(lp95 +I3 +aI11 +aI0 +aa(lp96 +I1 +aI7 +aI01 +aa(lp97 +I0 +aI7 +aI01 +aa(lp98 +I0 +aI7 +aI01 +aa(lp99 +I2 +aI9 +aI01 +aa(lp100 +I0 +aI0 +aI0 +aaa(lp101 +(lp102 +I0 +aI8 +aI01 +aa(lp103 +I8 +aI7 +aI0 +aa(lp104 +I8 +aI8 +aI0 +aa(lp105 +I8 +aI8 +aI0 +aa(lp106 +I8 +aI8 +aI0 +aa(lp107 +I8 +aI8 +aI0 +aa(lp108 +I8 +aI8 +aI0 +aa(lp109 +I8 +aI9 +aI0 +aa(lp110 +I0 +aI8 +aI01 +aa(lp111 +I0 +aI0 +aI0 +aaa. \ No newline at end of file diff --git a/maingame.py b/maingame.py index afeeb7c..931e993 100644 --- a/maingame.py +++ b/maingame.py @@ -79,9 +79,22 @@ class MainGame: self.img_bulisaright = pygame.image.load (os.path.join ("sprite", "bulisa-right.png")).convert () self.img_bulisaright.set_colorkey (pygame.Color (0, 255, 0)) + self.img_mayorfront = pygame.image.load (os.path.join ("sprite", "mayor-front.png")).convert () + self.img_mayorfront.set_colorkey (pygame.Color (0, 255, 0)) + + self.img_mayorback = pygame.image.load (os.path.join ("sprite", "mayor-back.png")).convert () + self.img_mayorback.set_colorkey (pygame.Color (0, 255, 0)) + + self.img_mayorleft = pygame.image.load (os.path.join ("sprite", "mayor-left.png")).convert () + self.img_mayorleft.set_colorkey (pygame.Color (0, 255, 0)) + + self.img_mayorright = pygame.image.load (os.path.join ("sprite", "mayor-right.png")).convert () + self.img_mayorright.set_colorkey (pygame.Color (0, 255, 0)) + # initialize portraits self.img_butaba_portrait = pygame.image.load (os.path.join ("portraits", "butaba.png")).convert () self.img_bulisa_portrait = pygame.image.load (os.path.join ("portraits", "bulisa.png")).convert () + self.img_mayor_portrait = pygame.image.load (os.path.join ("portraits", "mayor.png")).convert () # set level data self.setup_levels () @@ -120,7 +133,13 @@ class MainGame: os.path.join ("dialogues", "bulisa2.dlg"), os.path.join ("dialogues", "bulisa3.dlg"), os.path.join ("dialogues", "bulisa4.dlg"), - os.path.join ("dialogues", "bulisa5.dlg") ] ) + os.path.join ("dialogues", "bulisa5.dlg"), + os.path.join ("dialogues", "bulisa6.dlg") ] ) + + npc_mayor = npcs.Mayor (5, 4, self.img_mayorleft, self.img_mayorright, + self.img_mayorfront, self.img_mayorback, + self.img_mayor_portrait, constants.FRONT, + (2, 2, 2, 2)) chest1.objects = [ gold50, gold25, key2, gold10 ] @@ -139,7 +158,20 @@ class MainGame: self.level1n = level.Level (cPickle.load (file (os.path.join ("levels", "level1n.dat"))), objects = [ bucket ]) - # set up the interaction between levels + self.level1nw = level.Level (cPickle.load (file (os.path.join ("levels", "level1nw.dat")))) + + self.level1ne = level.Level (cPickle.load (file (os.path.join ("levels", "level1ne.dat")))) + + self.level1nee = level.Level (cPickle.load (file (os.path.join ("levels", "level1nee.dat")))) + + self.level1sw = level.Level (cPickle.load (file (os.path.join ("levels", "level1sw.dat")))) + + self.level1sww = level.Level (cPickle.load (file (os.path.join ("levels", "level1sww.dat")))) + + self.level1ww = level.Level (cPickle.load (file (os.path.join ("levels", "level1ww.dat"))), + npcs = [ npc_mayor ]) + + # set up the interaction between levels (level exits) self.level1.levelright = self.level1e self.level1.levelleft = self.level1w self.level1e.levelleft = self.level1 @@ -148,6 +180,26 @@ class MainGame: self.level1w.levelright = self.level1 self.level1.leveltop = self.level1n self.level1n.levelbottom = self.level1 + self.level1n.levelleft = self.level1nw + self.level1w.leveltop = self.level1nw + self.level1nw.levelright = self.level1n + self.level1nw.levelbottom = self.level1w + self.level1n.levelright = self.level1ne + self.level1e.leveltop = self.level1ne + self.level1ne.levelleft = self.level1n + self.level1ne.levelbottom = self.level1e + self.level1ne.levelright = self.level1nee + self.level1ee.leveltop = self.level1nee + self.level1nee.levelleft = self.level1ne + self.level1nee.levelbottom = self.level1ee + self.level1sw.leveltop = self.level1w + self.level1w.levelbottom = self.level1sw + self.level1sww.levelright = self.level1sw + self.level1sw.levelleft = self.level1sww + self.level1ww.levelright = self.level1w + self.level1ww.levelbottom = self.level1sww + self.level1sww.leveltop = self.level1ww + self.level1w.levelleft = self.level1ww def main_loop (self): # main game loop @@ -302,37 +354,38 @@ class MainGame: return if isinstance (npc, npcs.Bulisa): - # interact + # interact with 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 - # not yet started mission drawing water from well and not refused it - if (gamestate.flag["mission_bulisa_water_from_well"] is False - and gamestate.flag["mission_bulisa_water_from_well_refused"] is False): - # set the current dialogue - npc.currentdialog = 0 - # get the response ID + + # check for global game states (starting from later flags to earlier ones + + # whether the drawing water from well mission completed + if gamestate.flag["mission_charity_informed"] is True: + npc.currentdialog = 5 resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.butaba.portrait, 0, 90) - if (gamestate.flag["mission_bulisa_water_from_well_refused"] is True and - gamestate.flag["mission_bulisa_water_from_well"] is False): - # set the current dialog + elif gamestate.flag['mission_bulisa_water_from_well_complete'] is True: + npc.currentdialog = 4 + resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.butaba.portrait, 0, 90) + # whether the drawing water from well mission refused + elif gamestate.flag['mission_bulisa_water_from_well_refused'] is True: npc.currentdialog = 2 resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.butaba.portrait, 0, 90) - # mission accepted but not completed - check if completed and set value - # accordingly - elif (gamestate.flag["mission_bulisa_water_from_well"] is True - and gamestate.flag["mission_bulisa_water_from_well_complete"] is False): + # whether the drawing water from well mission is accepted + elif gamestate.flag ['mission_bulisa_water_from_well'] is True: + # check if butaba has a bucket full of water for invobj in self.butaba.objects: if isinstance (invobj, gameobjects.Bucket) is True: + # if yes, then mission is completed accordingly if invobj.liquid == "water": gamestate.flag["mission_bulisa_water_from_well_complete"] = True self.butaba.objects.remove (invobj) key1 = gameobjects.Key (5, 3, "a chest key", self.img_key2, constants.KEY_CHEST1) self.butaba.objects.append (key1) - break # water mission is not completed yet if gamestate.flag["mission_bulisa_water_from_well_complete"] is False: @@ -341,17 +394,25 @@ class MainGame: npc.currentdialog = 3 # get the response ID resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.butaba.portrait, 0, 90) - # water from well mission is completed - elif (gamestate.flag["mission_bulisa_water_from_well_complete"]) is True: - npc.currentdialog = 4 + # Butaba hasn't been told about the initial mission yet, so tell him now + else: + npc.currentdialog = 0 + # get the response ID resp_id = utility.dialogue_play (self.screen, self.img_dialogue, npc, self.butaba.portrait, 0, 90) - # if response ID is 12, then drawing water from well mission is refused - if resp_id == "12" or resp_id == "18": + # NPC RESPONSES: + # Check each response + + # Drawing water from well mission is refused + if resp_id == "refusedwatermission": gamestate.flag["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": + # Drawing water from well mission begins + elif resp_id == "acceptedwatermission": gamestate.flag["mission_bulisa_water_from_well"] = True + gamestate.flag["mission_bulisa_water_from_well_refused"] = False + # Butaba is informed about the mayor's charity + elif resp_id == "informedcharitymission": + gamestate.flag["mission_charity_informed"] = True # if response ID is none elif resp_id is None: self.status_message = "You cannot initiate a conversation with %s" % npc.charname diff --git a/npcs.py b/npcs.py index 26732c2..12db0b1 100644 --- a/npcs.py +++ b/npcs.py @@ -55,3 +55,10 @@ class Bulisa (NPC): NPC.__init__ (self, "Bulisa", row, col, imageleft, imageright, imagefront, imageback, portrait, position, movement_area, 20, dialogues, currentdialog) + +class Mayor (NPC): + def __init__ (self, row, col, imageleft, imageright, imagefront, + imageback, portrait, position, movement_area=(0,0,0,0), + dialogues=[], currentdialog=0): + NPC.__init__ (self, "Mayor", row, col, imageleft, imageright, imagefront, + imageback, portrait, position, movement_area, 15, dialogues, currentdialog) diff --git a/sprite/mayor-left.png b/sprite/mayor-left.png index 54d91ba..14c6b6d 100644 Binary files a/sprite/mayor-left.png and b/sprite/mayor-left.png differ