Exemple #1
0
 def changeDFall(self):
     """ Changes downfall, returns string information, if changed, else - "" """
     logger.info("Trying change downfall.")
     for index in range(len(self.toChangeDFall)):
         if self.dFall == index:
             newDFall = self.tryChangeDFall[getRandFromArray(
                 self.toChangeDFall[index], "withProbs")](self)
             if self.dFall == newDFall:  # if nothing changed
                 return ""
             oldDFall, self.dFall = self.dFall, newDFall
             return getRandFromArray(self.ACdFall[oldDFall][newDFall],
                                     "withValues")
Exemple #2
0
 def getThunder(self):
     """ Adds sound of thunder or not """
     logger.info("Trying get thunder!")
     self.thunder = False
     chances = self.toThunder[self.dFall]
     prob = chances["probability"]
     if prob > 0:
         if self.wind < chances["wind"] or self.wet < chances[
                 "wet"] or self.temper < chances["temper"]:
             return ""
         if getRandFromArray([prob, 100 - prob], "withProbs") == 0:
             self.thunder = True
             return getRandFromArray(self.ACthunder, "withValues")
     return ""
Exemple #3
0
 def getIndexAndMod(self, array, index):
     logger.info("Getting index and mod by index: %s.", index)
     if index == "random":
         indexOfMod = getRandFromArray(array, "withProbs")
     else:
         indexOfMod = index
     mod = self.getModByIndex[indexOfMod]
     return indexOfMod, mod
Exemple #4
0
 def changeWet(self, index):
     """ Changes wet, if changed returns string information, else - "" """
     logger.info("Trying change wet.")
     curWet = self.wet
     for wet in self.toChangeWet:
         wet = int(wet)
         if curWet >= wet:
             indexOfMod, mod = self.getIndexAndMod(
                 self.toChangeWet[str(wet)], index)
             result = getRandFromArray(self.ACwet[indexOfMod], "withValues")
             curWet += mod
             if curWet < 0: curWet = 0
             elif curWet > 100: curWet = 100
             self.wet = curWet
             return result
     return ""
Exemple #5
0
 def changeTemper(self, index):
     """ Changes temperature, if changed returns string information, else - "" """
     logger.info("Trying change temperature.")
     curTemper = self.temper
     for temper in self.toChangeTemper:
         temper = int(temper)
         if curTemper >= temper:
             indexOfMod, mod = self.getIndexAndMod(
                 self.toChangeTemper[str(temper)], index)
             result = getRandFromArray(self.ACtemper[indexOfMod],
                                       "withValues")
             curTemper += mod
             if curTemper < 0: curTemper = 0
             elif curTemper > 100: curTemper = 100
             self.temper = curTemper
             return result
     return ""
Exemple #6
0
 def changeWind(self, index):
     """ Changes wind, if changed returns string information, else - "" """
     logger.info("Trying change wind.")
     curWind = self.wind
     for wind in self.toChangeWind:
         wind = int(wind)
         if curWind >= wind:
             indexOfMod, mod = self.getIndexAndMod(
                 self.toChangeWind[str(wind)], index)
             result = getRandFromArray(self.ACwind[indexOfMod],
                                       "withValues")
             curWind += mod
             if curWind < 0: curWind = 0
             elif curWind > 100: curWind = 100
             self.wind = curWind
             return result
     return ""