diff options
Diffstat (limited to 'npc/functions/riddle.txt')
-rw-r--r-- | npc/functions/riddle.txt | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/npc/functions/riddle.txt b/npc/functions/riddle.txt deleted file mode 100644 index fb503e3b..00000000 --- a/npc/functions/riddle.txt +++ /dev/null @@ -1,74 +0,0 @@ -// Evol functions. -// Author: -// Reid -// Description: -// Riddle enigma validator -// -// Arguments -// 0 PC answer -// 1 English correct answer -// 2 Translated correct answer - -// TODO: levenshtein(), similar_text(), and maybe even soundex() - -function script riddlevalidation { - .@answer$ = strtolower(getarg(0)); - .@good$ = strtolower(getarg(1)); - .@good_translated$ = strtolower(getarg(2)); - - .@size_answer = getstrlen(.@answer$); - .@size_good = getstrlen(.@good$); - .@size_good_translated = getstrlen(.@good_translated$); - - .@max = max(.@size_answer, .@size_good_translated, .@size_good); - - // Input is too long. - if (.@max > 20) - { - return false; - } - - .@size_good *= 70; - .@size_good_translated *= 70; - - for (.@i = 0; .@i < .@max; .@i++) - { - .@correct = 0; - .@correct_translated = 0; - - for (.@k = .@k_translated = .@j = .@i; .@j < .@max; .@j++) - { - if (charat(.@answer$, .@j) == charat(.@good$, .@k)) - { - .@correct++; - .@k++; - } - else - { - .@correct--; - } - - if (charat(.@answer$, .@j) == - charat(.@good_translated$, .@k_translated)) - { - .@correct_translated++; - .@k_translated++; - } - else - { - .@correct_translated--; - } - } - // if 70% of the word is correct - .@correct *= 100; - .@correct_translated *= 100; - - if (.@correct >= .@size_good || - .@correct_translated >= .@size_good_translated) - { - return true; - } - } - - return false; -} |