• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Inventory System w/ Pages

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
What's new?
- My inventory can store at least 8000 items
- Item swap system. Allows you to swap items between slots and pages
- Item stacking for consumables. Fill slot with same item type if its charge hasn't reach the max charge it can contain

Update current: v1.2.6
- Okay now with Item stacking system :p
- I forget all things that I've changed before creating dat stacking system
- Remember one more thing, added double clicks on shortcut icon capability
- I dare to say that this is the last update before moderation. I've changed my mind, I will NOT create more documentation. If you ask me to make complete documentation, it's the same as you ask me to suicide -.- truly

v1.2.5
- Fixed bug with cooldown
- Optimized triggers
- Use and unuse trigger merged
- Fixed variables initialization triggers

v1.2.4
- 4th update for today, okay I admit it, I was careless in updating this system.
- optimized select event
- optimized sell trigger
- removed floating text leaks at exit trigger. I hope this fix AoS between me and floating texts :D

v1.2.3
- Fixed some bugs in page changing
- Fixed charge decrement
- Fixed error where sell button won't appears
- Fixed incorrect button color changing

v1.2.2
- little change on unuse trigger
- added floating text to help you understand the inventory.
i don't know this will make the floating text errors become "more weird" or not :p

v1.2.1
- Added shared cooldown system
- Added example how to make shortcut item and use them
- Added example how to manipulate items in the inventory
- Changed all the whole index for loop integer to a small value
- Fixed misplaced codes in cooldown trigger
- Fixed some minor bugs
- Deleted some ineffective codes
- Now shortcut icon can be removed. Still I have problem with "item charge remaining is 0 or empty"
- Added clear selection by pressing 'esc'. I forget to notice about this at the map.
- Minigame made. Unfinished yet.
- Fixed error in item dropping

v1.1.1
- Improved UI
- Added swap system
- Fixed minor bug with custom value
- Removed useless codes
- Optimized codes
- You will find this so much more lovely than before :)

v1.0.1
- Added more library
- Added example adding attachment and item effect
- Added sell item capability
- Removed the use of custom value


[+] Pure GUI
[+] Easily configured
[-] Huge amount of triggers and variables

