@name Overused Skyrim Shout
@persist [PropModel ShoutName]:string
@trigger none

if(keyClk()) {
    if(owner():keyPressed("P")) {
        findInCone(owner():shootPos(),owner():eye(),1000,60)
        
        T = findResult(1)
        if(!T) {
            hint("Unable to find an object",10)
            owner():soundPlay(randint(1,100000),0,"buttons/button16.wav")
        }
        else {
            V = ((T:boxCenterW() - owner():pos()) + vec(0,0,25)):normalized()
            
            T:applyForce(V * 100000000)
        }
    }
    elseif(owner():keyPressed("I")) {
        findInCone(owner():shootPos(),owner():eye(),1000,60)
        
        T = findResult(1)
        if(!T) {
            hint("Unable to find an object",10)
            owner():soundPlay(randint(1,100000),0,"buttons/button16.wav")
        }
        else {
            V = ((T:boxCenterW() - owner():pos()) + vec(0,0,25)):normalized()
            
            T:applyForce(V * 100000000)
            
            concmd("say " + ShoutName)
        }
    }
    elseif(owner():keyPressed("O")) {
        OAP = owner():aimPos()
        Dist = OAP:distance(owner():pos())
        
        if(Dist > 500) {
            P = propSpawn(PropModel,owner():boxCenterW() + owner():eye() * 200,owner():eyeAngles():setPitch(0),0)
            P:setPos(P:pos() + vec(0,0,P:aabbMax():z()))
        }
        else {
            P = propSpawn(PropModel,OAP,owner():eyeAngles():setPitch(0),0)
            P:setPos(P:pos() + vec(0,0,P:aabbMax():z()))
        }
    }
}
elseif(chatClk(owner())) {
    LS = owner():lastSaid():lower()
    LSa = LS:explode(" ")
    
    if(LS:find("fus ro dah")) {
        findInCone(owner():shootPos(),owner():eye(),1000,60)
        
        T = findResult(1)
        if(!T) {
            hint("Unable to find an object",10)
            owner():soundPlay(randint(1,100000),0,"buttons/button16.wav")
        }
        else {
            V = ((T:boxCenterW() - owner():pos()) + vec(0,0,25)):normalized()
            
            T:applyForce(V * 100000000)
        }
    }
}
elseif(first()) {
    #Runtime
    runOnKeys(owner(),1)
    runOnChat(1)
    
    #Config
    if(!owner():isAdmin()) {
        findIncludePlayerProps(owner())
    }
    findIncludeClass("prop_*")
    
    #Startup
    PropModel = "models/props_c17/Lockers001a.mdl" #Change this if you want
    ShoutName = "FUS RO DAH!" #Change this if you want
}
