@name Happy 4th of July
@inputs 
@outputs Seq C Origin:vector
@persist H:array A:array P:array Y:array Four:array
@persist T:array O:array F:array J:array U:array L:array  Exclaim:array
@persist Count Seq Character:array C Origin:vector Run
@trigger all
runOnTick(1)
#visual explosive radius is about 91 units
Rad=150
entity():setAlpha(0)
if(entity():owner():name()!="Captain Maim"){selfDestruct()}
Space=Rad*4

if(first()){
    Xoff=50
    C=1
H:setVector(C,vec(Xoff,Rad*1,Rad*1)) C++
H:setVector(C,vec(Xoff,Rad*1,Rad*1)) C++
H:setVector(C,vec(Xoff,Rad*1,Rad*0)) C++
H:setVector(C,vec(Xoff,Rad*1,Rad*-1)) C++
H:setVector(C,vec(Xoff,Rad*0,Rad*0)) C++
H:setVector(C,vec(Xoff,Rad*-1,Rad*1)) C++
H:setVector(C,vec(Xoff,Rad*-1,Rad*0)) C++
H:setVector(C,vec(Xoff,Rad*-1,Rad*-1)) C++

C=1
A:setVector(C,vec(Xoff,Rad*-1,Rad*-1)) C++
A:setVector(C,vec(Xoff,Rad*1,Rad*-1)) C++
A:setVector(C,vec(Xoff,Rad*0,Rad*1)) C++
A:setVector(C,vec(Xoff,Rad*-1,Rad*0)) C++
A:setVector(C,vec(Xoff,Rad*1,Rad*0)) C++
A:setVector(C,vec(Xoff,Rad*0,Rad*0)) C++

C=1
P:setVector(C,vec(Xoff,Rad*0,Rad*-1)) C++
P:setVector(C,vec(Xoff,Rad*0,Rad*0)) C++
P:setVector(C,vec(Xoff,Rad*0,Rad*1)) C++
P:setVector(C,vec(Xoff,Rad*1,Rad*0)) C++
P:setVector(C,vec(Xoff,Rad*1,Rad*0.5)) C++
P:setVector(C,vec(Xoff,Rad*0,Rad*0)) C++

C=1
Y:setVector(C,vec(Xoff,Rad*0,Rad*-1)) C++
Y:setVector(C,vec(Xoff,Rad*0,Rad*0)) C++
Y:setVector(C,vec(Xoff,Rad*1,Rad*1)) C++
Y:setVector(C,vec(Xoff,Rad*-1,Rad*1)) C++

C=1
Four:setVector(C,vec(Xoff,Rad*-1,Rad*0)) C++
Four:setVector(C,vec(Xoff,Rad*-1,Rad*0.5)) C++
Four:setVector(C,vec(Xoff,Rad*-1,Rad*1)) C++
Four:setVector(C,vec(Xoff,Rad*0,Rad*0)) C++
Four:setVector(C,vec(Xoff,Rad*1,Rad*0)) C++
Four:setVector(C,vec(Xoff,Rad*1,Rad*0.5)) C++
Four:setVector(C,vec(Xoff,Rad*1,Rad*1)) C++
Four:setVector(C,vec(Xoff,Rad*1,Rad*-1)) C++

C=1
T:setVector(C,vec(Xoff,Rad*1,Rad*1)) C++
T:setVector(C,vec(Xoff,Rad*0,Rad*1)) C++
T:setVector(C,vec(Xoff,Rad*-1,Rad*1)) C++
T:setVector(C,vec(Xoff,Rad*0,Rad*0)) C++
T:setVector(C,vec(Xoff,Rad*0,Rad*-1)) C++

C=1
O:setVector(C,vec(Xoff,Rad*1,Rad*0)) C++
O:setVector(C,vec(Xoff,Rad*1,Rad*0)) C++
O:setVector(C,vec(Xoff,Rad*0,Rad*1)) C++
O:setVector(C,vec(Xoff,Rad*-1,Rad*0)) C++
O:setVector(C,vec(Xoff,Rad*0,Rad*-1)) C++
O:setVector(C,vec(Xoff,Rad*-1,Rad*0)) C++

C=1
F:setVector(C,vec(Xoff,Rad*0,Rad*0)) C++
F:setVector(C,vec(Xoff,Rad*0,Rad*1)) C++
F:setVector(C,vec(Xoff,Rad*0,Rad*-1)) C++
F:setVector(C,vec(Xoff,Rad*0.5,Rad*0)) C++
F:setVector(C,vec(Xoff,Rad*0.5,Rad*1)) C++
F:setVector(C,vec(Xoff,Rad*1,Rad*1)) C++
F:setVector(C,vec(Xoff,Rad*1,Rad*0)) C++
F:setVector(C,vec(Xoff,Rad*0,Rad*0.5)) C++

C=1
J:setVector(C,vec(Xoff,Rad*1,Rad*1)) C++
J:setVector(C,vec(Xoff,Rad*1,Rad*1)) C++
J:setVector(C,vec(Xoff,Rad*1,Rad*0)) C++
J:setVector(C,vec(Xoff,Rad*1,Rad*-1)) C++
J:setVector(C,vec(Xoff,Rad*0,Rad*-1)) C++
J:setVector(C,vec(Xoff,Rad*-1,Rad*-1)) C++
J:setVector(C,vec(Xoff,Rad*-1,Rad*-0.5)) C++

C=1
U:setVector(C,vec(Xoff,Rad*1,Rad*1)) C++
U:setVector(C,vec(Xoff,Rad*1,Rad*0)) C++
U:setVector(C,vec(Xoff,Rad*1,Rad*-1)) C++
U:setVector(C,vec(Xoff,Rad*0,Rad*-1)) C++
U:setVector(C,vec(Xoff,Rad*-1,Rad*1)) C++
U:setVector(C,vec(Xoff,Rad*-1,Rad*0)) C++
U:setVector(C,vec(Xoff,Rad*-1,Rad*-1)) C++

C=1
L:setVector(C,vec(Xoff,Rad*-1,Rad*1)) C++
L:setVector(C,vec(Xoff,Rad*-1,Rad*0)) C++
L:setVector(C,vec(Xoff,Rad*-1,Rad*-1)) C++
L:setVector(C,vec(Xoff,Rad*0,Rad*-1)) C++

C=1
Exclaim:setVector(C,vec(Xoff,Rad*0,Rad*1)) C++
Exclaim:setVector(C,vec(Xoff,Rad*0,Rad*0.5)) C++
Exclaim:setVector(C,vec(Xoff,Rad*0,Rad*-1)) C++



#H A P P Y   4 T H   O F   J U L Y
#1 1 1 1 1 3  1 1 1 3 1 1 3 1 1 1 1
#1 2 3 4 5 6 7 8 9 A B C D F G H I
#8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8
Count=1
Seq=1
C=-8
Run=1
Origin=vec(-14576.4,-1750.2,4775.7)
if(map()!="gm_flatgrass"){Origin=vec(0,0,2000)}
}
Own=entity():owner()
Chat=Own:lastSaid()
Com=Chat:find("Banner")
Here=Chat:find("Here")
Go=Chat:find("Run")
Stop=Chat:find("Stop")
Die=Chat:find("Destruct")
if(Com){
if(Here){Origin=entity():owner():aimPos()}
if(Go){Run=1}
if(Stop){Run=0}
if(Die){selfDestruct()}
}#end com

On=1
if(On){
if(Run){
    Offset=vec(0,Space*C,0)

if(Seq==1){Character=H}
if(Seq==2){Character=A}
if(Seq==3){Character=P}
if(Seq==4){Character=P}
if(Seq==5){Character=Y}
if(Seq==6){Seq++ C++}
if(Seq==7){Character=Four}
if(Seq==8){Character=T}
if(Seq==9){Character=H}
if(Seq==10){Seq++ C++}
if(Seq==11){Character=O}
if(Seq==12){Character=F}
if(Seq==13){Seq++ C++}
if(Seq==14){Character=J}
if(Seq==15){Character=U}
if(Seq==16){Character=L}
if(Seq==17){Character=Y}
if(Seq==18){Character=Exclaim}
if(Seq>18){Seq=1 C=-8}

if(Count<=Character:count()){
    boom(Origin+Character:vector(Count)+Offset,1,1)
Count++
}else{Count=1 Seq++ C++}
}else{Seq=1 C=-8}


}#end On
elseif(Count<=J:count()&Run){
    boom(Origin+J:vector(Count),1,1)
Count++
}else{Count=1}
