// September 2015 // Levee Patroller / Dijk Patrouille // This source file is (c) by Deltares. This source file is open source but only available to select users. Do not redistribute without written permission of Stichting Deltares, Delft, The Netherlands. // This header has been automatically generated. class LeveeFailureErosionInner extends LeveeFailure placeable; #exec OBJ LOAD FILE=NVIDIA_TT_V1.utx function SetFailureOptions() { /// Failure information: Mechanism = FM_ErosionInner; LinkedTile.Mechanism = Mechanism; NL_FailureName = "Erosie Binnentalud"; EN_FailureName = "Erosion Inner"; super.SetFailureOptions(); LinkedTile.CurrentState = STA_Reportable; } function CreateObjects() { local DynamicMover M; local DynamicMeshActor sMA; local Emitter E; /// ID is the same as the linked object: id = LinkedTile.Name; /// Creating World Objects: /// For the record: The likely center is: 12800.00,8704.00,64.00 M = CreateMover(RotateVector(448.00,-768.00,0.00), id$"ErosionInnerRamp", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerMudBlob' , 8.00, 2); M.SetKeyPos( RotateVectorNoLocation(-1056.00,96.00,0.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,-2048,0); sMA = CreateMesh(Location, id$"StaticMeshActor", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerBase'); RotationOffset(sMA, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"ErosionInnerRoadBack", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerRoadBack' , 3.00, 2); M.SetKeyPos( RotateVectorNoLocation(-256.00,0.00,-256.00), 1); M.SetKeyRot( rot(0,0,-2048), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"ErosionRoadFront", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerRoadFront' , 4.00, 2); M.SetKeyPos( RotateVectorNoLocation(-256.00,0.00,-224.00), 1); M.SetKeyRot( rot(0,0,-2048), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"ErosionInnerRamp", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerLowerDyke' , 9.00, 2); M.SetKeyPos( RotateVectorNoLocation(-160.00,0.00,-856.00), 1); M.SetKeyRot( rot(0,0,2048), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"ErosionInnerRamp", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerRampUpper' , 10.00, 2); M.SetKeyPos( RotateVectorNoLocation(-60.00,-8.00,-444.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"ErosionInnerRamp", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerRampMid' , 10.00, 2); M.SetKeyPos( RotateVectorNoLocation(-28.00,0.00,-1248.00), 1); M.SetKeyRot( rot(0,0,3072), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"ErosionInnerRampLower", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerRampLower' , 1.00, 2); M.SetKeyPos( RotateVectorNoLocation(0.00,0.00,0.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); sMA = CreateMesh(RotateVector(-6064.00,-1824.00,-455.00), id$"StaticMeshActor", StaticMesh'ArnesEnvironmentSM.Other.DirtPile'); sMA.SetDrawScale(24.00); sMA.Skins.Insert(0,1); sMA.Skins[0] = Texture(DynamicLoadObject("NVIDIA_TT_V1.MAPS_Plant-n-Earth.dirt_simple_df_", class'Texture')); RotationOffset(sMA, LinkedTile.Rotation, 0,-26624,0); sMA = CreateMesh(RotateVector(-6936.46,-4145.89,-487.00), id$"StaticMeshActor", StaticMesh'ArnesEnvironmentSM.Other.DirtPile'); sMA.SetDrawScale(12.00); sMA.Skins.Insert(0,1); sMA.Skins[0] = Texture(DynamicLoadObject("NVIDIA_TT_V1.MAPS_Plant-n-Earth.dirt_simple_df_", class'Texture')); RotationOffset(sMA, LinkedTile.Rotation, 0,-48128,0); M = CreateMover(RotateVector(0.00,0.00,-160.00), id$"ErosionInnerWaterMain", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerWaterMain' , 8.00, 2); M.SetKeyPos( RotateVectorNoLocation(0.00,0.00,160.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); /// None - NOT FOUND M = CreateMover(RotateVector(0.00,32.00,-704.00), id$"EroInPrimMeasure", StaticMesh'SecDikeSM.Measures.measure_sandbagwall_prim' , 2.00, 2); M.SetKeyPos( RotateVectorNoLocation(0.00,0.00,704.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); M = CreateMover(RotateVector(-4536.00,-2644.00,-528.00), id$"Mover", StaticMesh'SmitteyMesh.Water.Pipe' , 1.00, 2); M.SetDrawScale(0.30); M.SetKeyPos( RotateVectorNoLocation(0.00,0.00,0.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,-16384,0); M = CreateMover(RotateVector(-4552.00,-3472.00,-520.00), id$"Mover", StaticMesh'SmitteyMesh.Water.Pipe' , 1.00, 2); M.SetDrawScale(0.30); M.SetKeyPos( RotateVectorNoLocation(0.00,0.00,0.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,16384,0); /// Creating World Objects: E = Spawn(class'ErosionRoadFrontEmitter'); E.SetLocation(RotateVector(992.00,-3104.00,576.00)); E.SetPropertyText("Tag", id$"ErosionRoadFront"); RotationOffset(E, LinkedTile.Rotation, 0,16384,0); AddToVIAList(E); E = Spawn(class'WaterSplashEmitterInner'); E.SetLocation(RotateVector(-4576.00,-3072.00,-504.00)); E.SetPropertyText("Tag", id$"ErosionInnerPrimWaterSplashRings"); RotationOffset(E, LinkedTile.Rotation, 0,16384,0); AddToVIAList(E); /// MANUALLY CHANGED /// TO USE LINKED WATERMOVER E.AttachTag = LinkedTile.WaterMover.Tag; E.SetBase(GetActor(E.AttachTag), vect(0,0,1)); M = CreateMover(RotateVector(32.00,0.00,-28.00), id$"SpoorStroompjes", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerPrimWaterMidTrack' , 8.00, 2); M.SetKeyPos( RotateVectorNoLocation(-32.00,0.00,28.00), 1); M.SetKeyRot( rot(0,0,1024), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,-1024); M = CreateMover(RotateVector(96.00,64.00,-135.00), id$"SpoorStroompjes", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerPrimWaterMid' , 8.00, 2); M.SetKeyPos( RotateVectorNoLocation(-96.00,-64.00,135.00), 1); M.SetKeyRot( rot(0,0,1024), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,-1024); //316 M = CreateMover(RotateVector(100.00,64.00,274.00), id$"SpoorStroompjes", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerPrimWaterDitchStreams' , 8.00, 2); M.SetKeyPos( RotateVectorNoLocation(-160.00,-64.00,-274.00), 1); M.SetKeyRot( rot(0,0,1024), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,-1024); M = CreateMover(RotateVector(12.00,0.00,-268.00), id$"ErosionInnerWaterKlein", StaticMesh'PrimDikeSM.ErosionInner.ErosionInnerPrimWaterLight' , 6.00, 2); M.SetKeyPos( RotateVectorNoLocation(-12.00,0.00,268.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); /// Call parent: Super.CreateObjects(); } function CreateTriggers() { local DScriptedTrigger sT; sT = Spawn(class'DScriptedTrigger'); /// Tag is the same as the linked object name: sT.Tag = GetFailureName(); FailureScript = sT; /// Store in public leveetile var. /// Position is the same as the linked object: sT.SetLocation(LinkedTile.Location); sT.Actions.insert(0, 30); sT.Actions[0] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[0]).PauseTime = 9.00 * speedfactor; sT.Actions[1] = new class'ACTION_IfActive'; ACTION_IfActive(sT.Actions[1]).FailureTag = GetName(id$""); sT.Actions[2] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[2]).PauseTime = 600.00 * speedfactor; sT.Actions[3] = new class'ACTION_IfRelevant'; ACTION_IfRelevant(sT.Actions[3]).FailureTag = GetName(id$""); sT.Actions[4] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[4]).PauseTime = 330.00 * speedfactor; sT.Actions[5] = new class'ACTION_IfCritical'; ACTION_IfCritical(sT.Actions[5]).FailureTag = GetName(id$""); sT.Actions[6] = new class'ACTION_SetHidden'; ACTION_SetHidden(sT.Actions[6]).HideActorTag = GetName(id$"ErosionInnerWaterKlein"); ACTION_SetHidden(sT.Actions[6]).bHidden = False; sT.Actions[7] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[7]).Event = GetName(id$"ErosionInnerWaterKlein"); sT.Actions[8] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[8]).PauseTime = 15.00 * speedfactor; sT.Actions[9] = new class'ACTION_SetHidden'; ACTION_SetHidden(sT.Actions[9]).HideActorTag = GetName(id$"SpoorStroompjes"); ACTION_SetHidden(sT.Actions[9]).bHidden = False; sT.Actions[10] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[10]).Event = GetName(id$"SpoorStroompjes"); sT.Actions[11] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[11]).PauseTime = 6.00 * speedfactor; sT.Actions[12] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[12]).Event = GetName(id$"ErosionInnerWaterKlein"); sT.Actions[13] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[13]).PauseTime = 6.00 * speedfactor; sT.Actions[14] = new class'ACTION_SetHidden'; ACTION_SetHidden(sT.Actions[14]).HideActorTag = GetName(id$"ErosionInnerWaterKlein"); ACTION_SetHidden(sT.Actions[14]).bHidden = True; sT.Actions[15] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[15]).PauseTime = 270.00 * speedfactor; sT.Actions[16] = new class'ACTION_IfNoRightMeasuresTaken'; ACTION_IfNoRightMeasuresTaken(sT.Actions[16]).FailureTag = GetName(id$""); sT.Actions[17] = new class'ACTION_Failed'; ACTION_Failed(sT.Actions[17]).FailureTag = GetName(id$""); sT.Actions[18] = new class'ACTION_SetHidden'; ACTION_SetHidden(sT.Actions[18]).HideActorTag = GetName(id$"ErosionInnerWaterMain"); ACTION_SetHidden(sT.Actions[18]).bHidden = False; sT.Actions[19] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[19]).Event = GetName(id$"SpoorStroompjes"); sT.Actions[20] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[20]).Event = GetName(id$"ErosionInnerRamp"); sT.Actions[21] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[21]).Event = GetName(id$"ErosionInnerWaterMain"); sT.Actions[22] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[22]).PauseTime = 4.00 * speedfactor; /// Added manually!!! /// /// sT.Actions[23] = new class'ACTION_TriggerEventOnce'; ACTION_TriggerEventOnce(sT.Actions[23]).Eventn = LinkedTile.WaterMover.Tag; sT.Actions[24] = new class'ACTION_SetHidden'; ACTION_SetHidden(sT.Actions[24]).HideActorTag = GetName(id$"SpoorStroompjes"); ACTION_SetHidden(sT.Actions[24]).bHidden = True; sT.Actions[25] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[25]).Event = GetName(id$"ErosionInnerPrimWaterSplashRings"); sT.Actions[26] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[26]).Event = GetName(id$"ErosionRoadFront"); sT.Actions[27] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[27]).PauseTime = 2.00 * speedfactor; sT.Actions[28] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[28]).Event = GetName(id$"ErosionInnerRoadBack"); sT.Actions[29] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[29]).PauseTime = 50.00 * speedfactor; sT.Actions[30] = new class'ACTION_EndGame'; } function CreateSignals() { local SignalHumanActivity signal0; local SignalOverToppingWash signal1; local SignalSettlement signal2; local SignalReportHumanActivity signal0report0; local SignalReportOverToppingWash signal1report0; local SignalReportSettlement signal2report0; /// Signals information: Signals.Insert(0,3); signal0 = New class'SignalHumanActivity'; signal0.CrossCutLocation=CUT_InnerSlope; signal0.FirstState=STA_Reportable; signal0.RiskCause=RISK_ConstructionWork; signal0.SignalReports.insert(0,1); signal0report0 = New class'SignalReportHumanActivity'; signal0report0.GeoState = STA_Reportable; signal0.SignalReports[0] = signal0report0; Signals[0] = signal0; signal1 = New class'SignalOverToppingWash'; signal1.CrossCutLocation=CUT_Top; signal1.FirstState=STA_Critical; signal1.TypeOcurring=OVER_Topping; signal1.SignalReports.insert(0,1); signal1report0 = New class'SignalReportOverToppingWash'; signal1report0.FlushingSoil = GEO_Yes; signal1report0.FlushingSoilQuantity = QUA_Much; signal1report0.GeoState = STA_Critical; signal1report0.InfiltrateTopInner = GEO_No; signal1report0.IsAccessible = GEO_Yes; signal1report0.WaterFlowQuantity = QUA_Much; signal1report0.WavesDescription = WAVE_None; signal1.SignalReports[0] = signal1report0; Signals[1] = signal1; signal2 = New class'SignalSettlement'; signal2.CrossCutLocation=CUT_Top; signal2.FirstState=STA_Reportable; signal2.RevetmentType=REV_Asphalt; signal2.SettlementPosition=SET_Entire; signal2.SignalReports.insert(0,1); signal2report0 = New class'SignalReportSettlement'; signal2report0.GeoState = STA_Reportable; signal2report0.HeightDifference = SIZE_VerySmall; signal2report0.HeightDifferenceMax = SIZE_Medium; signal2report0.LengthOfDamage = SIZE_VerySmall; signal2report0.LengthOfDamageMax = SIZE_Medium; signal2report0.WidthOfDamage = SIZE_NONE; signal2report0.WidthOfDamageMax = SIZE_NONE; signal2.SignalReports[0] = signal2report0; Signals[2] = signal2; } function CreateMeasures() { local Measure Msr; /// Creating measures: Measures.Insert(0,2); Msr = New class'Measure'; Msr.SetPropertyText("EventMeasureTaken", id$"EroInPrimMeasure"); Msr.bMeasureEffective = True; Msr.MeasureType = MEA_CoverInnerSlopeWithFoil; Measures[0] = Msr; Msr = New class'Measure'; Msr.SetPropertyText("EventMeasureTaken", id$"EroInPrimMeasure"); Msr.bMeasureEffective = True; Msr.MeasureType = MEA_SandbagsTop; Measures[1] = Msr; } function CreateMeasureScripts() { local DScriptedTrigger sT; sT = Spawn(class'DScriptedTrigger'); /// Position is the same as the linked object: sT.SetLocation(LinkedTile.Location); /// Trying to write down extra measure scriptedtriggers /// Trying to find: EroInPrimMeasure sT.Actions.insert(0, 3); sT.Actions[0] = new class'ACTION_WaitForEvent'; ACTION_WaitForEvent(sT.Actions[0]).ExternalEvent = GetName(id$"EroInPrimMeasure"); sT.Actions[1] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[1]).PauseTime = 2.00 * speedfactor; sT.Actions[2] = new class'ACTION_SetHidden'; ACTION_SetHidden(sT.Actions[2]).HideActorTag = GetName(id$"SpoorStroompjes"); ACTION_SetHidden(sT.Actions[2]).bHidden = True; } defaultproperties { FailureSize = TS_48M; }