// ****************************************************************************
// **
// ** GENERAL AND MISCELANEOUS FUNCTIONS
// **
// ****************************************************************************
constant function ScriptSystemPeriod takes nothing returns real
return 0.01
endfunction
constant function ParticlePeriod takes nothing returns real
return 0.01
endfunction
constant function CameraPeriod takes nothing returns real
return 0.01
endfunction
function I2E takes integer i returns effect
return i
return null
endfunction
function B2I takes boolean b returns integer
if b then
return 1
endif
return 0
endfunction
function H2I takes handle h returns integer
return h
return 0
endfunction
function I2U takes integer i returns unit
return i
return null
endfunction
function H2S takes handle h returns string
return I2S( H2I( h ) )
endfunction
function DuplicateGroup takes group g returns group
return GetRandomSubGroup((CountUnitsInGroup( g )), g)
endfunction
function GC takes nothing returns gamecache
if udg_gameCache == null then
call FlushGameCache(InitGameCache( "CinemaCache" ))
set udg_gameCache = InitGameCache( "CinemaCache" )
endif
return udg_gameCache
endfunction
function MakeUnitFlyable takes unit u returns nothing
call UnitAddAbility(u, 'Amrf')
call UnitRemoveAbility(u, 'Amrf')
endfunction
function CreateActor takes player p, integer unitType returns unit
local unit u = CreateUnit(p, unitType, 0.0, 0.0, 0.0)
local integer i = 0
local integer h = H2I(u)
local string s = I2S(h)
call MakeUnitFlyable(u)
loop
set i = i + 1
exitwhen i > 4
call StoreReal( GC(), s, "colour"+I2S(i), 100.0 )
endloop
set u = null
return h
return null
endfunction
function InitCinematicSystem takes nothing returns nothing
call ExecuteFunc("ScriptSystemInit")
call ExecuteFunc("CameraSystemInit")
call ExecuteFunc("ParticleInit")
endfunction
// ****************************************************************************
// **
// ** CAMERA SYSTEM
// **
// ****************************************************************************
function CameraMainLoop takes nothing returns nothing
local real array a
local real array v
local real array s
local real array time
local integer i = 0
local gamecache g = GC()
loop
exitwhen i == 9
set i = i + 1
set time[i] = GetStoredReal( g, "camera", "time" + I2S(i) ) + CameraPeriod()
if time[i] > GetStoredReal( g, "camera", "endtime" + I2S(i) ) then
if GetStoredReal( g, "camera", "acc2" + I2S(i) ) != 0 then
call StoreReal( g, "camera", "acc" + I2S(i), GetStoredReal( g, "camera", "acc2" + I2S(i) ) )
call StoreReal( g, "camera", "startvel" + I2S(i), GetStoredReal( g, "camera", "vel" + I2S(i) ) )
call StoreReal( g, "camera", "startdis" + I2S(i), GetStoredReal( g, "camera", "dis" + I2S(i) ) )
call StoreReal( g, "camera", "time" + I2S(i), 0.00 )
call StoreReal( g, "camera", "acc2" + I2S(i), 0.00 )
set time[i] = 0.00
else
endif
endif
set a[i] = GetStoredReal( g, "camera", "acc" + I2S(i) )
set v[i] = GetStoredReal( g, "camera", "startvel" + I2S(i) )
set s[i] = GetStoredReal( g, "camera", "startdis" + I2S(i) )
call StoreReal( g, "camera", "time" + I2S(i), (time[i]) )
set s[i] = s[i] + ( v[i] * time[i] ) + ( a[i] * time[i] * time[i] / 2 )
set v[i] = v[i] + ( a[i] * time[i] )
if i > 3 and i < 7 then
if s[i] > 360 then
set s[i] = s[i] - 360
elseif s[i] < 0 then
set s[i] = s[i] + 360
endif
endif
call StoreReal( g, "camera", "vel" + I2S(i), v[i] )
call StoreReal( g, "camera", "dis" + I2S(i), s[i] )
endloop
call PanCameraToTimed( s[1], s[2], 0.00 )
call SetCameraField( CAMERA_FIELD_ZOFFSET, s[3], 0.00 )
call SetCameraField( CAMERA_FIELD_ROTATION, s[4], 0.00 )
call SetCameraField( CAMERA_FIELD_ANGLE_OF_ATTACK, s[5], 0.00 )
call SetCameraField( CAMERA_FIELD_ROLL, s[6], 0.00 )
call SetCameraField( CAMERA_FIELD_FIELD_OF_VIEW, s[7], 0.00 )
call SetCameraField( CAMERA_FIELD_FARZ, s[8], 0.00 )
call SetCameraField( CAMERA_FIELD_TARGET_DISTANCE, s[9], 0.00 )
set g = null
endfunction
function CameraStatChangeLin takes integer stat, real endvalue, real time returns nothing
local real startvalue = GetStoredReal( GC(), "camera", "dis" + I2S( stat ) )
local real distance = endvalue - startvalue
local real velocity = distance/time
call StoreReal( GC(), "camera", "startdis" + I2S( stat ), startvalue )
call StoreReal( GC(), "camera", "startvel" + I2S( stat ), velocity )
call StoreReal( GC(), "camera", "acc" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "acc2" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "time" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "endtime" + I2S( stat ), time )
endfunction
function CameraStatChangeLinRad takes integer stat, real endvalue, real time returns nothing
local real startvalue = GetStoredReal( GC(), "camera", "dis" + I2S( stat ) )
local real distance = endvalue - startvalue
local real velocity1 = distance/time
local real velocity2 = -( RSignBJ(distance) * (360 - RAbsBJ(distance)) )/time
call StoreReal( GC(), "camera", "startdis" + I2S( stat ), startvalue )
if RAbsBJ(velocity1) < RAbsBJ(velocity2) then
call StoreReal( GC(), "camera", "startvel" + I2S( stat ), velocity1 )
else
call StoreReal( GC(), "camera", "startvel" + I2S( stat ), velocity2 )
endif
call StoreReal( GC(), "camera", "acc" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "acc2" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "time" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "endtime" + I2S( stat ), time )
endfunction
function CameraStatChange takes integer stat, real endvalue, real time returns nothing
local real startvalue = GetStoredReal( GC(), "camera", "dis" + I2S( stat ) )
local real startvelocity = GetStoredReal( GC(), "camera", "vel" + I2S( stat ) )
local real distance = endvalue - startvalue
local real accel = 2 * ( distance - startvelocity * time ) / ( time * time )
call StoreReal( GC(), "camera", "startdis" + I2S( stat ), startvalue )
call StoreReal( GC(), "camera", "startvel" + I2S( stat ), startvelocity )
call StoreReal( GC(), "camera", "acc" + I2S( stat ), accel )
call StoreReal( GC(), "camera", "acc2" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "time" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "endtime" + I2S( stat ), time )
endfunction
function CameraStatChangeRad takes integer stat, real endvalue, real time returns nothing
local real startvalue = GetStoredReal( GC(), "camera", "dis" + I2S( stat ) )
local real startvelocity = GetStoredReal( GC(), "camera", "vel" + I2S( stat ) )
local real distance = endvalue - startvalue
local real accel1 = 2 * ( distance - startvelocity * time ) / ( time * time )
local real accel2 = 2 * ( -( RSignBJ(distance) * (360 - RAbsBJ(distance)) ) - startvelocity * time ) / ( time * time )
call StoreReal( GC(), "camera", "startdis" + I2S( stat ), startvalue )
call StoreReal( GC(), "camera", "startvel" + I2S( stat ), startvelocity )
if RAbsBJ(accel1) < RAbsBJ(accel2) then
call StoreReal( GC(), "camera", "acc" + I2S( stat ), accel1 )
else
call StoreReal( GC(), "camera", "acc" + I2S( stat ), accel2 )
endif
call StoreReal( GC(), "camera", "acc2" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "time" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "endtime" + I2S( stat ), time )
endfunction
function CameraStatChangeAdv takes integer stat, real endvalue, real endvelocity, real time returns nothing
local real startvalue = GetStoredReal( GC(), "camera", "dis" + I2S( stat ) )
local real startvelocity = GetStoredReal( GC(), "camera", "vel" + I2S( stat ) )
local real distance = endvalue - startvalue
local real accel1 = 4 * ( distance ) / ( time * time ) - ( endvelocity + 3 * startvelocity ) / time
local real accel2 = ( 3 * endvelocity + startvelocity ) / time - 4 * ( distance ) / ( time * time )
call StoreReal( GC(), "camera", "startdis" + I2S( stat ), startvalue )
call StoreReal( GC(), "camera", "startvel" + I2S( stat ), startvelocity )
call StoreReal( GC(), "camera", "acc" + I2S( stat ), accel1 )
call StoreReal( GC(), "camera", "time" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "endtime" + I2S( stat ), (time / 2) )
call StoreReal( GC(), "camera", "acc2" + I2S( stat ), accel2 )
endfunction
function CameraStatChangeAdvRad takes integer stat, real endvalue, real endvelocity, real time returns nothing
local real startvalue = GetStoredReal( GC(), "camera", "dis" + I2S( stat ) )
local real startvelocity = GetStoredReal( GC(), "camera", "vel" + I2S( stat ) )
local real distance = endvalue - startvalue
local real accel1 = 4 * ( distance ) / ( time * time ) - ( endvelocity + 3 * startvelocity ) / time
local real accel2 = ( 3 * endvelocity + startvelocity ) / time - 4 * ( distance ) / ( time * time )
local real accel3 = 4 * ( -( RSignBJ(distance) * (360 - RAbsBJ(distance)) ) ) / ( time * time ) - ( endvelocity + 3 * startvelocity ) / time
local real accel4 = ( 3 * endvelocity + startvelocity ) / time - 4 * ( -( RSignBJ(distance) * (360 - RAbsBJ(distance)) ) ) / ( time * time )
call StoreReal( GC(), "camera", "startdis" + I2S( stat ), startvalue )
call StoreReal( GC(), "camera", "startvel" + I2S( stat ), startvelocity )
if (RAbsBJ(accel3) + RAbsBJ(accel4)) > (RAbsBJ(accel1) + RAbsBJ(accel2)) then
call StoreReal( GC(), "camera", "acc" + I2S( stat ), accel1 )
call StoreReal( GC(), "camera", "acc2" + I2S( stat ), accel2 )
else
call StoreReal( GC(), "camera", "acc" + I2S( stat ), accel3 )
call StoreReal( GC(), "camera", "acc2" + I2S( stat ), accel4 )
endif
call StoreReal( GC(), "camera", "time" + I2S( stat ), 0.00 )
call StoreReal( GC(), "camera", "endtime" + I2S( stat ), (time / 2) )
endfunction
function ApplyCameraInstantly takes camerasetup whichSetup returns nothing
local integer i = 0
call StoreReal( GC(), "camera", "startdis1", CameraSetupGetDestPositionX( whichSetup ) )
call StoreReal( GC(), "camera", "startdis2", CameraSetupGetDestPositionY( whichSetup ) )
call StoreReal( GC(), "camera", "startdis3", CameraSetupGetField( whichSetup, CAMERA_FIELD_ZOFFSET ) )
call StoreReal( GC(), "camera", "startdis4", CameraSetupGetField( whichSetup, CAMERA_FIELD_ROTATION ) )
call StoreReal( GC(), "camera", "startdis5", CameraSetupGetField( whichSetup, CAMERA_FIELD_ANGLE_OF_ATTACK ) )
call StoreReal( GC(), "camera", "startdis6", CameraSetupGetField( whichSetup, CAMERA_FIELD_ROLL ) )
call StoreReal( GC(), "camera", "startdis7", CameraSetupGetField( whichSetup, CAMERA_FIELD_FIELD_OF_VIEW ) )
call StoreReal( GC(), "camera", "startdis8", CameraSetupGetField( whichSetup, CAMERA_FIELD_FARZ ) )
call StoreReal( GC(), "camera", "startdis9", CameraSetupGetField( whichSetup, CAMERA_FIELD_TARGET_DISTANCE ) )
loop
set i = i + 1
exitwhen i > 9
call StoreReal( GC(), "camera", "startvel" + I2S(i), 0.00 )
call StoreReal( GC(), "camera", "dis" + I2S(i), GetStoredReal(GC(),"camera","startdis"+I2S(i)) )
call StoreReal( GC(), "camera", "vel" + I2S(i), 0.00 )
call StoreReal( GC(), "camera", "acc" + I2S(i), 0.00 )
call StoreReal( GC(), "camera", "acc2" + I2S(i), 0.00 )
call StoreReal( GC(), "camera", "time" + I2S(i), 0.00 )
endloop
endfunction
function ApplyCameraLinear takes camerasetup whichSetup, real duration returns nothing
call CameraStatChangeLin(1, CameraSetupGetDestPositionX( whichSetup ), duration)
call CameraStatChangeLin(2, CameraSetupGetDestPositionY( whichSetup ), duration)
call CameraStatChangeLin(3, CameraSetupGetField( whichSetup, CAMERA_FIELD_ZOFFSET ), duration)
call CameraStatChangeLinRad(4, CameraSetupGetField( whichSetup, CAMERA_FIELD_ROTATION ), duration)
call CameraStatChangeLinRad(5, CameraSetupGetField( whichSetup, CAMERA_FIELD_ANGLE_OF_ATTACK ), duration)
call CameraStatChangeLinRad(6, CameraSetupGetField( whichSetup, CAMERA_FIELD_ROLL ), duration)
call CameraStatChangeLin(7, CameraSetupGetField( whichSetup, CAMERA_FIELD_FIELD_OF_VIEW ), duration)
call CameraStatChangeLin(8, CameraSetupGetField( whichSetup, CAMERA_FIELD_FARZ ), duration)
call CameraStatChangeLin(9, CameraSetupGetField( whichSetup, CAMERA_FIELD_TARGET_DISTANCE ), duration)
endfunction
function ApplyCameraSmooth takes camerasetup whichSetup, real duration returns nothing
call CameraStatChange(1, CameraSetupGetDestPositionX( whichSetup ), duration)
call CameraStatChange(2, CameraSetupGetDestPositionY( whichSetup ), duration)
call CameraStatChange(3, CameraSetupGetField( whichSetup, CAMERA_FIELD_ZOFFSET ), duration)
call CameraStatChangeRad(4, CameraSetupGetField( whichSetup, CAMERA_FIELD_ROTATION ), duration)
call CameraStatChangeRad(5, CameraSetupGetField( whichSetup, CAMERA_FIELD_ANGLE_OF_ATTACK ), duration)
call CameraStatChangeRad(6, CameraSetupGetField( whichSetup, CAMERA_FIELD_ROLL ), duration)
call CameraStatChange(7, CameraSetupGetField( whichSetup, CAMERA_FIELD_FIELD_OF_VIEW ), duration)
call CameraStatChange(8, CameraSetupGetField( whichSetup, CAMERA_FIELD_FARZ ), duration)
call CameraStatChange(9, CameraSetupGetField( whichSetup, CAMERA_FIELD_TARGET_DISTANCE ), duration)
endfunction
function ApplyCameraSmoothStop takes camerasetup whichSetup, real duration returns nothing
call CameraStatChangeAdv(1, CameraSetupGetDestPositionX( whichSetup ), 0.00, duration)
call CameraStatChangeAdv(2, CameraSetupGetDestPositionY( whichSetup ), 0.00, duration)
call CameraStatChangeAdv(3, CameraSetupGetField( whichSetup, CAMERA_FIELD_ZOFFSET ), 0.00, duration)
call CameraStatChangeAdvRad(4, CameraSetupGetField( whichSetup, CAMERA_FIELD_ROTATION ), 0.00, duration)
call CameraStatChangeAdvRad(5, CameraSetupGetField( whichSetup, CAMERA_FIELD_ANGLE_OF_ATTACK ), 0.00, duration)
call CameraStatChangeAdvRad(6, CameraSetupGetField( whichSetup, CAMERA_FIELD_ROLL ), 0.00, duration)
call CameraStatChangeAdv(7, CameraSetupGetField( whichSetup, CAMERA_FIELD_FIELD_OF_VIEW ), 0.00, duration)
call CameraStatChangeAdv(8, CameraSetupGetField( whichSetup, CAMERA_FIELD_FARZ ), 0.00, duration)
call CameraStatChangeAdv(9, CameraSetupGetField( whichSetup, CAMERA_FIELD_TARGET_DISTANCE ), 0.00, duration)
endfunction
function CameraSystemInit takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterTimerEventPeriodic( t, CameraPeriod() )
call TriggerAddAction( t, function CameraMainLoop )
set t = null
call ApplyCameraInstantly( GetCurrentCameraSetup() )
endfunction
// ****************************************************************************
// **
// ** PARTICLE SYSTEM
// **
// ****************************************************************************
function ParticleMove takes unit u returns nothing
local gamecache g = GC()
local string s = H2S(u)
local real x = GetStoredReal( g, s, "x" )
local real y = GetStoredReal( g, s, "y" )
local real z = 0
local real vx = GetStoredReal( g, s, "vx" )
local real vy = GetStoredReal( g, s, "vy" )
local real vz = 0
local real az = GetStoredReal( g, s, "az" )
local real slidetime = GetStoredReal( g, s, "slidetime" )
local real facing = GetStoredReal( g, s, "facing" )
local real turnrate = GetStoredReal( g, s, "turnrate" )
local real turntime = GetStoredReal( g, s, "turntime" )
local real array colour
local real array vcolour
local real colourtime = GetStoredReal( g, s, "colourtime" )
local integer i = 0
local location loc
if slidetime > 0.0 then
if az != 0 then
set z = GetStoredReal( g, s, "z" )
set vz = GetStoredReal( g, s, "vz" )
set vz = vz + az
set z = z + vz + GetStoredReal( g, s, "PrevLocz" )
endif
set slidetime = slidetime - ParticlePeriod()
set x=x+vx
set y=y+vy
if az != 0 then
set loc = Location( x,y )
set z = z - GetLocationZ( loc )
call StoreReal( g, s, "PrevLocz", GetLocationZ(loc) )
call RemoveLocation( loc )
call SetUnitFlyHeight( u, z, 0 )
endif
call SetUnitX(u,x)
call SetUnitY(u,y)
call StoreReal( g, s, "x", x)
call StoreReal( g, s, "y", y)
call StoreReal( g, s, "z", z)
call StoreReal( g, s, "vz", vz)
call StoreReal( g, s, "slidetime", slidetime)
set loc = null
endif
if turntime > 0.0 then
set facing = facing + turnrate
set turntime = turntime - ParticlePeriod()
call SetUnitFacing( u, facing )
call StoreReal( g, s, "facing", facing )
call StoreReal( g, s, "turntime", turntime )
endif
if colourtime > 0.0 then
set colourtime = colourtime - ParticlePeriod()
call StoreReal( g, s, "colourtime", colourtime )
loop
set i = i + 1
exitwhen i > 4
set colour[i] = GetStoredReal( g, s, "colour"+I2S(i) )
set vcolour[i] = GetStoredReal( g, s, "vcolour"+I2S(i) )
set colour[i] = colour[i] + vcolour[i]
call StoreReal( g, s, "colour"+I2S(i), colour[i] )
set colour[i] = I2R(PercentTo255(colour[i]))
endloop
call SetUnitVertexColor(u, R2I(colour[1]), R2I(colour[2]), R2I(colour[3]), R2I(colour[4]))
endif
if slidetime <= 0.0 and turntime <= 0.0 and colourtime <= 0.0 then
call GroupRemoveUnit(udg_particles, u)
call SetUnitFlyHeight( u, 0, 0 )
call StoreReal( g, s, "z", z)
return
endif
endfunction
function Particles takes nothing returns nothing
local group g = DuplicateGroup( udg_particles )
local unit u
loop
set u = FirstOfGroup( g )
exitwhen u == null
call GroupRemoveUnit( g, u )
call ParticleMove( u )
endloop
call DestroyGroup( g )
set u = null
set g = null
endfunction
function UnitSlide takes unit u, real destX, real destY, real duration, real g returns nothing
local real x = GetUnitX( u )
local real y = GetUnitY( u )
local string h = H2S( u )
local location loc
local real z
if duration < ParticlePeriod() then
set duration = ParticlePeriod()
endif
if g != 0 then
set loc = Location(x,y)
set z = GetLocationZ(loc)+GetStoredReal( GC(), h, "z" )
call StoreReal( GC(), h, "PrevLocz", GetLocationZ(loc) )
call RemoveLocation(loc)
set loc = Location(destX, destY)
set z = GetLocationZ(loc)-z
call RemoveLocation(loc)
set z = (g*duration/2)+(z/duration)
call StoreReal( GC(), h, "z", GetStoredReal( GC(), h, "z" ))
call StoreReal( GC(), h, "vz", (z*ParticlePeriod()))
call StoreReal( GC(), h, "az", (-g*ParticlePeriod()*ParticlePeriod()))
else
call StoreReal( GC(), h, "az", 0.00)
endif
call StoreReal( GC(), h, "x", x)
call StoreReal( GC(), h, "y", y)
set x = (destX - x)/duration*ParticlePeriod()
set y = (destY - y)/duration*ParticlePeriod()
call StoreReal( GC(), h, "vx", x)
call StoreReal( GC(), h, "vy", y)
call StoreReal( GC(), h, "slidetime", duration)
call GroupAddUnit( udg_particles, u )
set loc = null
endfunction
function UnitTurn takes unit u, real destAng, real duration, integer clockwise returns nothing
// input angle between 0.00 and 360.00 please
local real angle = GetUnitFacing(u)
local string s = H2S(u)
local real turnspeed
if duration < ParticlePeriod() then
set duration = ParticlePeriod()
endif
if clockwise > 0 and angle > destAng then
set destAng = destAng + 360.0
elseif clockwise < 0 and angle < destAng then
set destAng = destAng - 360.0
elseif clockwise == 0 then
if (angle - destAng) > 180 then
set destAng = destAng + 360
elseif (angle - destAng) < -180 then
set destAng = destAng - 360
endif
endif
set turnspeed = (destAng - angle)/duration*ParticlePeriod()
call StoreReal( GC(), s, "facing", angle )
call StoreReal( GC(), s, "turnrate", turnspeed )
call StoreReal( GC(), s, "turntime", duration )
call GroupAddUnit( udg_particles, u )
endfunction
function UnitColour takes unit u, real red, real green, real blue, real opacity, real duration returns nothing
local real array colour
local string s
local integer i = 0
if duration < ParticlePeriod() then
set duration = ParticlePeriod()
endif
set colour[1] = red
set colour[2] = green
set colour[3] = blue
set colour[4] = opacity
set s = H2S(u)
loop
set i = i + 1
exitwhen i > 4
set colour[i] = colour[i] - GetStoredReal( GC(), s, "colour"+I2S(i))
set colour[i] = colour[i] / duration * ParticlePeriod()
call StoreReal(GC(), s, "vcolour"+I2S(i), colour[i])
endloop
call StoreReal(GC(), s, "colourtime", duration)
call GroupAddUnit( udg_particles, u )
endfunction
function ParticleInit takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterTimerEventPeriodic( t, ParticlePeriod() )
call TriggerAddAction( t, function Particles )
set t = null
endfunction
// ****************************************************************************
// **
// ** SCRIPT SYSTEM
// **
// ****************************************************************************
function PlayScene takes integer scene returns nothing
call StoreInteger( GC(), "Interpreter", "Scene", scene )
call StoreReal( GC(), "Interpreter", "SceneTime", 0.00 )
call StoreInteger( GC(), "Interpreter", "PendingAction", GetStoredInteger( GC(), "Scene"+I2S(scene), "FirstSpot" ) )
endfunction
function PlaySceneFromTime takes integer scene, real time returns nothing
local string s
local integer previous = GetStoredInteger( GC(), "Scene"+I2S(scene), "LastSpot" )
if time < 0.00 then
call BJDebugMsg( "User error: negative action time" )
return
endif
loop
set s = "S"+I2S(scene)+"A"+I2S(previous)
exitwhen time > GetStoredReal( GC(), s, "Time" )
set previous = GetStoredInteger( GC(), s, "PrevAction" )
endloop
call StoreInteger( GC(), "Interpreter", "Scene", scene )
call StoreReal( GC(), "Interpreter", "SceneTime", time )
call StoreInteger( GC(), "Interpreter", "PendingAction", previous )
endfunction
function ScriptInterpreter takes nothing returns nothing
local gamecache g = GC()
local integer scene = GetStoredInteger( g, "Interpreter", "Scene" )
local integer action = GetStoredInteger( g, "Interpreter", "PendingAction" )
local real time = GetStoredReal( g, "Interpreter", "SceneTime" )
local string s
if scene == 0 then
return
endif
set time = time + ScriptSystemPeriod()
loop
set s = "S"+I2S(scene)+"A"+I2S(action)
exitwhen time < GetStoredReal( g, s, "Time" )
if action == 0 then
return
endif
call ExecuteFunc( GetStoredString( g, s, "ActionType" ) )
if scene != GetStoredInteger( g, "Interpreter", "Scene" ) then
return
endif
set action = GetStoredInteger( g, s, "NextAction" )
call StoreInteger( g, "Interpreter", "PendingAction", action )
endloop
call StoreReal( g, "Interpreter", "SceneTime", time )
endfunction
function WriteToScene takes integer scene returns nothing
call StoreInteger( GC(), "Scripter", "Scene", scene )
endfunction
function GetActionSpot takes integer scene, real time returns integer
local gamecache g = GC()
local string s
local integer previous = GetStoredInteger( g, "Scene"+I2S(scene), "LastSpot" )
local integer length = GetStoredInteger( g, "Scene"+I2S(scene), "Length" ) + 1
local integer next = 0
if time < 0.00 then
call BJDebugMsg( "User error: negative action time" )
return -1
endif
call StoreInteger( g, "Scene"+I2S(scene), "Length", length )
loop
if previous == 0 then
call StoreInteger( g, "Scene"+I2S(scene), "FirstSpot", length )
endif
set s = "S"+I2S(scene)+"A"+I2S(previous)
exitwhen time >= GetStoredReal( g, s, "Time" )
set previous = GetStoredInteger( g, s, "PrevAction" )
endloop
if previous == GetStoredInteger( g, "Scene"+I2S(scene), "LastSpot" ) then
call StoreInteger( g, "Scene"+I2S(scene), "LastSpot", length )
call StoreInteger( g, s, "NextAction", length )
else
set next = GetStoredInteger(g, s, "NextAction" )
call StoreInteger( g, s, "NextAction", length )
set s = "S"+I2S(scene)+"A"+I2S(next)
call StoreInteger( g, s, "PrevAction", length )
endif
set s = "S"+I2S(scene)+"A"+I2S(length)
call StoreInteger( g, s, "PrevAction", previous )
call StoreInteger( g, s, "NextAction", next )
return length
endfunction
// next scene
function NextScene takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
call PlayScene(scene+1)
endfunction
function ScriptNextScene takes real time returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "NextScene" )
call StoreReal( GC(), s, "Time", time )
endfunction
// external function
function ScriptExternalFunc takes real time, string funcName returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", funcName )
call StoreReal( GC(), s, "Time", time )
endfunction
// special effect
function SpecialEffectDestroy takes nothing returns nothing
local timer t = GetExpiredTimer()
local effect eff = I2E(GetStoredInteger( GC(), H2S(t), "effect" ))
call DestroyEffect( eff )
call FlushStoredMission( GC(), H2S(t) )
call DestroyTimer( t )
set t = null
set eff = null
endfunction
function SpecialEffectDestroyOverTime takes effect eff, real duration returns nothing
local timer t = CreateTimer()
call StoreInteger( GC(), H2S(t), "effect", H2I(eff) )
call TimerStart(t, duration, false, function SpecialEffectDestroy)
set t = null
endfunction
function SpecialEffectPoint takes nothing returns nothing
local effect eff = null
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local real x = GetStoredReal( GC(), s, "real1" )
local real y = GetStoredReal( GC(), s, "real2" )
local real z = GetStoredReal( GC(), s, "real3" )
local real duration = GetStoredReal( GC(), s, "real4" )
local string path = GetStoredString( GC(), s, "str1" )
local destructable d = CreateDestructableZ( 'OTip', x, y, z, 0.00, 1, 0 )
set eff = AddSpecialEffect(path, x, y)
call RemoveDestructable( d )
call SpecialEffectDestroyOverTime(eff, duration)
set d = null
set eff = null
endfunction
function ScriptPointEffect takes real time, real x, real y, real z, string path, real duration returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "SpecialEffectPoint" )
call StoreReal( GC(), s, "Time", time )
call StoreReal( GC(), s, "real1", x )
call StoreReal( GC(), s, "real2", y )
call StoreReal( GC(), s, "real3", z )
call StoreReal( GC(), s, "real4", duration )
call StoreString( GC(), s, "str1", path )
endfunction
function SpecialEffectActor takes nothing returns nothing
local effect eff = null
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer actID = GetStoredInteger( GC(), s, "actor" )
local real duration = GetStoredReal( GC(), s, "real1" )
local string path = GetStoredString( GC(), s, "str1" )
local string attPoint = GetStoredString( GC(), s, "str2" )
set eff = AddSpecialEffectTarget(path, udg_actor[actID], attPoint)
call SpecialEffectDestroyOverTime(eff, duration)
set eff = null
endfunction
function ScriptActEffect takes real time, integer actor, string path, string attachpoint, real duration returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "SpecialEffectActor" )
call StoreReal( GC(), s, "Time", time )
call StoreInteger( GC(), s, "actor", actor )
call StoreReal( GC(), s, "real1", duration )
call StoreString( GC(), s, "str1", path )
call StoreString( GC(), s, "str2", attachpoint )
endfunction
// play sound
function PlaySoundPath takes nothing returns nothing
local sound snd = null
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer volume = GetStoredInteger( GC(), s, "int1" )
local real pitch = GetStoredReal( GC(), s, "real1" )
local string path = GetStoredString( GC(), s, "str1" )
set snd = CreateSound(path, false, false, false, 10, 10, "")
call SetSoundPitch(snd, pitch)
call SetSoundVolume(snd, volume)
call StartSound(snd)
call KillSoundWhenDone(snd)
set snd = null
endfunction
function PreloadSoundPath takes nothing returns nothing
local timer t = GetExpiredTimer()
local string path = GetStoredString( GC(), H2S(t), "path" )
local sound snd = CreateSound(path, false, false, false, 10, 10, "")
call SetSoundVolume(snd, 0)
call StartSound(snd)
call KillSoundWhenDone(snd)
set snd = null
call FlushStoredMission( GC(), H2S(t) )
call DestroyTimer(t)
set t = null
endfunction
function ScriptPlaySound takes real time, string path, real pitch, integer volume returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local timer t = CreateTimer()
call StoreString( GC(), H2S(t), "path", path )
call TimerStart(t, 1.00, false, function PreloadSoundPath)
set t = null
call StoreString( GC(), s, "ActionType", "PlaySoundPath" )
call StoreReal( GC(), s, "Time", time )
call StoreReal( GC(), s, "real1", pitch )
call StoreInteger( GC(), s, "int1", volume )
call StoreString( GC(), s, "str1", path )
endfunction
// ability level
function ActorAbilityLevel takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer actID = GetStoredInteger( GC(), s, "actor" )
local integer abilityID = GetStoredInteger( GC(), s, "int1" )
local integer level = GetStoredInteger( GC(), s, "int2" )
call UnitRemoveAbility( udg_actor[actID], abilityID )
call UnitAddAbility( udg_actor[actID], abilityID )
call SetUnitAbilityLevel( udg_actor[actID], abilityID, level )
endfunction
function ScriptActAbilityLvl takes real time, integer actor, integer abilityID, integer level returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "ActorAbilityLevel" )
call StoreInteger( GC(), s, "actor", actor )
call StoreReal( GC(), s, "Time", time )
call StoreInteger( GC(), s, "int1", abilityID )
call StoreInteger( GC(), s, "int2", level )
endfunction
// play animation
function ActorPlayAnimation takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer actID = GetStoredInteger( GC(), s, "actor" )
local integer animationID = GetStoredInteger( GC(), s, "int1" )
local real animationBlend = GetStoredReal( GC(), s, "real1" )
call SetUnitBlendTime(udg_actor[actID], animationBlend)
call SetUnitAnimationByIndex( udg_actor[actID], animationID )
endfunction
function ScriptActAnimPlay takes real time, integer actor, integer animationID, real animationBlend returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "ActorPlayAnimation" )
call StoreInteger( GC(), s, "actor", actor )
call StoreReal( GC(), s, "Time", time )
call StoreInteger( GC(), s, "int1", animationID )
call StoreReal( GC(), s, "real1", animationBlend )
endfunction
function ActorResetAnimation takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer actID = GetStoredInteger( GC(), s, "actor" )
call ResetUnitAnimation( udg_actor[actID] )
endfunction
function ScriptActAnimReset takes real time, integer actor returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "ActorResetAnimation" )
call StoreInteger( GC(), s, "actor", actor )
call StoreReal( GC(), s, "Time", time )
endfunction
// animation speed
function ActorSpeedAnimation takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer actID = GetStoredInteger( GC(), s, "actor" )
local real animationSpeed = GetStoredReal( GC(), s, "real1" )
call SetUnitTimeScale( udg_actor[actID], animationSpeed )
endfunction
function ScriptActAnimSpeed takes real time, integer actor, real speed returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "ActorSpeedAnimation" )
call StoreInteger( GC(), s, "actor", actor )
call StoreReal( GC(), s, "Time", time )
call StoreReal( GC(), s, "real1", speed )
endfunction
// slide unit
function ActorSlide takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer actID = GetStoredInteger( GC(), s, "actor" )
local real destX = GetStoredReal( GC(), s, "real1" )
local real destY = GetStoredReal( GC(), s, "real2" )
local real duration = GetStoredReal( GC(), s, "real3" )
local real g = GetStoredReal( GC(), s, "real4" )
call UnitSlide( udg_actor[actID], destX, destY, duration, g )
endfunction
function ScriptActSlide takes real time, integer actor, real x, real y, real duration, real g returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "ActorSlide" )
call StoreInteger( GC(), s, "actor", actor )
call StoreReal( GC(), s, "Time", time )
call StoreReal( GC(), s, "real1", x )
call StoreReal( GC(), s, "real2", y )
call StoreReal( GC(), s, "real3", duration )
call StoreReal( GC(), s, "real4", g )
endfunction
// turn unit
function ActorTurn takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer actID = GetStoredInteger( GC(), s, "actor" )
local real destAng = GetStoredReal( GC(), s, "real1" )
local real duration = GetStoredReal( GC(), s, "real2" )
local integer clockwise = GetStoredInteger( GC(), s, "int1" )
call UnitTurn( udg_actor[actID], destAng, duration, clockwise )
endfunction
function ScriptActTurn takes real time, integer actor, real destAng, real duration, integer clockwise returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "ActorTurn" )
call StoreInteger( GC(), s, "actor", actor )
call StoreReal( GC(), s, "Time", time )
call StoreReal( GC(), s, "real1", destAng )
call StoreReal( GC(), s, "real2", duration )
call StoreInteger( GC(), s, "int1", clockwise )
endfunction
function ActorFace takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer actID = GetStoredInteger( GC(), s, "actor" )
local integer targetID = GetStoredInteger( GC(), s, "int1" )
local integer headORchest = GetStoredInteger( GC(), s, "int2" )
local real x = GetStoredReal( GC(), s, "real1" )
local real y = GetStoredReal( GC(), s, "real2" )
local real z = GetStoredReal( GC(), s, "real3" )
local real animationBlend = GetStoredReal( GC(), s, "real4" )
if headORchest == 0 then
set s = "Bone_Head"
else
set s = "Bone_Chest"
endif
call SetUnitBlendTime(udg_actor[actID], animationBlend)
call SetUnitLookAt( udg_actor[actID], s, udg_actor[targetID], x,y,z )
endfunction
function ScriptActFace takes real time, integer actor, integer destActor, integer headORchest, real xoff, real yoff, real zoff, real animationBlend returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "ActorFace" )
call StoreInteger( GC(), s, "actor", actor )
call StoreInteger( GC(), s, "int1", destActor )
call StoreInteger( GC(), s, "int2", headORchest )
call StoreReal( GC(), s, "Time", time )
call StoreReal( GC(), s, "real1", xoff )
call StoreReal( GC(), s, "real2", yoff )
call StoreReal( GC(), s, "real3", zoff )
call StoreReal( GC(), s, "real4", animationBlend )
endfunction
function ActorFaceReset takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer actID = GetStoredInteger( GC(), s, "actor" )
local real animationBlend = GetStoredReal( GC(), s, "real1" )
call SetUnitBlendTime(udg_actor[actID], animationBlend)
call ResetUnitLookAt( udg_actor[actID] )
endfunction
function ScriptActFaceReset takes real time, integer actor, real animationBlend returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "ActorFaceReset" )
call StoreInteger( GC(), s, "actor", actor )
call StoreReal( GC(), s, "Time", time )
call StoreReal( GC(), s, "real1", animationBlend )
endfunction
// vertex colouring
function ActorColour takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer actID = GetStoredInteger( GC(), s, "actor" )
local real red = GetStoredReal( GC(), s, "real1" )
local real green = GetStoredReal( GC(), s, "real2" )
local real blue = GetStoredReal( GC(), s, "real3" )
local real opacity = GetStoredReal( GC(), s, "real4" )
local real duration = GetStoredReal( GC(), s, "real5" )
call UnitColour( udg_actor[actID], red, green, blue, opacity, duration )
endfunction
function ScriptActColour takes real time, integer actor, real red, real green, real blue, real opacity, real duration returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "ActorColour" )
call StoreInteger( GC(), s, "actor", actor )
call StoreReal( GC(), s, "Time", time )
call StoreReal( GC(), s, "real1", red )
call StoreReal( GC(), s, "real2", green )
call StoreReal( GC(), s, "real3", blue )
call StoreReal( GC(), s, "real4", opacity )
call StoreReal( GC(), s, "real5", duration )
endfunction
// camera scripting
function CameraChange takes nothing returns nothing
local integer scene = GetStoredInteger( GC(), "Interpreter", "Scene" )
local integer action = GetStoredInteger( GC(), "Interpreter", "PendingAction" )
local string s = "S"+I2S(scene)+"A"+I2S(action)
local integer camID = GetStoredInteger( GC(), s, "actor" )
local integer changeType = GetStoredInteger( GC(), s, "int1" )
local real duration = GetStoredReal( GC(), s, "real1" )
if changeType == 1 then
call ApplyCameraInstantly( udg_camera[camID] )
elseif changeType == 2 then
call ApplyCameraLinear( udg_camera[camID], duration )
elseif changeType == 3 then
call ApplyCameraSmooth( udg_camera[camID], duration )
elseif changeType == 4 then
call ApplyCameraSmoothStop( udg_camera[camID], duration )
endif
endfunction
function ScriptCamera takes real time, integer camera, real duration, integer changeType returns nothing
local integer scene = GetStoredInteger( GC(), "Scripter", "Scene" )
local integer action = GetActionSpot( scene, time )
local string s = "S"+I2S(scene)+"A"+I2S(action)
call StoreString( GC(), s, "ActionType", "CameraChange" )
call StoreInteger( GC(), s, "actor", camera )
call StoreInteger( GC(), s, "int1", changeType )
call StoreReal( GC(), s, "Time", time )
call StoreReal( GC(), s, "real1", duration )
endfunction
function ScriptSystemInit takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterTimerEventPeriodic( t, ScriptSystemPeriod() )
call TriggerAddAction( t, function ScriptInterpreter )
set t = null
endfunction
Name | Type | is_array | initial_value |
actor | unit | Yes | |
camera | camerasetup | Yes | |
fireball | unit | Yes | |
fireballsize | real | No | |
gameCache | gamecache | No | |
particles | group | No | |
real | real | Yes | |
Sound | sound | Yes | |
special_effects | effect | Yes | |
tempPoint | location | No | |
tempunit | unit | No | |
u | unit | Yes |
//It's always useful to have a copy of the list of scripting functions near:
//function ScriptNextScene takes real time returns nothing
//function ScriptExternalFunc takes real time, string funcName returns nothing
//function ScriptPlaySound takes real time, string path, real pitch, integer volume returns nothing
//function ScriptPointEffect takes real time, real x, real y, real z, string path, real duration returns nothing
//function ScriptActEffect takes real time, integer actor, string path, string attachpoint, real duration returns nothing
//function ScriptActAbilityLvl takes real time, integer actor, integer abilityID, integer level returns nothing
//function ScriptActAnimPlay takes real time, integer actor, integer animationID, real animationBlend returns nothing
//function ScriptActAnimReset takes real time, integer actor returns nothing
//function ScriptActAnimSpeed takes real time, integer actor, real speed returns nothing
//function ScriptActSlide takes real time, integer actor, real x, real y, real duration, real g returns nothing
//function ScriptActTurn takes real time, integer actor, real destAng, real duration, integer clockwise returns nothing
//function ScriptActFace takes real time, integer actor, integer destActor, integer headORchest, real xoff, real yoff, real zoff, real animationBlend returns nothing
//function ScriptActFaceReset takes real time, integer actor, real animationBlend returns nothing
//function ScriptActColour takes real time, integer actor, real red, real green, real blue, real opacity, real duration returns nothing
//function ScriptCamera takes real time, integer camera, real duration, integer changeType returns nothing
function Trig_Scene1Init_Actions takes nothing returns nothing
call WriteToScene(1)
//Scene 1 //letterbox i think, (jak wakens)
call ScriptActSlide(0.0, 1, -2488, 3289, 0.0, 0)
call ScriptExternalFunc(0.0, "Trig_quote_Actions")
call ScriptActTurn(1.0, 1, 270, 0.0, 0)
call ScriptCamera(1.0, 4, 0.0, 1)
call ScriptActAnimPlay(2.0, 1, 9, 1.0)
call ScriptActAnimSpeed(4.9, 1, 0.0)
call ScriptExternalFunc(15.0, "Trig_Transmission1_Actions")
call ScriptExternalFunc(32.0, "Trig_FadeIn_Actions")
call ScriptExternalFunc(32.0, "Trig_Music7_Actions")
call ScriptCamera(34.0, 20, 7.0, 3)
call ScriptCamera(41.0, 1, 5.0, 4)
call ScriptCamera(46.0, 1, 0.0, 1)
call ScriptCamera(48.0, 5, 5.0, 4)
call ScriptExternalFunc(51.0, "Trig_Transmission2_Actions")
call ScriptExternalFunc(52.0, "Trig_fire_Actions")
call ScriptCamera(53.0, 5, 0.0, 1)
call ScriptActAnimSpeed(54.0, 1, 0.50)
call ScriptActAnimPlay(54.0, 1, 10, 1.0)
call ScriptActAnimPlay(55.3, 1, 0, 0.40)
call ScriptExternalFunc(57.0, "Trig_sound_Actions")
call ScriptExternalFunc(57.0, "Trig_Transmission3_Actions")
call ScriptActAnimPlay(59.0, 1, 5, 0.1)
call ScriptActTurn(59.1, 1, 180, 0.0, 0)
call ScriptCamera(59.5, 2, 0.0, 1)
call ScriptExternalFunc(59.5, "Trig_firedestroy_Actions")
call ScriptActSlide(59.51, 1, -2506, 3265, 0, 0)
call ScriptExternalFunc(61.0, "Trig_fires_Actions")
call ScriptCamera(62.0, 3, 6.5, 3)
call ScriptCamera(69.0, 21, 5.0, 4)
call ScriptExternalFunc(69.0, "Trig_height_Actions")
call ScriptActSlide(71.0, 2, -2488, 3289, 0.0, 0)
call ScriptActSlide(71.0, 1, 8000, 8500, 0.0, 0)
call ScriptActTurn(71.0, 2, 180, 0.0, 0)
call ScriptExternalFunc(72.0, "Trig_height_Actions")
call ScriptCamera(74.0, 21, 0.0, 1)
call ScriptActSlide(75.0, 2, -3000, 3263, 4.0, 25)
call ScriptCamera(75.0, 6, 0.0, 1)
call ScriptActSlide(79.0, 2, -4200, 3263, 8.0, 0)
call ScriptCamera(79.0, 23, 5.5, 3)
call ScriptExternalFunc(85.0, "Trig_FadeOut_Actions")
call ScriptExternalFunc(87.0, "Trig_lettertocin_Actions")
call ScriptNextScene(90.0)
call WriteToScene(2) //(bird beach intro) cin
call ScriptActSlide(0.0, 3, 3525, 4659, 0.0, 0)
call ScriptCamera(0.0, 29, 0.0, 1)
call ScriptExternalFunc(0.0, "Trig_Music_Actions")
call ScriptExternalFunc(1.0, "Trig_change_Actions")
call ScriptActTurn(2.0, 3, 250, 0.0, 0)
call ScriptExternalFunc(3.0, "Trig_FadeIn_Actions")
call ScriptCamera(4.0, 24, 8.0, 2)
call ScriptExternalFunc(4.0, "Trig_Transmission4_Actions")
call ScriptActSlide(10.0, 3, 2481, 1164, 15.5, 0)
call ScriptActAnimPlay(10.0, 3, 14, 0.1)
call ScriptExternalFunc(11.0, "Trig_sound2_Actions")
call ScriptCamera(12.0, 24, 0.0, 1)
call ScriptCamera(13.0, 26, 8.0, 4)
call ScriptCamera(21.0, 26, 0.0, 1)
call ScriptExternalFunc(22.0, "Trig_FadeOut_Actions")
call ScriptActSlide(24.0, 3, 4681, 725, 0.0, 0)
call ScriptActTurn(24.2, 3, 106, 0.0, 0)
call ScriptActAnimPlay(24.5, 3, 14, 0.1)
call ScriptExternalFunc(25.0, "Trig_FadeIn_Actions")
call ScriptCamera(25.0, 30, 0.0, 1)
call ScriptActSlide(25.0, 3, 3716, 4131, 9.0, 30)
call ScriptCamera(25.5, 31, 6.0, 4)
call ScriptCamera(31.5, 31, 0.0, 1)
call ScriptExternalFunc(30.5, "Trig_FadeOut_Actions")
call ScriptActSlide(32.0, 3, 3536, 3017, 0.0, 0)
call ScriptExternalFunc(32.0, "Trig_change_Actions")
call ScriptCamera(32.0, 32, 0.0, 1)
call ScriptActTurn(32.0, 3, 181, 0.0, 0)
call ScriptActAnimPlay(32.0, 3, 13, 0.1)
call ScriptActSlide(32.0, 3, -626, 3053, 15.0, 0)
call ScriptExternalFunc(33.0, "Trig_FadeIn_Actions")
call ScriptCamera(33.5, 28, 7.5, 4)
call ScriptCamera(38.0, 27, 3.0, 4)
call ScriptExternalFunc(38.0, "Trig_raise_Actions")
call ScriptExternalFunc(39.0, "Trig_sound2_Actions")
call ScriptCamera(41.0, 33, 3.0, 3)
call ScriptCamera(43.0, 34, 3.0, 3)
call ScriptCamera(45.0, 35, 3.0, 3)
call ScriptCamera(47.0, 36, 3.0, 3)
call ScriptCamera(49.0, 37, 3.0, 3)
call ScriptCamera(51.0, 25, 4.0, 4)
call ScriptCamera(55.0, 25, 0.0, 1)
call ScriptCamera(55.0, 38, 10.0, 4)
call ScriptCamera(65.0, 38, 0.0, 1)
call ScriptExternalFunc(65.0, "Trig_FadeOut_Actions")
call ScriptNextScene(67.0)
call WriteToScene(3) // cinmode
call ScriptCamera(0.0, 84, 0.0, 1)
call ScriptExternalFunc(0.0, "Trig_sky3_Actions")
call ScriptActSlide(0.0, 17, -1821.4, -6748, 0.0, 0)
call ScriptActSlide(0.0, 6, 925, -7278, 0.0, 0)
call ScriptActTurn(0.0, 17, 0, 0.0, 0)
call ScriptActTurn(0.0, 6, 345, 0.0, 0)
call ScriptExternalFunc(1.0, "Trig_FadeIn_Actions")
call ScriptActAnimPlay(3.0, 17, 11, 0.1)
call ScriptActSlide(3.0, 17, -259, -6810, 6.0, 0)
call ScriptCamera(6.0, 85, 5.0, 3)
call ScriptActAnimPlay(9.0, 17, 1, 0.1)
call ScriptCamera(11.0, 86, 4.0, 4)
call ScriptExternalFunc(14.7, "Trig_village_Actions")
call ScriptCamera(15.0, 87, 4.0, 3)
call ScriptCamera(19.0, 88, 4.0, 3)
call ScriptCamera(23.0, 89, 4.0, 3)
call ScriptCamera(27.0, 90, 4.0, 4)
call ScriptCamera(31.0, 91, 10.0, 4)
call ScriptExternalFunc(33.5, "Trig_Transmission17_Actions")
call ScriptActAnimPlay(34.0, 17, 11, 0.1)
call ScriptActSlide(34.0, 17, -61.2, -6684, 1.5, 0)
call ScriptActAnimPlay(35.5, 17, 1, 0.1)
call ScriptExternalFunc(37.0, "Trig_Turn_Actions")
call ScriptCamera(41.0, 91, 0.0, 1)
call ScriptActTurn(44.5, 17, 335, 0.0, 0)
call ScriptActAnimPlay(45.0, 17, 11, 0.1)
call ScriptCamera(45.0, 92, 4.0, 4)
call ScriptActSlide(45.0, 17, 772, -7239, 4.0, 0)
call ScriptActAnimPlay(49.0, 17, 1, 0.1)
call ScriptCamera(49.0, 92, 0.0, 1)
call ScriptExternalFunc(49.5, "Trig_Transmission18_Actions")
call ScriptActAnimSpeed(91.5, 17, 0.4)
call ScriptActAnimSpeed(91.5, 6, 0.4)
call ScriptCamera(91.5, 93, 12.0, 4)
call ScriptActAnimPlay(91.5, 17, 11, 0.1)
call ScriptActAnimPlay(91.5, 6, 0, 0.1)
call ScriptActSlide(91.5, 17, 684.2, -8116, 12.0, 0)
call ScriptActSlide(91.5, 6, 804, -8243, 12.0, 0)
call ScriptActAnimPlay(103.5, 17, 1, 0.1)
call ScriptActAnimPlay(103.5, 6, 1, 0.1)
call ScriptActTurn(103.5, 17, 250, 0.0, 0)
call ScriptActTurn(103.5, 6, 200, 0.0, 0)
call ScriptCamera(104.5, 94, 0.0, 1)
call ScriptCamera(104.5, 95, 3.0, 4)
call ScriptCamera(107.5, 95, 0.0, 1)
call ScriptCamera(109.5, 93, 0.0, 1)
call ScriptExternalFunc(114.0, "Trig_flashback_Actions")
call ScriptActAnimSpeed(114.5, 17, 1.0)
call ScriptActAnimSpeed(114.5, 6, 1.0)
call ScriptPlaySound(115.0, "Sound\\Ambient\\DoodadEffects\\FlashBack1Second.wav", 1.00, 100)
call ScriptNextScene(115.0)
call WriteToScene(4) //(Betryal cin)
// Scene4
call ScriptExternalFunc(0.0, "Trig_Begin_Actions")
call ScriptActSlide(0.0, 2, -3914, 522, 0.0, 0)
call ScriptActSlide(0.0, 4, -3905, 76, 0.0, 0)
call ScriptActTurn(0.0, 2, 95, 0.0, 0)
call ScriptActTurn(0.0, 4, 90, 0.0, 0)
call ScriptCamera(0.0, 15, 0.0, 1)
call ScriptActAnimPlay(4.0, 4, 1, 0.1)
call ScriptActSlide(4.0, 4, -3907, 420, 4.0, 0)
call ScriptExternalFunc(4.0, "Trig_Transmission19_Actions")
call ScriptCamera(5.0, 13, 6.0, 4)
call ScriptActAnimReset(8.0, 4)
call ScriptCamera(11.0, 13, 0.0, 1)
call ScriptActAnimSpeed(11.0, 4, 0.50)
call ScriptActAnimPlay(11.0, 4, 3, 0.1)
call ScriptActAnimPlay(13.0, 4, 2, 0.1)
call ScriptPlaySound(14.0, "Sound\\Units\\Combat\\MetalLightSliceFlesh2.wav", 1.00, 100)
call ScriptActAnimReset(14.0, 4)
call ScriptActAnimSpeed(14.0, 2, 0.30)
call ScriptActAnimSpeed(14.0, 4, 0.20)
call ScriptActEffect(14.0, 2, "Abilities\\Spells\\Other\\Stampede\\StampedeMissileDeath.mdl", "origin", 1.0)
call ScriptExternalFunc(14.0, "Trig_sound5_Actions")
call ScriptActAnimPlay(14.0, 2, 9, 0.1)
call ScriptPlaySound(14.2, "war3mapImported\\JoH_Pain1.mp3", 1.00, 100)
call ScriptActAnimSpeed(18.55, 2, 0.0)
call ScriptActAnimPlay(19.55, 4, 2, 0.1)
call ScriptExternalFunc(20.0, "Trig_sound_Actions")
call ScriptActTurn(20.85, 2, 270, 2.15, 0)
call ScriptActEffect(23.0, 2, "Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl", "origin", 1.0)
call ScriptActAnimSpeed(23.0, 2, 0.20)
call ScriptActAnimPlay(23.0, 2, 6, 0.1)
call ScriptActTurn(23.0, 5, 270, 0.0, 0)
call ScriptActAnimPlay(24.7, 4, 9, 0.1)
call ScriptActSlide(24.7, 5, -3907, 470, 0.0, 0)
call ScriptExternalFunc(24.75, "Trig_Startgrow_Actions")
call ScriptCamera(26.75, 14, 5.0, 4)
call ScriptActSlide(26.75, 4, -3905, -15, 6.0, 0)
call ScriptActSlide(26.75, 5, -3950, 50, 6.0, 0)
call ScriptExternalFunc(28.25, "Trig_fireballs_Actions")
call ScriptActEffect(31.25, 4, "Abilities\\Spells\\Human\\DivineShield\\DivineShieldTarget.mdl", "origin", 3.0)
call ScriptCamera(31.75, 14, 0.0, 1)
call ScriptActAnimSpeed(35.0, 2, 1.0)
call ScriptActAnimReset(35.0, 2)
call ScriptCamera(35.0, 17, 0.0, 1)
call ScriptExternalFunc(35.0, "Trig_Hide_Actions")
call ScriptActAnimPlay(35.0, 2, 8, 0.1)
call ScriptActEffect(36.0, 2, "Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTo.mdl", "origin", 10.5)
call ScriptCamera(38.0, 18, 2.0, 4)
call ScriptCamera(40.0, 18, 0.0, 1)
call ScriptExternalFunc(40.0, "Trig_lazy_Actions")
call ScriptCamera(42.0, 19, 0.0, 1)
call ScriptPlaySound(42.0, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget2.wav", 1.00, 100)
call ScriptPointEffect(42.0, -4218, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptPointEffect(42.0, -4152, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptPointEffect(42.0, -4082, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptPointEffect(42.0, -4020, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptPointEffect(42.0, -3954, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptPointEffect(42.0, -3888, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptPointEffect(42.0, -3822, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptPointEffect(42.0, -3756, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptPointEffect(42.0, -3690, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptPointEffect(42.0, -3624, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptPointEffect(42.0, -3588, 75, -20, "Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl", 6.0)
call ScriptExternalFunc(42.5, "Trig_firedeathanim_Actions")
call ScriptCamera(43.5, 17, 10.0, 3)
call ScriptActEffect(45.5, 2, "Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl", "origin", 3.0)
call ScriptActSlide(47.2, 2, -644, -1365, 0.0, 0)
call ScriptExternalFunc(47.0, "Trig_Transmission20_Actions")
call ScriptExternalFunc(52.0, "Trig_FadeOut_Actions")
call ScriptCamera(53.5, 17, 0.0, 1)
call ScriptActAnimPlay(54.0, 2, 0, 0.1)
call ScriptNextScene(54.0)
call WriteToScene(5) // cinmode
call ScriptExternalFunc(0.0, "Trig_killtown_Actions")
call ScriptCamera(0.0, 96, 0.0, 1)
call ScriptActAnimPlay(0.0, 6, 1, 0.1)
call ScriptActSlide(0.0, 17, 1623.6, -5748, 0.0, 0)
call ScriptActSlide(0.0, 6, 1576, -5940, 0.0, 0)
call ScriptActTurn(0.0, 17, 270, 0.0, 0)
call ScriptActTurn(0.0, 6, 90, 0.0, 0)
call ScriptExternalFunc(2.0, "Trig_Transmission21_Actions")
call ScriptExternalFunc(3.0, "Trig_FadeIn_Actions")
call ScriptCamera(17.0, 97, 0.0, 1)
call ScriptExternalFunc(33.0, "Trig_Music2_Actions")
call ScriptExternalFunc(37.0, "Trig_FadeOut_Actions")
call ScriptExternalFunc(38.0, "Trig_night_Actions")
call ScriptActSlide(38.0, 6, 1534, -6151, 0.0, 0)
call ScriptActTurn(38.0, 6, 215, 0.0, 0)
call ScriptCamera(38.0, 98, 0.0, 1)
call ScriptPlaySound(39.0, "Sound\\Time\\DuskWolf.wav", 1.00, 100)
call ScriptExternalFunc(43.0, "Trig_FadeIn_Actions")
call ScriptExternalFunc(45.0, "Trig_Transmission22_Actions")
call ScriptActAnimPlay(49.0, 6, 0, 0.1)
call ScriptActSlide(49.0, 6, 744, -6906, 5.0, 0)
call ScriptCamera(51.0, 99, 10.0, 4)
call ScriptActTurn(53.5, 6, 180, 0.0, 0)
call ScriptActSlide(54.0, 6, -770, -6917, 9.0, 0)
call ScriptCamera(61.0, 99, 0.0, 1)
call ScriptExternalFunc(63.0, "Trig_FadeOut_Actions")
call ScriptNextScene(65.0)
call WriteToScene(6) // cin mode(fight)
call ScriptExternalFunc(0.0, "Trig_sky_Actions")
call ScriptCamera(0.0, 39, 0.0, 1)
call ScriptActTurn(0.0, 6, 270, 0.0, 0)
call ScriptActSlide(0.0, 6, -8016, -4843, 0.0, 0)
call ScriptExternalFunc(1.0, "Trig_FadeIn_Actions")
call ScriptActSlide(2.0, 6, -8002, -8885, 20.0, 0)
call ScriptActAnimPlay(2.0, 6, 0, 0.1)
call ScriptCamera(4.0, 40, 8.0, 3)
call ScriptExternalFunc(4.0, "Trig_Transmission23_Actions")
call ScriptCamera(12.0, 41, 7.0, 4)
call ScriptCamera(19.0, 41, 0.0, 1)
call ScriptExternalFunc(19.0, "Trig_FadeOut_Actions")
call ScriptActSlide(20.0, 6, -6543, 7808, 0.0, 0)
call ScriptExternalFunc(20.0, "Trig_day_Actions")
call ScriptCamera(20.0, 42, 0.0, 1)
call ScriptExternalFunc(21.0, "Trig_FadeIn_Actions")
call ScriptActAnimPlay(21.0, 6, 0, 0.1)
call ScriptActTurn(21.0, 6, 180, 0.0, 0)
call ScriptActSlide(21.0, 6, -8579, 7808, 10.0, 0)
call ScriptExternalFunc(27.0, "Trig_Music3_Actions")
call ScriptCamera(27.5, 43, 0.0, 1)
call ScriptActAnimReset(31.0, 6)
call ScriptActAnimPlay(31.0, 6, 5, 0.1)
call ScriptCamera(33.0, 44, 4.0, 4)
call ScriptActAnimPlay(35.2, 6, 1, 0.1)
call ScriptCamera(37.0, 44, 0.0, 1)
call ScriptExternalFunc(37.0, "Trig_sound7_Actions")
call ScriptActSlide(43.0, 2, -7384, 7808, 0.0, 0)
call ScriptActTurn(43.0, 2, 180, 0.0, 0)
call ScriptExternalFunc(43.0, "Trig_Transmission5_Actions")
call ScriptExternalFunc(43.0, "Trig_sphere2_Actions")
call ScriptCamera(44.0, 45, 3.0, 4)
call ScriptActTurn(45.0, 6, 0, 1, 0)
call ScriptCamera(47.0, 45, 0.0, 1)
call ScriptExternalFunc(60.0, "Trig_order_Actions")
call ScriptActAnimPlay(60.0, 6, 6, 0.1)
call ScriptCamera(60.0, 46, 2.0, 4)
call ScriptCamera(62.0, 46, 0.0, 1)
call ScriptActAnimPlay(61.5, 6, 1, 0.4)
call ScriptActAnimSpeed(61.5, 6, 3.0)
call ScriptActAnimPlay(61.7, 6, 6, 0.4)
call ScriptActSlide(62.0, 6, -8400, 7397, 1.5, 600)
call ScriptPointEffect(62.5, -8579, 7808, 0, "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl", 3.0)
call ScriptPointEffect(62.5, -8529, 7808, 0, "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl", 3.0)
call ScriptPointEffect(62.5, -8629, 7808, 0, "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl", 3.0)
call ScriptPointEffect(62.5, -8579, 7858, 0, "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl", 3.0)
call ScriptPointEffect(62.5, -8579, 7758, 0, "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl", 3.0)
call ScriptActAnimSpeed(62.6, 6, 1.0)
call ScriptActAnimPlay(62.6, 6, 1, 0.5)
call ScriptActTurn(62.6, 6, 30, 0.0, 0)
call ScriptActSlide(62.6, 2, -7617, 8031, 0.0, 0)
call ScriptActTurn(62.6, 2, 240, 0.0, 0)
call ScriptCamera(64.0, 47, 1.5, 4)
call ScriptActAnimPlay(65.0, 6, 6, 0.1)
call ScriptExternalFunc(65.5, "Trig_order2_Actions")
call ScriptCamera(65.5, 47, 0.0, 1)
call ScriptActAnimPlay(67.0, 6, 1, 0.4)
call ScriptActAnimSpeed(67.0, 6, 3.0)
call ScriptActAnimPlay(67.2, 6, 6, 0.4)
call ScriptActSlide(67.2, 6, -7839, 7380, 1.5, 700)
call ScriptPointEffect(67.5, -8400, 7397, 0, "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl", 3.0)
call ScriptPointEffect(67.5, -8450, 7397, 0, "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl", 3.0)
call ScriptPointEffect(67.5, -8350, 7397, 0, "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl", 3.0)
call ScriptPointEffect(67.5, -8400, 7447, 0, "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl", 3.0)
call ScriptPointEffect(67.5, -8400, 7347, 0, "Abilities\\Weapons\\SteamTank\\SteamTankImpact.mdl", 3.0)
call ScriptActAnimSpeed(67.6, 6, 1.0)
call ScriptActAnimPlay(67.6, 6, 1, 0.5)
call ScriptActTurn(67.6, 6, 65, 0.0, 0)
call ScriptActTurn(67.6, 2, 255, 0.0, 0)
call ScriptActTurn(68.0, 7, 65, 0.0, 0)
call ScriptCamera(68.5, 48, 3.0, 4)
call ScriptActAnimPlay(69.5, 6, 13, 0.1)
call ScriptActSlide(70.5, 7, -7839, 7380, 0.0, 0)
call ScriptActAnimPlay(70.5, 7, 0, 0.1)
call ScriptCamera(71.5, 48, 0.0, 1)
call ScriptActAnimSpeed(72.0, 7, 0.05)
call ScriptActAnimPlay(72.0, 7, 3, 0.1)
call ScriptActSlide(72.0, 7, -7458, 8227, 3.0, 0)
call ScriptCamera(72.0, 49, 2.0, 4)
call ScriptActSlide(73.0, 2, -7841, 8218, 1.0, 75)
call ScriptActTurn(73.0, 2, 270, 0.0, 0)
call ScriptActAnimPlay(73.0, 6, 1, 0.1)
call ScriptActTurn(73.0, 6, 90, 0.0, 0)
call ScriptCamera(74.0, 49, 0.0, 1)
call ScriptExternalFunc(74.5, "Trig_missle_Actions")
call ScriptCamera(76.0, 50, 0.0, 1)
call ScriptActAnimPlay(76.7, 6, 11, 0.1)
call ScriptActSlide(76.7, 6, -7825, 7180, 0.5, 0)
call ScriptActAnimPlay(77.8, 6, 1, 0.5)
call ScriptActSlide(78.5, 2, -7811, 7805, 1.0, 35)
call ScriptActAnimSpeed(80.0, 2, 0.5)
call ScriptActAnimPlay(80.0, 2, 8, 0.1)
call ScriptActEffect(80.5, 2, "Abilities\\Spells\\Orc\\Disenchant\\DisenchantSpecialArt.mdl", "overhead", 3.0)
call ScriptExternalFunc(80.5, "Trig_whipcreate_Actions")
call ScriptActSlide(81.0, 8, -8208, 7396, 1.0, 0)
call ScriptActSlide(82.0, 8, -7825, 7080, 1.0, 0)
call ScriptActSlide(82.0, 6, -8021, 7200, 1.5, 450)
call ScriptActSlide(83.0, 8, -7343, 7493, 1.0, 0)
call ScriptCamera(83.0, 51, 1.0, 4)
call ScriptActSlide(84.0, 8, -7811, 7805, 1.0, 0)
call ScriptExternalFunc(84.0, "Trig_whip2_Actions")
call ScriptCamera(84.0, 51, 0.0, 1)
call ScriptActSlide(84.9, 8, -7950, 7200, 1.5, 0)
call ScriptActSlide(85.7, 6, -7825, 7180, 1.5, 450)
call ScriptActSlide(86.4, 8, -7811, 7805, 1.7, 0)
call ScriptActSlide(88.1, 8, -7825, 7180, 1.0, 0)
call ScriptActSlide(88.5, 6, -7832, 8000, 2.7, 275)
call ScriptActTurn(88.5, 6, 90, 0.0, 0)
call ScriptActSlide(89.2, 8, -7811, 7805, 1.5, 0)
call ScriptExternalFunc(89.2, "Trig_whip3_Actions")
call ScriptCamera(89.2, 52, 2.5, 4)
call ScriptActSlide(90.6, 8, -7812, 7806, 30.0, 0)
call ScriptActAnimPlay(90.6, 2, 0, 0.7)
call ScriptExternalFunc(90.6, "Trig_whip4_Actions")
call ScriptActSlide(90.6, 8, 8000, 8500, 0.0, 0)
call ScriptCamera(91.7, 52, 0.0, 1)
call ScriptActSlide(91.5, 6, -7821.5, 8500, 2.0, 0)
call ScriptActAnimPlay(91.5, 6, 0, 0.1)
call ScriptActAnimSpeed(92.2, 6, 0.5)
call ScriptActAnimPlay(92.2, 6, 11, 0.3)
call ScriptActTurn(92.5, 9, 90, 0.0, 0)
call ScriptExternalFunc(92.8, "Trig_Height2_Actions")
call ScriptActAnimSpeed(93.35, 6, 0.0)
call ScriptCamera(93.35, 53, 0.0, 1)
call ScriptActSlide(93.4, 6, 8000, 8500, 0.0, 0)
call ScriptActSlide(93.4, 9, -7821.5, 8569.5, 0.0, 0)
call ScriptActAnimPlay(93.4, 9, 0, 0.1)
call ScriptExternalFunc(93.5, "Trig_Height3_Actions")
call ScriptActAnimSpeed(94.5, 9, 0.15)
call ScriptActAnimPlay(94.5, 9, 11, 0.1)
call ScriptActSlide(95.0, 9, -7811, 7805, 4.5, 0)
call ScriptExternalFunc(95.0, "Trig_Height4_Actions")
call ScriptCamera(95.0, 54, 3.0, 4)
call ScriptExternalFunc(97.0, "Trig_Height5_Actions")
call ScriptActAnimSpeed(97.8, 2, 1.0)
call ScriptActAnimPlay(97.8, 2, 6, 0.1)
call ScriptCamera(98.0, 54, 0.0, 1)
call ScriptActAnimSpeed(98.3, 9, 0.0)
call ScriptActAnimSpeed(98.3, 2, 0.0)
call ScriptCamera(98.5, 55, 3.0, 4)
call ScriptActSlide(98.7, 9, -7811, 7805, 250.0, 0)
call ScriptExternalFunc(98.7, "Trig_shield_Actions")
call ScriptExternalFunc(100.0, "Trig_litstorm_Actions")
call ScriptCamera(101.5, 55, 0.0, 1)
call ScriptPointEffect(103.5, -8005, 7595, 0, "Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl", 3.0)
call ScriptPointEffect(103.5, -7968, 8053, 0, "Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl", 3.0)
call ScriptPointEffect(103.5, -7664, 8043, 0, "Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl", 3.0)
call ScriptPointEffect(103.5, -7610, 7600, 0, "Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl", 3.0)
call ScriptPlaySound(105.5, "Sound\\Ambient\\DoodadEffects\\BridgeDeath.wav", 1.00, 100)
call ScriptExternalFunc(110.5, "Trig_Music4_Actions")
call ScriptExternalFunc(110.5, "Trig_FadeOut_Actions")
call ScriptExternalFunc(112.5, "Trig_cintoletter_Actions")
call ScriptActAnimReset(113.5, 6)
call ScriptActAnimReset(113.5, 2)
call ScriptActAnimSpeed(113.5, 2, 1.0)
call ScriptActAnimSpeed(113.5, 6, 1.0)
call ScriptExternalFunc(113.5, "Trig_night_Actions")
call ScriptNextScene(114.5)
call WriteToScene(7) // letterbox
call ScriptExternalFunc(0.0, "Trig_darkness_Actions")
call ScriptExternalFunc(0.0, "Trig_sky2_Actions")
call ScriptExternalFunc(0.0, "Trig_fall2_Actions")
call ScriptActSlide(0.0, 2, -3548, 7460, 0.0, 0)
call ScriptActSlide(0.0, 10, -3556, 7468, 0.0, 0)
call ScriptActSlide(0.0, 11, -4192, 7520, 0.0, 0)
call ScriptActTurn(0.0, 2, 270, 0.0, 0)
call ScriptActTurn(0.0, 10, 270, 0.0, 0)
call ScriptActTurn(0.0, 6, 0, 0.0, 0)
call ScriptActAnimPlay(0.0, 2, 0, 0.1)
call ScriptCamera(1.0, 57, 0.0, 1)
call ScriptExternalFunc(1.0, "Trig_FadeIn_Actions")
call ScriptExternalFunc(2.0, "Trig_Transmission6_Actions")
call ScriptActFace(2.0, 2, 2, 0, -250, -250, 150, 1.0)
call ScriptActFace(3.0, 2, 2, 0, 250, -250, 150, 1.0)
call ScriptActFaceReset(4.0, 2, 1.0)
call ScriptActFace(5.0, 2, 2, 0, 0, -250, 500, 1.0)
call ScriptExternalFunc(7.0, "Trig_sound4_Actions")
call ScriptExternalFunc(7.0, "Trig_fall_Actions")
call ScriptActSlide(7.2, 2, -3548, 7314, 0.5, 550)
call ScriptCamera(8.0, 61, 0.0, 1)
call ScriptActSlide(9.2, 2, -3548, 7460, 0.5, 550)
call ScriptCamera(9.2, 62, 2.0, 4)
call ScriptActAnimPlay(10.4, 2, 6, 0.1)
call ScriptExternalFunc(10.5, "Trig_fall3_Actions")
call ScriptActEffect(10.6, 2, "Abilities\\Spells\\Undead\\DarkRitual\\DarkRitualTarget.mdl", "origin", 5.0)
call ScriptActAnimSpeed(10.9, 2, 0.0)
call ScriptActAnimSpeed(11.05, 10, 0.0)
call ScriptCamera(11.2, 62, 0.0, 1)
call ScriptCamera(12.5, 58, 0.0, 1)
call ScriptActSlide(12.5, 2, 8000, 8500, 0.0, 0)
call ScriptActAnimSpeed(12.5, 2, 1.0)
call ScriptActFaceReset(12.5, 2, 1)
call ScriptActAnimReset(12.5, 2)
call ScriptCamera(12.5, 60, 1.0, 4)
call ScriptExternalFunc(12.5, "Trig_sound6_Actions")
call ScriptCamera(13.5, 58, 1.0, 4)
call ScriptCamera(14.5, 60, 1.0, 4)
call ScriptCamera(15.5, 58, 1.0, 4)
call ScriptCamera(16.5, 60, 1.0, 4)
call ScriptCamera(17.5, 58, 1.0, 4)
call ScriptCamera(18.5, 63, 3.0, 4)
call ScriptCamera(19.5, 59, 2.0, 4)
call ScriptCamera(20.5, 63, 1.0, 4)
call ScriptActSlide(20.5, 11, -3132, 7520, 2.0, 0)
call ScriptExternalFunc(20.5, "Trig_sound3_Actions")
call ScriptCamera(21.5, 59, 1.0, 4)
call ScriptPlaySound(21.8, "Sound\\Units\\Combat\\MetalLightSliceFlesh2.wav", 1.00, 100)
call ScriptCamera(22.0, 64, 2.0, 4)
call ScriptExternalFunc(22.0, "Trig_redfade_Actions")
call ScriptCamera(24.0, 65, 1.0, 4)
call ScriptCamera(25.0, 64, 1.0, 4)
call ScriptActSlide(25.0, 11, 8000, 8500, 0.0, 0)
call ScriptCamera(26.0, 65, 1.0, 4)
call ScriptCamera(27.0, 64, 1.0, 4)
call ScriptCamera(28.0, 65, 1.0, 4)
call ScriptCamera(29.0, 59, 2.0, 4)
call ScriptCamera(31.0, 63, 1.0, 4)
call ScriptCamera(32.0, 59, 2.0, 4)
call ScriptActSlide(32.0, 10, -4150, 7460, 3.0, 100)
call ScriptExternalFunc(32.0, "Trig_sound4_Actions")
call ScriptPointEffect(32.0, -3542.05, 7464.04, 0, "Abilities\\Spells\\Undead\\DarkRitual\\DarkRitualTarget.mdl", 3.0)
call ScriptActAnimSpeed(33.00, 10, 0.3)
call ScriptActTurn(33.0, 2, 180, 0.0, 0)
call ScriptCamera(34.0, 63, 1.0, 4)
call ScriptCamera(35.0, 59, 1.0, 4)
call ScriptCamera(36.0, 57, 0.0, 1)
call ScriptActSlide(36.0, 2, -3548, 7460, 0.0, 0)
call ScriptExternalFunc(36.5, "Trig_Transmission7_Actions")
call ScriptActAnimPlay(37.5, 2, 0, 0.1)
call ScriptActTurn(37.5, 2, 0, 1.0, 0)
call ScriptActSlide(38.5, 2, -2728, 7460, 5.0, 0)
call ScriptActSlide(41.0, 2, -4575, 7700, 0.0, 0)
call ScriptActSlide(41.0, 6, -4800, 7006, 0.0, 0)
call ScriptActTurn(41.0, 2, 90, 0.0, 0)
call ScriptActAnimPlay(41.0, 2, 0, 0.1)
call ScriptCamera(41.5, 66, 0.0, 1)
call ScriptActAnimPlay(44.0, 6, 0, 0.1)
call ScriptActTurn(44.0, 12, 90, 0.0, 0)
call ScriptActSlide(44.0, 6, -4200, 7006, 1.7, 0)
call ScriptExternalFunc(44.0, "Trig_sound11_Actions")
call ScriptActTurn(45.5, 2, 270, 0.5, 0)
call ScriptActTurn(46.5, 6, 180, 0.0, 0)
call ScriptActSlide(46.5, 6, -4155, 8244, 0.0, 0)
call ScriptActSlide(47.0, 6, -4900, 8244, 1.5, 0)
call ScriptExternalFunc(47.0, "Trig_sound11_Actions")
call ScriptCamera(47.0, 67, 0.0, 1)
call ScriptActTurn(47.5, 2, 90, 0.5, 0)
call ScriptActAnimPlay(48.0, 2, 6, 0.1)
call ScriptActEffect(48.0, 2, "Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", "origin", 3.0)
call ScriptActAnimSpeed(48.5, 12, 1.0)
call ScriptActSlide(48.5, 12, -4600, 8300.5, 0.0, 0)
call ScriptExternalFunc(49.6, "Trig_killfire_Actions")
call ScriptCamera(50.5, 68, 0.0, 1)
call ScriptActSlide(50.5, 13, -4600, 8300.5, 0.0, 0)
call ScriptExternalFunc(50.5, "Trig_Transmission8_Actions")
call ScriptActTurn(50.5, 13, 270, 0.5, 0)
call ScriptActAnimPlay(50.5, 13, 13, 0.1)
call ScriptActAnimSpeed(51.5, 13, 0.0)
call ScriptActSlide(53.0, 13, -4575, 7725, 2.0, 0)
call ScriptActSlide(55.0, 13, -4575, 7500, 3.0, 400)
call ScriptActEffect(55.5, 2, "Abilities\\Spells\\Other\\Stampede\\StampedeMissileDeath.mdl", "chest", 1.0)
call ScriptActAnimSpeed(56.0, 2, 0.5)
call ScriptExternalFunc(56.0, "Trig_sound5_Actions")
call ScriptPlaySound(56.0, "war3mapImported\\JoH_Pain1.mp3", 1.00, 100)
call ScriptActAnimPlay(56.0, 2, 9, 0.1)
call ScriptCamera(56.5, 69, 0.0, 1)
call ScriptActAnimPlay(57.0, 2, 0, 0.3)
call ScriptActAnimSpeed(59.0, 2, 0.0)
call ScriptCamera(59.0, 70, 0.0, 1)
call ScriptActSlide(59.0, 2, -4575, 7250, 0.0, 0)
call ScriptActSlide(59.0, 13, -4575, 6500, 3.0, 0)
call ScriptExternalFunc(59.0, "Trig_Transmission9_Actions")
call ScriptActSlide(59.0, 13, 8000, 8500, 0.0, 0)
call ScriptActAnimReset(59.0, 13)
call ScriptCamera(81.0, 71, 0.0, 1)
call ScriptExternalFunc(81.0, "Trig_sound_Actions")
call ScriptActSlide(81.0, 2, -4575, 7700, 0.0, 0)
call ScriptActAnimSpeed(81.0, 2, 1.0)
call ScriptActAnimPlay(82.0, 2, 6, 0.1)
call ScriptActEffect(82.0, 2, "Abilities\\Spells\\Other\\ImmolationRed\\ImmolationREDTarget.mdl", "chest", 3.0)
call ScriptExternalFunc(83.0, "Trig_firelight_Actions")
call ScriptExternalFunc(83.5, "Trig_sound12_Actions")
call ScriptActAnimPlay(86.5, 2, 6, 0.1)
call ScriptActEffect(86.5, 2, "Abilities\\Spells\\Orc\\Purge\\PurgeBuffTarget.mdl", "chest", 3.0)
call ScriptActAnimSpeed(87.0, 2, 0.0)
call ScriptExternalFunc(87.0, "Trig_lit_Actions")
call ScriptPlaySound(87.0, "Abilities\\Spells\\Other\\Monsoon\\MonsoonLightningHit.wav", 1.00, 100)
call ScriptExternalFunc(87.0, "Trig_sound4_Actions")
call ScriptExternalFunc(88.0, "Trig_fall4_Actions")
call ScriptExternalFunc(90.0, "Trig_height6_Actions")
call ScriptExternalFunc(93.0, "Trig_FadeOut_Actions")
call ScriptActAnimReset(93.0, 6)
call ScriptActAnimReset(93.0, 2)
call ScriptActAnimReset(93.0, 13)
call ScriptActAnimSpeed(93.0, 2, 1.0)
call ScriptActAnimSpeed(93.0, 6, 1.0)
call ScriptActAnimSpeed(93.0, 13, 1.0)
call ScriptExternalFunc(93.0, "Trig_lettertocin_Actions")
call ScriptNextScene(95.0)
call WriteToScene(8) // cinmode
call ScriptExternalFunc(0.0, "Trig_Light_Actions")
call ScriptActSlide(0.0, 17, 1534, -6151, 0.0, 0)
call ScriptActTurn(0.0, 17, 215, 0.0, 0)
call ScriptCamera(0.0, 98, 0.0, 1)
call ScriptExternalFunc(2.0, "Trig_FadeIn_Actions")
call ScriptExternalFunc(4.0, "Trig_Transmission24_Actions")
call ScriptActAnimPlay(9.0, 17, 11, 0.1)
call ScriptActSlide(9.0, 17, 744, -6906, 5.0, 0)
call ScriptExternalFunc(14.0, "Trig_FadeOut_Actions")
call ScriptNextScene(16.0)
call WriteToScene(9) // cinmode
call ScriptActSlide(0.0, 14, -7417, -6801, 0.0, 0)
call ScriptActSlide(0.0, 15, -7417, -6801, 0.0, 0)
call ScriptActTurn(0.0, 15, 180, 0.0, 0)
call ScriptActTurn(0.0, 13, 0, 0.0, 0)
call ScriptActTurn(0.0, 2, 180, 0.0, 0)
call ScriptActTurn(0.0, 16, 180, 0.0, 0)
call ScriptActTurn(0.0, 17, 270, 0.0, 0)
call ScriptActTurn(0.0, 6, 0, 0.0, 0)
call ScriptActTurn(0.0, 18, 270, 0.0, 0)
call ScriptActAnimPlay(0.0, 16, 4, 0.1)
call ScriptCamera(0.0, 72, 0.0, 1)
call ScriptExternalFunc(0.0, "Trig_Music5_Actions")
call ScriptExternalFunc(2.0, "Trig_FadeIn_Actions")
call ScriptActAnimPlay(2.0, 14, 0, 0.1)
call ScriptExternalFunc(3.0, "Trig_height7_Actions")
call ScriptActAnimSpeed(4.0, 14, 0.0)
call ScriptCamera(3.5, 73, 3.0, 4)
call ScriptActSlide(3.5, 13, -8400, -6800, 0.0, 0)
call ScriptExternalFunc(5.8, "Trig_height8_Actions")
call ScriptActSlide(6.5, 15, 8000, 8500, 0.0, 0)
call ScriptActSlide(6.5, 14, 8000, 8500, 0.0, 0)
call ScriptActSlide(6.5, 2, -7417, -6801, 0.0, 0)
call ScriptCamera(6.5, 73, 0.0, 1)
call ScriptActSlide(7.6, 2, -7550, -6801, 3.0, 500)
call ScriptCamera(9.2, 74, 0.0, 1)
call ScriptActSlide(9.2, 13, 8000, 8500, 0.0, 0)
call ScriptActSlide(9.2, 6, -8400, -6800, 0.0, 0)
call ScriptExternalFunc(10.0, "Trig_sound5_Actions")
call ScriptActAnimPlay(10.5, 2, 9, 0.5)
call ScriptPlaySound(10.5, "war3mapImported\\JoH_Pain1.mp3", 1.00, 100)
call ScriptExternalFunc(11.7, "Trig_Transmission10_Actions")
call ScriptActAnimSpeed(12.0, 2, 0.0)
call ScriptCamera(12.7, 75, 19.0, 4)
call ScriptExternalFunc(18.0, "Trig_sound_Actions")
call ScriptActAnimSpeed(31.0, 2, 1.0)
call ScriptActAnimPlay(31.0, 2, 8, 0.6)
call ScriptActEffect(31.5, 2, "Abilities\\Spells\\Orc\\Voodoo\\VoodooAura.mdl", "origin", 10.0)
call ScriptCamera(31.7, 75, 0.0, 1)
call ScriptActSlide(31.7, 16, -7220.5, -6801, 0.0, 0)
call ScriptPointEffect(33.5, -7550, -6501, 0, "Abilities\\Spells\\Human\\FlameStrike\\FlameStrike1.mdl", 5.0)
call ScriptPointEffect(34.0, -7550, -7101, 0, "Abilities\\Spells\\Human\\FlameStrike\\FlameStrike1.mdl", 5.0)
call ScriptExternalFunc(35.0, "Trig_turnonvision_Actions")
call ScriptExternalFunc(37.0, "Trig_turnoffvision_Actions")
call ScriptActAnimSpeed(37.0, 16, 0.5)
call ScriptActAnimPlay(37.0, 16, 1, 0.1)
call ScriptExternalFunc(37.0, "Trig_Transmission11_Actions")
call ScriptExternalFunc(38.0, "Trig_breath_Actions")
call ScriptActAnimSpeed(38.5, 6, 0.3)
call ScriptExternalFunc(38.0, "Trig_turnonvision2_Actions")
call ScriptExternalFunc(40.0, "Trig_turnoffvision2_Actions")
call ScriptActAnimPlay(40.5, 6, 11, 0.1)
call ScriptActSlide(40.5, 6, -8700, -6800, 3.0, 75)
call ScriptActSlide(40.0, 16, 8000, 8500, 0.0, 0)
call ScriptActAnimSpeed(42.5, 6, 0.0)
call ScriptCamera(43.0, 76, 0.0, 1)
call ScriptActAnimReset(43.0, 6)
call ScriptActAnimReset(43.0, 2)
call ScriptActAnimPlay(43.0, 2, 3, 0.1)
call ScriptPlaySound(43.0, "war3mapImported\\JoH_laughter.mp3", 1.00, 100)
call ScriptExternalFunc(43.0, "Trig_Music6_Actions")
call ScriptActAnimSpeed(43.0, 6, 1.0)
call ScriptActAnimPlay(43.0, 6, 1, 0.1)
call ScriptActAnimPlay(47.67, 2, 0, 0.1)
call ScriptCamera(48.67, 77, 0.0, 1)
call ScriptActSlide(48.6, 2, -8500, -6800, 5.0, 0)
call ScriptActEffect(49.0, 6, "Objects\\Spawnmodels\\Orc\\Orcblood\\HeroShadowHunterBlood.mdl", "origin", 1.5)
call ScriptExternalFunc(52.0, "Trig_Transmission12_Actions")
call ScriptActEffect(53.0, 6, "Objects\\Spawnmodels\\Orc\\Orcblood\\HeroShadowHunterBlood.mdl", "origin", 1.5)
call ScriptActEffect(57.0, 6, "Objects\\Spawnmodels\\Orc\\Orcblood\\HeroShadowHunterBlood.mdl", "origin", 1.5)
call ScriptActEffect(61.0, 6, "Objects\\Spawnmodels\\Orc\\Orcblood\\HeroShadowHunterBlood.mdl", "origin", 1.5)
call ScriptActEffect(67.0, 6, "Abilities\\Spells\\Other\\Levelup\\LevelupCaster.mdl", "origin", 2.0)
call ScriptActAnimPlay(67.0, 6, 13, 0.5)
call ScriptActEffect(67.5, 2, "Abilities\\Spells\\Demon\\DarkPortal\\DarkPortalTarget.mdl", "origin", 2.0)
call ScriptActAnimPlay(68.0, 6, 1, 0.5)
call ScriptActAnimPlay(68.5, 2, 9, 0.5)
call ScriptExternalFunc(68.5, "Trig_sound5_Actions")
call ScriptActAnimSpeed(70.0, 2, 0.0)
call ScriptExternalFunc(70.0, "Trig_Transmission13_Actions")
call ScriptExternalFunc(75.5, "Trig_Fadeyellow_Actions")
call ScriptExternalFunc(76.0, "Trig_sound_Actions")
call ScriptActEffect(78.0, 2, "Abilities\\Spells\\Other\\ImmolationRed\\ImmolationREDTarget.mdl", "chest", 12.0)
call ScriptPointEffect(78.5, -8550.0, -6600.0, 0, "Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl", 4.0)
call ScriptPointEffect(80.5, -8400.0, -7000.0, 0, "Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl", 4.0)
call ScriptActSlide(82.5, 17, -8036.0, -4973.0, 0.0, 0)
call ScriptCamera(84.5, 78, 0.0, 1)
call ScriptActAnimReset(84.5, 2)
call ScriptActAnimSpeed(84.5, 2, 1.0)
call ScriptActAnimPlay(84.5, 2, 0, 0.1)
call ScriptActAnimPlay(84.5, 17, 11, 0.1)
call ScriptActSlide(84.5, 17, -8036.0, -5691.0, 4.0, 0)
call ScriptActAnimPlay(88.5, 17, 1, 0.1)
call ScriptExternalFunc(88.5, "Trig_Transmission14_Actions")
call ScriptActTurn(89.5, 17, 245, 1.0, 0)
call ScriptCamera(90.5, 79, 0.0, 1)
call ScriptActSlide(92.5, 17, -8429, -6330, 0.0, 0)
call ScriptActAnimPlay(109.5, 6, 6, 0.1)
call ScriptActSlide(110.5, 2, -8675, -6800, 1.0, 0)
call ScriptActAnimPlay(110.5, 2, 4, 0.1)
call ScriptActAnimSpeed(110.5, 6, 0.2)
call ScriptActAnimSpeed(111.5, 2, 0.0)
call ScriptActEffect(111.5, 6, "Abilities\\Spells\\Other\\Stampede\\StampedeMissileDeath.mdl", "chest", 1.0)
call ScriptActEffect(115.5, 2, "war3mapImported\\Heart(working).mdx", "hand right", 4.0)
call ScriptCamera(115.5, 82, 0.0, 1)
call ScriptActEffect(115.5, 6, "Abilities\\Spells\\Other\\Stampede\\StampedeMissileDeath.mdl", "chest", 1.0)
call ScriptExternalFunc(115.5, "Trig_sound8_Actions")
call ScriptActAnimSpeed(115.5, 6, 0.15)
call ScriptActAnimPlay(115.5, 6, 11, 0.05)
call ScriptActSlide(115.5, 6, -8950, -6800, 4.0, 50)
call ScriptActAnimSpeed(119.5, 6, 0.0)
call ScriptCamera(119.5, 80, 0.0, 1)
call ScriptActSlide(119.5, 6, 8000, 8500, 0.0, 0)
call ScriptActSlide(119.5, 18, -8850, -6800, 0.0, 0)
call ScriptActAnimPlay(119.5, 18, 6, 0.1)
call ScriptExternalFunc(119.5, "Trig_Transmission15_Actions")
call ScriptActAnimSpeed(119.5, 2, 1.0)
call ScriptActAnimReset(119.5, 2)
call ScriptActTurn(119.5, 2, 65, 2.0, 0)
call ScriptActAnimSpeed(120.5, 18, 0.0)
call ScriptActAnimSpeed(123.5, 17, 0.7)
call ScriptActAnimPlay(123.5, 17, 11, 0.1)
call ScriptActSlide(123.5, 17, -8600, -6700, 4.0, 0)
call ScriptCamera(123.5, 81, 5.0, 4)
call ScriptActAnimPlay(127.0, 2, 6, 0.1)
call ScriptActEffect(127.0, 2, "Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl", "origin", 1.5)
call ScriptActAnimPlay(127.5, 17, 4, 0.1)
call ScriptActSlide(127.8, 2, 8000, 8500, 0.0, 0)
call ScriptCamera(128.5, 81, 0.0, 1)
call ScriptActAnimPlay(129.5, 17, 1, 0.1)
call ScriptActTurn(129.5, 17, 180, 0.5, 0)
call ScriptActAnimPlay(130.0, 17, 11, 0.1)
call ScriptActSlide(130.0, 17, -8725, -6625, 1.5, 0)
call ScriptCamera(130.5, 82, 5.0, 4)
call ScriptActAnimPlay(131.5, 17, 1, 0.1)
call ScriptExternalFunc(134.5, "Trig_Transmission16_Actions")
call ScriptCamera(135.5, 82, 0.0, 1)
call ScriptExternalFunc(174.5, "Trig_FadeOut_Actions")
call ScriptCamera(175.5, 100, 0.0, 1)
call ScriptExternalFunc(175.5, "Trig_FadeIn_Actions")
call ScriptExternalFunc(176.5, "Trig_Transmission25_Actions")
call ScriptExternalFunc(189.5, "Trig_FadeOut_Actions")
call ScriptExternalFunc(191.0, "Trig_Music8_Actions")
call ScriptCamera(191.0, 101, 0.0, 1)
call ScriptExternalFunc(192.0, "Trig_Credits_Actions")
call ScriptExternalFunc(244.0, "Trig_EndMovie_Actions")
endfunction
//===========================================================================
//This is just a function that every trigger that's converted to custom text must have, just ignore it
function InitTrig_Example_Scene1Init takes nothing returns nothing
set gg_trg_Example_Scene1Init = CreateTrigger()
call TriggerAddAction(gg_trg_Example_Scene1Init, function Trig_Scene1Init_Actions)
endfunction