Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- define Vending -1577831321
- alias Tmp r0
- alias Tmp2 r1
- alias ItemHash r2
- alias Counter r3
- alias Ident r4
- alias OverflowItemLastChance r10
- alias HashRecipe r11
- alias StackQuant r12
- alias VendBlocking r13
- init:
- l Ident db ReferenceId
- s db Setting Ident
- sbn Vending Ident On 1
- sbn Vending Ident Lock 0
- move sp 0
- push 0
- brlt sp 512 -1
- move sp 0
- move OverflowItemLastChance 0
- loop:
- yield
- jal handleRequest
- jal updateInventory
- j loop
- handleRequest:
- l HashRecipe d0:0 Channel1
- l StackQuant d0:0 Channel2
- l VendBlocking d0:0 Channel6
- beqz HashRecipe ra
- beq VendBlocking Ident myJob
- bgtz VendBlocking ra
- beq OverflowItemLastChance HashRecipe tryGetJob
- mod Tmp2 HashRecipe 127
- add Tmp2 Tmp2 127
- mod Tmp2 Tmp2 127
- add Tmp2 Tmp2 1
- mul sp Tmp2 4
- pop r5
- lbns r5 Vending Ident r5 OccupantHash 3
- beq r5 HashRecipe tryGetJob
- pop r6
- lbns r6 Vending Ident r6 OccupantHash 3
- beq r6 HashRecipe tryGetJob
- pop r7
- lbns r7 Vending Ident r7 OccupantHash 3
- beq r7 HashRecipe tryGetJob
- pop r8
- lbns r8 Vending Ident r8 OccupantHash 3
- beq r8 HashRecipe tryGetJob
- j ra
- tryGetJob:
- s d0:0 Channel6 Ident
- j loop
- myJob:
- blez StackQuant finishJob
- move Counter 2
- myJobSearch:
- lbns Tmp Vending Ident Counter OccupantHash 3
- beq Tmp HashRecipe foundItem
- add Counter Counter 1
- bgt Counter 101 myJobSearch
- j unableToFinishJob
- foundItem:
- sub StackQuant StackQuant 1
- s d0:0 Channel2 StackQuant
- sbn Vending Ident RequestHash HashRecipe
- j loop
- finishJob:
- s d0:0 Channel0 0
- s d0:0 Channel1 0
- s d0:0 Channel3 0
- unableToFinishJob:
- s d0:0 Channel6 0
- move OverflowItemLastChance 0
- move sp 512
- clearLoop:
- pop Tmp2
- brne Tmp2 HashRecipe 2
- push 0
- bgtz sp clearLoop
- j ra
- updateInventory:
- rand Tmp
- mul Tmp Tmp 100
- floor Tmp Tmp
- add Tmp Tmp 2
- lbns ItemHash Vending Ident Tmp OccupantHash 3
- beqz ItemHash ra
- mod Tmp2 ItemHash 127
- add Tmp2 Tmp2 127
- mod Tmp2 Tmp2 127
- add Tmp2 Tmp2 1
- mul sp Tmp2 4
- pop r5
- pop r6
- pop r7
- pop r8
- beq r5 Tmp ra
- beq r6 Tmp ra
- beq r7 Tmp ra
- beq r8 Tmp ra
- brnez r5 4
- add sp sp 3
- push Tmp
- j ra
- brnez r6 4
- add sp sp 2
- push Tmp
- j ra
- brnez r7 4
- add sp sp 1
- push Tmp
- j ra
- brnez r8 3
- push Tmp
- j ra
- rand Tmp2
- mul Tmp2 Tmp2 4
- floor Tmp2 Tmp2
- add sp sp Tmp2
- add sp sp 1
- pop OverflowItemLastChance
- push Tmp
- j ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement