Mercurial > sypikslang
changeset 176:32ef26f410b8
'nother mission
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 12 May 2012 10:29:36 +0200 |
parents | efe82cf956fc |
children | 4bbd4a1879f8 |
files | gamelib/missions.py |
diffstat | 1 files changed, 54 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/gamelib/missions.py Sat May 12 10:11:36 2012 +0200 +++ b/gamelib/missions.py Sat May 12 10:29:36 2012 +0200 @@ -476,14 +476,13 @@ " at the science building with your bare hands. He doesn't say" " anything, but you can already hear the gossip.") - GENERIC_FAILURE = ( - "Well, that didn't work. Maybe a better equipment selection is in" - " order.") - def attempt_no_equipment(self, state): self.fail(self.NO_EQUIP_FAILURE, rep=-5) def attempt_with(self, categorised, state): + + self.use_equipment(categorised) + if cat.DOOM in categorised: self.data['completed'] = True self.succeed( @@ -492,21 +491,65 @@ rep=randint(10, 15)) if cat.BEAST in categorised: - if any(cat.AQUATIC not in x.CATEGORIES for x in + if all(cat.AQUATIC not in x.CATEGORIES for x in categorised[cat.BEAST]): + self.fail( + "While the beast is terrifying, the effect is" + " unfortuantely significantly lessened the need for a " + " large water tank, and the it's inability to move " + " independantly. Prehaps you need to rethink your plan?") + else: self.data['completed'] = True self.succeed( "Your monstrous creation rampages through campus in a" " most statisfying way. They will not forgot this.", rep=randint(5, 12)) - else: - self.fail( - "While the beast is terrifying, the effect is" - " unfortuantely significantly lessened the need for a " - " large water tank, and the it's inability to move " - " independantly. Prehaps you need to rethink your plan?") if cat.HAND_WEAPON in categorised: self.fail( "Mere crude force is not the answer. You need some more" " fitting demonstration of your power.") + + +class SubvertNews(Mission): + NAME = "Subvert the news network" + SHORT_DESCRIPTION = "Stop the lies!" + LONG_DESCRIPTION = ( + "Worringly, people appear to be easily duped by the lies broadcast" + " about you. Time to fight fire with fire!") + + MINIMUM_REPUTATION = 15 + MINIMUM_MILESTONE = "neighbourhood" + + NO_EQUIP_FAILURE = ( + "You fail to even get into the building. Perhaps you need to" + " rethink your approach") + + def attempt_with(self, categorised, state): + + self.use_equipment(categorised) + + if cat.MIND_CONTROL in categorised: + self.succeed( + "With the proper equipment, it's a simple matter to" + " convince people of the correctness of your point" + " of view. If only everything were so simple", + rep=randint(5, 15)) + + if cat.AU in categorised: + self.succeed( + "Your AI has complete control of the broadcasters computer" + " system. After all, it's not censorship if you're stopping" + " them broadcasting blatant lies, now is it?", + rep=randint(5, 10)) + + if any(c in categorised for c in (cat.VEHICLE, cat.DOOM, cat.BEAST)): + self.succeed( + "Cowering in fear, the broadcaster agrees to change the" + " tone of their stories.", rep=randint(2, 5)) + + if cat.HAND_WEAPONS in categorised: + self.fail( + "The news station's security is surprisingly well prepared." + " Prehaps you should rethink your approach?", + rep=-randint(5, 10))