@name EGP Troll
@inputs S:wirelink 
@outputs User:entity 
@persist A [CornerPos1 CornerPos2]:vector 
@trigger 
#runOnTick(1)
interval(80)

if (first()) {
    Scale = vec(3,2,4) * 12
    
    Door = holoCreate(1)
    
    holoScaleUnits(1,Scale)
    holoPos(1,entity():toWorld(vec(0,-14,25)))
    holoColor(1,vec(255,255,255),255)
    holoParent(1,entity())
    
    #Scale = Door:aabbSize()
    #Scale = Door:boxSize()
    
    CornerPos1 = Scale / 2
    CornerPos2 = -CornerPos1
    
    CornerPos1 = Door:toWorld(CornerPos1)
    CornerPos2 = Door:toWorld(CornerPos2)
    
    CornerScale = vec() + 1
    
    holoCreate(2)
    holoPos(2,CornerPos1)
    holoScaleUnits(2,CornerScale)
    holoParent(2, Door)
    
    holoCreate(3)
    holoPos(3,CornerPos2)
    holoScaleUnits(3,CornerScale)
    holoParent(3, Door)
    
    for (I = 1,3) {holoColor(I,vec(),0)}
    
    S:egpBox(1,vec2(256,256),vec2(512,512))
    S:egpColor(1,vec(0,0,0))
    
    S:egpBox(2,vec2(16,16),vec2(112,912))
    S:egpMaterial(2,"vgui/button_central_disabled")
    S:egpAngle(2,-45)
    
    S:egpBox(3,vec2(76,76),vec2(112,912))
    S:egpMaterial(3,"vgui/button_central_disabled")
    S:egpAngle(3,-45)
    
    S:egpBox(4,vec2(136,136),vec2(112,912))
    S:egpMaterial(4,"vgui/button_central_disabled")
    S:egpAngle(4,-45)
    
    S:egpBox(5,vec2(196,196),vec2(112,912))
    S:egpMaterial(5,"vgui/button_central_disabled")
    S:egpAngle(5,-45)
    
    S:egpBox(6,vec2(256,256),vec2(112,912))
    S:egpMaterial(6,"vgui/button_central_disabled")
    S:egpAngle(6,-45)
    
    S:egpBox(7,vec2(316,316),vec2(112,912))
    S:egpMaterial(7,"vgui/button_central_disabled")
    S:egpAngle(7,-45)
    
    S:egpBox(8,vec2(376,376),vec2(112,912))
    S:egpMaterial(8,"vgui/button_central_disabled")
    S:egpAngle(8,-45)
    
    S:egpBox(9,vec2(436,436),vec2(112,912))
    S:egpMaterial(9,"vgui/button_central_disabled")
    S:egpAngle(9,-45)
    
    S:egpBox(10,vec2(496,496),vec2(112,912))
    S:egpMaterial(10,"vgui/button_central_disabled")
    S:egpAngle(10,-45)
    
    S:egpRoundedBox(11,vec2(256,256),vec2(402,102))
    S:egpColor(11,vec(25,25,25))
    S:egpAlpha(11,0)
    
    S:egpRoundedBox(12,vec2(256,256),vec2(412,112))
    S:egpColor(12,vec(85,85,85))
    S:egpAlpha(12,0)
    
    S:egpBox(13,vec2(256,236),vec2(452,112))
    S:egpMaterial(13,"vgui/button_central_disabled")
    S:egpAlpha(13,255)
    
    S:egpText(14,"Please, step forward.",vec2(256,256))
    S:egpSize(14,40)
    S:egpAlign(14,1,2)
    S:egpAlpha(14,255)
    
    S:egpText(15,"Get ready!",vec2(256,256))
    S:egpSize(15,40)
    S:egpAlign(15,1,1)
    S:egpAlpha(15,0)
    
    timer("Bye",3000)
}

if (clk("Bye")) {
    S:egpText(16,"BYE!",vec2(256,256))
    S:egpSize(16,40)
    S:egpAlign(16,1,1)
    S:egpAlpha(15,0)
    S:egpAlpha(16,255)
    
    User:teleport(vec(0,0,9899))
    
    print(User:name()+" fell for your trap.")
}

findInBox(CornerPos1,CornerPos2)
findIncludeClass("player")
User = findClosest(holoEntity(1):pos())

if(User:isPlayer()) {A = 1}
else {A = 0}

if(changed(A) & !first()) {
    if(A == 1) {
        S:egpAlpha(11,100)
        
        S:egpAlpha(12,100)
        
        for (I = 13,14) { S:egpAlpha(I,0) }
        
        S:egpAlpha(15,255)
        
    } else {
        S:egpAlpha(11,0)
        
        S:egpAlpha(12,0)
        
        for (I2 = 13,14) { S:egpAlpha(I2,255) }
        
        S:egpAlpha(15,0)
        
        S:egpAlpha(16,0)
    }
}

