What is the funniest camouflage combination?

#UPDATE: about 10% of camouflages are not showed even if selected. Please replace the configuration file myframes.py with this one: http://pastebin.com/YAhBWHcp (thanks to cyhawk) in order to make all of them visible.
----------------
So this is our final submission for this pyweek.
I spent all the day to solve a problem with the shop screen, and still didn't find a solution...
As you will see, the game needs still a lot of improvements, but at least it should not crash.
The game probabily is not well balanced... so if you run out of money, you can cheat by pressing F12 to enter debug mode and have unlimited funds.

Obviously the funniest part of the game is to see the camouflage output, mixing all the objects you can find. We hope you will enjoy the game.

Here is an extract from the README.TXT
HOW TO PLAY THE GAME:
You have to smuggle goods between the two countries.
Your goal is to buy the rainbow rose and give it to Mercedes.
Right click around the map to move.
Buy camouflages and goods in every shop (top-left side of the shop screen)
Sell goods in every shop (bottom-left side of the shop screen)
Wear the camouflages you bought (right side of the shop screen)
Then use your van and click on the country you want to go.
Pay attention to the guard at the border gate...
Every good you own increases your suspect bar.
Every camouflage you wear increases the camouflage bar.
To pass the check point, you have to click when the clock hand is in the green section:
if you hit the green part, your camouflage increases. If you reach 100, you pass.
if you miss the green part, you lose your camouflages and the suspect bar is increased.

(log in to comment)

Comments

We realized that last image of each category is not showed because of an error in the myframes.py configuration file. Here you can download the correct file.
These are the camouflages affected by this bug:
rosary, surf, Groucho hair, nose ring, Groucho mustache, chinese eyes, cigar, clown make-up, redneck shirt, Darth Vader

Then, here some nice camouflage combinations:
I love the Marx brothers!
I've pasted the fixed myframes.py here: http://pastebin.com/YAhBWHcp

And I got an exception when trying to cross the border with no cash (a hentai magazine, a banana and cigarettes were exactly $33).
 

Traceback (most recent call last):
  File "run_game.py", line 3, in <module>
    gamelib.main.main()
  File "gamelib/main.py", line 144, in main
    currentLevel=createLevel(nextLevel,animations,inventory)
  File "gamelib/main.py", line 58, in createLevel
    currentLevel=levels.Gate(nextLevel,screenSize,animations,inventory,debugOn,musicOn)
  File "gamelib/levels.py", line 1278, in __init__
    GameLevel.__init__(self, currentLevel, screenSize, animations, inventory, debugOn, musicOn)  
  File "gamelib/levels.py", line 465, in __init__
    Level.__init__(self, currentLevel, screenSize, animations, debugOn, musicOn)
  File "gamelib/levels.py", line 35, in __init__
    self.initialSetup()
  File "gamelib/levels.py", line 1297, in initialSetup
    self.clockDelta=0.005*max(1,math.log(self.inventory['money'],10))
ValueError: math domain error
Thanks for uploading the fixed file on that site, I didn't know it.

Regarding the math exception... it is raised by log(0) :-\
The speed of the "clock" at the border is logaritmic dependent from your dollar amount value - more money you have with you, more difficult it will be. So this exception is raised when you have exactly money=0. Unfortunately I didn't noticed it...
I don't have the pc to test it now, but replacing line 1297 with this should work fine:
self.clockDelta=0.005*max(1,math.log(max(1,self.inventory['money']),10))

Otherwise try to save always at least 1 dollar before going to border gate. In case you find yourself with 0 money, you can still sell some stuff you bought, even if you'll lose some money by selling goods in the same country you bought, since the are paid something like 75%.
Additional note I forgot in the readme: goods are paid something like 130% in all the shops of the other country, except for one particulat shop where it is paid around 200% (every good has its own high value shop).
When the girl says "flower heart" i click on the girl and:

File "run_game.py", line 3, in <module>
    gamelib.main.main()
  File "/home/isis/Arbeitsfläche/PyWeek-13-finals/ForkedTail_PW13/camouflage_v0.9/gamelib/main.py", line 144, in main
    currentLevel=createLevel(nextLevel,animations,inventory)
  File "/home/isis/Arbeitsfläche/PyWeek-13-finals/ForkedTail_PW13/camouflage_v0.9/gamelib/main.py", line 54, in createLevel
    currentLevel=levels.Mexico(nextLevel,screenSize,animations,inventory,debugOn,musicOn)
  File "/home/isis/Arbeitsfläche/PyWeek-13-finals/ForkedTail_PW13/camouflage_v0.9/gamelib/levels.py", line 1206, in __init__
    City.__init__(self, currentLevel, screenSize, animations, inventory, debugOn, musicOn)     
  File "/home/isis/Arbeitsfläche/PyWeek-13-finals/ForkedTail_PW13/camouflage_v0.9/gamelib/levels.py", line 510, in __init__
    self.addShops()
  File "/home/isis/Arbeitsfläche/PyWeek-13-finals/ForkedTail_PW13/camouflage_v0.9/gamelib/levels.py", line 777, in addShops
    self.locations[shop]=self.addObject(objects.Shop(self.getAnimations(shopFilename),[self.shopSize*shopSizeX,self.shopSize*shopSizeY],self.placementList[index],shop))
  File "/home/isis/Arbeitsfläche/PyWeek-13-finals/ForkedTail_PW13/camouflage_v0.9/gamelib/objects.py", line 226, in __init__
    GameObject.__init__(self, images, size, topleft)
  File "/home/isis/Arbeitsfläche/PyWeek-13-finals/ForkedTail_PW13/camouflage_v0.9/gamelib/objects.py", line 82, in __init__
    self.loadFrame()
  File "/home/isis/Arbeitsfläche/PyWeek-13-finals/ForkedTail_PW13/camouflage_v0.9/gamelib/objects.py", line 102, in loadFrame
    self.image=pygame.transform.scale(self.images[self.currentAnimationName][self.currentAnimationIndex], self.size)
TypeError: integer argument expected, got float
I fixed the TypeError crash by adding some casts to int in levels.py. I believe this is only an issue with pygame older than 1.9.2, which is why there aren't more complaints about it.

--- camouflage_v0.9_fixed/gamelib/levels.py    2011-09-28 21:27:49.000000000 +0200
+++ camouflage_v0.9/gamelib/levels.py    2011-09-19 01:11:52.000000000 +0200
@@ -774,7 +774,7 @@
         index=0
         for shop in self.listOfShops:
             shopFilename,shopSizeX,shopSizeY,shopCamoufs,shopGoods,shopOptions,highValueGoods=shopList[shop]
-            self.locations[shop]=self.addObject(objects.Shop(self.getAnimations(shopFilename),[int(self.shopSize*shopSizeX),int(self.shopSize*shopSizeY)],self.placementList[index],shop))
+            self.locations[shop]=self.addObject(objects.Shop(self.getAnimations(shopFilename),[self.shopSize*shopSizeX,self.shopSize*shopSizeY],self.placementList[index],shop))
             for camouf in shopCamoufs:
                 self.locations[shop].listOfCamouf.append(camouf)
             for good in shopGoods:
Tnx guys, so next time I'll pay more attention to the warning I read at every execution of my game :P

DeprecationWarning: integer argument expected, got float
  self.image=pygame.transform.scale(self.images[self.currentAnimationName][self.currentAnimationIndex], self.size)