Difference between revisions of "Change Item Quantity on Equip"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
m
Line 1: Line 1:
<font face='Courier New'>
+
  # change the item quantity in the inventory
  # Add a value to the item quantity in the inventory.
 
 
  # Parameters:
 
  # Parameters:
 
  #  r4 = Item Number
 
  #  r4 = Item Number
  #  r5 = Value (positive or negative acceptable)
+
  #  r5 = Value
 
  #  
 
  #  
 
  # Return Value:
 
  # Return Value:
Line 9: Line 8:
 
   
 
   
 
  001208b8: 308403ff andi r4,r4,0x03ff          #  
 
  001208b8: 308403ff andi r4,r4,0x03ff          #  
  001208bc: 1080000c beq r4,r0,0x001208f0        # if Item Number AND 0x3FF = 0
+
  001208bc: 1080000c beq r4,r0,0x001208f0        # if item number AND 0x3FF = 0
  001208c0: 00001021 addu r2,r0,                 #  return 0
+
  001208c0: 00001021 addu r2,r0,r0     #  return 0
 
  001208c4: 3c018006 lui r1,0x8006              #
 
  001208c4: 3c018006 lui r1,0x8006              #
 
  001208c8: 00240821 addu r1,r1,r4              #
 
  001208c8: 00240821 addu r1,r1,r4              #
  001208cc: 902296e0 lbu r2,-0x6920(r1)          # r2 = item quantity
+
  001208cc: 902296e0 lbu r2,-0x6920(r1)          # item quantity = inventory[item number]
 
  001208d0: 00000000 nop                        #
 
  001208d0: 00000000 nop                        #
  001208d4: 00451021 addu r2,r2,r5              # item quantity - r5
+
  001208d4: 00451021 addu r2,r2,r5              # item quantity += value
  001208d8: 04410002 bgez r2,0x001208e4          # if item quantity - r5 is negative
+
  001208d8: 04410002 bgez r2,0x001208e4          # if item quantity is negative:
 
  001208dc: 00000000 nop                        #
 
  001208dc: 00000000 nop                        #
 
  001208e0: 00001021 addu r2,r0,r0              #  item quantity = 0
 
  001208e0: 00001021 addu r2,r0,r0              #  item quantity = 0
Line 24: Line 23:
 
  001208f0: 03e00008 jr r31                      # return item quantity
 
  001208f0: 03e00008 jr r31                      # return item quantity
 
  001208f4: 00000000 nop                        #
 
  001208f4: 00000000 nop                        #
</font>
 

Revision as of 02:29, 29 September 2024

# change the item quantity in the inventory
# Parameters:
#   r4 = Item Number
#   r5 = Value
# 
# Return Value:
#   item quantity

001208b8: 308403ff andi r4,r4,0x03ff           # 
001208bc: 1080000c beq r4,r0,0x001208f0        # if item number AND 0x3FF = 0
001208c0: 00001021 addu r2,r0,r0			    #   return 0
001208c4: 3c018006 lui r1,0x8006               #
001208c8: 00240821 addu r1,r1,r4               #
001208cc: 902296e0 lbu r2,-0x6920(r1)          # item quantity = inventory[item number]
001208d0: 00000000 nop                         #
001208d4: 00451021 addu r2,r2,r5               # item quantity += value
001208d8: 04410002 bgez r2,0x001208e4          # if item quantity is negative:
001208dc: 00000000 nop                         #
001208e0: 00001021 addu r2,r0,r0               #   item quantity = 0
001208e4: 3c018006 lui r1,0x8006               #
001208e8: 00240821 addu r1,r1,r4               #
001208ec: a02296e0 sb r2,-0x6920(r1)           # store item quantity
001208f0: 03e00008 jr r31                      # return item quantity
001208f4: 00000000 nop                         #