Python:
import random
import time
class DiTeaParty(Skill):
def __init__(self):
super().__init__()
self.set_skill_type(2) # continuous skill
self.toggle = "lets have a tea party"
self.sip_min = 20 # seconds
self.sip_max = 60 # seconds
self.party_duration = 300 # 5 minutes total
self.responder = Responder("sip", "sippy sip", "slurp", "mwahaha")
self.is_on = False
self.end_time = None
self.next_sip_time = None
@staticmethod
def rand_between(a, b):
return random.randint(a, b)
def input(self, ear, skin, eye):
if ear == self.toggle:
self.is_on = True
now = time.time()
self.end_time = now + self.party_duration
self.next_sip_time = now + self.rand_between(self.sip_min, self.sip_max)
self.setSimpleAlg("ok lets drink tea together")
return
if not self.is_on:
return
if ear and ear.lower().strip() == "stop":
self.is_on = False
self.setSimpleAlg("tea party ended")
return
if ear == "cheers":
self.setSimpleAlg("cheers")
return
now = time.time()
if now >= self.end_time:
self.is_on = False
self.setSimpleAlg("that was a fun tea party")
return
if now >= self.next_sip_time:
self.setSimpleAlg(self.responder.getAResponse())
# don't schedule past the party's end
self.next_sip_time = now + self.rand_between(self.sip_min, self.sip_max)