All pastes #1326706 Raw Edit

Share Roll DS for Drew Lewan, by

public text v1 · immutable
#1326706 ·published 2009-02-04 00:03 UTC
rendered paste body
(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 {<b>#Share Roll:</b> [FURRE], your Share Code # is: <b>%Temporary.x</b>, 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 {<b>#Share Roll:</b> [FURRE], your Share Code # is: "<b>%Temporary.x</b>", 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 {<b>#Share Roll:</b> 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 {<b>#Share Roll:</b> [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 {<b>#Share Roll:</b> [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 {<b>#Share Roll:</b> [FURRE], congratulations, the code you just typed in (Share Code # <b>%Temporary.y</b>) 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 {<b>#Share Roll:</b> 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.