// 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 LeveeFailureDroogteWilnis extends LeveeFailure placeable; #exec OBJ LOAD FILE=NVIDIA_TT_V1.utx function SetFailureOptions() { /// Failure information: Mechanism = FM_Macro; LinkedTile.Mechanism = Mechanism; NL_FailureName = "Droogte Wilnis"; EN_FailureName = "EWilnis draught"; super.SetFailureOptions(); LinkedTile.CurrentState = STA_Reportable; } function CreateObjects() { local DynamicMover M; local MeshMover Mm; 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: -25295.75,9909.33,-924.00 /// For the record: The likely center rotation: 0,0,0 /// Set relative rotation, the original failure was based on a rotation of 0. So now we need to turn it back. SetFailureRelativeRotation(0); /// None - NOT FOUND sMA = CreateMesh(Location, id$"StaticMeshActor", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_base'); RotationOffset(sMA, LinkedTile.Rotation, 0,0,0); M = CreateMover(Location, id$"wilniswater", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_water' , 2.00, 2); M.SetKeyPos( RotateVectorNoLocation(-12.00,0.00,6.00), 1); M.SetKeyRot( rot(-8192,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 8192,0,0); /// Modified berm from 0 to -300. M = CreateMover(RotateVector(0.00,0.00,-300.00), id$"MeasureSecMacro03", StaticMesh'SecDikeSM.Measures.Measure_Berm_Macro_Sec' , 1.00, 2); M.SetKeyPos( RotateVectorNoLocation(-16.00,56.00,300.00), 1); M.SetKeyRot( rot(0,0,0), 1); RotationOffset(M, LinkedTile.Rotation, 0,0,0); /// Creating Linked Objects: /// Creating World Objects: E = Spawn(class'LotsOfWaterEmitter'); E.SetLocation(RotateVector(-2502.60,-2107.77,136.00)); E.SetPropertyText("Tag", id$"LotsOfWaterEmitter"); RotationOffset(E, LinkedTile.Rotation, 0,0,0); AddToVIAList(E); E = Spawn(class'SplashCrashEmitter'); E.SetLocation(RotateVector(217.10,-2126.70,260.00)); E.SetPropertyText("Tag", id$"CrashSplash"); RotationOffset(E, LinkedTile.Rotation, 0,0,0); AddToVIAList(E); Mm = CreateMeshMover(Location, id$"wilnisgo", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_kleine_schuif' , 10.00, 4); Mm.SetKeyPos( RotateVectorNoLocation(-38.00,-12.00,-53.00), 1); Mm.SetKeyRot( rot(-248,0,0), 1); Mm.SetKeyPos( RotateVectorNoLocation(-47.00,-279.00,-425.10), 2); Mm.SetKeyRot( rot(-568,-992,3205), 2); Mm.SetKeyPos( RotateVectorNoLocation(-58.99,-377.02,-149.99), 3); Mm.SetKeyRot( rot(-808,-1960,0), 3); RotationOffset(Mm, LinkedTile.Rotation, 0,0,0); Mm = CreateMeshMover(Location, id$"wilnisgo", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_grote_schuif' , 10.00, 4); Mm.SetKeyPos( RotateVectorNoLocation(8.00,0.00,0.00), 1); Mm.SetKeyRot( rot(0,0,0), 1); Mm.SetKeyPos( RotateVectorNoLocation(-82.00,-26.00,-48.02), 2); Mm.SetKeyRot( rot(-376,0,0), 2); Mm.SetKeyPos( RotateVectorNoLocation(-141.00,-3.00,-506.06), 3); Mm.SetKeyRot( rot(-2528,0,0), 3); RotationOffset(Mm, LinkedTile.Rotation, 0,0,0); Mm = CreateMeshMover(Location, id$"wilnisgo", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_sheeting_right' , 10.00, 4); Mm.SetKeyPos( RotateVectorNoLocation(301.00,-72.00,0.00), 1); Mm.SetKeyRot( rot(0,-2016,0), 1); Mm.SetKeyPos( RotateVectorNoLocation(629.00,-251.00,-3.00), 2); Mm.SetKeyRot( rot(-4,-4384,0), 2); Mm.SetKeyPos( RotateVectorNoLocation(835.00,-386.00,585.04), 3); Mm.SetKeyRot( rot(4072,-6768,-3240), 3); RotationOffset(Mm, LinkedTile.Rotation, 0,0,0); Mm = CreateMeshMover(Location, id$"wilnisgo", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_sheeting_mid' , 10.00, 4); Mm.SetKeyPos( RotateVectorNoLocation(-78.00,5.00,0.00), 1); Mm.SetKeyRot( rot(0,0,0), 1); Mm.SetKeyPos( RotateVectorNoLocation(-157.00,-7.00,-4.00), 2); Mm.SetKeyRot( rot(0,0,0), 2); Mm.SetKeyPos( RotateVectorNoLocation(-278.00,55.00,40.00), 3); Mm.SetKeyRot( rot(5128,672,0), 3); RotationOffset(Mm, LinkedTile.Rotation, 0,0,0); Mm = CreateMeshMover(Location, id$"wilnisgo", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_sheeting_left' , 10.00, 4); Mm.SetKeyPos( RotateVectorNoLocation(-531.00,-8.00,0.00), 1); Mm.SetKeyRot( rot(0,1984,0), 1); Mm.SetKeyPos( RotateVectorNoLocation(-1109.00,-141.00,-9.00), 2); Mm.SetKeyRot( rot(0,4224,0), 2); Mm.SetKeyPos( RotateVectorNoLocation(-1329.11,-307.94,-648.00), 3); Mm.SetKeyRot( rot(3728,6584,3136), 3); RotationOffset(Mm, LinkedTile.Rotation, 0,0,0); Mm = CreateMeshMover(Location, id$"wilnisgo", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_road_mid' , 10.00, 4); Mm.SetKeyPos( RotateVectorNoLocation(0.00,0.00,0.00), 1); Mm.SetKeyRot( rot(0,0,0), 1); Mm.SetKeyPos( RotateVectorNoLocation(-44.00,8.00,-3.00), 2); Mm.SetKeyRot( rot(0,0,0), 2); Mm.SetKeyPos( RotateVectorNoLocation(-131.00,37.00,-185.02), 3); Mm.SetKeyRot( rot(-280,40,0), 3); RotationOffset(Mm, LinkedTile.Rotation, 0,0,0); Mm = CreateMeshMover(Location, id$"wilnisgo", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_road_links' , 10.00, 4); Mm.SetKeyPos( RotateVectorNoLocation(0.00,0.00,0.00), 1); Mm.SetKeyRot( rot(0,0,0), 1); Mm.SetKeyPos( RotateVectorNoLocation(-180.02,34.01,-6.00), 2); Mm.SetKeyRot( rot(0,656,0), 2); Mm.SetKeyPos( RotateVectorNoLocation(-393.00,-167.00,-936.00), 3); Mm.SetKeyRot( rot(0,1072,3496), 3); RotationOffset(Mm, LinkedTile.Rotation, 0,0,0); Mm = CreateMeshMover(Location, id$"wilnisgo", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_road_right' , 10.00, 4); Mm.SetKeyPos( RotateVectorNoLocation(0.00,0.00,0.00), 1); Mm.SetKeyRot( rot(0,0,0), 1); Mm.SetKeyPos( RotateVectorNoLocation(89.00,-63.00,4.00), 2); Mm.SetKeyRot( rot(0,-832,0), 2); Mm.SetKeyPos( RotateVectorNoLocation(66.00,-39.00,239.00), 3); Mm.SetKeyRot( rot(0,-952,-2000), 3); RotationOffset(Mm, LinkedTile.Rotation, 0,0,0); Mm = CreateMeshMover(RotateVector(367.75,-53.33,128.00), id$"wilnisgo", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_block_mover' , 1.00, 4); Mm.SetKeyPos( RotateVectorNoLocation(-288.00,-32.00,0.00), 1); Mm.SetKeyRot( rot(0,0,0), 1); Mm.SetKeyPos( RotateVectorNoLocation(-352.00,-32.00,0.00), 2); Mm.SetKeyRot( rot(0,0,0), 2); Mm.SetKeyPos( RotateVectorNoLocation(-480.00,-64.00,0.00), 3); Mm.SetKeyRot( rot(0,0,0), 3); RotationOffset(Mm, LinkedTile.Rotation, 0,0,0); sMA = CreateMesh(RotateVector(-0.25,-0.33,128.00), id$"StaticMeshActor", StaticMesh'SecDikeSM.Droogte_wilnis.wilnis_block_water'); RotationOffset(sMA, 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, 17); sT.Actions[0] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[0]).PauseTime = 10.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_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[4]).Event = GetName(id$"wilnisgo"); sT.Actions[5] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[5]).PauseTime = 300.00 * speedfactor; sT.Actions[6] = new class'ACTION_IfCritical'; ACTION_IfCritical(sT.Actions[6]).FailureTag = GetName(id$""); sT.Actions[7] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[7]).Event = GetName(id$"wilnisgo"); sT.Actions[8] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[8]).PauseTime = 340.00 * speedfactor; sT.Actions[9] = new class'ACTION_IfNoRightMeasuresTaken'; ACTION_IfNoRightMeasuresTaken(sT.Actions[9]).FailureTag = GetName(id$""); sT.Actions[10] = new class'ACTION_TriggerEventOnce'; ACTION_TriggerEventOnce(sT.Actions[10]).EventN = LinkedTile.WaterMover.Tag; // GetName(id$"TopPolderWaterMover"); sT.Actions[11] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[11]).Event = GetName(id$"wilnisgo"); sT.Actions[12] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[12]).Event = GetName(id$"CrashSplash"); sT.Actions[13] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[13]).Event = GetName(id$"LotsOfWaterEmitter"); sT.Actions[14] = new class'ACTION_TriggerEvent'; ACTION_TriggerEvent(sT.Actions[14]).Event = GetName(id$"wilniswater"); sT.Actions[15] = new class'ACTION_WaitForTimer'; ACTION_WaitForTimer(sT.Actions[15]).PauseTime = 20.00 * speedfactor; sT.Actions[16] = new class'ACTION_EndGame'; } function CreateSignals() { local SignalHorizontalMovement signal0; //SignalCrack local SignalCrack signal1; local SignalHorizontalMovement signal2; local SignalReportHorizontalMovement signal0report0; local SignalReportCrack signal1report0; local SignalReportHorizontalMovement signal2report0; /// Signals information: Signals.Insert(0,3); /// done signal0 = New class'SignalHorizontalMovement'; signal0.RevetmentType=REV_Grass; signal0.FirstState=STA_Reportable; signal0.CrossCutLocation=CUT_OuterSlope; signal0.SignalType=SIG_HorizontalMovement; signal0.SignalReports.insert(0,1); signal0report0 = New class'SignalReportHorizontalMovement'; signal0report0.GeoState = STA_Reportable; signal0report0.LengthOfDamage = SIZE_Small; signal0report0.LengthOfDamageMax = SIZE_Medium; signal0report0.WidthOfDamage = SIZE_VerySmall; signal0report0.WidthOfDamageMax = SIZE_Small; signal0.SignalReports[0] = signal0report0; Signals[0] = signal0; /// // done signal1 = New class'SignalCrack'; signal1.RevetmentType=REV_Grass; signal1.FirstState=STA_Relevant; signal1.CrossCutLocation=CUT_Top; signal1.SignalType=SIG_Crack; signal1.CrackType=CRK_Perpendicular; signal1.SignalReports.insert(0,1); signal1report0 = New class'SignalReportCrack'; signal1report0.GeoState = STA_Relevant; signal1report0.MultipleCracks = GEO_Yes; signal1report0.FlushingSoil = GEO_No; signal1report0.LengthOfDamage = SIZE_verySmall; signal1report0.LengthOfDamageMax = SIZE_Small; signal1report0.WidthOfDamage = SIZE_MediumLarge; signal1report0.WidthOfDamageMax = SIZE_Large; signal1.SignalReports[0] = signal1report0; Signals[1] = signal1; /// signal2 = New class'SignalHorizontalMovement'; signal2.RevetmentType=REV_Grass; signal2.FirstState=STA_Critical; signal2.CrossCutLocation=CUT_OuterSlope; signal2.SignalType=SIG_HorizontalMovement; signal2.SignalReports.insert(0,1); signal2report0 = New class'SignalReportHorizontalMovement'; signal2report0.GeoState = STA_Critical; signal2report0.LengthOfDamage = SIZE_MediumLarge; signal2report0.LengthOfDamageMax = SIZE_Large; signal2report0.WidthOfDamage = SIZE_MediumLarge; signal2report0.WidthOfDamageMax = SIZE_VeryLarge; signal2.SignalReports[0] = signal2report0; Signals[2] = signal2; } function CreateMeasures() { local Measure Msr; /// Creating measures: Measures.Insert(0,1); Msr = New class'Measure'; Msr.SetPropertyText("EventMeasureTaken", id$"MeasureSecMacro03"); Msr.bMeasureEffective = True; Msr.MeasureType = MEA_SandBank_SlakeningSlope; Measures[0] = Msr; } function CreateMeasureScripts() { // local DScriptedTrigger sT; } defaultproperties { FailureSize = TS_32M; }