When answers have three or fewer digits (e.g. years)...
- First Hint: First character
- Second Hint: The second character; or no additional hints
- Third Hint: No additional hints
Instead of:
Reveal hints like:
RELEVANT CODE
def getHintString(self, hintNum=None):
if hintNum == None:
hintNum = self.hintsCounter
hintRatio = self.registryValue('hints.hintRatio') # % to show each hint
hint = ''
ratio = float(hintRatio * .01)
charMask = self.registryValue('hints.charMask', self.channel)
# create a string with hints for all of the answers
if self.questionType == 'kaos':
for ans in self.answers:
if ircutils.toLower(ans) not in self.guessedAnswers:
ans = str(ans)
hintStr = ''
if hintNum == 0:
for char in ans:
if char in self.unmaskedChars:
hintStr += char
else:
hintStr += charMask
elif hintNum == 1:
divider = int(len(ans) * ratio)
divider = min(divider, 3)
divider = min(divider, len(ans)-1)
hintStr += ans[:divider]
masked = ans[divider:]
for char in masked:
if char in self.unmaskedChars:
hintStr += char
else:
hintStr += charMask
elif hintNum == 2:
divider = int(len(ans) * ratio)
divider = min(divider, 3)
divider = min(divider, len(ans)-1)
lettersInARow = divider-1
maskedInARow = 0
hintStr += ans[:divider]
ansend = ans[divider:]
hintsend = ''
unmasked = 0
if self.registryValue('hints.vowelsHint', self.channel):
hintStr += self.getMaskedVowels(ansend, divider-1)
else:
hintStr += self.getMaskedRandom(ansend, divider-1)
hint += ' [{0}]'.format(hintStr)
else:
ans = str(self.answers[0])
if hintNum == 0:
for char in ans:
if char in self.unmaskedChars:
hint += char
else:
hint += charMask
elif hintNum == 1:
divider = int(len(ans) * ratio)
divider = min(divider, 3)
divider = min(divider, len(ans)-1)
hint += ans[:divider]
masked = ans[divider:]
for char in masked:
if char in self.unmaskedChars:
hint += char
else:
hint += charMask
elif hintNum == 2:
divider = int(len(ans) * ratio)
divider = min(divider, 3)
divider = min(divider, len(ans)-1)
lettersInARow = divider-1
maskedInARow = 0
hint += ans[:divider]
ansend = ans[divider:]
hintsend = ''
unmasked = 0
if self.registryValue('hints.vowelsHint', self.channel):
hint += self.getMaskedVowels(ansend, divider-1)
else:
hint += self.getMaskedRandom(ansend, divider-1)
return hint.strip()
Blarg
- Relevant code at line 302
getHintString at line 256
When answers have three or fewer digits (e.g. years)...
Instead of:
Reveal hints like:
RELEVANT CODE
Blarg
getHintStringat line 256