|
|
|
|
|
|
|
|
- @Spirndtle (Citizen)
|
|
- @Kaldermoor (Fortune Teller)
|
|
| โ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- @esor goddD (Citizen)
|
|
|
|
|
|
|
|
|
| 

Phase HelpInformation
This command is only available to game masters, helpers or higher.
- swurtle (@Spirndtle)
- ddd8000 (@esor goddD)
- swurtle (@Spirndtle)
- kalimoor (@Kaldermoor)
- ddd8000 (@esor goddD)
- swurtle (@Spirndtle)
- ddd8000 (@esor goddD)
- swurtle (@Spirndtle)
- ddd8000 (@esor goddD)
- swurtle (@Spirndtle)
- ddd8000 (@esor goddD)
- swurtle (@Spirndtle)
- ddd8000 (@esor goddD)
- kalimoor (@Kaldermoor)
- swurtle (@Spirndtle)
- ddd8000 (@esor goddD)
- swurtle (@Spirndtle)
- ddd8000 (@esor goddD)
defence,

667 - Suggest an Offseason Game (STD:OS) for 300 from @Tree Sapling โ Kaldermoor
686 - Wood (SP:51) for 40 from @Tree Sapling โ Kaldermoor
712 - $stash Command (BOT:STASH) for 130 from @Kaldermoor
713 - Executioner Icon (IC:EXECUTIONER) for 23 from @Tree Sapling โ Kaldermoor
714 - Kill Federick (GM:FED) for 1000 from @Jayniper
727 - Flute Player Icon (IC:FLUTE PLAYER) for 40 from @Tree Sapling โ Kaldermoor
728 - Flute Player Icon (IC:FLUTE PLAYER) for 40 from @Tree Sapling โ Kaldermoor733 - Fourier Modulate (SP:36) for 149 from @Kaldermoor
735 - Equalize (SP:32) for 69 from @Kaldermoor
736 - $fortune Command (BOT:FORTUNE) for 99 from @Kaldermoor
739 - Glasses #2 (SP:69) for 60 from @Kaldermoor
740 - BW (SP:20) for 60 from @Kaldermoor
741 - $nickname Command (BOT:NICK) for 139 from @Kaldermoorinput1;input2
anything else it uses a parsing system to figure it out. here the input was :worm2: fortune teller
it cant tell what is what due to missing ";" so it looks through the inputs and searches for possible player and role names
For players it succeeds on
, then it has to search for a role next.
now in case of <player> wolf or other one word roles, this would be easy, but since its a multi word role its more annoying, after all it can also accept nicknames and typos so inputs like tre saplng horsemen of dath are possible where it gets really difficult to tell what part is what.
So to be able to find even multi word names and roles like that, it first searches each individual word for a role, and then searches for word combination. (so we check if tre, saplng, horsemen, of, dath are a role each. if no we start searching for combinations of 2 words in a row, etc)
I also noticed that some themes may put role names into nicknames which makes things REALLY tough. I mean even "Ts" is a role name, so if we just search for the first player and first role name ts citizen would parse as player:ts, role:ts
The fix I chose for this for some reason was to search for the first expected value (player) from the start and for the last expected value (role) from the end, by reversing word order
so it would search "ts citizen" for player, finding "ts" and "citizen ts" , finding "citizen"
However if we apply this to :worm2: fortune teller, we now parse that to player:worm2 and then in reverse teller fortune :worm2: to ?? - it fails to find anything that is a role (it actually didn't at the start, it gave worm at first, more on that later, this is for when it gave reaper), so it looks for role names that are somewhat close to the input. reaper is just 3 typos away form teller, so it chose that. The issue here is that it searched for teller, fortune, and :worm2: first, then teller fortune and fortune :worm2: - due to the reversed word order the word combinations were the wrong way around, so it never looked for fortune teller and instead settled on a bad guess
The worm issue is a separate bug. I reused the word combination logic for both roles and players (like I said player nicknames with spaces can be parsed), but I shouldn't have done that! There was a piece of code in there that says "if its an emoji that belongs to a player immediately accept that input and stop searching" - this makes sense for players, why try word combinations and typo searches if there's an emoji right there. but reusing this for roles means that if it cant find a role while searching through the words from the back it will eventually hit the emoji and instantly accept it to a role. It then converts the emoji to a string yielding Worm as a roleinput1;input2
anything else it uses a parsing system to figure it out. here the input was :worm2: fortune teller
it cant tell what is what due to missing ";" so it looks through the inputs and searches for possible player and role names
For players it succeeds on
, then it has to search for a role next.
now in case of <player> wolf or other one word roles, this would be easy, but since its a multi word role its more annoying, after all it can also accept nicknames and typos so inputs like tre saplng horsemen of dath are possible where it gets really difficult to tell what part is what.
So to be able to find even multi word names and roles like that, it first searches each individual word for a role, and then searches for word combination. (so we check if tre, saplng, horsemen, of, dath are a role each. if no we start searching for combinations of 2 words in a row, etc)
I also noticed that some themes may put role names into nicknames which makes things REALLY tough. I mean even "Ts" is a role name, so if we just search for the first player and first role name ts citizen would parse as player:ts, role:ts
The fix I chose for this for some reason was to search for the first expected value (player) from the start and for the last expected value (role) from the end, by reversing word order
so it would search "ts citizen" for player, finding "ts" and "citizen ts" , finding "citizen"
However if we apply this to :worm2: fortune teller, we now parse that to player:worm2 and then in reverse teller fortune :worm2: to ?? - it fails to find anything that is a role (it actually didn't at the start, it gave worm at first, more on that later, this is for when it gave reaper), so it looks for role names that are somewhat close to the input. reaper is just 3 typos away form teller, so it chose that. The issue here is that it searched for teller, fortune, and :worm2: first, then teller fortune and fortune :worm2: - due to the reversed word order the word combinations were the wrong way around, so it never looked for fortune teller and instead settled on a bad guess
The worm issue is a separate bug. I reused the word combination logic for both roles and players (like I said player nicknames with spaces can be parsed), but I shouldn't have done that! There was a piece of code in there that says "if its an emoji that belongs to a player immediately accept that input and stop searching" - this makes sense for players, why try word combinations and typo searches if there's an emoji right there. but reusing this for roles means that if it cant find a role while searching through the words from the back it will eventually hit the emoji and instantly accept it to a role. It then converts the emoji to a string yielding Worm as a role