@name Supercharger v6 Design4
@inputs 
@outputs 
@persist ThrottleBodies Gear Size 
interval(10)
if(first() | dupefinished()){
    Size = 1
    
    holoCreate(1)
    holoCreate(2)
    holoCreate(3)
    holoCreate(4)
    holoCreate(5)
    holoCreate(6)
    holoCreate(7)
    holoCreate(8)
    holoCreate(9)
    holoCreate(10)
    holoCreate(11)
    holoCreate(12)
    holoCreate(13)
    holoCreate(14)
    holoCreate(15)
    holoCreate(16)
    holoCreate(17)
    holoCreate(18)
    holoCreate(19)
    holoCreate(20)
    holoCreate(21)
    holoCreate(22)
    holoCreate(23)
    holoCreate(24)
    holoCreate(25)
    holoCreate(26)
    holoCreate(27)
    holoCreate(28)
    holoCreate(29)
    holoCreate(30)
    holoCreate(31)
    holoCreate(32)
    holoCreate(33)
    holoCreate(34)
    holoCreate(35)
    holoCreate(36)
    holoCreate(37)
    holoCreate(38)
    holoCreate(39)
    holoCreate(40)
    holoCreate(41)
    holoCreate(42)
    holoCreate(43)
    holoCreate(44)
    holoCreate(45)
    holoCreate(46)
    holoCreate(47)
    holoCreate(48)
    holoCreate(49)
    holoCreate(50)
    holoCreate(51)
    holoCreate(52)
    holoCreate(53)
    holoCreate(54)
     
    holoModel(1, "hq_tube_thin")
    holoModel(2, "hq_hdome_thin")
    holoModel(3, "cube")
    holoModel(4, "cube")
    holoModel(5, "hq_cylinder")
    holoModel(6, "cube")
    holoModel(7, "hq_cylinder")
    holoModel(8, "hq_tube_thin")
    holoModel(9, "cube")
    holoModel(10, "cube")
    holoModel(11, "hq_cylinder")
    holoModel(12, "hq_cylinder")
    holoModel(13, "cube")
    holoModel(14, "cube")
    holoModel(15, "cube")
    holoModel(16, "cube")
    holoModel(17, "cube")
    holoModel(18, "cube")
    holoModel(19, "cube")
    holoModel(20, "hq_torus")
    holoModel(21, "hq_rcube")
    holoModel(22, "hq_cylinder")
    holoModel(23, "hq_cylinder")
    holoModel(24, "hq_cylinder")
    holoModel(25, "hq_rcube")
    holoModel(26, "hq_rcube")
    holoModel(27, "hq_rcube")
    holoModel(28, "cube")
    holoModel(29, "hq_rcube")
    holoModel(30, "hq_rcube")
    holoModel(31, "hq_rcube")
    holoModel(32, "hq_rcylinder")
    holoModel(33, "hq_torus_thin")
    holoModel(34, "hq_torus_thin")
    holoModel(35, "hq_torus_thin")
    holoModel(36, "hq_torus_thin")
    holoModel(37, "hq_torus_thin")
    holoModel(38, "hq_torus_thin")
    holoModel(39, "hq_torus_thin")
    holoModel(40, "hq_torus_thin")
    holoModel(41, "hq_torus_thin")
    holoModel(42, "hq_torus_thin")
    holoModel(43, "hq_torus_thin")
    holoModel(44, "hq_cylinder")
    holoModel(45, "models/Mechanics/gears2/gear_60t3.mdl")
    holoModel(46, "hq_cylinder")
    holoModel(47, "hq_cylinder")
    holoModel(48, "hq_cylinder")
    holoModel(49, "hq_cylinder")
    holoModel(50, "hq_rcube")
    holoModel(51, "hq_rcylinder")
    holoModel(52, "hq_cylinder")
    holoModel(53, "models/Mechanics/gears2/gear_36t3.mdl")
    holoModel(54, "hq_cylinder")
    holoModel(55, "cube")
     
    holoPos(1, entity():toWorld(vec(0, 0, 13)*Size))
    holoPos(2, entity():toWorld(vec(0, 6, 13)*Size))
    holoPos(3, entity():toWorld(vec(0,  -5.94, 13)*Size))
    holoPos(4, entity():toWorld(vec(-2.7,  -5.94, 13)*Size))
    holoPos(5, entity():toWorld(vec(-3.6,  -5.94, 13)*Size))
    holoPos(6, entity():toWorld(vec(2.7,  -5.94, 13)*Size))
    holoPos(7, entity():toWorld(vec(3.6, -5.94, 13)*Size))
    holoPos(8, entity():toWorld(vec(0, -5.94, 13)*Size))
    holoPos(9, entity():toWorld(vec(0, -5.94, 14.8)*Size))
    holoPos(10, entity():toWorld(vec(0, -5.94, 11.2)*Size))
    holoPos(11, entity():toWorld(vec(0, -5.94, 15.2)*Size))
    holoPos(12, entity():toWorld(vec(0, -5.94, 10.8)*Size))
    holoPos(13, entity():toWorld(vec(-1.655, -5.94, 13)*Size))
    holoPos(14, entity():toWorld(vec(1.655, -5.94, 13)*Size))
    holoPos(15, entity():toWorld(vec(-3.6, -5.94, 14.6)*Size))
    holoPos(16, entity():toWorld(vec(-3.6, -5.94, 11.4)*Size))
    holoPos(17, entity():toWorld(vec(3.6, -5.94, 14.6)*Size))
    holoPos(18, entity():toWorld(vec(3.6, -5.94, 11.4)*Size))
    holoPos(19, entity():toWorld(vec(0, -5.94, 13)*Size))
    holoPos(20, entity():toWorld(vec(0, -5.94, 13)*Size))
    holoPos(21, entity():toWorld(vec(0, 0, 9.8)*Size))
    holoPos(22, entity():toWorld(vec(0, 4, 9)*Size))
    holoPos(23, entity():toWorld(vec(0, 0, 9)*Size))
    holoPos(24, entity():toWorld(vec(0, -4, 9)*Size))
    holoPos(25, entity():toWorld(vec(0, 4, 7)*Size))
    holoPos(26, entity():toWorld(vec(0, 0, 7)*Size))
    holoPos(27, entity():toWorld(vec(0, -4, 7)*Size))
    holoPos(28, entity():toWorld(vec(0, 0, 6)*Size))
    holoPos(29, entity():toWorld(vec(0, 0, 5.5)*Size))
    holoPos(30, entity():toWorld(vec(0, 3, 3.4)*Size))
    holoPos(31, entity():toWorld(vec(0, -3, 3.4)*Size))
    holoPos(32, entity():toWorld(vec(0, 0, 0)*Size))
    holoPos(33, entity():toWorld(vec(0, -0.6, 0)*Size))
    holoPos(34, entity():toWorld(vec(0, 0.6, 0)*Size))
    holoPos(35, entity():toWorld(vec(0, 0, 0)*Size))
    holoPos(36, entity():toWorld(vec(0, 2.4, 0)*Size))
    holoPos(37, entity():toWorld(vec(0, 3, 0)*Size))
    holoPos(38, entity():toWorld(vec(0, 3.6, 0)*Size))
    holoPos(39, entity():toWorld(vec(0, 4.2, 0)*Size))
    holoPos(40, entity():toWorld(vec(0, -2.4, 0)*Size))
    holoPos(41, entity():toWorld(vec(0, -3, 0)*Size))
    holoPos(42, entity():toWorld(vec(0, -3.6, 0)*Size))
    holoPos(43, entity():toWorld(vec(0, -4.2, 0)*Size))
    holoPos(44, entity():toWorld(vec(2, -6, 0)*Size))
    holoPos(45, entity():toWorld(vec(2, -9.3, 0)*Size))
    holoPos(46, entity():toWorld(vec(2, -10.8, 1.3)*Size))
    holoPos(47, entity():toWorld(vec(2, -7.8, 1.3)*Size))
    holoPos(48, entity():toWorld(vec(3.5, -9.3, 1.3)*Size))
    holoPos(49, entity():toWorld(vec(0.5, -9.3, 1.3)*Size))
    holoPos(50, entity():toWorld(vec(0, 0, -3)*Size))
    holoPos(51, entity():toWorld(vec(0, 0, -5.5)*Size))
    holoPos(52, entity():toWorld(vec(0, 0, 10.5)*Size))
    holoPos(53, entity():toWorld(vec(0, 0, 11.5)*Size))
    holoPos(54, entity():toWorld(vec(0, 0, 12.5)*Size))
     
    holoAng(1, entity():toWorld(ang(0, 0, 90)))
    holoAng(2, entity():toWorld(ang(0, 0, -90)))
    holoAng(8, entity():toWorld(ang(0, 0, 90)))
    holoAng(9, entity():toWorld(ang(0, 0, 90)))
    holoAng(10, entity():toWorld(ang(0, 0, 90)))
    holoAng(11, entity():toWorld(ang(0, 0, 90)))
    holoAng(12, entity():toWorld(ang(0, 0, 90)))
    holoAng(13, entity():toWorld(ang(0, 0, 90)))
    holoAng(14, entity():toWorld(ang(0, 0, 90)))
    holoAng(15, entity():toWorld(ang(-15, 0, 90)))
    holoAng(16, entity():toWorld(ang(15, 0, 90)))
    holoAng(17, entity():toWorld(ang(15, 0, 90)))
    holoAng(18, entity():toWorld(ang(-15, 0, 90)))
    holoAng(20, entity():toWorld(ang(0, 0, 90)))
    holoAng(32, entity():toWorld(ang(0, 0, 90)))
    holoAng(33, entity():toWorld(ang(0, 0, 90)))
    holoAng(34, entity():toWorld(ang(0, 0, 90)))
    holoAng(35, entity():toWorld(ang(0, 0, 90)))
    holoAng(36, entity():toWorld(ang(0, 0, 90)))
    holoAng(37, entity():toWorld(ang(0, 0, 90)))
    holoAng(38, entity():toWorld(ang(0, 0, 90)))
    holoAng(39, entity():toWorld(ang(0, 0, 90)))
    holoAng(40, entity():toWorld(ang(0, 0, 90)))
    holoAng(41, entity():toWorld(ang(0, 0, 90)))
    holoAng(42, entity():toWorld(ang(0, 0, 90)))
    holoAng(43, entity():toWorld(ang(0, 0, 90)))
    holoAng(44, entity():toWorld(ang(0, 0, 90)))
    holoAng(51, entity():toWorld(ang(0, 0, 90)))
     
    holoScale(1, vec(1, 0.5, 1)*Size)
    holoScale(2, vec(1, 0.5, 0.5)*Size)
    holoScale(3, vec(0.25, 0.25, 0.01)*Size)
    holoScale(4, vec(0.15, 0.25, 0.01)*Size)
    holoScale(5, vec(0.21, 0.25, 0.01)*Size)
    holoScale(6, vec(0.15, 0.25, 0.01)*Size)
    holoScale(7, vec(0.21, 0.25, 0.01)*Size)
    holoScale(8, vec(0.9, 0.45, 0.01)*Size)
    holoScale(9, vec(0.7, 0.05, 0.01)*Size)
    holoScale(10, vec(0.7, 0.05, 0.01)*Size)
    holoScale(11, vec(0.6, 0.06, 0.01)*Size)
    holoScale(12, vec(0.6, 0.06, 0.01)*Size)
    holoScale(13, vec(0.026, 0.4, 0.01)*Size)
    holoScale(14, vec(0.026, 0.4, 0.01)*Size)
    holoScale(15, vec(0.07, 0.0155, 0.01)*Size)
    holoScale(16, vec(0.07, 0.0155, 0.01)*Size)
    holoScale(17, vec(0.07, 0.0155, 0.01)*Size)
    holoScale(18, vec(0.07, 0.0155, 0.01)*Size)
    holoScale(19, vec(1, 0.02, 0.02)*Size)
    holoScale(20, vec(1.075, 0.6, 1)*Size)
    holoScale(21, vec(0.5, 1, 0.1)*Size)
    holoScale(22, vec(0.3, 0.3, 0.2)*Size)
    holoScale(23, vec(0.3, 0.3, 0.2)*Size)
    holoScale(24, vec(0.3, 0.3, 0.2)*Size)
    holoScale(25, vec(0.35, 0.35, 0.2)*Size)
    holoScale(26, vec(0.35, 0.35, 0.2)*Size)
    holoScale(27, vec(0.35, 0.35, 0.2)*Size)
    holoScale(28, vec(0.41, 1.1, 0.05)*Size)
    holoScale(29, vec(0.4, 1.1, 0.2)*Size)
    holoScale(30, vec(0.38, 0.38, 0.2)*Size)
    holoScale(31, vec(0.38, 0.38, 0.2)*Size)
    holoScale(32, vec(0.8, 0.5, 1)*Size)
    holoScale(33, vec(0.85, 0.55, 0.5)*Size)
    holoScale(34, vec(0.85, 0.55, 0.5)*Size)
    holoScale(35, vec(0.85, 0.55, 0.5)*Size)
    holoScale(36, vec(0.85, 0.55, 0.5)*Size)
    holoScale(37, vec(0.85, 0.55, 0.5)*Size)
    holoScale(38, vec(0.85, 0.55, 0.5)*Size)
    holoScale(39, vec(0.85, 0.55, 0.5)*Size)
    holoScale(40, vec(0.85, 0.55, 0.5)*Size)
    holoScale(41, vec(0.85, 0.55, 0.5)*Size)
    holoScale(42, vec(0.85, 0.55, 0.5)*Size)
    holoScale(43, vec(0.85, 0.55, 0.5)*Size)
    holoScale(44, vec(0.3, 0.3, 0.3)*Size)
    holoScale(45, vec(0.035, 0.035, 0.13)*Size)
    holoScale(46, vec(0.05, 0.05, 0.07)*Size)
    holoScale(47, vec(0.05, 0.05, 0.07)*Size)
    holoScale(48, vec(0.05, 0.05, 0.07)*Size)
    holoScale(49, vec(0.05, 0.05, 0.07)*Size)
    holoScale(50, vec(0.4, 0.9, 0.2)*Size)
    holoScale(51, vec(0.7, 0.4, 1)*Size)
    holoScale(52, vec(0.45, 0.45, 0.04)*Size)
    holoScale(53, vec(0.065, 0.065, 0.07)*Size)
    holoScale(54, vec(0.45, 0.45, 0.04)*Size)
     
    holoParent(1, entity())
    holoParent(2, entity())
    holoParent(3, entity())
    holoParent(4, entity())
    holoParent(5, entity())
    holoParent(6, entity())
    holoParent(7, entity())
    holoParent(8, entity())
    holoParent(9, entity())
    holoParent(10, entity())
    holoParent(11, entity())
    holoParent(12, entity())
    holoParent(13, entity())
    holoParent(14, entity())
    holoParent(15, entity())
    holoParent(16, entity())
    holoParent(17, entity())
    holoParent(18, entity())
    holoParent(19, entity())
    holoParent(20, entity())
    holoParent(21, entity())
    holoParent(22, entity())
    holoParent(23, entity())
    holoParent(24, entity())
    holoParent(25, entity())
    holoParent(26, entity())
    holoParent(27, entity())
    holoParent(28, entity())
    holoParent(29, entity())
    holoParent(30, entity())
    holoParent(31, entity())
    holoParent(32, entity())
    holoParent(33, entity())
    holoParent(34, entity())
    holoParent(35, entity())
    holoParent(36, entity())
    holoParent(37, entity())
    holoParent(38, entity())
    holoParent(39, entity())
    holoParent(40, entity())
    holoParent(41, entity())
    holoParent(42, entity())
    holoParent(43, entity())
    holoParent(44, entity())
    holoParent(45, entity())
    holoParent(46, holoEntity(45))
    holoParent(47, holoEntity(45))
    holoParent(48, holoEntity(45))
    holoParent(49, holoEntity(45))
    holoParent(50, entity())
    holoParent(51, entity())
    holoParent(52, entity())
    holoParent(53, entity())
    holoParent(54, entity())
        #### Custom Parent ####
        holoParent(4, holoEntity(3))
        holoParent(5, holoEntity(3))
        holoParent(6, holoEntity(3))
        holoParent(7, holoEntity(3))
        holoParent(19, holoEntity(3))
     
    holoColor(1, vec(0, 0, 0))
    holoColor(2, vec(0, 0, 0))
    holoColor(3, vec(150,60, 0))
    holoColor(4, vec(150, 60, 0))
    holoColor(5, vec(150, 60, 0))
    holoColor(6, vec(150, 60, 0))
    holoColor(7, vec(150, 60, 0))
    holoColor(8, vec(0, 0, 0))
    holoColor(9, vec(0, 0, 0))
    holoColor(10, vec(0, 0, 0))
    holoColor(11, vec(0, 0, 0))
    holoColor(12, vec(0, 0, 0))
    holoColor(13, vec(0, 0, 0))
    holoColor(14, vec(0, 0, 0))
    holoColor(15, vec(0, 0, 0))
    holoColor(16, vec(0, 0, 0))
    holoColor(17, vec(0, 0, 0))
    holoColor(18, vec(0, 0, 0))
    holoColor(19, vec(0, 0, 0))
    holoColor(20, vec(0, 0, 0))
    holoColor(21, vec(0, 0, 0))
    holoColor(22, vec(150, 150, 150))
    holoColor(23, vec(150, 150, 150))
    holoColor(24, vec(150, 150, 150))
    holoColor(25, vec(150, 150, 150))
    holoColor(26, vec(150, 150, 150))
    holoColor(27, vec(150, 150, 150))
    holoColor(28, vec(150, 150, 150))
    holoColor(29, vec(150, 150, 150))
    holoColor(30, vec(150, 150, 150))
    holoColor(31, vec(150, 150, 150))
    holoColor(32, vec(150, 150, 150))
    holoColor(33, vec(150, 150, 150))
    holoColor(34, vec(150, 150, 150))
    holoColor(35, vec(150, 150, 150))
    holoColor(36, vec(150, 150, 150))
    holoColor(37, vec(150, 150, 150))
    holoColor(38, vec(150, 150, 150))
    holoColor(39, vec(150, 150, 150))
    holoColor(40, vec(150, 150, 150))
    holoColor(41, vec(150, 150, 150))
    holoColor(42, vec(150, 150, 150))
    holoColor(43, vec(150, 150, 150))
    holoColor(44, vec(150, 150, 150))
    holoColor(45, vec(150, 150, 150))
    holoColor(46, vec(150, 150, 150))
    holoColor(47, vec(150, 150, 150))
    holoColor(48, vec(150, 150, 150))
    holoColor(49, vec(150, 150, 150))
    holoColor(50, vec(150, 150, 150))
    holoColor(51, vec(150, 150, 150))
    holoColor(52, vec(150, 150, 150))
    holoColor(53, vec(255, 165, 0))
    holoColor(54, vec(150, 150, 150))
     
    holoMaterial(1, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(2, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(3, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(4, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(5, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(6, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(7, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(8, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(9, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(10, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(11, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(12, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(13, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(14, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(15, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(16, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(17, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(18, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(19, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(20, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(21, "phoenix_storms/mat/mat_phx_metallic")
    holoMaterial(22, "sprops/textures/sprops_chrome")
    holoMaterial(23, "sprops/textures/sprops_chrome")
    holoMaterial(24, "sprops/textures/sprops_chrome")
    holoMaterial(25, "sprops/textures/sprops_chrome")
    holoMaterial(26, "sprops/textures/sprops_chrome")
    holoMaterial(27, "sprops/textures/sprops_chrome")
    holoMaterial(28, "sprops/textures/sprops_chrome")
    holoMaterial(29, "sprops/textures/sprops_chrome")
    holoMaterial(30, "sprops/textures/sprops_chrome")
    holoMaterial(31, "sprops/textures/sprops_chrome")
    holoMaterial(32, "sprops/textures/sprops_chrome")
    holoMaterial(33, "sprops/textures/sprops_chrome")
    holoMaterial(34, "sprops/textures/sprops_chrome")
    holoMaterial(35, "sprops/textures/sprops_chrome")
    holoMaterial(36, "sprops/textures/sprops_chrome")
    holoMaterial(37, "sprops/textures/sprops_chrome")
    holoMaterial(38, "sprops/textures/sprops_chrome")
    holoMaterial(39, "sprops/textures/sprops_chrome")
    holoMaterial(40, "sprops/textures/sprops_chrome")
    holoMaterial(41, "sprops/textures/sprops_chrome")
    holoMaterial(42, "sprops/textures/sprops_chrome")
    holoMaterial(43, "sprops/textures/sprops_chrome")
    holoMaterial(44, "sprops/textures/sprops_chrome")
    holoMaterial(45, "sprops/textures/sprops_chrome")
    holoMaterial(46, "sprops/textures/sprops_chrome")
    holoMaterial(47, "sprops/textures/sprops_chrome")
    holoMaterial(48, "sprops/textures/sprops_chrome")
    holoMaterial(49, "sprops/textures/sprops_chrome")
    holoMaterial(50, "sprops/textures/sprops_chrome")
    holoMaterial(51, "sprops/textures/sprops_chrome")
    holoMaterial(52, "sprops/textures/sprops_chrome")
    holoMaterial(53, "phoenix_storms/concrete0")
    holoMaterial(54, "sprops/textures/sprops_chrome")
}
    ################
    # Moving holos #
    ################
    holoAng(3, entity():toWorld(ang(0, 0, 90 - ThrottleBodies)))
    holoAng(45, entity():toWorld(ang(Gear, 0, 90)))