v1.2.1
  • Item Library
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • -------- ====put your item here=== --------
      • Set Item_Type[1] = Temp Sword
      • Set Item_Type[2] = Temp Shield
      • Set Item_Type[3] = Temp Ring
      • Set Item_Type[4] = Temp Red Potion
      • Set Item_Type[5] = Temp Mail
      • Set Item_Type[6] = Temp Legs
      • Set Item_Type[7] = Temp Lance
      • Set Item_Type[8] = Temp Helmet
      • Set Item_Type[9] = Temp Gloves
      • Set Item_Type[10] = Temp Earrings
      • Set Item_Type[11] = Temp Axe
      • Set Item_Type[12] = Temp Staff
      • Set Item_Type[13] = Temp Bow
      • Set Item_Type[14] = Temp Blue Potion
      • Set Item_Type[15] = Temp Quest Item
      • -------- ====put your item icon here=== --------
      • Set Item_Icon[1] = (Item) Sword
      • Set Item_Icon[2] = (Item) Shield
      • Set Item_Icon[3] = (Item) Ring
      • Set Item_Icon[4] = (Item) Red Potion
      • Set Item_Icon[5] = (Item) Mail
      • Set Item_Icon[6] = (Item) Legs
      • Set Item_Icon[7] = (Item) Lance
      • Set Item_Icon[8] = (Item) Helmet
      • Set Item_Icon[9] = (Item) Gloves
      • Set Item_Icon[10] = (Item) Earrings
      • Set Item_Icon[11] = (Item) Axe
      • Set Item_Icon[12] = (Item) Staff
      • Set Item_Icon[13] = (Item) Bow
      • Set Item_Icon[14] = (Item) Blue Potion
      • Set Item_Icon[15] = (Item) Quest Item
      • -------- ===if the item is consumable and has cooldown put the configuration here, Use the same index with that item above. --------
      • -------- just give it 0 if you don't want give it cooldown=== --------
      • Set Item_Cooldown[4] = 3.50
      • Set Item_Cooldown[14] = 4.00
      • -------- ===set to true if the cooldown wanted to be shared to the same type=== --------
      • Set Item_ShareCd[4] = True
      • Set Item_ShareCd[14] = False
      • -------- ===put shortcut item for consumable here --------
      • -------- shortcut item is item that will be displayed at inventory=== --------
      • Set Inventory_Shortcut_LibType[4] = Temp Red Potion (Shortcut)
      • Set Inventory_Shortcut_LibType[14] = Temp Blue Potion (Shortcut)
      • -------- ===put anything you want to say about your item here=== --------
      • Set Item_Description[1] = (Externalized string(Name: Temp Sword V...))
      • Set Item_Description[2] = (Externalized string(Name: Temp Shield ...))
      • Set Item_Description[3] = (Externalized string(Name: Temp Ring Va...))
      • Set Item_Description[4] = (Externalized string(Name: Temp Red Poti...))
      • Set Item_Description[5] = (Externalized string(Name: Temp Mail Va...))
      • Set Item_Description[6] = (Externalized string(Name: Temp Legs Va...))
      • Set Item_Description[7] = (Externalized string(Name: Temp Lance V...))
      • Set Item_Description[8] = (Externalized string(Name: Temp Helmet ...))
      • Set Item_Description[9] = (Externalized string(Name: Temp Gloves ...))
      • Set Item_Description[10] = (Externalized string(Name: Temp Earrings...))
      • Set Item_Description[11] = (Externalized string(Name: Temp Axe Val...))
      • Set Item_Description[12] = (Externalized string(Name: Temp Staff V...))
      • Set Item_Description[13] = (Externalized string(Name: Temp Bow Val...))
      • Set Item_Description[14] = (Externalized string(Name: Temp Blue Pot...))
      • Set Item_Description[15] = (Externalized string(Name: Temp Quest It...))
      • -------- ===config the animation. take a look at the list below=== --------
      • -------- ===1. Bow = lumber=== --------
      • -------- ===2. Gun = work=== --------
      • -------- ===3. Staff = flesh=== --------
      • -------- ===4. Double Weapon = gold=== --------
      • -------- ===5. Two Hands Weapon = channel=== --------
      • -------- ===6. Left Hand Weapon = alternate=== --------
      • Set Equip_AnimationTag[1] = alternate
      • Set Equip_AnimationTag[7] = channel
      • Set Equip_AnimationTag[11] = alternate
      • Set Equip_AnimationTag[12] = flesh
      • Set Equip_AnimationTag[13] = lumber
      • -------- ===config the attachment for your item here. for equipment only=== --------
      • Set Equip_Attachment[1] = Attachment (Temp Sword)
      • Set Equip_Attachment[2] = Attachment (Temp Shield)
      • Set Equip_Attachment[5] = Attachment (Temp Mail)
      • Set Equip_Attachment[6] = Attachment (Temp Boots)
      • Set Equip_Attachment[7] = Attachment (Temp Spear)
      • Set Equip_Attachment[8] = Attachment (Temp Helmet)
      • Set Equip_Attachment[11] = Attachment (Temp Axe)
      • Set Equip_Attachment[12] = Attachment (Temp Staff)
      • Set Equip_Attachment[13] = Attachment (Temp Bow)
      • -------- ===config the item effect=== --------
      • Set Equip_DamageBonus[1] = Temp Sword Damage
      • Set Equip_DamageBonus[7] = Temp Spear Damage
      • Set Equip_DamageBonus[11] = Temp Axe Damage
      • Set Equip_DamageBonus[12] = Temp Staff Damage
      • Set Equip_DamageBonus[13] = Temp Bow Damage
      • Set Equip_ArmorBonus[2] = Temp Shield Armor
      • Set Equip_ArmorBonus[3] = Temp Ring Armor
      • Set Equip_ArmorBonus[5] = Temp Mail Armor
      • Set Equip_ArmorBonus[6] = Temp Boots Armor
      • Set Equip_ArmorBonus[8] = Temp Helmet Armor
      • Set Equip_ArmorBonus[9] = Temp Gloves Armor
      • Set Equip_ArmorBonus[10] = Temp Earrings Armor
      • Set Equip_MovespeedBonus[6] = Temp Boots Movespeed
      • Set Equip_AttributeBonus[10] = Temp Earrings Attribute
      • -------- ===config price for your item=== --------
      • -------- ===if you want the item cant be sold, set the level to 11 and the value below to 0 --------
      • -------- or just dont config the value=== --------
      • Set Item_Value[1] = 500
      • Set Item_Value[2] = 400
      • Set Item_Value[3] = 450
      • Set Item_Value[4] = 10
      • Set Item_Value[5] = 345
      • Set Item_Value[6] = 1500
      • Set Item_Value[7] = 1250
      • Set Item_Value[8] = 800
      • Set Item_Value[9] = 700
      • Set Item_Value[10] = 345
      • Set Item_Value[11] = 567
      • Set Item_Value[12] = 330
      • Set Item_Value[13] = 458
      • Set Item_Value[14] = 5
      • -------- ===write the biggest index=== --------
      • Set Item_Total = 15
  • Item Aquired
    • Events
      • Unit - A unit Acquires an item
    • Conditions
      • (Item level of (Item being manipulated)) Not equal to 10
    • Actions
      • For each (Integer Inventory_LoopInteger[1]) from 1 to (Inventory_Page_Max x 20), do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_FindSlotBoolean[1] Equal to False
              • Inventory_Slot_Boolean[Inventory_LoopInteger[1]] Equal to False
            • Then - Actions
              • Set Inventory_FindSlotBoolean[1] = True
              • Set Inventory_Slot_Boolean[Inventory_LoopInteger[1]] = True
              • Set Inventory_Slot_Category[Inventory_LoopInteger[1]] = (Item level of (Item being manipulated))
              • For each (Integer Inventory_LoopInteger[2]) from 1 to Item_Total, do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Item-type of (Item being manipulated)) Equal to Item_Type[Inventory_LoopInteger[2]]
                    • Then - Actions
                      • Set Inventory_Slot_Index[Inventory_LoopInteger[1]] = Inventory_LoopInteger[2]
                    • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Item level of (Item being manipulated)) Equal to 9
                • Then - Actions
                  • Set Inventory_Charges[Inventory_LoopInteger[1]] = (Inventory_Charges[Inventory_LoopInteger[1]] + (Charges remaining in (Item being manipulated)))
                • Else - Actions
            • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Inventory_FindSlotBoolean[1] Equal to False
        • Then - Actions
          • Set Inventory_HeroLoc = (Position of (Triggering unit))
          • Item - Create (Item-type of (Item being manipulated)) at Inventory_HeroLoc
          • Custom script: call RemoveLocation(udg_Inventory_HeroLoc)
        • Else - Actions
      • Set Inventory_FindSlotBoolean[1] = False
  • Inventory Variable
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • -------- Configurable --------
      • -------- Max page you can use = 400 --------
      • Set Inventory_Page_Max = 5
      • -------- ---------- --------
      • Set Inventory_Page_Current = 1
      • Set Inventory_Slot_Point[1] = (Center of Inventory Slot 1 1 <gen>)
      • Set Inventory_Slot_Point[2] = (Center of Inventory Slot 1 2 <gen>)
      • Set Inventory_Slot_Point[3] = (Center of Inventory Slot 1 3 <gen>)
      • Set Inventory_Slot_Point[4] = (Center of Inventory Slot 1 4 <gen>)
      • Set Inventory_Slot_Point[5] = (Center of Inventory Slot 1 5 <gen>)
      • Set Inventory_Slot_Point[6] = (Center of Inventory Slot 2 1 <gen>)
      • Set Inventory_Slot_Point[7] = (Center of Inventory Slot 2 2 <gen>)
      • Set Inventory_Slot_Point[8] = (Center of Inventory Slot 2 3 <gen>)
      • Set Inventory_Slot_Point[9] = (Center of Inventory Slot 2 4 <gen>)
      • Set Inventory_Slot_Point[10] = (Center of Inventory Slot 2 5 <gen>)
      • Set Inventory_Slot_Point[11] = (Center of Inventory Slot 3 1 <gen>)
      • Set Inventory_Slot_Point[12] = (Center of Inventory Slot 3 2 <gen>)
      • Set Inventory_Slot_Point[13] = (Center of Inventory Slot 3 3 <gen>)
      • Set Inventory_Slot_Point[14] = (Center of Inventory Slot 3 4 <gen>)
      • Set Inventory_Slot_Point[15] = (Center of Inventory Slot 3 5 <gen>)
      • Set Inventory_Slot_Point[16] = (Center of Inventory Slot 4 1 <gen>)
      • Set Inventory_Slot_Point[17] = (Center of Inventory Slot 4 2 <gen>)
      • Set Inventory_Slot_Point[18] = (Center of Inventory Slot 4 3 <gen>)
      • Set Inventory_Slot_Point[19] = (Center of Inventory Slot 4 4 <gen>)
      • Set Inventory_Slot_Point[20] = (Center of Inventory Slot 4 5 <gen>)
      • Set Inventory_Equipment_Slot[1] = (Center of Inventory Weapon <gen>)
      • Set Inventory_Equipment_Slot[2] = (Center of Inventory Shield <gen>)
      • Set Inventory_Equipment_Slot[3] = (Center of Inventory Helmet <gen>)
      • Set Inventory_Equipment_Slot[4] = (Center of Inventory Mail <gen>)
      • Set Inventory_Equipment_Slot[5] = (Center of Inventory Gloves <gen>)
      • Set Inventory_Equipment_Slot[6] = (Center of Inventory Legs <gen>)
      • Set Inventory_Equipment_Slot[7] = (Center of Inventory Ring <gen>)
      • Set Inventory_Equipment_Slot[8] = (Center of Inventory Earrings <gen>)
      • Set Inventory_Action_Point[1] = (Center of Inventory Action Use <gen>)
      • Set Inventory_Action_Point[2] = (Center of Inventory Action Shortcut <gen>)
      • Set Inventory_Action_Point[3] = (Center of Inventory Action Drop <gen>)
      • Set Inventory_Action_Point[4] = (Center of Inventory Action Sell <gen>)
      • Set Inventory_Action_Point[5] = (Center of Inventory Action Exit <gen>)
      • Set Inventory_Action_Point[6] = (Center of Inventory Action Prev Page <gen>)
      • Set Inventory_Action_Point[7] = (Center of Inventory Action Next Page <gen>)
      • Set Inventory_Description_Point = (Center of Inventory Description <gen>)
      • Set Inventory_Page_Text_Point = (Center of Inventory Page <gen>)
      • Set Inventory_Charges_Point[1] = (Center of Charges 1 <gen>)
      • Set Inventory_Charges_Point[2] = (Center of Charges 2 <gen>)
      • Set Inventory_Charges_Point[3] = (Center of Charges 3 <gen>)
      • Set Inventory_Charges_Point[4] = (Center of Charges 4 <gen>)
      • Set Inventory_Charges_Point[5] = (Center of Charges 5 <gen>)
      • Set Inventory_Charges_Point[6] = (Center of Charges 6 <gen>)
      • Set Inventory_Charges_Point[7] = (Center of Charges 7 <gen>)
      • Set Inventory_Charges_Point[8] = (Center of Charges 8 <gen>)
      • Set Inventory_Charges_Point[9] = (Center of Charges 9 <gen>)
      • Set Inventory_Charges_Point[10] = (Center of Charges 10 <gen>)
      • Set Inventory_Charges_Point[11] = (Center of Charges 11 <gen>)
      • Set Inventory_Charges_Point[12] = (Center of Charges 12 <gen>)
      • Set Inventory_Charges_Point[13] = (Center of Charges 13 <gen>)
      • Set Inventory_Charges_Point[14] = (Center of Charges 14 <gen>)
      • Set Inventory_Charges_Point[15] = (Center of Charges 15 <gen>)
      • Set Inventory_Charges_Point[16] = (Center of Charges 16 <gen>)
      • Set Inventory_Charges_Point[17] = (Center of Charges 17 <gen>)
      • Set Inventory_Charges_Point[18] = (Center of Charges 18 <gen>)
      • Set Inventory_Charges_Point[19] = (Center of Charges 19 <gen>)
      • Set Inventory_Charges_Point[20] = (Center of Charges 20 <gen>)
      • Set Inventory_Shortcut_Point[1] = (Center of Inventory Shortcut 1 <gen>)
      • Set Inventory_Shortcut_Point[2] = (Center of Inventory Shortcut 2 <gen>)
      • Set Inventory_Shortcut_Point[3] = (Center of Inventory Shortcut 3 <gen>)
      • Set Inventory_Shortcut_Point[4] = (Center of Inventory Shortcut 4 <gen>)
      • Set Inventory_Shortcut_Point[5] = (Center of Inventory Shortcut 5 <gen>)
      • For each (Integer Inventory_LoopInteger[1]) from 5 to 7, do (Actions)
        • Loop - Actions
          • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[Inventory_LoopInteger[1]] facing 270.00 degrees
          • Set Inventory_Action_Click[Inventory_LoopInteger[1]] = (Last created unit)
          • Animation - Change Inventory_Action_Click[Inventory_LoopInteger[1]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
  • Inventory Open
    • Events
      • Unit - A unit Uses an item
    • Conditions
      • (Item-type of (Item being manipulated)) Equal to Open Inventory
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Inventory_OpenCloseBoolean Equal to False
        • Then - Actions
          • Selection - Clear selection for Player 1 (Red)
          • Set Inventory_OpenCloseBoolean = True
          • Trigger - Turn on Inventory Camera <gen>
          • Trigger - Turn on Inventory Drop <gen>
          • Trigger - Turn on Inventory Exit <gen>
          • Trigger - Turn on Inventory Page <gen>
          • Trigger - Turn on Inventory Select Event <gen>
          • Trigger - Turn on Inventory Use <gen>
          • Trigger - Turn on Inventory unUse <gen>
          • Trigger - Turn on Inventory Shortcuts <gen>
          • Trigger - Turn on Inventory Sell <gen>
          • Trigger - Turn on Inventory Swap <gen>
          • Trigger - Turn on Inventory Clear <gen>
          • Floating Text - Create floating text that reads ((String(Inventory_Page_Current)) + (/ + (String(Inventory_Page_Max)))) at Inventory_Page_Text_Point with Z offset 0.00, using font size 9.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
          • Set Inventory_Page_Text = (Last created floating text)
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 20, do (Actions)
            • Loop - Actions
              • Set Inventory_IndexInteger = (Inventory_LoopInteger[2] + (-20 + (20 x Inventory_Page_Current)))
              • Floating Text - Create floating text that reads <Empty String> at Inventory_Charges_Point[Inventory_LoopInteger[2]] with Z offset 0.00, using font size 5.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
              • Set Inventory_Charges_Text[Inventory_LoopInteger[2]] = (Last created floating text)
              • Floating Text - Create floating text that reads <Empty String> at Inventory_Slot_Point[Inventory_LoopInteger[2]] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
              • Set Inventory_Cooldown_Text[Inventory_LoopInteger[2]] = (Last created floating text)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_Slot_Boolean[Inventory_IndexInteger] Equal to True
                • Then - Actions
                  • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[Inventory_LoopInteger[2]] facing 270.00 degrees
                  • Set Inventory_Slot_Click[Inventory_IndexInteger] = (Last created unit)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_IndexInteger Equal to Inventory_SelectedInteger
                    • Then - Actions
                      • Animation - Change Inventory_Slot_Click[Inventory_IndexInteger]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 75.00% transparency
                      • Set Inventory_SelectedItem = Inventory_Slot_Click[Inventory_IndexInteger]
                    • Else - Actions
                      • Animation - Change Inventory_Slot_Click[Inventory_IndexInteger]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                  • Destructible - Create a Item_Icon[Inventory_Slot_Index[Inventory_IndexInteger]] at Inventory_Slot_Point[Inventory_LoopInteger[2]] facing 270.00 with scale 1.00 and variation 0
                  • Set Inventory_Slot_Icon[Inventory_IndexInteger] = (Last created destructible)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Slot_Category[Inventory_IndexInteger] Equal to 9
                    • Then - Actions
                      • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[2]] to (String(Inventory_Charges[Inventory_IndexInteger])) using font size 6.00
                    • Else - Actions
                • Else - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 8, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_Equipment_Boolean[Inventory_LoopInteger[2]] Equal to True
                • Then - Actions
                  • Unit - Create 1 for Neutral Passive at Inventory_Equipment_Slot[Inventory_LoopInteger[2]] facing 270.00 degrees
                  • Set Inventory_Equipment_Click[Inventory_LoopInteger[2]] = (Last created unit)
                  • Animation - Change Inventory_Equipment_Click[Inventory_LoopInteger[2]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                  • Destructible - Create a Item_Icon[Inventory_Equipment_Index[Inventory_LoopInteger[2]]] at Inventory_Equipment_Slot[Inventory_LoopInteger[2]] facing 270.00 with scale 1.00 and variation 0
                  • Set Inventory_Equipment_Icon[Inventory_LoopInteger[2]] = (Last created destructible)
                • Else - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 5, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_Shortcut_Boolean[Inventory_LoopInteger[2]] Equal to True
                • Then - Actions
                  • Unit - Create 1 for Neutral Passive at Inventory_Shortcut_Point[Inventory_LoopInteger[2]] facing 270.00 degrees
                  • Set Inventory_Shortcut_Click[Inventory_LoopInteger[2]] = (Last created unit)
                  • Animation - Change Inventory_Shortcut_Click[Inventory_LoopInteger[2]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                  • Destructible - Create a Item_Icon[Inventory_Shortcut_Index[Inventory_LoopInteger[2]]] at Inventory_Shortcut_Point[Inventory_LoopInteger[2]] facing 270.00 with scale 1.00 and variation 0
                  • Set Inventory_Shortcut_Icon[Inventory_LoopInteger[2]] = (Last created destructible)
                • Else - Actions
        • Else - Actions
  • Inventory Select Event
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
      • (Triggering unit) Not equal to Inventory_Action_Click[1]
      • (Triggering unit) Not equal to Inventory_Action_Click[2]
      • (Triggering unit) Not equal to Inventory_Action_Click[3]
      • (Triggering unit) Not equal to Inventory_Action_Click[4]
      • (Triggering unit) Not equal to Inventory_Action_Click[5]
      • (Triggering unit) Not equal to Inventory_Action_Click[6]
      • (Triggering unit) Not equal to Inventory_Action_Click[7]
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Triggering unit) Not equal to Inventory_SelectedItem
        • Then - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 4, do (Actions)
            • Loop - Actions
              • Unit - Remove Inventory_Action_Click[Inventory_LoopInteger[2]] from the game
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 20, do (Actions)
            • Loop - Actions
              • Unit - Remove Inventory_Swap_Click[Inventory_LoopInteger[2]] from the game
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 8, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Triggering unit) Equal to Inventory_Equipment_Click[Inventory_LoopInteger[2]]
                • Then - Actions
                  • Animation - Change Inventory_SelectedItem's vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                  • Set Inventory_SelectedItem = (Triggering unit)
                  • Selection - Clear selection for Player 1 (Red)
                  • Floating Text - Change Inventory_Description_Text: Disable permanence
                  • Floating Text - Destroy Inventory_Description_Text
                  • Floating Text - Create floating text that reads Item_Description[Inventory_Equipment_Index[Inventory_LoopInteger[2]]] at Inventory_Description_Point with Z offset 0.00, using font size 8.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                  • Set Inventory_Description_Text = (Last created floating text)
                  • Animation - Change Inventory_SelectedItem's vertex coloring to (100.00%, 100.00%, 0.00%) with 75.00% transparency
                  • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[1] facing 270.00 degrees
                  • Set Inventory_Action_Click[1] = (Last created unit)
                  • Animation - Change Inventory_Action_Click[1]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                  • Skip remaining actions
                • Else - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to (Inventory_Page_Max x 20), do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Triggering unit) Equal to Inventory_Slot_Click[Inventory_LoopInteger[2]]
                • Then - Actions
                  • Animation - Change Inventory_SelectedItem's vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                  • Set Inventory_SelectedItem = (Triggering unit)
                  • Set Inventory_SelectedInteger = Inventory_LoopInteger[2]
                  • Selection - Clear selection for Player 1 (Red)
                  • Floating Text - Change Inventory_Description_Text: Disable permanence
                  • Floating Text - Destroy Inventory_Description_Text
                  • Floating Text - Create floating text that reads Item_Description[Inventory_Slot_Index[Inventory_LoopInteger[2]]] at Inventory_Description_Point with Z offset 0.00, using font size 8.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                  • Set Inventory_Description_Text = (Last created floating text)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Cooldown[Inventory_LoopInteger[2]] Equal to 0.00
                    • Then - Actions
                      • Animation - Change Inventory_SelectedItem's vertex coloring to (100.00%, 100.00%, 0.00%) with 75.00% transparency
                    • Else - Actions
                      • Animation - Change Inventory_SelectedItem's vertex coloring to (0.00%, 0.00%, 0.00%) with 50.00% transparency
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Slot_Category[Inventory_LoopInteger[2]] Greater than or equal to 1
                      • Inventory_Slot_Category[Inventory_LoopInteger[2]] Less than or equal to 8
                    • Then - Actions
                      • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[1] facing 270.00 degrees
                      • Set Inventory_Action_Click[1] = (Last created unit)
                      • Animation - Change Inventory_Action_Click[1]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                      • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[3] facing 270.00 degrees
                      • Set Inventory_Action_Click[3] = (Last created unit)
                      • Animation - Change Inventory_Action_Click[3]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Item_Value[Inventory_Slot_Index[Inventory_LoopInteger[2]]] Greater than 0
                        • Then - Actions
                          • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[4] facing 270.00 degrees
                          • Set Inventory_Action_Click[4] = (Last created unit)
                          • Animation - Change Inventory_Action_Click[4]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                        • Else - Actions
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Slot_Category[Inventory_LoopInteger[2]] Equal to 9
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Cooldown[Inventory_LoopInteger[2]] Equal to 0.00
                        • Then - Actions
                          • For each (Integer Inventory_LoopInteger[3]) from 1 to 2, do (Actions)
                            • Loop - Actions
                              • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[Inventory_LoopInteger[3]] facing 270.00 degrees
                              • Set Inventory_Action_Click[Inventory_LoopInteger[3]] = (Last created unit)
                              • Animation - Change Inventory_Action_Click[Inventory_LoopInteger[3]]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                          • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[3] facing 270.00 degrees
                          • Set Inventory_Action_Click[3] = (Last created unit)
                          • Animation - Change Inventory_Action_Click[3]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Item_Value[Inventory_Slot_Index[Inventory_LoopInteger[2]]] Greater than 0
                            • Then - Actions
                              • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[4] facing 270.00 degrees
                              • Set Inventory_Action_Click[4] = (Last created unit)
                              • Animation - Change Inventory_Action_Click[4]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                            • Else - Actions
                        • Else - Actions
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Slot_Category[Inventory_LoopInteger[2]] Equal to 11
                    • Then - Actions
                      • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[3] facing 270.00 degrees
                      • Set Inventory_Action_Click[3] = (Last created unit)
                      • Animation - Change Inventory_Action_Click[3]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Item_Value[Inventory_Slot_Index[Inventory_LoopInteger[2]]] Greater than 0
                        • Then - Actions
                          • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[4] facing 270.00 degrees
                          • Set Inventory_Action_Click[4] = (Last created unit)
                          • Animation - Change Inventory_Action_Click[4]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                        • Else - Actions
                    • Else - Actions
                  • For each (Integer Inventory_LoopInteger[3]) from 1 to 20, do (Actions)
                    • Loop - Actions
                      • Set Inventory_IndexInteger = (Inventory_LoopInteger[3] + (-20 + (20 x Inventory_Page_Current)))
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Cooldown[Inventory_LoopInteger[2]] Equal to 0.00
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Inventory_IndexInteger Not equal to Inventory_LoopInteger[2]
                              • Inventory_Slot_Boolean[Inventory_IndexInteger] Equal to False
                            • Then - Actions
                              • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[Inventory_LoopInteger[3]] facing 270.00 degrees
                              • Set Inventory_Swap_Click[Inventory_LoopInteger[3]] = (Last created unit)
                              • Animation - Change Inventory_Swap_Click[Inventory_LoopInteger[3]]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                            • Else - Actions
                        • Else - Actions
                • Else - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 5, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Triggering unit) Equal to Inventory_Shortcut_Click[Inventory_LoopInteger[2]]
                • Then - Actions
                  • Selection - Clear selection for Player 1 (Red)
                  • Animation - Change Inventory_SelectedItem's vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                  • Set Inventory_SelectedItem = (Triggering unit)
                  • Set Inventory_SelectedInteger = Inventory_LoopInteger[2]
                  • Floating Text - Change Inventory_Description_Text: Disable permanence
                  • Floating Text - Destroy Inventory_Description_Text
                  • Floating Text - Create floating text that reads Item_Description[Inventory_Shortcut_Index[Inventory_LoopInteger[2]]] at Inventory_Description_Point with Z offset 0.00, using font size 8.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                  • Set Inventory_Description_Text = (Last created floating text)
                  • Animation - Change Inventory_SelectedItem's vertex coloring to (100.00%, 100.00%, 0.00%) with 75.00% transparency
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Shortcut_Cooldown[Inventory_LoopInteger[2]] Equal to 0.00
                    • Then - Actions
                      • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[2] facing 270.00 degrees
                      • Set Inventory_Action_Click[2] = (Last created unit)
                      • Animation - Change Inventory_Action_Click[2]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                    • Else - Actions
                  • Skip remaining actions
                • Else - Actions
        • Else - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 4, do (Actions)
            • Loop - Actions
              • Unit - Remove Inventory_Action_Click[Inventory_LoopInteger[2]] from the game
          • Selection - Clear selection for Player 1 (Red)
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 20, do (Actions)
            • Loop - Actions
              • Unit - Remove Inventory_Swap_Click[Inventory_LoopInteger[2]] from the game
              • Set Inventory_IndexInteger = (Inventory_LoopInteger[2] + (-20 + (20 x Inventory_Page_Current)))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_SelectedItem Equal to Inventory_Slot_Click[Inventory_IndexInteger]
                  • Inventory_Slot_Category[Inventory_IndexInteger] Not equal to 0
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Slot_Category[Inventory_IndexInteger] Equal to 9
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Cooldown[Inventory_IndexInteger] Equal to 0.00
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Item_ShareCd[Inventory_Slot_Index[Inventory_IndexInteger]] Equal to True
                            • Then - Actions
                              • For each (Integer Inventory_LoopInteger[3]) from 1 to (20 x Inventory_Page_Max), do (Actions)
                                • Loop - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • Inventory_Slot_Index[Inventory_LoopInteger[3]] Equal to Inventory_Slot_Index[Inventory_IndexInteger]
                                    • Then - Actions
                                      • Set Inventory_Charges[Inventory_IndexInteger] = (Inventory_Charges[Inventory_IndexInteger] - 1)
                                      • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[2]] to (String(Inventory_Charges[Inventory_IndexInteger])) using font size 6.00
                                      • Set Inventory_Cooldown[Inventory_LoopInteger[3]] = Item_Cooldown[Inventory_Slot_Index[Inventory_LoopInteger[3]]]
                                      • Animation - Change Inventory_SelectedItem's vertex coloring to (0.00%, 0.00%, 0.00%) with 50.00% transparency
                                    • Else - Actions
                            • Else - Actions
                              • Set Inventory_Charges[Inventory_IndexInteger] = (Inventory_Charges[Inventory_IndexInteger] - 1)
                              • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[2]] to (String(Inventory_Charges[Inventory_IndexInteger])) using font size 6.00
                              • Set Inventory_Cooldown[Inventory_IndexInteger] = Item_Cooldown[Inventory_Slot_Index[Inventory_IndexInteger]]
                              • Animation - Change Inventory_SelectedItem's vertex coloring to (0.00%, 0.00%, 0.00%) with 50.00% transparency
                        • Else - Actions
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Slot_Category[Inventory_IndexInteger] Less than 9
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Equipment_Boolean[Inventory_Slot_Category[Inventory_IndexInteger]] Equal to False
                        • Then - Actions
                          • Set Inventory_Slot_Boolean[Inventory_IndexInteger] = False
                          • Unit - Remove Inventory_SelectedItem from the game
                          • Set Inventory_SelectedInteger = 0
                          • Destructible - Remove Inventory_Slot_Icon[Inventory_IndexInteger]
                          • Floating Text - Change Inventory_Description_Text: Disable permanence
                          • Floating Text - Destroy Inventory_Description_Text
                          • Set Inventory_Equipment_Boolean[Inventory_Slot_Category[Inventory_IndexInteger]] = True
                          • Destructible - Create a Item_Icon[Inventory_Slot_Index[Inventory_IndexInteger]] at Inventory_Equipment_Slot[Inventory_Slot_Category[Inventory_IndexInteger]] facing 270.00 with scale 1.00 and variation 0
                          • Set Inventory_Equipment_Icon[Inventory_Slot_Category[Inventory_IndexInteger]] = (Last created destructible)
                          • Unit - Create 1 for Neutral Passive at Inventory_Equipment_Slot[Inventory_Slot_Category[Inventory_IndexInteger]] facing 270.00 degrees
                          • Set Inventory_Equipment_Click[Inventory_Slot_Category[Inventory_IndexInteger]] = (Last created unit)
                          • Set Inventory_Equipment_Index[Inventory_Slot_Category[Inventory_IndexInteger]] = Inventory_Slot_Index[Inventory_IndexInteger]
                          • Animation - Change Inventory_Equipment_Click[Inventory_Slot_Category[Inventory_IndexInteger]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                          • Unit - Add Equip_ArmorBonus[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Unit - Add Equip_AttackspeedBonus[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Unit - Add Equip_AttributeBonus[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Unit - Add Equip_DamageBonus[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Unit - Add Equip_MovespeedBonus[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Animation - Add the Equip_AnimationTag[Inventory_Slot_Index[Inventory_IndexInteger]] animation tag to MainUnit
                          • Unit - Add Equip_Attachment[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Set Inventory_Slot_Category[Inventory_IndexInteger] = 0
                          • Set Inventory_Slot_Index[Inventory_IndexInteger] = 0
                        • Else - Actions
                    • Else - Actions
                • Else - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 8, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_SelectedItem Equal to Inventory_Equipment_Click[Inventory_LoopInteger[2]]
                • Then - Actions
                  • For each (Integer Inventory_LoopInteger[3]) from 1 to (20 x Inventory_Page_Max), do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_FindSlotBoolean[2] Equal to False
                          • Inventory_Slot_Boolean[Inventory_LoopInteger[3]] Equal to False
                        • Then - Actions
                          • Set Inventory_FindSlotBoolean[2] = True
                          • Set Inventory_Slot_Boolean[Inventory_LoopInteger[3]] = True
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Inventory_LoopInteger[3] Greater than or equal to (1 + (-20 + (20 x Inventory_Page_Current)))
                              • Inventory_LoopInteger[3] Less than or equal to (20 + (-20 + (20 x Inventory_Page_Current)))
                            • Then - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Inventory_LoopInteger[3] mod 20) Equal to 0
                                • Then - Actions
                                  • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[20] facing 270.00 degrees
                                • Else - Actions
                                  • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[(Inventory_LoopInteger[3] mod 20)] facing 270.00 degrees
                              • Set Inventory_Slot_Click[Inventory_LoopInteger[3]] = (Last created unit)
                              • Animation - Change Inventory_Slot_Click[Inventory_LoopInteger[3]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Inventory_LoopInteger[3] mod 20) Equal to 0
                                • Then - Actions
                                  • Destructible - Create a Item_Icon[Inventory_Equipment_Index[Inventory_LoopInteger[2]]] at Inventory_Slot_Point[20] facing 270.00 with scale 1.00 and variation 0
                                • Else - Actions
                                  • Destructible - Create a Item_Icon[Inventory_Equipment_Index[Inventory_LoopInteger[2]]] at Inventory_Slot_Point[(Inventory_LoopInteger[3] mod 20)] facing 270.00 with scale 1.00 and variation 0
                              • Set Inventory_Slot_Icon[Inventory_LoopInteger[3]] = (Last created destructible)
                            • Else - Actions
                          • Set Inventory_Slot_Index[Inventory_LoopInteger[3]] = Inventory_Equipment_Index[Inventory_LoopInteger[2]]
                          • Unit - Remove Inventory_SelectedItem from the game
                          • Floating Text - Change Inventory_Description_Text: Disable permanence
                          • Floating Text - Destroy Inventory_Description_Text
                          • Set Inventory_Slot_Category[Inventory_LoopInteger[3]] = Inventory_LoopInteger[2]
                          • Set Inventory_Equipment_Boolean[Inventory_LoopInteger[2]] = False
                          • Destructible - Remove Inventory_Equipment_Icon[Inventory_LoopInteger[2]]
                          • Unit - Remove Inventory_SelectedItem from the game
                          • Set Inventory_Equipment_Index[Inventory_LoopInteger[2]] = 0
                          • Unit - Remove Equip_ArmorBonus[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Unit - Remove Equip_AttackspeedBonus[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Unit - Remove Equip_AttributeBonus[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Unit - Remove Equip_DamageBonus[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Unit - Remove Equip_MovespeedBonus[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Unit - Remove Equip_Attachment[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Animation - Remove the Equip_AnimationTag[Inventory_Slot_Index[Inventory_LoopInteger[3]]] animation tag to MainUnit
                        • Else - Actions
                  • Set Inventory_FindSlotBoolean[2] = False
                • Else - Actions
  • Inventory Drop
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
      • (Triggering unit) Equal to Inventory_Action_Click[3]
    • Actions
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 4, do (Actions)
        • Loop - Actions
          • Unit - Remove Inventory_Action_Click[Inventory_LoopInteger[2]] from the game
      • Selection - Clear selection for Player 1 (Red)
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 20, do (Actions)
        • Loop - Actions
          • Unit - Remove Inventory_Swap_Click[Inventory_LoopInteger[2]] from the game
          • Set Inventory_IndexInteger = (Inventory_LoopInteger[2] + (-20 + (20 x Inventory_Page_Current)))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_SelectedItem Equal to Inventory_Slot_Click[Inventory_IndexInteger]
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_Slot_Category[Inventory_IndexInteger] Equal to 9
                  • Inventory_Cooldown[Inventory_IndexInteger] Greater than 0.00
                • Then - Actions
                  • Skip remaining actions
                • Else - Actions
              • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[2]] to <Empty String> using font size 7.00
              • Floating Text - Change Inventory_Description_Text: Disable permanence
              • Floating Text - Destroy Inventory_Description_Text
              • Set Inventory_HeroLoc = (Position of MainUnit)
              • Item - Create Item_Type[Inventory_Slot_Index[Inventory_IndexInteger]] at Inventory_HeroLoc
              • Item - Set charges remaining in (Last created item) to Inventory_Charges[Inventory_IndexInteger]
              • Custom script: call RemoveLocation(udg_Inventory_HeroLoc)
              • Set Inventory_Charges[Inventory_IndexInteger] = 0
              • Unit - Remove Inventory_SelectedItem from the game
              • Set Inventory_SelectedInteger = 0
              • Destructible - Remove Inventory_Slot_Icon[Inventory_IndexInteger]
              • Set Inventory_Slot_Category[Inventory_IndexInteger] = 0
              • Set Inventory_Slot_Index[Inventory_IndexInteger] = 0
              • Set Inventory_Slot_Boolean[Inventory_IndexInteger] = False
              • Set Inventory_Charges[Inventory_IndexInteger] = 0
              • Set Inventory_Cooldown[Inventory_IndexInteger] = 0.00
            • Else - Actions
  • Inventory Use
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
      • (Triggering unit) Equal to Inventory_Action_Click[1]
    • Actions
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 4, do (Actions)
        • Loop - Actions
          • Unit - Remove Inventory_Action_Click[Inventory_LoopInteger[2]] from the game
      • Selection - Clear selection for Player 1 (Red)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Inventory_SelectedItem Not equal to No unit
        • Then - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 20, do (Actions)
            • Loop - Actions
              • Unit - Remove Inventory_Swap_Click[Inventory_LoopInteger[2]] from the game
              • Set Inventory_IndexInteger = (Inventory_LoopInteger[2] + (-20 + (20 x Inventory_Page_Current)))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_SelectedItem Equal to Inventory_Slot_Click[Inventory_IndexInteger]
                  • Inventory_Slot_Category[Inventory_IndexInteger] Not equal to 0
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Slot_Category[Inventory_IndexInteger] Equal to 9
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Cooldown[Inventory_IndexInteger] Equal to 0.00
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Item_ShareCd[Inventory_Slot_Index[Inventory_IndexInteger]] Equal to True
                            • Then - Actions
                              • For each (Integer Inventory_LoopInteger[3]) from 1 to (20 x Inventory_Page_Max), do (Actions)
                                • Loop - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • Inventory_Slot_Index[Inventory_LoopInteger[3]] Equal to Inventory_Slot_Index[Inventory_IndexInteger]
                                    • Then - Actions
                                      • Set Inventory_Charges[Inventory_IndexInteger] = (Inventory_Charges[Inventory_IndexInteger] - 1)
                                      • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[2]] to (String(Inventory_Charges[Inventory_IndexInteger])) using font size 6.00
                                      • Set Inventory_Cooldown[Inventory_LoopInteger[3]] = Item_Cooldown[Inventory_Slot_Index[Inventory_LoopInteger[3]]]
                                      • Animation - Change Inventory_SelectedItem's vertex coloring to (0.00%, 0.00%, 0.00%) with 50.00% transparency
                                    • Else - Actions
                            • Else - Actions
                              • Set Inventory_Charges[Inventory_IndexInteger] = (Inventory_Charges[Inventory_IndexInteger] - 1)
                              • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[2]] to (String(Inventory_Charges[Inventory_IndexInteger])) using font size 6.00
                              • Set Inventory_Cooldown[Inventory_IndexInteger] = Item_Cooldown[Inventory_Slot_Index[Inventory_IndexInteger]]
                              • Animation - Change Inventory_SelectedItem's vertex coloring to (0.00%, 0.00%, 0.00%) with 50.00% transparency
                        • Else - Actions
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Slot_Category[Inventory_IndexInteger] Less than 9
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Equipment_Boolean[Inventory_Slot_Category[Inventory_IndexInteger]] Equal to False
                        • Then - Actions
                          • Set Inventory_Slot_Boolean[Inventory_IndexInteger] = False
                          • Unit - Remove Inventory_SelectedItem from the game
                          • Set Inventory_SelectedInteger = 0
                          • Destructible - Remove Inventory_Slot_Icon[Inventory_IndexInteger]
                          • Floating Text - Change Inventory_Description_Text: Disable permanence
                          • Floating Text - Destroy Inventory_Description_Text
                          • Set Inventory_Equipment_Boolean[Inventory_Slot_Category[Inventory_IndexInteger]] = True
                          • Destructible - Create a Item_Icon[Inventory_Slot_Index[Inventory_IndexInteger]] at Inventory_Equipment_Slot[Inventory_Slot_Category[Inventory_IndexInteger]] facing 270.00 with scale 1.00 and variation 0
                          • Set Inventory_Equipment_Icon[Inventory_Slot_Category[Inventory_IndexInteger]] = (Last created destructible)
                          • Unit - Create 1 for Neutral Passive at Inventory_Equipment_Slot[Inventory_Slot_Category[Inventory_IndexInteger]] facing 270.00 degrees
                          • Set Inventory_Equipment_Click[Inventory_Slot_Category[Inventory_IndexInteger]] = (Last created unit)
                          • Set Inventory_Equipment_Index[Inventory_Slot_Category[Inventory_IndexInteger]] = Inventory_Slot_Index[Inventory_IndexInteger]
                          • Animation - Change Inventory_Equipment_Click[Inventory_Slot_Category[Inventory_IndexInteger]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                          • Unit - Add Equip_ArmorBonus[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Unit - Add Equip_AttackspeedBonus[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Unit - Add Equip_AttributeBonus[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Unit - Add Equip_DamageBonus[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Unit - Add Equip_MovespeedBonus[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Unit - Add Equip_Attachment[Inventory_Slot_Index[Inventory_IndexInteger]] to MainUnit
                          • Animation - Add the Equip_AnimationTag[Inventory_Slot_Index[Inventory_IndexInteger]] animation tag to MainUnit
                          • Set Inventory_Slot_Category[Inventory_IndexInteger] = 0
                          • Set Inventory_Slot_Index[Inventory_IndexInteger] = 0
                        • Else - Actions
                    • Else - Actions
                • Else - Actions
        • Else - Actions
  • Inventory unUse
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
      • (Triggering unit) Equal to Inventory_Action_Click[1]
      • Inventory_SelectedItem Not equal to No unit
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Inventory_SelectedItem Not equal to No unit
        • Then - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 8, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_SelectedItem Equal to Inventory_Equipment_Click[Inventory_LoopInteger[2]]
                • Then - Actions
                  • For each (Integer Inventory_LoopInteger[3]) from 1 to (20 x Inventory_Page_Max), do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_FindSlotBoolean[2] Equal to False
                          • Inventory_Slot_Boolean[Inventory_LoopInteger[3]] Equal to False
                        • Then - Actions
                          • Set Inventory_FindSlotBoolean[2] = True
                          • Set Inventory_Slot_Boolean[Inventory_LoopInteger[3]] = True
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Inventory_LoopInteger[3] Greater than or equal to (1 + (-20 + (20 x Inventory_Page_Current)))
                              • Inventory_LoopInteger[3] Less than or equal to (20 + (-20 + (20 x Inventory_Page_Current)))
                            • Then - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Inventory_LoopInteger[3] mod 20) Equal to 0
                                • Then - Actions
                                  • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[20] facing 270.00 degrees
                                  • Set Inventory_Slot_Click[Inventory_LoopInteger[3]] = (Last created unit)
                                  • Destructible - Create a Item_Icon[Inventory_Equipment_Index[Inventory_LoopInteger[2]]] at Inventory_Slot_Point[20] facing 270.00 with scale 1.00 and variation 0
                                  • Set Inventory_Slot_Icon[Inventory_LoopInteger[3]] = (Last created destructible)
                                • Else - Actions
                                  • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[(Inventory_LoopInteger[3] mod 20)] facing 270.00 degrees
                                  • Set Inventory_Slot_Click[Inventory_LoopInteger[3]] = (Last created unit)
                                  • Destructible - Create a Item_Icon[Inventory_Equipment_Index[Inventory_LoopInteger[2]]] at Inventory_Slot_Point[(Inventory_LoopInteger[3] mod 20)] facing 270.00 with scale 1.00 and variation 0
                                  • Set Inventory_Slot_Icon[Inventory_LoopInteger[3]] = (Last created destructible)
                              • Animation - Change Inventory_Slot_Click[Inventory_LoopInteger[3]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                            • Else - Actions
                          • Set Inventory_Slot_Index[Inventory_LoopInteger[3]] = Inventory_Equipment_Index[Inventory_LoopInteger[2]]
                          • Unit - Remove Inventory_SelectedItem from the game
                          • Floating Text - Change Inventory_Description_Text: Disable permanence
                          • Floating Text - Destroy Inventory_Description_Text
                          • Set Inventory_Slot_Category[Inventory_LoopInteger[3]] = Inventory_LoopInteger[2]
                          • Set Inventory_Equipment_Boolean[Inventory_LoopInteger[2]] = False
                          • Destructible - Remove Inventory_Equipment_Icon[Inventory_LoopInteger[2]]
                          • Unit - Remove Inventory_SelectedItem from the game
                          • Set Inventory_Equipment_Index[Inventory_LoopInteger[2]] = 0
                          • Unit - Remove Equip_ArmorBonus[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Unit - Remove Equip_AttackspeedBonus[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Unit - Remove Equip_AttributeBonus[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Unit - Remove Equip_DamageBonus[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Unit - Remove Equip_MovespeedBonus[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                          • Animation - Remove the Equip_AnimationTag[Inventory_Slot_Index[Inventory_LoopInteger[3]]] animation tag to MainUnit
                          • Unit - Remove Equip_Attachment[Inventory_Slot_Index[Inventory_LoopInteger[3]]] from MainUnit
                        • Else - Actions
                  • Set Inventory_FindSlotBoolean[2] = False
                • Else - Actions
        • Else - Actions
  • Inventory Page
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (Triggering unit) Equal to Inventory_Action_Click[6]
          • (Triggering unit) Equal to Inventory_Action_Click[7]
    • Actions
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 20, do (Actions)
        • Loop - Actions
          • Set Inventory_IndexInteger = (Inventory_LoopInteger[2] + (-20 + (20 x Inventory_Page_Current)))
          • Unit - Remove Inventory_Swap_Click[Inventory_LoopInteger[2]] from the game
          • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[2]] to <Empty String> using font size 7.00
          • Floating Text - Change text of Inventory_Cooldown_Text[Inventory_LoopInteger[2]] to <Empty String> using font size 7.00
          • Unit - Remove Inventory_Slot_Click[Inventory_IndexInteger] from the game
          • Destructible - Remove Inventory_Slot_Icon[Inventory_IndexInteger]
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Triggering unit) Equal to Inventory_Action_Click[6]
        • Then - Actions
          • Selection - Clear selection for Player 1 (Red)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_Page_Current Greater than 1
            • Then - Actions
              • Set Inventory_Page_Current = (Inventory_Page_Current - 1)
            • Else - Actions
              • Set Inventory_Page_Current = Inventory_Page_Max
        • Else - Actions
          • Selection - Clear selection for Player 1 (Red)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_Page_Current Less than Inventory_Page_Max
            • Then - Actions
              • Set Inventory_Page_Current = (Inventory_Page_Current + 1)
            • Else - Actions
              • Set Inventory_Page_Current = 1
      • Floating Text - Change text of Inventory_Page_Text to ((String(Inventory_Page_Current)) + (/ + (String(Inventory_Page_Max)))) using font size 9.00
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 20, do (Actions)
        • Loop - Actions
          • Set Inventory_IndexInteger = (Inventory_LoopInteger[2] + (-20 + (20 x Inventory_Page_Current)))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_SelectedInteger Not equal to 0
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_SelectedInteger Not equal to Inventory_IndexInteger
                  • Inventory_Slot_Boolean[Inventory_IndexInteger] Equal to False
                • Then - Actions
                  • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[Inventory_LoopInteger[2]] facing 270.00 degrees
                  • Set Inventory_Swap_Click[Inventory_LoopInteger[2]] = (Last created unit)
                  • Animation - Change Inventory_Swap_Click[Inventory_LoopInteger[2]]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_Slot_Boolean[Inventory_IndexInteger] Equal to True
            • Then - Actions
              • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[Inventory_LoopInteger[2]] facing 270.00 degrees
              • Set Inventory_Slot_Click[Inventory_IndexInteger] = (Last created unit)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_SelectedInteger Equal to Inventory_IndexInteger
                • Then - Actions
                  • Animation - Change Inventory_Slot_Click[Inventory_IndexInteger]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 75.00% transparency
                  • Set Inventory_SelectedItem = Inventory_Slot_Click[Inventory_IndexInteger]
                • Else - Actions
                  • Animation - Change Inventory_Slot_Click[Inventory_IndexInteger]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
              • Destructible - Create a Item_Icon[Inventory_Slot_Index[Inventory_IndexInteger]] at Inventory_Slot_Point[Inventory_LoopInteger[2]] facing 270.00 with scale 1.00 and variation 0
              • Set Inventory_Slot_Icon[Inventory_IndexInteger] = (Last created destructible)
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_Slot_Category[Inventory_IndexInteger] Equal to 9
            • Then - Actions
              • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[2]] to (String(Inventory_Charges[Inventory_IndexInteger])) using font size 6.00
            • Else - Actions
  • Inventory Shortcuts
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
      • (Triggering unit) Equal to Inventory_Action_Click[2]
    • Actions
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 4, do (Actions)
        • Loop - Actions
          • Unit - Remove Inventory_Action_Click[Inventory_LoopInteger[2]] from the game
      • Selection - Clear selection for Player 1 (Red)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Inventory_SelectedItem Not equal to Inventory_Shortcut_Click[1]
          • Inventory_SelectedItem Not equal to Inventory_Shortcut_Click[2]
          • Inventory_SelectedItem Not equal to Inventory_Shortcut_Click[3]
          • Inventory_SelectedItem Not equal to Inventory_Shortcut_Click[4]
          • Inventory_SelectedItem Not equal to Inventory_Shortcut_Click[5]
        • Then - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 5, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_FindSlotBoolean[3] Equal to False
                  • Inventory_Shortcut_Boolean[Inventory_LoopInteger[2]] Equal to False
                • Then - Actions
                  • Set Inventory_FindSlotBoolean[3] = True
                  • For each (Integer Inventory_LoopInteger[3]) from 1 to 20, do (Actions)
                    • Loop - Actions
                      • Unit - Remove Inventory_Swap_Click[Inventory_LoopInteger[3]] from the game
                      • Set Inventory_IndexInteger = (Inventory_LoopInteger[3] + (-20 + (20 x Inventory_Page_Current)))
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_SelectedItem Equal to Inventory_Slot_Click[Inventory_IndexInteger]
                          • Inventory_Slot_Category[Inventory_IndexInteger] Equal to 9
                          • Inventory_Cooldown[Inventory_IndexInteger] Equal to 0.00
                        • Then - Actions
                          • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[3]] to <Empty String> using font size 6.00
                          • Unit - Remove Inventory_SelectedItem from the game
                          • Destructible - Remove Inventory_Slot_Icon[Inventory_IndexInteger]
                          • Floating Text - Change Inventory_Description_Text: Disable permanence
                          • Floating Text - Destroy Inventory_Description_Text
                          • Set Inventory_Shortcut_Index[Inventory_LoopInteger[2]] = Inventory_Slot_Index[Inventory_IndexInteger]
                          • Set Inventory_Shortcut_Charges[Inventory_LoopInteger[2]] = Inventory_Charges[Inventory_IndexInteger]
                          • Set Inventory_Shortcut_Boolean[Inventory_LoopInteger[2]] = True
                          • Destructible - Remove Inventory_Shortcut_Icon[Inventory_LoopInteger[2]]
                          • Destructible - Create a Item_Icon[Inventory_Shortcut_Index[Inventory_LoopInteger[2]]] at Inventory_Shortcut_Point[Inventory_LoopInteger[2]] facing 270.00 with scale 1.00 and variation 0
                          • Set Inventory_Shortcut_Icon[Inventory_LoopInteger[2]] = (Last created destructible)
                          • Unit - Create 1 for Neutral Passive at Inventory_Shortcut_Point[Inventory_LoopInteger[2]] facing 270.00 degrees
                          • Set Inventory_Shortcut_Click[Inventory_LoopInteger[2]] = (Last created unit)
                          • Animation - Change Inventory_Shortcut_Click[Inventory_LoopInteger[2]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                          • Set Inventory_Slot_Category[Inventory_IndexInteger] = 0
                          • Set Inventory_Slot_Index[Inventory_IndexInteger] = 0
                          • Set Inventory_Slot_Boolean[Inventory_IndexInteger] = False
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Inventory_Shortcut_OCBoolean Equal to True
                            • Then - Actions
                              • Hero - Create Inventory_Shortcut_LibType[Inventory_Shortcut_Index[Inventory_LoopInteger[2]]] and give it to MainUnit
                              • Set Inventory_Shortcut_Item[Inventory_LoopInteger[2]] = (Last created item)
                              • Item - Set charges remaining in Inventory_Shortcut_Item[Inventory_LoopInteger[2]] to Inventory_Shortcut_Charges[Inventory_LoopInteger[2]]
                              • Unit - Order MainUnit to move Inventory_Shortcut_Item[Inventory_LoopInteger[2]] to inventory slot Inventory_LoopInteger[2]
                            • Else - Actions
                          • Set Inventory_Charges[Inventory_IndexInteger] = 0
                          • Set Inventory_Cooldown[Inventory_IndexInteger] = 0.00
                        • Else - Actions
                • Else - Actions
          • Set Inventory_FindSlotBoolean[3] = False
        • Else - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 5, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_SelectedItem Equal to Inventory_Shortcut_Click[Inventory_LoopInteger[2]]
                  • Inventory_Shortcut_Boolean[Inventory_LoopInteger[2]] Equal to True
                  • Inventory_Shortcut_Cooldown[Inventory_LoopInteger[2]] Equal to 0.00
                • Then - Actions
                  • For each (Integer Inventory_LoopInteger[3]) from 1 to (20 x Inventory_Page_Max), do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_FindSlotBoolean[3] Equal to False
                          • Inventory_Slot_Boolean[Inventory_LoopInteger[3]] Equal to False
                        • Then - Actions
                          • Set Inventory_FindSlotBoolean[3] = True
                          • Unit - Remove Inventory_SelectedItem from the game
                          • Set Inventory_Slot_Boolean[Inventory_LoopInteger[3]] = True
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Inventory_LoopInteger[3] Greater than or equal to (1 + (-20 + (20 x Inventory_Page_Current)))
                              • Inventory_LoopInteger[3] Less than or equal to (20 + (-20 + (20 x Inventory_Page_Current)))
                            • Then - Actions
                              • Destructible - Remove Inventory_Slot_Icon[Inventory_LoopInteger[3]]
                              • Unit - Remove Inventory_Slot_Click[Inventory_LoopInteger[3]] from the game
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Inventory_LoopInteger[3] mod 20) Equal to 0
                                • Then - Actions
                                  • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[20] facing 270.00 degrees
                                • Else - Actions
                                  • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[(Inventory_LoopInteger[3] mod 20)] facing 270.00 degrees
                              • Set Inventory_Slot_Click[Inventory_LoopInteger[3]] = (Last created unit)
                              • Animation - Change Inventory_Slot_Click[Inventory_LoopInteger[3]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Inventory_LoopInteger[3] mod 20) Equal to 0
                                • Then - Actions
                                  • Destructible - Create a Item_Icon[Inventory_Shortcut_Index[Inventory_LoopInteger[2]]] at Inventory_Slot_Point[20] facing 270.00 with scale 1.00 and variation 0
                                • Else - Actions
                                  • Destructible - Create a Item_Icon[Inventory_Shortcut_Index[Inventory_LoopInteger[2]]] at Inventory_Slot_Point[(Inventory_LoopInteger[3] mod 20)] facing 270.00 with scale 1.00 and variation 0
                              • Set Inventory_Slot_Icon[Inventory_LoopInteger[3]] = (Last created destructible)
                            • Else - Actions
                          • Set Inventory_Slot_Index[Inventory_LoopInteger[3]] = Inventory_Shortcut_Index[Inventory_LoopInteger[2]]
                          • Set Inventory_Slot_Category[Inventory_LoopInteger[3]] = 9
                          • Floating Text - Change Inventory_Description_Text: Disable permanence
                          • Floating Text - Destroy Inventory_Description_Text
                          • Set Inventory_Shortcut_Boolean[Inventory_LoopInteger[2]] = False
                          • Destructible - Remove Inventory_Shortcut_Icon[Inventory_LoopInteger[2]]
                          • Set Inventory_Shortcut_Index[Inventory_LoopInteger[2]] = 0
                          • Set Inventory_Charges[Inventory_LoopInteger[3]] = Inventory_Shortcut_Charges[Inventory_LoopInteger[2]]
                          • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[3]] to (String(Inventory_Charges[Inventory_LoopInteger[3]])) using font size 6.00
                          • Set Inventory_Shortcut_Charges[Inventory_LoopInteger[2]] = 0
                        • Else - Actions
                  • Set Inventory_FindSlotBoolean[3] = False
                • Else - Actions
  • Inventory Sell
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
      • (Triggering unit) Equal to Inventory_Action_Click[4]
    • Actions
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 4, do (Actions)
        • Loop - Actions
          • Unit - Remove Inventory_Action_Click[Inventory_LoopInteger[2]] from the game
      • Selection - Clear selection for Player 1 (Red)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Inventory_SelectedItem Not equal to No unit
        • Then - Actions
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 20, do (Actions)
            • Loop - Actions
              • Unit - Remove Inventory_Swap_Click[Inventory_LoopInteger[2]] from the game
              • Set Inventory_IndexInteger = (Inventory_LoopInteger[2] + (-20 + (20 x Inventory_Page_Current)))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_SelectedItem Equal to Inventory_Slot_Click[Inventory_IndexInteger]
                  • Inventory_Slot_Category[Inventory_IndexInteger] Not equal to 0
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Slot_Category[Inventory_IndexInteger] Equal to 9
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Cooldown[Inventory_IndexInteger] Greater than 0.00
                        • Then - Actions
                          • Skip remaining actions
                        • Else - Actions
                      • Player - Add (Item_Value[Inventory_Slot_Index[Inventory_IndexInteger]] x Inventory_Charges[Inventory_IndexInteger]) to Player 1 (Red) Current gold
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Item_Value[Inventory_Slot_Index[Inventory_IndexInteger]] Equal to 0
                        • Then - Actions
                          • Skip remaining actions
                        • Else - Actions
                      • Player - Add Item_Value[Inventory_Slot_Index[Inventory_IndexInteger]] to Player 1 (Red) Current gold
                  • Set Inventory_Slot_Boolean[Inventory_IndexInteger] = False
                  • Unit - Remove Inventory_SelectedItem from the game
                  • Set Inventory_SelectedInteger = 0
                  • Destructible - Remove Inventory_Slot_Icon[Inventory_IndexInteger]
                  • Set Inventory_Charges[Inventory_IndexInteger] = 0
                  • Set Inventory_Cooldown[Inventory_IndexInteger] = 0.00
                  • Floating Text - Change text of Inventory_Charges_Text[Inventory_LoopInteger[2]] to <Empty String> using font size 7.00
                  • Floating Text - Change Inventory_Description_Text: Disable permanence
                  • Floating Text - Destroy Inventory_Description_Text
                  • Set Inventory_Slot_Category[Inventory_IndexInteger] = 0
                  • Set Inventory_Slot_Index[Inventory_IndexInteger] = 0
                • Else - Actions
        • Else - Actions
  • Inventory Swap
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
    • Actions
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 20, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Triggering unit) Equal to Inventory_Swap_Click[Inventory_LoopInteger[2]]
            • Then - Actions
              • Set Inventory_Swap_IndexInteger = (Inventory_LoopInteger[2] + (-20 + (20 x Inventory_Page_Current)))
              • For each (Integer Inventory_LoopInteger[3]) from 1 to (20 x Inventory_Page_Max), do (Actions)
                • Loop - Actions
                  • Unit - Remove Inventory_Swap_Click[Inventory_LoopInteger[3]] from the game
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_SelectedInteger Equal to Inventory_LoopInteger[3]
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Slot_Boolean[Inventory_Swap_IndexInteger] Equal to False
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Inventory_Slot_Category[Inventory_LoopInteger[3]] Equal to 9
                            • Then - Actions
                              • Set Inventory_Charges[Inventory_Swap_IndexInteger] = Inventory_Charges[Inventory_LoopInteger[3]]
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Inventory_LoopInteger[3] mod 20) Equal to 0
                                • Then - Actions
                                  • Floating Text - Change text of Inventory_Charges_Text[20] to <Empty String> using font size 6.00
                                • Else - Actions
                                  • Floating Text - Change text of Inventory_Charges_Text[(Inventory_LoopInteger[3] mod 20)] to <Empty String> using font size 6.00
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • (Inventory_Swap_IndexInteger mod 20) Equal to 0
                                • Then - Actions
                                  • Floating Text - Change text of Inventory_Charges_Text[20] to (String(Inventory_Charges[Inventory_LoopInteger[3]])) using font size 6.00
                                • Else - Actions
                                  • Floating Text - Change text of Inventory_Charges_Text[(Inventory_Swap_IndexInteger mod 20)] to (String(Inventory_Charges[Inventory_LoopInteger[3]])) using font size 6.00
                            • Else - Actions
                          • Floating Text - Change Inventory_Description_Text: Disable permanence
                          • Floating Text - Destroy Inventory_Description_Text
                          • Set Inventory_SelectedItem = No unit
                          • Set Inventory_SelectedInteger = 0
                          • Set Inventory_Slot_Index[Inventory_Swap_IndexInteger] = Inventory_Slot_Index[Inventory_LoopInteger[3]]
                          • Set Inventory_Slot_Category[Inventory_Swap_IndexInteger] = Inventory_Slot_Category[Inventory_LoopInteger[3]]
                          • Set Inventory_Slot_Boolean[Inventory_Swap_IndexInteger] = True
                          • Unit - Remove Inventory_Slot_Click[Inventory_LoopInteger[3]] from the game
                          • Destructible - Remove Inventory_Slot_Icon[Inventory_LoopInteger[3]]
                          • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[Inventory_LoopInteger[2]] facing 270.00 degrees
                          • Set Inventory_Slot_Click[Inventory_Swap_IndexInteger] = (Last created unit)
                          • Animation - Change Inventory_Slot_Click[Inventory_Swap_IndexInteger]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                          • Destructible - Create a Item_Icon[Inventory_Slot_Index[Inventory_LoopInteger[3]]] at Inventory_Slot_Point[Inventory_LoopInteger[2]] facing 270.00 with scale 1.00 and variation 0
                          • Set Inventory_Slot_Icon[Inventory_Swap_IndexInteger] = (Last created destructible)
                          • Set Inventory_Slot_Category[Inventory_LoopInteger[3]] = 0
                          • Set Inventory_Slot_Index[Inventory_LoopInteger[3]] = 0
                          • Set Inventory_Slot_Boolean[Inventory_LoopInteger[3]] = False
                          • Set Inventory_Charges[Inventory_LoopInteger[3]] = 0
                        • Else - Actions
                    • Else - Actions
            • Else - Actions
  • Inventory Clear
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
    • Conditions
    • Actions
      • Floating Text - Change Inventory_Description_Text: Disable permanence
      • Floating Text - Destroy Inventory_Description_Text
      • Set Inventory_SelectedItem = No unit
      • Set Inventory_SelectedInteger = 0
      • For each (Integer Inventory_LoopInteger[4]) from 1 to 4, do (Actions)
        • Loop - Actions
          • Unit - Remove Inventory_Action_Click[Inventory_LoopInteger[4]] from the game
      • For each (Integer Inventory_LoopInteger[4]) from 1 to 20, do (Actions)
        • Loop - Actions
          • Unit - Remove Inventory_Swap_Click[Inventory_LoopInteger[4]] from the game
  • Inventory Exit
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
      • (Triggering unit) Equal to Inventory_Action_Click[5]
    • Actions
      • Selection - Select MainUnit for Player 1 (Red)
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 20, do (Actions)
        • Loop - Actions
          • Set Inventory_IndexInteger = (Inventory_LoopInteger[2] + (-20 + (20 x Inventory_Page_Current)))
          • -------- CLEAR ICONS AND CLICK UNITS --------
          • Unit - Remove Inventory_Slot_Click[Inventory_IndexInteger] from the game
          • Destructible - Remove Inventory_Slot_Icon[Inventory_IndexInteger]
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_Slot_Category[Inventory_IndexInteger] Equal to 9
            • Then - Actions
              • Floating Text - Change Inventory_Charges_Text[Inventory_LoopInteger[2]]: Disable permanence
              • Floating Text - Destroy Inventory_Charges_Text[Inventory_LoopInteger[2]]
              • Floating Text - Change Inventory_Cooldown_Text[Inventory_LoopInteger[2]]: Disable permanence
              • Floating Text - Destroy Inventory_Cooldown_Text[Inventory_LoopInteger[2]]
            • Else - Actions
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 8, do (Actions)
        • Loop - Actions
          • Unit - Remove Inventory_Equipment_Click[Inventory_LoopInteger[2]] from the game
          • Destructible - Remove Inventory_Equipment_Icon[Inventory_LoopInteger[2]]
      • For each (Integer Inventory_LoopInteger[2]) from 1 to 5, do (Actions)
        • Loop - Actions
          • Unit - Remove Inventory_Shortcut_Click[Inventory_LoopInteger[2]] from the game
          • Destructible - Remove Inventory_Shortcut_Icon[Inventory_LoopInteger[2]]
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_SelectedItem Equal to Inventory_Shortcut_Click[Inventory_LoopInteger[2]]
            • Then - Actions
              • Set Inventory_SelectedItem = No unit
              • Set Inventory_SelectedInteger = 0
              • Unit - Remove Inventory_Action_Click[2] from the game
            • Else - Actions
      • Floating Text - Change Inventory_Page_Text: Disable permanence
      • Floating Text - Destroy Inventory_Page_Text
      • Floating Text - Change Inventory_Description_Text: Disable permanence
      • Floating Text - Destroy Inventory_Description_Text
      • Camera - Reset camera for Player 1 (Red) to standard game-view over 0.00 seconds
      • Camera - Lock camera target for Player 1 (Red) to MainUnit, offset by (0.00, 0.00) using The unit's rotation
      • Set Inventory_OpenCloseBoolean = False
      • Trigger - Turn off Inventory Camera <gen>
      • Trigger - Turn off Inventory Drop <gen>
      • Trigger - Turn off Inventory Page <gen>
      • Trigger - Turn off Inventory Select Event <gen>
      • Trigger - Turn off Inventory Shortcuts <gen>
      • Trigger - Turn off Inventory Use <gen>
      • Trigger - Turn off Inventory unUse <gen>
      • Trigger - Turn off Inventory Sell <gen>
      • Trigger - Turn off Inventory Swap <gen>
      • Trigger - Turn off Inventory Clear <gen>
      • Trigger - Turn off (This trigger)
  • Inventory Open Close Shortcut
    • Events
      • Unit - A unit Uses an item
    • Conditions
      • (Item-type of (Item being manipulated)) Equal to Open/Close Shortcut
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Inventory_Shortcut_OCBoolean Equal to False
        • Then - Actions
          • Set Inventory_Shortcut_OCBoolean = True
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 5, do (Actions)
            • Loop - Actions
              • Item - Remove (Item carried by MainUnit in slot Inventory_LoopInteger[2])
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 5, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_Shortcut_Boolean[Inventory_LoopInteger[2]] Equal to True
                • Then - Actions
                  • Hero - Create Inventory_Shortcut_LibType[Inventory_Shortcut_Index[Inventory_LoopInteger[2]]] and give it to MainUnit
                  • Set Inventory_Shortcut_Item[Inventory_LoopInteger[2]] = (Last created item)
                  • Item - Set charges remaining in Inventory_Shortcut_Item[Inventory_LoopInteger[2]] to Inventory_Shortcut_Charges[Inventory_LoopInteger[2]]
                  • Unit - Order MainUnit to move Inventory_Shortcut_Item[Inventory_LoopInteger[2]] to inventory slot Inventory_LoopInteger[2]
                • Else - Actions
        • Else - Actions
          • Set Inventory_Shortcut_OCBoolean = False
          • For each (Integer Inventory_LoopInteger[2]) from 1 to 5, do (Actions)
            • Loop - Actions
              • Item - Remove (Item carried by MainUnit in slot Inventory_LoopInteger[2])
          • Hero - Create Open Inventory and give it to MainUnit
          • Unit - Order MainUnit to move (Last created item) to inventory slot 5
  • Inventory Cooldown
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Inventory_LoopInteger[5]) from 1 to (20 x Inventory_Page_Max), do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_Slot_Category[Inventory_LoopInteger[5]] Equal to 9
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_Cooldown[Inventory_LoopInteger[5]] Greater than 0.00
                • Then - Actions
                  • Set Inventory_Cooldown[Inventory_LoopInteger[5]] = (Inventory_Cooldown[Inventory_LoopInteger[5]] - 0.10)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Cooldown[Inventory_LoopInteger[5]] Equal to 0.00
                      • Inventory_SelectedInteger Equal to Inventory_LoopInteger[5]
                    • Then - Actions
                      • For each (Integer Inventory_LoopInteger[6]) from 1 to 3, do (Actions)
                        • Loop - Actions
                          • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[Inventory_LoopInteger[6]] facing 270.00 degrees
                          • Set Inventory_Action_Click[Inventory_LoopInteger[6]] = (Last created unit)
                          • Animation - Change Inventory_Action_Click[Inventory_LoopInteger[6]]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                      • For each (Integer Inventory_LoopInteger[6]) from 1 to 20, do (Actions)
                        • Loop - Actions
                          • Set Inventory_IndexInteger = (Inventory_LoopInteger[6] + (-20 + (20 x Inventory_Page_Current)))
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Inventory_Cooldown[Inventory_IndexInteger] Equal to 0.00
                            • Then - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • Inventory_IndexInteger Not equal to Inventory_LoopInteger[5]
                                  • Inventory_Slot_Boolean[Inventory_IndexInteger] Equal to False
                                • Then - Actions
                                  • Unit - Create 1 for Neutral Passive at Inventory_Slot_Point[Inventory_LoopInteger[6]] facing 270.00 degrees
                                  • Set Inventory_Swap_Click[Inventory_LoopInteger[6]] = (Last created unit)
                                  • Animation - Change Inventory_Swap_Click[Inventory_LoopInteger[6]]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                                • Else - Actions
                            • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Slot_Click[Inventory_LoopInteger[5]] Equal to Inventory_SelectedItem
                        • Then - Actions
                          • Animation - Change Inventory_Slot_Click[Inventory_LoopInteger[5]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 75.00% transparency
                        • Else - Actions
                          • Animation - Change Inventory_Slot_Click[Inventory_LoopInteger[5]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Charges[Inventory_LoopInteger[5]] Equal to 0
                        • Then - Actions
                          • Set Inventory_Slot_Category[Inventory_LoopInteger[5]] = 0
                          • Set Inventory_Slot_Boolean[Inventory_LoopInteger[5]] = False
                          • Set Inventory_Slot_Index[Inventory_LoopInteger[5]] = 0
                          • Floating Text - Change Inventory_Description_Text: Disable permanence
                          • Floating Text - Destroy Inventory_Description_Text
                          • Unit - Remove Inventory_Slot_Click[Inventory_LoopInteger[5]] from the game
                          • Destructible - Remove Inventory_Slot_Icon[Inventory_LoopInteger[5]]
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Inventory_LoopInteger[5] mod 20) Equal to 0
                            • Then - Actions
                              • Floating Text - Change text of Inventory_Charges_Text[20] to <Empty String> using font size 7.00
                              • Floating Text - Change text of Inventory_Cooldown_Text[20] to <Empty String> using font size 7.00
                            • Else - Actions
                              • Floating Text - Change text of Inventory_Charges_Text[(Inventory_LoopInteger[5] mod 20)] to <Empty String> using font size 7.00
                              • Floating Text - Change text of Inventory_Cooldown_Text[(Inventory_LoopInteger[5] mod 20)] to <Empty String> using font size 7.00
                        • Else - Actions
                    • Else - Actions
                • Else - Actions
            • Else - Actions
      • For each (Integer Inventory_LoopInteger[5]) from 1 to 5, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_Shortcut_Cooldown[Inventory_LoopInteger[5]] Greater than 0.00
            • Then - Actions
              • Set Inventory_Shortcut_Cooldown[Inventory_LoopInteger[5]] = (Inventory_Shortcut_Cooldown[Inventory_LoopInteger[5]] - 0.10)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Inventory_Shortcut_Cooldown[Inventory_LoopInteger[5]] Equal to 0.00
                  • Inventory_SelectedInteger Equal to Inventory_LoopInteger[5]
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Shortcut_Click[Inventory_LoopInteger[5]] Equal to Inventory_SelectedItem
                    • Then - Actions
                      • Animation - Change Inventory_Shortcut_Click[Inventory_LoopInteger[5]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 75.00% transparency
                    • Else - Actions
                      • Animation - Change Inventory_Shortcut_Click[Inventory_LoopInteger[5]]'s vertex coloring to (100.00%, 100.00%, 0.00%) with 100.00% transparency
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Inventory_Shortcut_Charges[Inventory_LoopInteger[5]] Greater than 0
                    • Then - Actions
                      • Unit - Create 1 for Neutral Passive at Inventory_Action_Point[2] facing 270.00 degrees
                      • Set Inventory_Action_Click[2] = (Last created unit)
                      • Animation - Change Inventory_Action_Click[2]'s vertex coloring to (0.00%, 0.00%, 100.00%) with 75.00% transparency
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • Inventory_Shortcut_Item[Inventory_LoopInteger[5]] Equal to No item
                          • (Inventory_Shortcut_Item[Inventory_LoopInteger[5]] is hidden) Equal to True
                    • Then - Actions
                      • Item - Remove Inventory_Shortcut_Item[Inventory_LoopInteger[5]]
                      • Unit - Remove Inventory_Shortcut_Click[Inventory_LoopInteger[5]] from the game
                      • Set Inventory_Shortcut_Boolean[Inventory_LoopInteger[5]] = False
                      • Destructible - Remove Inventory_Shortcut_Icon[Inventory_LoopInteger[5]]
                      • Set Inventory_Shortcut_Index[Inventory_LoopInteger[5]] = 0
                      • Set Inventory_Shortcut_Charges[Inventory_LoopInteger[5]] = 0
                    • Else - Actions
                • Else - Actions
            • Else - Actions
      • For each (Integer Inventory_LoopInteger[5]) from 1 to 20, do (Actions)
        • Loop - Actions
          • Set Inventory_Cooldown_IndexIntegr = (Inventory_LoopInteger[5] + (-20 + (20 x Inventory_Page_Current)))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Inventory_Cooldown[Inventory_Cooldown_IndexIntegr] Greater than 0.00
            • Then - Actions
              • Floating Text - Change text of Inventory_Cooldown_Text[Inventory_LoopInteger[5]] to ((String(Inventory_Cooldown[Inventory_Cooldown_IndexIntegr], 3, 1)) + s) using font size 7.00
            • Else - Actions
              • Floating Text - Change text of Inventory_Cooldown_Text[Inventory_LoopInteger[5]] to <Empty String> using font size 7.00
  • Inventory Shortcut Use
    • Events
      • Unit - A unit Uses an item
    • Conditions
    • Actions
      • For each (Integer Inventory_LoopInteger[7]) from 1 to 5, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Item being manipulated) Equal to Inventory_Shortcut_Item[Inventory_LoopInteger[7]]
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Item_ShareCd[Inventory_Shortcut_Index[Inventory_LoopInteger[7]]] Equal to True
                • Then - Actions
                  • For each (Integer Inventory_LoopInteger[8]) from 1 to 5, do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Inventory_Slot_Index[Inventory_LoopInteger[8]] Equal to Inventory_Shortcut_Index[Inventory_LoopInteger[7]]
                        • Then - Actions
                          • Set Inventory_Shortcut_Charges[Inventory_LoopInteger[7]] = (Inventory_Shortcut_Charges[Inventory_LoopInteger[7]] - 1)
                          • Set Inventory_Shortcut_Cooldown[Inventory_LoopInteger[8]] = Item_Cooldown[Inventory_Shortcut_Index[Inventory_LoopInteger[8]]]
                        • Else - Actions
                • Else - Actions
                  • Set Inventory_Shortcut_Charges[Inventory_LoopInteger[7]] = (Inventory_Shortcut_Charges[Inventory_LoopInteger[7]] - 1)
                  • Set Inventory_Shortcut_Cooldown[Inventory_LoopInteger[7]] = Item_Cooldown[Inventory_Shortcut_Index[Inventory_LoopInteger[7]]]
            • Else - Actions

There remains an error where when consumables reach "0" on remaining charges, the shortcut at inventory wont be removed, the remaining charge at inventory window stays at "1". I still haven't found a matching condition with remaining charges equal to 0. It wont work.
Using items inside the inventory still dont give effect.



- Create new item. Give it name. Add "poofs" ability to your item.
- Set the level, not the unclassified one, to:
1 = left hand weapon
2 = right hand weapon
3 = head
4 = chest
5 = hand
6 = legs/foot
7 = ring/accesory 1
8 = earring/accesory 2
9 = consumables (potions)
10 = if you dont want that item to be created at inventory window when acquired
11 = unusable items
- Create the description. Dont need to change the goldprice.
- Create new destructible for your item icon. Just copas my destrutibles with prefix (icon). Then change the texture to your item's icon. Dont change the ID or anything else.
- Add your new item by:
> create variable with name Item_Type[index] = your item
> config the cooldown and sharedcd boolean if it's consumable
> config the effect of your items (equipment)
> config the attachment and animation tag for your equipment
> config the other that I forget to write here
- Dont forget to change the Item_Total to the highest index in your library
- You can manipulate the max page anytime.
- You can manipulate items inside the inventory by:
> setting slot index, category, and boolean for non consumables
> for consumables you need to config 1 more thing. Its inventory_charges.
> so you can manipulate the remaining charges anytime :)
> see the example at demo folder



1. Copy click unit, poofs ability, and the other UI doodads to your map
2. Copy all the regions into your map
3. Export all mdx files (except attachment models)
4. Open Terrain Editor>File>Preferences>checkmark the "Automatically create unknown variables"
5. Open trigger editor, create new variable named Inventory_LoopInteger with array. Bcos it wont normally copied from the original one.
6. Copy the Inventory folder to your map
7. reactivate all the red lines
8. Done :)



button.mdx and the other border.mdx from UHPS by -Kobas-
man in robe by diosilva16
amor3 by kitabatake
demon hunter by KayS
armagedon by KayS
lance by Usedwell
staff of ages by Usedwell
round shield by Red - I'm fallen in love with this one <3 6/5
metal boots by Astaroth Zion
helmet1.02 by (bcos the name is very random, I can't find the author)

If you think you are the creator of those models please PM


Keywords:
multiple,page,inventory,system,advanced,crozzz
Contents

Just another Warcraft III map (Map)

Status
Not open for further replies.

Kazeon

Hosted Project: EC
Level 33
Joined
Oct 12, 2011
Messages
3,449
Looks good sir, must be useful for RPG stuff.
thnks, post if you found any error

remove that silly word of yours, it's really bothering me

how much time you spend for this system? it's a long trigger
it's my signature word B/ no just kidding, I'll remove it

Just wanna say, at my record this can store more than 120 pages (120x20= 2400 items) normally, if I calculate it, it can maximumly contais max of more than 400 pages. But I haven't test it. Calculation for pages = [biggest integer that can be used for indexing (i dont know exactly about it)]/20
 
  • Set Item_Description[1] = (Externalized string(Name: Temp Sword V...))
  • Set Item_Description[2] = (Externalized string(Name: Temp Shield ...))
  • Set Item_Description[3] = (Externalized string(Name: Temp Ring Va...))
  • Set Item_Description[4] = (Externalized string(Name: Temp Potion ...))
  • Set Item_Description[5] = (Externalized string(Name: Temp Mail Va...))
  • Set Item_Description[6] = (Externalized string(Name: Temp Legs Va...))
  • Set Item_Description[7] = (Externalized string(Name: Temp Lance V...))
  • Set Item_Description[8] = (Externalized string(Name: Temp Helmet ...))
  • Set Item_Description[9] = (Externalized string(Name: Temp Gloves ...))
  • Set Item_Description[10] = (Externalized string(Name: Temp Earrings...))
  • Set Item_Description[11] = (Externalized string(Name: Temp Axe Val...))
This is actually possible to be optimized.

Edit : Max amount of index is 8192.
 

Kazeon

Hosted Project: EC
Level 33
Joined
Oct 12, 2011
Messages
3,449
Hmm.... Where's the new codes? I want to take a quick review.

Am I really need to post it now? :( its too many. Beside I haven't make the documentation.
v
v
v
v
Updated again to v1.2.3
I hope this gonna be the last little update today -.-
v
v
v
a true sadness, 4th update today :xxd::xxd:
 
Last edited by a moderator:

Kazeon

Hosted Project: EC
Level 33
Joined
Oct 12, 2011
Messages
3,449
not really :)

jake, which is better?
  • Inventory Select Event
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
      • (Triggering unit) Not equal to Inventory_Action_Click[1]
      • (Triggering unit) Not equal to Inventory_Action_Click[2]
      • (Triggering unit) Not equal to Inventory_Action_Click[3]
      • (Triggering unit) Not equal to Inventory_Action_Click[4]
      • (Triggering unit) Not equal to Inventory_Action_Click[5]
      • (Triggering unit) Not equal to Inventory_Action_Click[6]
      • (Triggering unit) Not equal to Inventory_Action_Click[7]
    • Actions
or

  • Untitled Trigger 002
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
    • Actions
      • For each (Integer Inventory_LoopInteger[1]) from 1 to 7, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Triggering unit) Equal to Inventory_Action_Click[Inventory_LoopInteger[1]]
            • Then - Actions
              • Skip remaining actions
            • Else - Actions
 
Level 20
Joined
Aug 13, 2013
Messages
1,696
Of course the second one, Anyway why did you use Array in this integer?
  • [Inventory_LoopInteger[1]]
But I'm not sure if that is better so use this safe message :
  • Custom script: call BJDebugMsg ( " Inventory_LoopInteger : " + I2S ( udg_Inventory_LoopInteger[1] ) )
 

Kazeon

Hosted Project: EC
Level 33
Joined
Oct 12, 2011
Messages
3,449
I dont know, I just prefer use one loop integer variable with array (udg_loopint[1],udg_loopint[2],udg_loopint[3]) more than like this udg_loopint1,udg_loopint2,udg_loopint3 = eat so much place, since I use 8 loop integer here.

and

  • Custom script: call BJDebugMsg ( " Inventory_LoopInteger : " + I2S ( udg_Inventory_LoopInteger[1] ) )

this is for what?

and
  • Untitled Trigger 001
    • Events
    • Conditions
    • Actions
      • Floating Text - Change Inventory_Cooldown_Text[Inventory_LoopInteger[2]]: Disable permanence
      • Floating Text - Destroy Inventory_Cooldown_Text[Inventory_LoopInteger[2]]
disabling permanence befor destroy text, is it nessesary?
 
Last edited by a moderator:
Level 20
Joined
Aug 13, 2013
Messages
1,696
About Custom Script: It will shows use a print message on the screen. It will shows you a number of a desired integer so that if you check it, it will let you know if there's anywrong in the code, but nvm.
About Floating Text: I didn't tried that destroying floating text, but maybe setting the text life span to 0.01 ( It is like generic expiration timer for units ). Anyway you've disabled the text permanent so I think it would destroy a floating text.
 

Kazeon

Hosted Project: EC
Level 33
Joined
Oct 12, 2011
Messages
3,449
only disabling floating text will destroy the text after several seconds. still we need to destroy them.
v
v
v
v
'V'
:fp: Updated to v1.2.6
Im still thinking about the suitable cool:ccool: name for this system

fuuuu.... I have just found another bugs, but sad I have to fulfill my promise to update this after moderation :(

oh gosh, I found so many bugs in my inventory recently:( why there's nobody reports anything to me? :(
 
Last edited by a moderator:
Status
Not open for further replies.
Top