system "Rotating Dozens v1"
{
*************************************
*      System by luposlipphobia     *
*         on the VIP Lounge         *
*************************************
          Rx-ed by St0rm0r
-------------------------------------
           00-c0mpatible
-------------------------------------
Start on 1st dozen.
Bet the dozens in rotation, going up in the rotation after a loss.
3 progressions:
[1,1,1,2,3,4,6,9,14] "1stbet"
[21,31,47,70,105,158,237,355] "2ndbet"
[1] "3rdbet"
We start betting the 1stbet series.
Whenever we win in the 1stbet series, we go back to the first element in the 1stbet list.
On a loss in the 1stbet series, we go up 1 step in the progression the next
time we play the 1stbet series, but we bet 1unit for now until a win occurred.
When a win occurred (losing session ends) then we bet 1 time according to the 2ndbet series.
If the 2ndseries bet wins,
we will start again at step 1 of the 2ndseries the next time we play the 2ndseries,
but for now we go back to where we left the 1stbet series.
If the 2ndseries bet loses,
we go up 1 step in the 2ndseries the next time and for now go back to where we left the 1stbet series.
-------------------------------------
}
method "main"
begin
// section 1: do this once
while starting new session
    begin
    call "init"
    end

// section 3: act on a loss
if net < 0
    begin
    add 1 record"location"layout index
    if record"location"layout index > record"location"layout count
        begin
        put 1 record"location"layout index
        end
    if record"bet indicator"data = 1
        begin
        add 1 record"1stbet"data index
        if record"1stbet"data index > record"1stbet"data count
            begin
            put 1 record"1stbet"data index
            end
        put 3 record"bet indicator"data
        end
    if record"bet indicator"data = 2
        begin
        add 1 record"2ndbet"data index
        if record"2ndbet"data index > record"2ndbet"data count
            begin
            put 1 record"2ndbet"data index
            end
        put 1 record"bet indicator"data
        end
    end

// section 4:act on a win
if net > 0
    begin
    if record"bet indicator"data = 1
        begin
        put 1 record"1stbet"data index
        end
    if record"bet indicator"data = 2
        begin
        put 1 record"2ndbet"data index
        put 1 record"bet indicator"data
        end
    if record"bet indicator"data = 3
        begin
        put 2 record"bet indicator"data
        end
    end

//section 6: bet
if record"bet indicator"data = 1
    begin
    put 100% record"1stbet"data on record"location"layout
    end
if record"bet indicator"data = 2
    begin
    put 100% record"2ndbet"data on record"location"layout
    end
if record"bet indicator"data = 3
    begin
    put 100% record"3rdbet"data on record"location"layout
    end
end

// subroutines
method "init"
begin
copy list [1st dozen,2nd dozen, 3rd dozen] record"location"layout
set list [1,1,1,2,3,4,6,9,14] record"1stbet"data
set list [21,31,47,70,105,158,237,355] record"2ndbet"data
set list [1] record"3rdbet"data
call "reset"
end

method "reset"
begin
put 1 record"location"layout index
put 1 record"1stbet"data index
put 1 record"2ndbet"data index
put 1 record"3rdbet"data index
put 1 record"bet indicator"data
end
