def react(): if not any(hasattr(e, 'quest_item') for e in self.inventory.entities): self.say('Lägg den i mitt skåp säger jag!') Timer(give_back, 0.5) return self.say('Hmmm..! Vad spännande!') self.emote('bläddrar i', item) Timer(self.read_book, random.uniform(3.0, 7.0)) Timer(self.give_key, random.uniform(40.0, 50.0), args=[giver])
def __init__(self): super(Petter, self).__init__() self.sex = 'male' self.describe( 'Petter', 'Petter är lång och smal med ett snällt ansikte. Han ' 'ser väldigt tillfreds ut med tillvaron, men samtidigt ' 'lite filosofisk och funderande. Hans hår är grått och ' 'han har blå ögon') Timer(self.speak, 15.0) Timer(self.wander, 10.0)
def read_book(self): has_book = len([x for x in self.inventory.entities if hasattr(x, 'cissi_wants_it')]) == 1 if not has_book: return r = random.randint(0, 7) if r == 0: self.emote('sätter fingret på en sida i boken och ser väldigt fundersam ut.') elif r == 1: for player in self.container.get_entities(Player): player.text('*frrrrrrrrrt!* låter det när Cissi bläddrar snabbt i boken.') elif r == 2: self.emote('nickar långsamt och läser i boken.') elif r == 3: self.emote('mumlar något ohörbart.') elif r == 4: self.emote('vippar tveksamt fram och tillbaka med huvudet.') elif r == 5: self.emote('gör en fundersam min.') elif r == 6: self.emote('sätter pekfingret mot glasögonen och skjuter dem intill näsan.') r = random.randint(0, 2) if r == 0: self.say(random.choice([ 'Hah, här står det ju om red-black trees!', 'Nä-nä-nä, det här stämmer inte. Här står det fel!', 'Nämen, Boyer-Moore! Var det inte den algoritmen Thires gillade så mycket?', 'Just precis! Quickhull *är* linjär för slumpmässiga punktsamlingar!', 'Det här måste vara den senaste utgåvan!', 'Får jag behålla den här boken?', 'Ja, jag säger då det. Det här blir min kvällslektyr framöver!', 'Här kan man ju läsa om massa spännande algoritmer!' ])) Timer(self.read_book, random.uniform(7.0, 21.0))
def __container_add(self, container, entity): if not isinstance(entity, Player): return if not any(hasattr(e, 'quest_item') for e in self.inventory.entities): return if any(hasattr(e, 'cissi_wants_it') for e in entity.inventory.entities): self.say('Vad har du där för något? Får jag se!?') Timer(self.push_player_out, 7.0, args=[entity]) return s = random.choice([ 'Nej-nej, här får du inte vara! Seså, ut med dig!', 'Nähe du! Ge dig iväg!', 'Nä, nu får du ge dig. F**k off!', 'Här har du inget att göra! Iväg med dig!' ]) self.say(s) Timer(self.push_player_out, 0.2, args=[entity])
def __actor_give(self, giver, receiver, item): if receiver != self: return def give_back(): self.give(giver, item) if not hasattr(item, 'cissi_wants_it'): self.say('Det där joxet vill jag inte ha!') Timer(give_back, 0.5) return def react(): if not any(hasattr(e, 'quest_item') for e in self.inventory.entities): self.say('Lägg den i mitt skåp säger jag!') Timer(give_back, 0.5) return self.say('Hmmm..! Vad spännande!') self.emote('bläddrar i', item) Timer(self.read_book, random.uniform(3.0, 7.0)) Timer(self.give_key, random.uniform(40.0, 50.0), args=[giver]) Timer(react, 0.5)
def wander(self): self.go(random.choice(self.container.exits.keys())) Timer(self.wander, random.uniform(15.0, 6.0))
def speak(self): self.say('Hello.... I\'m gay..!') self.emit_sound('sound.m4a') Timer(self.speak, random.uniform(15.0, 6.0))