@name SteamPunkHat @persist Ind Count HE:entity SpInd SPAR:array XTime HI Ply:entity if( first() ){ Ply = owner() Ind++ holoCreate(Ind) holoPos(Ind, Ply:attachmentPos("eyes")) holoAng(Ind, Ply:attachmentAng("eyes")) holoParentAttachment(Ind, Ply, "eyes") holoAlpha(Ind,0) holoVisible( Ind, Ply, 0 ) HE = holoEntity(Ind) HI = Ind HEA = HE:angles() function part(Pos:vector,Scale:vector,Color:vector,Ang:angle,Model:string){ Ind++ holoCreate(Ind) holoPos(Ind, HE:toWorld(Pos)) holoAng(Ind, HE:toWorld(Ang)) holoModel(Ind,Model) holoScale(Ind,Scale) holoColor(Ind,Color) holoParent(Ind,HI) holoVisible( Ind, Ply, 0 ) } function pe(Pos:vector,Mdl:string,Prand:vector,SS:vector,SSrand:number,ES:vector,Vel:vector,VelRnd:vector,Time:number,SC:vector,EC:vector){ SpInd++ Rscale = random(1-SSrand,1+SSrand) part(randvec(Pos-Prand,Pos+Prand),SS*Rscale,SC,ang(),Mdl) holoAlpha(Ind,0) SPAR:pushVector(vec(Ind,Time,0)) for(I=1,SPAR:count()){ Vex = SPAR[I,vector] SPAR[I,vector] = vec(Vex:x(),Vex:y()-1,Vex:z()) Vex = SPAR[I,vector] if( Vex:y() <= 0 ){ holoDelete(Vex:x()) SPAR:remove(I) } } } function gas(Time){ XTime = Time pe(vec(-2.5,6.5,12),"hq_sphere",vec(2,2,2),vec(0.3,0.3,0.3),0.4,vec(0.5,0.5,0.5),vec(0,0,5),vec(1,1,0.5),3,vec(255,255,255),vec(255,255,255)) timer("spawner",1000/Time) } part(vec(-3,0,4),vec(1,1,0.05),vec(50,50,50),ang(),"hqcylinder") holoMaterial(Ind,"models/props_c17/FurnitureFabric003a") part(vec(-3,0,5),vec(0.7,0.7,0.2),vec(255,190,100),ang(),"hqcylinder") holoMaterial(Ind,"phoenix_storms/gear") part(vec(-3,0,8.57),vec(0.7,0.7,0.4),vec(50,50,50),ang(),"hqcylinder") holoMaterial(Ind,"models/props_c17/FurnitureFabric003a") part(vec(2.2,1.9,5.5),vec(0.2,0.2,0.2),vec(255,190,100),ang(-90,0,0),"hq_hdome_thin") holoMaterial(Ind,"phoenix_storms/gear") part(vec(2.2,-1.9,5.5),vec(0.2,0.2,0.2),vec(255,190,100),ang(-90,0,0),"hq_hdome_thin") holoMaterial(Ind,"phoenix_storms/gear") part(vec(2,1.9,5.5),vec(0.15,0.15,0.01),vec(),ang(-90,0,0),"hqcylinder") holoMaterial(Ind,"phoenix_storms/gear") part(vec(2,-1.9,5.5),vec(0.15,0.15,0.01),vec(),ang(-90,0,0),"hqcylinder") holoMaterial(Ind,"phoenix_storms/gear") part(vec(-3,5,8),vec(0.15,0.15,0.5),vec(255,190,100),ang(10,0,-20),"hqcylinder") holoMaterial(Ind,"phoenix_storms/gear") part(vec(-2.4,6.5,11.5),vec(0.3,0.3,0.2),vec(255,190,100),ang(10,0,-30),"hqcone") holoMaterial(Ind,"phoenix_storms/gear") gas(1) } if(clk("spawner")){ gas(XTime) } timer("Special",100) if(clk("Special")) { for( I=1,SPAR:count() ){ Vex = SPAR[I,vector] Hent = holoEntity(Vex:x()) holoPos(Vex:x(), Hent:pos()+vec(0,0,0.4) ) if( Vex:y() == 2 ){ SPAR[I,vector] = vec(Vex:x(),Vex:y(), clamp(Vex:z()+25,0,255)) }else{ SPAR[I,vector] = vec(Vex:x(),Vex:y(), clamp(Vex:z()-18,0,255)) } holoAlpha(Vex:x(), Vex:z()) } }