-- TODO: Use safe sandboxed environment
--require 'Scripts/safe_load.lua'

boosters = ShopGroup:create("Boosters")
boosters:setName("Boosters")
boosters:setDescription("BoostersDescription")

stack = ShopStack:create("BoosterDamage")
stack:setName("BoosterDamage")
stack:setDescription("BoosterDamageDescription")
sound = SoundComponent:create("Upgrade")
stack:addComponent("SoundComponent", sound)
upgrade = UpgradeComponent:create()
upgrade:setName("BoosterDamageVariable")
stack:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setAnimationDelayed(true)
boosterComponent:setColor(ccc3(255, 0, 72))
boosterComponent:setIconPath("buff_icon_attack.png")
stack:addComponent("BoosterComponent", boosterComponent)
boosters:getShopObjects():addObject(stack)

item = ShopItem:create("BoosterDamage0")
earn = EarnComponent:create()
earn:setRequirement(NeighbourhoodRequirement:create("Neighbourhood1")) -- Warning: Don't forget to change the rewards.lua levelRequirements
item:addComponent("EarnComponent", earn)
buy = BuyComponent:create(0)
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("200%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(10.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(MultiplyDamage:create(2.0))
trigger:addEffect(DamageBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterDamage1")
buy = BuyComponent:create(100)
buy:setRequirement(InventoryRequirement:create("BoosterDamage0", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("240%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(10.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(MultiplyDamage:create(2.4))
trigger:addEffect(DamageBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterDamage2")
buy = BuyComponent:create(200)
buy:setRequirement(InventoryRequirement:create("BoosterDamage1", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("280%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(10.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(MultiplyDamage:create(2.8))
trigger:addEffect(DamageBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterDamage3")
buy = BuyComponent:create(300)
buy:setRequirement(InventoryRequirement:create("BoosterDamage2", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("320%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(10.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(MultiplyDamage:create(3.2))
trigger:addEffect(DamageBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterDamage4")
buy = BuyComponent:create(400)
buy:setRequirement(InventoryRequirement:create("BoosterDamage3", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("360%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(10.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(MultiplyDamage:create(3.6))
trigger:addEffect(DamageBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterDamage5")
buy = BuyComponent:create(500)
buy:setRequirement(InventoryRequirement:create("BoosterDamage4", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("400%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(10.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(MultiplyDamage:create(4.0))
trigger:addEffect(DamageBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

stack = ShopStack:create("BoosterHealth")
stack:setName("BoosterHealth")
stack:setDescription("BoosterHealthDescription")
sound = SoundComponent:create("Upgrade")
stack:addComponent("SoundComponent", sound)
upgrade = UpgradeComponent:create()
upgrade:setName("BoosterHealthVariable")
stack:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setAnimationDelayed(true)
boosterComponent:setColor(ccc3(250, 0, 255))
boosterComponent:setIconPath("buff_icon_health.png")
stack:addComponent("BoosterComponent", boosterComponent)
boosters:getShopObjects():addObject(stack)

item = ShopItem:create("BoosterHealth0")
earn = EarnComponent:create()
earn:setRequirement(NeighbourhoodRequirement:create("Neighbourhood1")) -- Warning: Don't forget to change the rewards.lua levelRequirements
item:addComponent("EarnComponent", earn)
buy = BuyComponent:create(0)
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("2")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(RestoreHealth:create(2))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterHealth1")
buy = BuyComponent:create(100)
buy:setRequirement(InventoryRequirement:create("BoosterHealth0", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("3")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(RestoreHealth:create(3))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterHealth2")
buy = BuyComponent:create(200)
buy:setRequirement(InventoryRequirement:create("BoosterHealth1", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("4")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(RestoreHealth:create(4))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterHealth3")
buy = BuyComponent:create(300)
buy:setRequirement(InventoryRequirement:create("BoosterHealth2", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("5")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(RestoreHealth:create(5))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterHealth4")
buy = BuyComponent:create(400)
buy:setRequirement(InventoryRequirement:create("BoosterHealth3", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("6")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(RestoreHealth:create(6))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterHealth5")
buy = BuyComponent:create(500)
buy:setRequirement(InventoryRequirement:create("BoosterHealth4", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("7")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(RestoreHealth:create(7))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)


stack = ShopStack:create("BoosterCombo")
stack:setName("BoosterCombo")
stack:setDescription("BoosterComboDescription")
sound = SoundComponent:create("Upgrade")
stack:addComponent("SoundComponent", sound)
upgrade = UpgradeComponent:create()
upgrade:setName("BoosterComboVariable")
stack:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setAnimationDelayed(true)
boosterComponent:setColor(ccc3(70, 255, 251))
boosterComponent:setIconPath("buff_icon_special.png")
stack:addComponent("BoosterComponent", boosterComponent)
boosters:getShopObjects():addObject(stack)

item = ShopItem:create("BoosterCombo0")
earn = EarnComponent:create()
earn:setRequirement(NeighbourhoodRequirement:create("Neighbourhood3")) -- Warning: Don't forget to change the rewards.lua levelRequirements
item:addComponent("EarnComponent", earn)
buy = BuyComponent:create(0)
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("25%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(ActivateSpecial:create(0.25))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterCombo1")
buy = BuyComponent:create(100)
buy:setRequirement(InventoryRequirement:create("BoosterCombo0", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("35%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(ActivateSpecial:create(0.35))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterCombo2")
buy = BuyComponent:create(200)
buy:setRequirement(InventoryRequirement:create("BoosterCombo1", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("45%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(ActivateSpecial:create(0.45))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterCombo3")
buy = BuyComponent:create(300)
buy:setRequirement(InventoryRequirement:create("BoosterCombo2", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("55%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(ActivateSpecial:create(0.55))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterCombo4")
buy = BuyComponent:create(400)
buy:setRequirement(InventoryRequirement:create("BoosterCombo3", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("65%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(ActivateSpecial:create(0.65))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterCombo5")
buy = BuyComponent:create(500)
buy:setRequirement(InventoryRequirement:create("BoosterCombo4", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("75%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(ActivateSpecial:create(0.75))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

stack = ShopStack:create("BoosterBomb")
stack:setName("BoosterBomb")
stack:setDescription("BoosterBombDescription")
sound = SoundComponent:create("Upgrade")
stack:addComponent("SoundComponent", sound)
upgrade = UpgradeComponent:create()
upgrade:setName("BoosterBombVariable")
stack:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setAnimationDelayed(false)
boosterComponent:setColor(ccc3(255, 252, 0))
boosterComponent:setIconPath("buff_icon_bomb.png")
stack:addComponent("BoosterComponent", boosterComponent)
boosters:getShopObjects():addObject(stack)

item = ShopItem:create("BoosterBomb0")
earn = EarnComponent:create()
earn:setRequirement(NeighbourhoodRequirement:create("Neighbourhood5")) -- Warning: Don't forget to change the rewards.lua levelRequirements
item:addComponent("EarnComponent", earn)
buy = BuyComponent:create(0)
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("100%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(BoosterBomb:create(1.0))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterBomb1")
buy = BuyComponent:create(100)
buy:setRequirement(InventoryRequirement:create("BoosterBomb0", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("140%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(BoosterBomb:create(1.4))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterBomb2")
buy = BuyComponent:create(200)
buy:setRequirement(InventoryRequirement:create("BoosterBomb1", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("180%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(BoosterBomb:create(1.8))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterBomb3")
buy = BuyComponent:create(300)
buy:setRequirement(InventoryRequirement:create("BoosterBomb2", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("220%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(BoosterBomb:create(2.2))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterBomb4")
buy = BuyComponent:create(400)
buy:setRequirement(InventoryRequirement:create("BoosterBomb3", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("260%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(BoosterBomb:create(2.6))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterBomb5")
buy = BuyComponent:create(500)
buy:setRequirement(InventoryRequirement:create("BoosterBomb4", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("300%")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(0.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(BoosterBomb:create(3.0))
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

stack = ShopStack:create("BoosterMagnet")
stack:setName("BoosterMagnet")
stack:setDescription("BoosterMagnetDescription")
sound = SoundComponent:create("Upgrade")
stack:addComponent("SoundComponent", sound)
upgrade = UpgradeComponent:create()
upgrade:setName("BoosterMagnetVariable")
stack:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setAnimationDelayed(true)
boosterComponent:setColor(ccc3(255, 120, 0))
boosterComponent:setIconPath("buff_icon_magnet.png")
stack:addComponent("BoosterComponent", boosterComponent)
boosters:getShopObjects():addObject(stack)

item = ShopItem:create("BoosterMagnet0")
earn = EarnComponent:create()
earn:setRequirement(NeighbourhoodRequirement:create("Neighbourhood7")) -- Warning: Don't forget to change the rewards.lua levelRequirements
item:addComponent("EarnComponent", earn)
buy = BuyComponent:create(0)
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("10")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(10.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(AddPickupRadius:create(500.0))
trigger:addEffect(MagnetBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterMagnet1")
buy = BuyComponent:create(100)
buy:setRequirement(InventoryRequirement:create("BoosterMagnet0", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("12")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(12.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(AddPickupRadius:create(500.0))
trigger:addEffect(MagnetBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterMagnet2")
buy = BuyComponent:create(200)
buy:setRequirement(InventoryRequirement:create("BoosterMagnet1", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("14")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(14.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(AddPickupRadius:create(500.0))
trigger:addEffect(MagnetBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterMagnet3")
buy = BuyComponent:create(300)
buy:setRequirement(InventoryRequirement:create("BoosterMagnet2", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("16")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(16.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(AddPickupRadius:create(500.0))
trigger:addEffect(MagnetBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterMagnet4")
buy = BuyComponent:create(400)
buy:setRequirement(InventoryRequirement:create("BoosterMagnet3", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("18")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(18.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(AddPickupRadius:create(500.0))
trigger:addEffect(MagnetBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterMagnet5")
buy = BuyComponent:create(500)
buy:setRequirement(InventoryRequirement:create("BoosterMagnet4", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("20")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(20.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(AddPickupRadius:create(500.0))
trigger:addEffect(MagnetBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

stack = ShopStack:create("BoosterInvulnerability")
stack:setName("BoosterInvulnerability")
stack:setDescription("BoosterInvulnerabilityDescription")
sound = SoundComponent:create("Upgrade")
stack:addComponent("SoundComponent", sound)
upgrade = UpgradeComponent:create()
upgrade:setName("BoosterInvulnerabilityVariable")
stack:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setAnimationDelayed(true)
boosterComponent:setColor(ccc3(150, 255, 0))
boosterComponent:setIconPath("buff_icon_invulnerability.png")
stack:addComponent("BoosterComponent", boosterComponent)
boosters:getShopObjects():addObject(stack)

item = ShopItem:create("BoosterInvulnerability0")
earn = EarnComponent:create()
earn:setRequirement(NeighbourhoodRequirement:create("Neighbourhood9")) -- Warning: Don't forget to change the rewards.lua levelRequirements
item:addComponent("EarnComponent", earn)
buy = BuyComponent:create(0)
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("10")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(10.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(InvulnerabilityBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterInvulnerability1")
buy = BuyComponent:create(100)
buy:setRequirement(InventoryRequirement:create("BoosterInvulnerability0", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("12")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(12.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(InvulnerabilityBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterInvulnerability2")
buy = BuyComponent:create(200)
buy:setRequirement(InventoryRequirement:create("BoosterInvulnerability1", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("14")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(14.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(InvulnerabilityBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterInvulnerability3")
buy = BuyComponent:create(300)
buy:setRequirement(InventoryRequirement:create("BoosterInvulnerability2", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("16")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(16.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(InvulnerabilityBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterInvulnerability4")
buy = BuyComponent:create(400)
buy:setRequirement(InventoryRequirement:create("BoosterInvulnerability3", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("18")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(18.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(InvulnerabilityBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

item = ShopItem:create("BoosterInvulnerability5")
buy = BuyComponent:create(500)
buy:setRequirement(InventoryRequirement:create("BoosterInvulnerability4", 1))
item:addComponent("BuyComponent", buy)
upgrade = UpgradeComponent:create()
upgrade:setValue("20")
item:addComponent("UpgradeComponent", upgrade)
boosterComponent = BoosterComponent:create()
boosterComponent:setDuration(20.0)
item:addComponent("BoosterComponent", boosterComponent)
trigger = ActiveTrigger:create("PickedUp")
trigger:addEffect(InvulnerabilityBoosterEffect:create())
item:getTriggerDispatcher():addActiveTrigger(trigger)
stack:getShopItems():addObject(item)

return boosters
