(0:31) When a furre says {!Share Roll},
* Calculate the first rolled number,
(5:312) set variable #%Temporary.x to the total of rolling #1 dice with #9 sides plus #0.
* Store the first rolled number,
(5:302) take variable #%Share_Code.x and add #%Temporary.x to it.
* Calculate the second rolled number,
(5:312) set variable #%Temporary.x to the total of rolling #1 dice with #9 sides plus #0.
* Multiply the second rolled number,
(5:306) multiply variable #%Temporary.x by #10.
* Store the second rolled number,
(5:302) take variable #%Share_Code.x and add #%Temporary.x to it.
* Calculate the third rolled number,
(5:312) set variable #%Temporary.x to the total of rolling #1 dice with #9 sides plus #0.
* Multiply the third rolled number,
(5:306) multiply variable #%Temporary.x by #100.
* Store the third rolled number,
(5:302) take variable #%Share_Code.x and add #%Temporary.x to it.
* Calculate the fourth rolled number,
(5:312) set variable #%Temporary.x to the total of rolling #1 dice with #9 sides plus #0.
* Multiply the fourth rolled number,
(5:306) multiply variable #%Temporary.x by #1000.
* Store the fourth rolled number,
(5:302) take variable #%Share_Code.x and add #%Temporary.x to it.
* Store the code to the furre's personal #'s storage,
(5:316) set the triggering furre's entry code to #%Temporary.x.
* Show the furre the Share Code # they have just obtained,
(5:200) emit message {#Share Roll: [FURRE], your Share Code # is: %Temporary.x, write it down, or you can recall it using "!Share Show Code" (Without the quotes.). To obtain your share, use the following command "!Share Get" followed by a space then the Share Code # you just obtained.} to the triggering furre.
* Clear the temporary space variable to prevent screw-ups,
(5:300) set variable #%Temporary.x to the value 0.
(0:31) When a furre says {!Share Show Code},
* Obtain their personal Share Code # from their personal #'s storage,
(5:315) set variable #%Temporary.x to the triggering furre's entry code.
* Show them their personal Share Code # using an emit,
(5:200) emit message {#Share Roll: [FURRE], your Share Code # is: "%Temporary.x", if you want to recall it later, use "!Share Show Code" (Without the quotes.). To obtain your share, use the following command "!Share Get" followed by a space then the Share Code # you just obtained. Example: "!Share Get 1234" (Quotes not needed.).} to the triggering furre.
(0:32) When a furre says something with {!Share Get } in it,
* Fetch their Share Code # from their personal #'s storage,
(5:315) set variable #%Temporary.x to the triggering furre's entry code.
* Fetch the code they just tried to prompt,
(5:314) set variable #%Temporary.y to the number the triggering furre just said.
* Emit a vanilla dialog,
(5:200) emit message {#Share Roll: Currently looking up your Share Code # to see if the one you just prompted is correct, please wait...} to the triggering furre.
(0:32) When a furre says something with {!Share Get } in it,
* And if they typed in a bogus / null code,
(1:202) and variable #%Temporary.y is less than #1,
* Emit an "Error Message",
(5:200) emit message {#Share Roll: [FURRE], the code you just tried to input is null or bogus, please try using the command "!Share Get ####" again. (Without the quotes.)} to the triggering furre.
* Clear the temporary variables to avoid screw-ups,
(5:384) set variable #%Temporary to the x,y position (#0,#0).
(0:32) When a furre says something with {!Share Get } in it,
* And if they did not type in a bogus / null code,
(1:201) and variable #%Temporary.y is greater than 0,
* And if the code they just tried to prompt did not match their legitimate Share Code #,
(1:207) and variable #%Temporary.x is not equal to variable #%Temporary.y,
* Emit an "Incorrect Code" dialog,
(5:200) emit message {#Share Roll: [FURRE], the code you just typed in is incorrect, please try again. You can recall your Share Code # using the command "!Share Show Code" (Without the quotes.).} to the triggering furre.
* Clear the temporary variables to avoid screw-ups,
(5:384) set variable #%Temporary to the x,y position (#0,#0).
(0:32) When a furre says something with {!Share Get } in it,
* And if they did not type in a bogus / null code,
(1:201) and variable #%Temporary.y is greater than 0,
* And if the code they just tried to prompt matched their legitimate Share Code #,
(1:203) and variable #%Temporary.x is equal to variable #%Temporary.y,
* Emit a "Correct Code" dialog,
(5:200) emit message {#Share Roll: [FURRE], congratulations, the code you just typed in (Share Code # %Temporary.y) is correct, share will be provided to you shortly. (If you go out from the dream, you will have to use the "!Share Get" command again, your current code has expired.} to the triggering furre.
* Emit a vanilla dialog,
(5:204) emitloud message {#Share Roll: Share provided to [FURRE] via Share Roll @ [NICE_TIME].} to everyone on the map.
* Provide the furre with share,
(5:102) share dream control with the triggering furre.
* Clear the temporary variables to avoid screw-ups,
(5:384) set variable #%Temporary to the x,y position (#0,#0).
* Clear the furre's previous Share Code # from their personal #'s storage so that they have to roll a different dice if they want to obtain share again once they come back,
(5:316) set the triggering furre's entry code to #0.