On this page
Throttle
WorkingTitle\GlassCockpit\Epic2v2\Throttle.xml
Templates
WT_Epic2_Engine_Throttle_Template
Definition from XML<Template Name="WT_Epic2_Engine_Throttle_Template"> <Parameters Type="Default"> <ID>1</ID> <ID_NODE>#ID#</ID_NODE> </Parameters> <Parameters Type="Default"> <NODE_ID>ENGINE_#INTERACTION_TYPE#_Throttle_#ID_NODE#</NODE_ID> <ANIM_NAME>ENGINE_#INTERACTION_TYPE#_Throttle_#ID_NODE#</ANIM_NAME> <PART_ID>ENGINE_#INTERACTION_TYPE#_Throttle</PART_ID> <THROTTLE_VAR>A:GENERAL ENG THROTTLE LEVER POSITION:#ID#</THROTTLE_VAR> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <RESET_LIMITS/> <PROCESS_LIMITS> (A:THROTTLE LOWER LIMIT, position 16k) (>O:XMLVAR_MIN_Limit) 16384 (>O:XMLVAR_MAX_Limit) </PROCESS_LIMITS> <DRAG_AXIS_SCALE>-450</DRAG_AXIS_SCALE> <POSITION_TYPE>O</POSITION_TYPE> <POSITION_VAR>Position</POSITION_VAR> <DELTA_MIN>0.00025</DELTA_MIN> <AXIS>Y</AXIS> <USE_TRAJECTORY_DRAG_MODE>true</USE_TRAJECTORY_DRAG_MODE> <NO_ARROWS/> <Condition NotEmpty="AFTERBURNER_GATE_POS"> <AFTERBURNER_GATE_POS_16K Process="Int">#AFTERBURNER_GATE_POS# 16384 *</AFTERBURNER_GATE_POS_16K> <AFTERBURNER_GATE_POS_WITH_MARGIN Process="Float">#AFTERBURNER_GATE_POS# 0.01 -</AFTERBURNER_GATE_POS_WITH_MARGIN> </Condition> <Condition NotEmpty="OFF_GATE_POS"> <OFF_GATE_POS_16K Process="Int">#OFF_GATE_POS# 16384 *</OFF_GATE_POS_16K> </Condition> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <ENABLE_FORCED_BETA>#ID# (>K:PROP_FORCE_BETA_ON) 30 180 / 16384 * #ID# (>K:2:PROP_FORCE_BETA_VALUE_SET)</ENABLE_FORCED_BETA> <DISABLE_FORCED_BETA>#ID# (>K:PROP_FORCE_BETA_OFF)</DISABLE_FORCED_BETA> <CHECK_FORCED_BETA>(A:PROP BETA FORCED ACTIVE:#ID#, Bool)</CHECK_FORCED_BETA> </Condition> <GATE_MARGIN>256</GATE_MARGIN> </Case> </Switch> <TOOLTIPID>TT:COCKPIT.TOOLTIPS.THROTTLE_CONTROL</TOOLTIPID> <INCREMENT>163.84</INCREMENT> <SCROLL_INCREMENT>701</SCROLL_INCREMENT> <CURSOR>Hand</CURSOR> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <IDLE_GATE_SET_ABOVE>#CHECK_FORCED_BETA# ! (>O:XMLVAR_MIN_Limit)</IDLE_GATE_SET_ABOVE> <IDLE_GATE_SET_BELOW>#CHECK_FORCED_BETA# (>O:XMLVAR_MAX_Limit)</IDLE_GATE_SET_BELOW> <IDLE_GATE_SET_IN> #CHECK_FORCED_BETA# if{ 1 (>O:XMLVAR_MAX_Limit) } els{ 0 (>O:XMLVAR_MIN_Limit) } </IDLE_GATE_SET_IN> <ON_BEFORE_SET> (O:XMLVAR_MIN_Limit) 0 == (O:XMLVAR_MAX_Limit) 0 == or p0 0 == and if{ #ENABLE_FORCED_BETA# } els{ (O:XMLVAR_MAX_Limit) 1 == p0 0 != if{ #DISABLE_FORCED_BETA# } } </ON_BEFORE_SET> </True> <False> <IDLE_GATE_SET_ABOVE>0 (>O:XMLVAR_MIN_Limit)</IDLE_GATE_SET_ABOVE> <IDLE_GATE_SET_BELOW>0 (>O:XMLVAR_MAX_Limit)</IDLE_GATE_SET_BELOW> <IDLE_GATE_SET_IN/> </False> </Condition> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Switch> <Case Check="HAS_IDLE_GATE"> <DRAG_MAX_VALUE>16384 (O:XMLVAR_MAX_Limit) min</DRAG_MAX_VALUE> <PROCESS_LIMITS> #PROCESS_LIMITS# (#THROTTLE_VAR#, position 16k) s0 #GATE_MARGIN# > if{ #IDLE_GATE_SET_ABOVE# } els{ l0 #GATE_MARGIN# neg < if{ #IDLE_GATE_SET_BELOW# } els{ #IDLE_GATE_SET_IN# } } </PROCESS_LIMITS> <RESET_LIMITS> (A:THROTTLE LOWER LIMIT, position 16k) (>O:XMLVAR_MIN_Limit) 16384 (>O:XMLVAR_MAX_Limit) </RESET_LIMITS> <DRAG_MIN_VALUE>(A:THROTTLE LOWER LIMIT, position 16k) (O:XMLVAR_MIN_Limit) max</DRAG_MIN_VALUE> <Condition Check="IDLE_GATE_ANIM_POS"> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <IDLE_MIN>#GROUND_GATE_ANIM_POS#</IDLE_MIN> </True> <False> <IDLE_MIN>#IDLE_GATE_ANIM_POS#</IDLE_MIN> </False> </Condition> <IDLE_MAX>#IDLE_GATE_ANIM_POS#</IDLE_MAX> <TRUE_IDLE_01 Process="Float">0 (A:THROTTLE LOWER LIMIT, percent) - 100 (A:THROTTLE LOWER LIMIT, percent) - /</TRUE_IDLE_01> <IDLE_MARGIN>0.001</IDLE_MARGIN> </Condition> </Case> <Case NotEmpty="OFF_GATE_POS_16K"> <DRAG_MAX_VALUE>16384 (O:XMLVAR_MAX_Limit) min</DRAG_MAX_VALUE> <DRAG_MIN_VALUE>(A:THROTTLE LOWER LIMIT, position 16k) (O:XMLVAR_MIN_Limit) max</DRAG_MIN_VALUE> <PROCESS_LIMITS> #PROCESS_LIMITS# (#THROTTLE_VAR#, position 16k) #OFF_GATE_POS_16K# > if{ #OFF_GATE_POS_16K# (>O:XMLVAR_MIN_Limit) } </PROCESS_LIMITS> </Case> <Default> <DRAG_MAX_VALUE>16384</DRAG_MAX_VALUE> <DRAG_MIN_VALUE Process="Int">(A:THROTTLE LOWER LIMIT, position 16k)</DRAG_MIN_VALUE> </Default> </Switch> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <MIN_DIFF_POS_16K>819.2</MIN_DIFF_POS_16K> <Condition Valid="USE_TRAJECTORY_DRAG_MODE"> <DRAG_ANIM_NAME>#ANIM_NAME#</DRAG_ANIM_NAME> </Condition> <MAIN_LEVER_REVERSE_POSITION Process="Int">(A:THROTTLE LOWER LIMIT, position 16k)</MAIN_LEVER_REVERSE_POSITION> <MAIN_LEVER_REVERSE_POSITION_PCT Process="Int">(A:THROTTLE LOWER LIMIT, percent)</MAIN_LEVER_REVERSE_POSITION_PCT> <SNAP_DISTANCE>1</SNAP_DISTANCE> <DRAG_VALUE_OVERRIDE/> <Condition> <Test> <And> <Arg Check="HAS_IDLE_GATE"/> <Arg Check="IDLE_GATE_ANIM_POS"/> </And> </Test> <True> <LERP_IDLE_FULL>l0 #IDLE_MAX# max #IDLE_MAX# - 1 #IDLE_MAX# - / 1 #TRUE_IDLE_01# - * #TRUE_IDLE_01# +</LERP_IDLE_FULL> <LERP_IDLE_REVERSE>l0 #IDLE_MIN# min #IDLE_MIN# - #IDLE_MIN# / #TRUE_IDLE_01# * #TRUE_IDLE_01# +</LERP_IDLE_REVERSE> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <PICK_IDLE_GROUND>#IDLE_MIN# #IDLE_MAX# #CHECK_FORCED_BETA# ?</PICK_IDLE_GROUND> </True> <False> <PICK_IDLE_GROUND>#IDLE_MIN#</PICK_IDLE_GROUND> </False> </Condition> </True> </Condition> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition> <Test> <And> <Arg Check="HAS_IDLE_GATE"/> <Arg Check="IDLE_GATE_ANIM_POS"/> </And> </Test> <True> <ADJUST_RAW_DRAG_VALUE>sp0 #LERP_IDLE_FULL# #LERP_IDLE_REVERSE# l0 #PICK_IDLE_GROUND# > ?</ADJUST_RAW_DRAG_VALUE> </True> <False> <ADJUST_RAW_DRAG_VALUE/> </False> </Condition> <Condition NotEmpty="GROUND_GATE_ANIM_POS"> <True> <GROUND_THROTTLE_ANIM_CODE> #IDLE_MIN# #IDLE_MAX# (* Idle/Ground *) #CHECK_FORCED_BETA# ? r l0 l1 0.01 eps ? </GROUND_THROTTLE_ANIM_CODE> </True> <False> <GROUND_THROTTLE_ANIM_CODE/> </False> </Condition> </Case> </Switch> <Condition NotEmpty="OFF_GATE_POS"> <Condition NotEmpty="VALVE_ID"> <True> <VALVE_GET>(A:FUELSYSTEM VALVE SWITCH:#VALVE_ID#, Boolean) !</VALVE_GET> <VALVE_CLOSE>#VALVE_ID# (>K:FUELSYSTEM_VALVE_CLOSE)</VALVE_CLOSE> <VALVE_OPEN>#VALVE_ID# (>K:FUELSYSTEM_VALVE_OPEN)</VALVE_OPEN> </True> <False> <VALVE_GET>(A:SHUTOFF VALVE PULLED, Boolean)</VALVE_GET> <VALVE_CLOSE>(>K:SHUTOFF_VALVE_OFF)</VALVE_CLOSE> <VALVE_OPEN>(>K:SHUTOFF_VALVE_ON)</VALVE_OPEN> </False> </Condition> </Condition> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Switch Param="LEVER_TYPE"> <Case NotEmpty="OFF_GATE_POS"> <ADJUST_RAW_DRAG_VALUE> #OFF_GATE_POS# max #OFF_GATE_POS# - 1 #OFF_GATE_POS# - / </ADJUST_RAW_DRAG_VALUE> <THROTTLE_ANIM_CODE>(B:ENGINE_Throttle_#ID#, percent)</THROTTLE_ANIM_CODE> </Case> <Default> <Condition> <Test> <And> <Arg Check="HAS_IDLE_GATE"/> <Arg Check="IDLE_GATE_ANIM_POS"/> </And> </Test> <True> <THROTTLE_ANIM_CODE> (B:ENGINE_Throttle_#ID#, percent over 100) 1000 * int 1000 / sp0 #TRUE_IDLE_01# 1000 * int 1000 / sp1 l0 l1 - 1 #TRUE_IDLE_01# - / 1 #IDLE_MAX# - * #IDLE_MAX# + (* Upper part of throttle *) #GROUND_THROTTLE_ANIM_CODE# l0 l1 / #IDLE_MIN# * (* Reverse *) l0 l1 >= ? 100 * </THROTTLE_ANIM_CODE> </True> <False> <THROTTLE_ANIM_CODE>(B:ENGINE_Throttle_#ID#, percent)</THROTTLE_ANIM_CODE> </False> </Condition> </Default> </Switch> </Case> </Switch> </Parameters> <Component ID="#NODE_ID#" Node="#NODE_ID#"> <Parameters Type="Default"> <TOOLTIP_THROTTLE_TITLE>@TT_Package.ENGINE_THROTTLE_TITLE</TOOLTIP_THROTTLE_TITLE> <THROTTLE_ON_AFTER_SET/> <RIGHT_SINGLE_CODE/> <ENTRIES_COUNT>1</ENTRIES_COUNT> </Parameters> <Parameters Type="Override"> <TOOLTIP_TITLE>#TOOLTIP_THROTTLE_TITLE#</TOOLTIP_TITLE> <TOOLTIP_ENTRY_0>ENGINE_Throttle_#ID#</TOOLTIP_ENTRY_0> <Condition Valid="HAS_WEP"> <TOOLTIP_ENTRY_#ENTRIES_COUNT#>ENGINE_Throttle_#ID#_WEP</TOOLTIP_ENTRY_#ENTRIES_COUNT#> <ENTRIES_COUNT Process="Int">#ENTRIES_COUNT# 1 +</ENTRIES_COUNT> <RIGHT_SINGLE_CODE>#RIGHT_SINGLE_CODE# (>B:ENGINE_Throttle_#ID#_WEP_On)</RIGHT_SINGLE_CODE> <THROTTLE_ANIM_CODE> #THROTTLE_ANIM_CODE# sp0 (B:ENGINE_Throttle_#ID#_WEP) if{ l0 } els{ l0 0.9 * } </THROTTLE_ANIM_CODE> </Condition> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="OFF_GATE_POS"> <TOOLTIP_ENTRY_#ENTRIES_COUNT#>ENGINE_Throttle_#ID#_STOP</TOOLTIP_ENTRY_#ENTRIES_COUNT#> <ENTRIES_COUNT Process="Int">#ENTRIES_COUNT# 1 +</ENTRIES_COUNT> <RIGHT_SINGLE_CODE>#RIGHT_SINGLE_CODE# (>B:ENGINE_Throttle_#ID#_STOP_On)</RIGHT_SINGLE_CODE> <THROTTLE_ANIM_CODE> #THROTTLE_ANIM_CODE# sp0 (B:ENGINE_Throttle_#ID#_STOP) if{ 0 } els{ #OFF_GATE_POS# 100 * l0 1 #OFF_GATE_POS# - * + } </THROTTLE_ANIM_CODE> <THROTTLE_ON_AFTER_SET>#THROTTLE_ON_AFTER_SET# (>B:ENGINE_Throttle_#ID#_STOP_Off)</THROTTLE_ON_AFTER_SET> </Condition> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="AFTERBURNER_GATE_POS"> <TOOLTIP_ENTRY_#ENTRIES_COUNT#>ENGINE_Throttle_#ID#_Afterburner</TOOLTIP_ENTRY_#ENTRIES_COUNT#> <ENTRIES_COUNT Process="Int">#ENTRIES_COUNT# 1 +</ENTRIES_COUNT> <RIGHT_SINGLE_CODE>#RIGHT_SINGLE_CODE# (>B:ENGINE_Throttle_#ID#_Afterburner_On)</RIGHT_SINGLE_CODE> <THROTTLE_ON_AFTER_SET>#THROTTLE_ON_AFTER_SET# l0 #AFTERBURNER_GATE_POS_WITH_MARGIN# < if{ (>B:ENGINE_Throttle_#ID#_Afterburner_Off) }</THROTTLE_ON_AFTER_SET> <PROCESS_LIMITS> #PROCESS_LIMITS# (B:ENGINE_Throttle_#ID#_Afterburner) ! if{ (O:XMLVAR_MAX_Limit) #AFTERBURNER_GATE_POS_16K# min (>O:XMLVAR_MAX_Limit) } </PROCESS_LIMITS> <ADJUST_RAW_DRAG_VALUE>#ADJUST_RAW_DRAG_VALUE# d (>L:XMLVAR_LastAB#ID#ThrottleSet)</ADJUST_RAW_DRAG_VALUE> <CLAMP_IE>True</CLAMP_IE> <AFTERBURNER_BINDING_SET>(B:ENGINE_Throttle_#ID#, Percent over 100) #AFTERBURNER_GATE_POS_WITH_MARGIN# >= if{ 1 } els{ 0 }</AFTERBURNER_BINDING_SET> <ON_AFTER_SET_BINDING>d (>L:XMLVAR_LastAB#ID#ThrottleSet)</ON_AFTER_SET_BINDING> <THROTTLE_ON_AFTER_INC>(B:ENGINE_Throttle_#ID#, Percent over 100) (>L:XMLVAR_LastAB#ID#ThrottleSet)</THROTTLE_ON_AFTER_INC> <THROTTLE_ON_AFTER_DEC>(B:ENGINE_Throttle_#ID#, Percent over 100) (>L:XMLVAR_LastAB#ID#ThrottleSet)</THROTTLE_ON_AFTER_DEC> <AFTERBURNER_THROTTLE_INC> (E:SIMULATION TIME, seconds) s0 (L:XMLVAR_IE_Afterburner_#ID#_LastThrottleInc) 0.2 + < if{ 1 (>L:XMLVAR_IE_Afterburner_#ID#_Quit) } l0 (>L:XMLVAR_IE_Afterburner_#ID#_LastThrottleInc) 1 </AFTERBURNER_THROTTLE_INC> </Condition> </Parameters> <Switch Param="INTERACTION_TYPE"> <Case Value="Lever"> <Condition Check="ANIM_NAME_REVERSE_LOCK"> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_CODE> (A:GENERAL ENG REVERSE THRUST ENGAGED:#ID#, bool) (#THROTTLE_VAR#, Percent) 0 < or 100 * </ANIM_CODE> <ANIM_NAME>#ANIM_NAME_REVERSE_LOCK#</ANIM_NAME> </UseTemplate> <UseTemplate Name="ASOBO_GT_AnimTriggers_2SoundEvents"> <ANIM_NAME>#ANIM_NAME_REVERSE_LOCK#</ANIM_NAME> <WWISE_EVENT_1>throttle_lever_lock_on</WWISE_EVENT_1> <WWISE_EVENT_2>throttle_lever_lock_off</WWISE_EVENT_2> </UseTemplate> </Condition> <UseInputEvent ID="ENGINE"> <THROTTLE_ID>#ID#</THROTTLE_ID> <GET_THROTTLE>(#THROTTLE_VAR#, position 16k)</GET_THROTTLE> <Condition NotEmpty="THROTTLE_ON_AFTER_SET"> <ON_AFTER_SET>#THROTTLE_ON_AFTER_SET#</ON_AFTER_SET> </Condition> <Condition NotEmpty="THROTTLE_ON_AFTER_INC"> <ON_AFTER_INC>#THROTTLE_ON_AFTER_INC#</ON_AFTER_INC> </Condition> <Condition NotEmpty="THROTTLE_ON_AFTER_DEC"> <ON_AFTER_DEC>#THROTTLE_ON_AFTER_DEC#</ON_AFTER_DEC> </Condition> <RESET_LIMITS> #PROCESS_LIMITS# </RESET_LIMITS> <Condition Valid="CLAMP_IE"> <CLAMP_UPPER_LIMIT>(O:XMLVAR_MAX_Limit)</CLAMP_UPPER_LIMIT> <CLAMP_LOWER_LIMIT>(O:XMLVAR_MIN_Limit)</CLAMP_LOWER_LIMIT> <ON_AFTER_INIT>#PROCESS_LIMITS#</ON_AFTER_INIT> </Condition> </UseInputEvent> <Condition Valid="HAS_WEP"> <UseInputEvent ID="ENGINE"> <BTN_ID>Throttle_#ID#_WEP</BTN_ID> <SET_STATE_EXTERNAL>(B:ENGINE_Throttle_#ID#) 100 == (A:RECIP ENG EMERGENCY BOOST ACTIVE:#ID#, Bool) ! and if{ (>K:WAR_EMERGENCY_POWER) 1 (>O:IsWEPActive) }</SET_STATE_EXTERNAL> <TT_ICON>PUSH</TT_ICON> <TT_INTERACTION>PRIMARY_DOWN+SECONDARY_DOWN</TT_INTERACTION> <TT_INTERACTION_LOCKABLE>SECONDARY_DOWN</TT_INTERACTION_LOCKABLE> <TT_DESCRIPTION>@TT_Package.THROTTLE_SWITCH_WEP_ACTION</TT_DESCRIPTION> <TT_DESCRIPTION_IS_DYNAMIC>False</TT_DESCRIPTION_IS_DYNAMIC> <TT_VALUE>(O:IsWEPActive) @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> <VALUE_CODE>(O:IsWEPActive)</VALUE_CODE> <VALUE_UNITS>Boolean</VALUE_UNITS> <BINDING_SET_0>On</BINDING_SET_0> <BINDING_SET_0_PARAM_0>(B:ENGINE_Throttle_#ID#) 100 == (A:RECIP ENG EMERGENCY BOOST ACTIVE:#ID#, Bool) ! and</BINDING_SET_0_PARAM_0> <BINDING_SET_0_PARAM_0_IS_DYNAMIC>True</BINDING_SET_0_PARAM_0_IS_DYNAMIC> <BINDING_SET_1>Activate</BINDING_SET_1> <BINDING_SET_1_EVENT_ID_ONLY>True</BINDING_SET_1_EVENT_ID_ONLY> <BINDING_SET_1_EVENT_ID>WAR_EMERGENCY_POWER</BINDING_SET_1_EVENT_ID> <BINDING_SET_1_PARAM_0>1</BINDING_SET_1_PARAM_0> </UseInputEvent> </Condition> <Condition NotEmpty="OFF_GATE_POS"> <UseInputEvent ID="ENGINE"> <BTN_ID>Throttle_#ID#_STOP</BTN_ID> <GET_STATE_EXTERNAL>#VALVE_GET#</GET_STATE_EXTERNAL> <SET_STATE_EXTERNAL>(B:ENGINE_Throttle_#ID#) 0.1 < p0 and if{ #VALVE_CLOSE# } els{ #VALVE_OPEN# }</SET_STATE_EXTERNAL> <ON_BEFORE_SET_CODE> p0 (B:ENGINE_Throttle_#ID#, Percent over 100) 0 > and if{ quit } </ON_BEFORE_SET_CODE> <TT_ICON>PUSH</TT_ICON> <TT_INTERACTION>PRIMARY_DOWN+SECONDARY_DOWN</TT_INTERACTION> <TT_INTERACTION_LOCKABLE>SECONDARY_DOWN</TT_INTERACTION_LOCKABLE> <TT_DESCRIPTION>@TT_Package.THROTTLE_FUEL_CUTOFF_ACTION</TT_DESCRIPTION> <TT_VALUE>#VALVE_GET# @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> <VALUE_CODE>#VALVE_GET#</VALUE_CODE> <VALUE_UNITS>Boolean</VALUE_UNITS> <Condition NotEmpty="ON_AFTER_SET_STOP"> <ON_AFTER_SET_CODE>#ON_AFTER_SET_STOP#</ON_AFTER_SET_CODE> </Condition> </UseInputEvent> </Condition> <Condition NotEmpty="AFTERBURNER_GATE_POS"> <UseInputEvent ID="ENGINE"> <BTN_ID>Throttle_#ID#_Afterburner</BTN_ID> <GET_STATE_EXTERNAL>(A:TURB ENG AFTERBURNER:#ID#, Boolean) sp0</GET_STATE_EXTERNAL> <ON_BEFORE_SET_CODE> p0 (B:ENGINE_Throttle_#ID#, Percent over 100) #AFTERBURNER_GATE_POS_WITH_MARGIN# < and (L:XMLVAR_IE_Afterburner_#ID#_Quit) or 0 (>L:XMLVAR_IE_Afterburner_#ID#_Quit) if{ quit } </ON_BEFORE_SET_CODE> <SET_STATE_EXTERNAL> p0 if{ 16384 (>O:XMLVAR_MAX_Limit) (L:XMLVAR_LastAB#ID#ThrottleSet) (>B:ENGINE_Throttle_#ID#_Set) } </SET_STATE_EXTERNAL> <TT_ICON>PUSH</TT_ICON> <TT_INTERACTION>PRIMARY_DOWN+SECONDARY_DOWN</TT_INTERACTION> <TT_INTERACTION_LOCKABLE>SECONDARY_DOWN</TT_INTERACTION_LOCKABLE> <TT_DESCRIPTION>@TT_Package.THROTTLE_SWITCH_AFTERBURNER_ACTION</TT_DESCRIPTION> <TT_VALUE>(B:ENGINE_Throttle_#ID#_Afterburner) @TT_OnOff_Cond</TT_VALUE> <TT_VALUE_IS_DYNAMIC>True</TT_VALUE_IS_DYNAMIC> <Condition NotEmpty="ON_AFTER_SET_STOP"> <ON_AFTER_SET_CODE>#ON_AFTER_SET_STOP#</ON_AFTER_SET_CODE> </Condition> <BINDING_SET_3>KeyBind_Toggle</BINDING_SET_3> <BINDING_SET_3_EVENT_ID_ONLY>True</BINDING_SET_3_EVENT_ID_ONLY> <BINDING_SET_3_EVENT_ID>TOGGLE_AFTERBURNER</BINDING_SET_3_EVENT_ID> <BINDING_SET_3_PARAM_0>#AFTERBURNER_BINDING_SET#</BINDING_SET_3_PARAM_0> <BINDING_SET_3_PARAM_0_IS_DYNAMIC>True</BINDING_SET_3_PARAM_0_IS_DYNAMIC> <BINDING_SET_4>KeyBind_ToggleID</BINDING_SET_4> <BINDING_SET_4_EVENT_ID_ONLY>True</BINDING_SET_4_EVENT_ID_ONLY> <BINDING_SET_4_EVENT_ID>TOGGLE_AFTERBURNER#ID#</BINDING_SET_4_EVENT_ID> <BINDING_SET_4_PARAM_0>#AFTERBURNER_BINDING_SET#</BINDING_SET_4_PARAM_0> <BINDING_SET_4_PARAM_0_IS_DYNAMIC>True</BINDING_SET_4_PARAM_0_IS_DYNAMIC> <BINDING_SET_5>KeyBind_IncreaseThrottle</BINDING_SET_5> <BINDING_SET_5_EVENT_ID>THROTTLE_INCR</BINDING_SET_5_EVENT_ID> <BINDING_SET_5_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_5_PARAM_0> <BINDING_SET_5_PARAM_0_IS_DYNAMIC>True</BINDING_SET_5_PARAM_0_IS_DYNAMIC> <BINDING_SET_6>KeyBind_IncreaseThrottleSmall</BINDING_SET_6> <BINDING_SET_6_EVENT_ID>THROTTLE_INCR_SMALL</BINDING_SET_6_EVENT_ID> <BINDING_SET_6_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_6_PARAM_0> <BINDING_SET_6_PARAM_0_IS_DYNAMIC>True</BINDING_SET_6_PARAM_0_IS_DYNAMIC> <BINDING_SET_7>KeyBind_IncreaseThrottle#ID#</BINDING_SET_7> <BINDING_SET_7_EVENT_ID>THROTTLE#ID#_INCR</BINDING_SET_7_EVENT_ID> <BINDING_SET_7_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_7_PARAM_0> <BINDING_SET_7_PARAM_0_IS_DYNAMIC>True</BINDING_SET_7_PARAM_0_IS_DYNAMIC> <BINDING_SET_8>KeyBind_IncreaseThrottle#ID#Small</BINDING_SET_8> <BINDING_SET_8_EVENT_ID>THROTTLE#ID#_INCR_SMALL</BINDING_SET_8_EVENT_ID> <BINDING_SET_8_PARAM_0>#AFTERBURNER_THROTTLE_INC#</BINDING_SET_8_PARAM_0> <BINDING_SET_8_PARAM_0_IS_DYNAMIC>True</BINDING_SET_8_PARAM_0_IS_DYNAMIC> <SIMVAR_TO_WATCH_0>TURB ENG AFTERBURNER:#ID#</SIMVAR_TO_WATCH_0> </UseInputEvent> </Condition> <UseTemplate Name="ASOBO_GT_Anim_Code"> <Condition Valid="OVERRIDE_ANIM_CODE"> <True> <ANIM_CODE>#OVERRIDE_ANIM_CODE#</ANIM_CODE> </True> <False> <ANIM_CODE>#THROTTLE_ANIM_CODE#</ANIM_CODE> </False> </Condition> </UseTemplate> <Update Once="True"> #RESET_LIMITS# </Update> <UseTemplate Name="ASOBO_GT_Interaction_WheelLeftDrag_Axis"> <LOCK_CODE> #PROCESS_LIMITS# </LOCK_CODE> <UNLOCK_CODE> #RESET_LIMITS# </UNLOCK_CODE> <HELPID>HELPID_GAUGE_THROTTLE_THROTTLE</HELPID> <DRAG_SIMVAR>#THROTTLE_VAR#</DRAG_SIMVAR> <Condition Valid="USE_TRAJECTORY_DRAG_MODE"> <True> <DRAG_CODE> (M:InputType) 1 == if{ (O:_ResetLimitsTime) (E:SIMULATION TIME, second) < if{ (#THROTTLE_VAR#, position 16k) abs #MIN_DIFF_POS_16K# < if{ #RESET_LIMITS# } } (E:SIMULATION TIME, second) 0.1 + (>O:_ResetLimitsTime) } 16384 #MAIN_LEVER_REVERSE_POSITION# - (M:DragPercent) #ADJUST_RAW_DRAG_VALUE# * #MAIN_LEVER_REVERSE_POSITION# + sp0 #DRAG_VALUE_OVERRIDE# l0 #DRAG_MAX_VALUE# min #DRAG_MIN_VALUE# max 16384 / (>B:ENGINE_Throttle_#ID#_Set) (#THROTTLE_VAR#, position 16k) abs #MIN_DIFF_POS_16K# > if{ #PROCESS_LIMITS# } </DRAG_CODE> </True> <False> <DRAG_CODE> (#THROTTLE_VAR#, position 16k) #INCREMENT# (O:DragScale) * + #DRAG_MAX_VALUE# min #DRAG_MIN_VALUE# max 16384 / (>B:ENGINE_Throttle_#ID#_Set) (#THROTTLE_VAR#, position 16k) abs #MIN_DIFF_POS_16K# > if{ #PROCESS_LIMITS# } </DRAG_CODE> </False> </Condition> <POSITIVE_AXIS_CODE>1 (>B:ENGINE_Throttle_#ID#_Inc)</POSITIVE_AXIS_CODE> <NEGATIVE_AXIS_CODE>1 (>B:ENGINE_Throttle_#ID#_Dec)</NEGATIVE_AXIS_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Visibility_Code"> <VISIBILITY_CODE>(L:XMLVAR_LeverThrottleHidden#ID#) !</VISIBILITY_CODE> </UseTemplate> </Case> </Switch> </Component> <Condition Check="HIGHLIGHT_NODE_ID"> <UseTemplate Name="ASOBO_GT_ComponentWith_PART_ID"> <NODE_ID>#HIGHLIGHT_NODE_ID#</NODE_ID> </UseTemplate> </Condition> </Template>Parameters initialization:
- Default
Parameters set:
- ID
- ID_NODE (using ID)
- Default
Parameters set:
- NODE_ID (using INTERACTION_TYPE, ID_NODE)
- ANIM_NAME (using INTERACTION_TYPE, ID_NODE)
- PART_ID (using INTERACTION_TYPE)
- THROTTLE_VAR (using ID)
- TOOLTIPID
- INCREMENT
- SCROLL_INCREMENT
- CURSOR
Condition: Switch(INTERACTION_TYPE)
- Case: Lever
Parameters set:
- RESET_LIMITS
- PROCESS_LIMITS
- DRAG_AXIS_SCALE
- POSITION_TYPE
- POSITION_VAR
- DELTA_MIN
- AXIS
- USE_TRAJECTORY_DRAG_MODE
- NO_ARROWS
- GATE_MARGIN
Condition: NotEmpty(AFTERBURNER_GATE_POS)
- Case: True
Parameters set:
- AFTERBURNER_GATE_POS_16K (using AFTERBURNER_GATE_POS)
- AFTERBURNER_GATE_POS_WITH_MARGIN (using AFTERBURNER_GATE_POS)
Condition: NotEmpty(OFF_GATE_POS)
- Case: True
Parameters set:
- OFF_GATE_POS_16K (using OFF_GATE_POS)
Condition: NotEmpty(GROUND_GATE_ANIM_POS)
- Case: True
Parameters set:
- ENABLE_FORCED_BETA (using ID)
- DISABLE_FORCED_BETA (using ID)
- CHECK_FORCED_BETA (using ID)
- Override
Condition: NotEmpty(GROUND_GATE_ANIM_POS)
- Case: True
Parameters set:
- IDLE_GATE_SET_ABOVE (using CHECK_FORCED_BETA)
- IDLE_GATE_SET_BELOW (using CHECK_FORCED_BETA)
- IDLE_GATE_SET_IN (using CHECK_FORCED_BETA)
- ON_BEFORE_SET (using ENABLE_FORCED_BETA, DISABLE_FORCED_BETA)
- Case: False
Parameters set:
- IDLE_GATE_SET_ABOVE
- IDLE_GATE_SET_BELOW
- IDLE_GATE_SET_IN
- Override
Condition: Switch(INTERACTION_TYPE)
- Case: Lever
Condition: Switch
- Case: Check(HAS_IDLE_GATE)
Parameters read:
- HAS_IDLE_GATE
Parameters set:
- DRAG_MAX_VALUE
- PROCESS_LIMITS (using PROCESS_LIMITS, THROTTLE_VAR, GATE_MARGIN, IDLE_GATE_SET_ABOVE, IDLE_GATE_SET_BELOW, IDLE_GATE_SET_IN)
- RESET_LIMITS
- DRAG_MIN_VALUE
Condition: Check(IDLE_GATE_ANIM_POS)
- Case: True
Parameters set:
- IDLE_MAX (using IDLE_GATE_ANIM_POS)
- TRUE_IDLE_01
- IDLE_MARGIN
Condition: NotEmpty(GROUND_GATE_ANIM_POS)
- Case: True
Parameters set:
- IDLE_MIN (using GROUND_GATE_ANIM_POS)
- Case: False
Parameters set:
- IDLE_MIN (using IDLE_GATE_ANIM_POS)
- Case: NotEmpty(OFF_GATE_POS_16K)
Parameters set:
- DRAG_MAX_VALUE
- DRAG_MIN_VALUE
- PROCESS_LIMITS (using PROCESS_LIMITS, THROTTLE_VAR, OFF_GATE_POS_16K)
- Default case:
Parameters set:
- DRAG_MAX_VALUE
- DRAG_MIN_VALUE
- Default
Condition: Switch(INTERACTION_TYPE)
- Case: Lever
Parameters set:
- MIN_DIFF_POS_16K
- MAIN_LEVER_REVERSE_POSITION
- MAIN_LEVER_REVERSE_POSITION_PCT
- SNAP_DISTANCE
- DRAG_VALUE_OVERRIDE
Condition: Valid(USE_TRAJECTORY_DRAG_MODE)
- Case: True
Parameters set:
- DRAG_ANIM_NAME (using ANIM_NAME)
Condition: Test(HAS_IDLE_GATE, IDLE_GATE_ANIM_POS)
- Case: True
Parameters set:
- LERP_IDLE_FULL (using IDLE_MAX, TRUE_IDLE_01)
- LERP_IDLE_REVERSE (using IDLE_MIN, TRUE_IDLE_01)
Condition: NotEmpty(GROUND_GATE_ANIM_POS)
- Case: True
Parameters set:
- PICK_IDLE_GROUND (using IDLE_MIN, IDLE_MAX, CHECK_FORCED_BETA)
- Case: False
Parameters set:
- PICK_IDLE_GROUND (using IDLE_MIN)
- Default
Condition: Switch(INTERACTION_TYPE)
- Case: Lever
Condition: Test(HAS_IDLE_GATE, IDLE_GATE_ANIM_POS)
- Case: True
Parameters set:
- ADJUST_RAW_DRAG_VALUE (using LERP_IDLE_FULL, LERP_IDLE_REVERSE, PICK_IDLE_GROUND)
- Case: False
Parameters set:
- ADJUST_RAW_DRAG_VALUE
Condition: NotEmpty(GROUND_GATE_ANIM_POS)
- Case: True
Parameters set:
- GROUND_THROTTLE_ANIM_CODE (using IDLE_MIN, IDLE_MAX, CHECK_FORCED_BETA)
- Case: False
Parameters set:
- GROUND_THROTTLE_ANIM_CODE
Condition: NotEmpty(OFF_GATE_POS)
- Case: True
Condition: NotEmpty(VALVE_ID)
- Case: True
Parameters set:
- VALVE_GET (using VALVE_ID)
- VALVE_CLOSE (using VALVE_ID)
- VALVE_OPEN (using VALVE_ID)
- Case: False
Parameters set:
- VALVE_GET
- VALVE_CLOSE
- VALVE_OPEN
- Override
Condition: Switch(INTERACTION_TYPE)
- Case: Lever
Condition: Switch(LEVER_TYPE)
- Case: NotEmpty(OFF_GATE_POS)
Parameters set:
- ADJUST_RAW_DRAG_VALUE (using OFF_GATE_POS)
- THROTTLE_ANIM_CODE (using ID)
- Default case:
Condition: Test(HAS_IDLE_GATE, IDLE_GATE_ANIM_POS)
- Case: True
Parameters set:
- THROTTLE_ANIM_CODE (using ID, TRUE_IDLE_01, IDLE_MAX, GROUND_THROTTLE_ANIM_CODE, IDLE_MIN)
- Case: False
Parameters set:
- THROTTLE_ANIM_CODE (using ID)
Parameters read:
- NODE_ID
Components:
- #NODE_ID# (Node: #NODE_ID#)
Parameters set:
- TOOLTIP_THROTTLE_TITLE
- THROTTLE_ON_AFTER_SET
- RIGHT_SINGLE_CODE
- ENTRIES_COUNT
- TOOLTIP_TITLE (using TOOLTIP_THROTTLE_TITLE)
- TOOLTIP_ENTRY_0 (using ID)
Condition: Valid(HAS_WEP)
- Case: True
Parameters set:
- TOOLTIP_ENTRY_#ENTRIES_COUNT# (using ID)
- ENTRIES_COUNT (using ENTRIES_COUNT)
- RIGHT_SINGLE_CODE (using RIGHT_SINGLE_CODE, ID)
- THROTTLE_ANIM_CODE (using THROTTLE_ANIM_CODE, ID)
Condition: NotEmpty(OFF_GATE_POS)
- Case: True
Parameters set:
- TOOLTIP_ENTRY_#ENTRIES_COUNT# (using ID)
- ENTRIES_COUNT (using ENTRIES_COUNT)
- RIGHT_SINGLE_CODE (using RIGHT_SINGLE_CODE, ID)
- THROTTLE_ANIM_CODE (using THROTTLE_ANIM_CODE, ID, OFF_GATE_POS)
- THROTTLE_ON_AFTER_SET (using THROTTLE_ON_AFTER_SET, ID)
Condition: NotEmpty(AFTERBURNER_GATE_POS)
- Case: True
Parameters set:
- TOOLTIP_ENTRY_#ENTRIES_COUNT# (using ID)
- ENTRIES_COUNT (using ENTRIES_COUNT)
- RIGHT_SINGLE_CODE (using RIGHT_SINGLE_CODE, ID)
- THROTTLE_ON_AFTER_SET (using THROTTLE_ON_AFTER_SET, AFTERBURNER_GATE_POS_WITH_MARGIN, ID)
- PROCESS_LIMITS (using PROCESS_LIMITS, ID, AFTERBURNER_GATE_POS_16K)
- ADJUST_RAW_DRAG_VALUE (using ADJUST_RAW_DRAG_VALUE, ID)
- CLAMP_IE
- AFTERBURNER_BINDING_SET (using ID, AFTERBURNER_GATE_POS_WITH_MARGIN)
- ON_AFTER_SET_BINDING (using ID)
- THROTTLE_ON_AFTER_INC (using ID)
- THROTTLE_ON_AFTER_DEC (using ID)
- AFTERBURNER_THROTTLE_INC (using ID)
Condition: Switch(INTERACTION_TYPE)
- Case: Lever
Parameters read:
- RESET_LIMITS
Parameters set:
- THROTTLE_ID (using ID)
- GET_THROTTLE (using THROTTLE_VAR)
- RESET_LIMITS (using PROCESS_LIMITS)
Templates used:
- ASOBO_GT_Anim_Code
Condition: Valid(OVERRIDE_ANIM_CODE)
- Case: True
Parameters set:
- ANIM_CODE (using OVERRIDE_ANIM_CODE)
- Case: False
Parameters set:
- ANIM_CODE (using THROTTLE_ANIM_CODE)
- ASOBO_GT_Interaction_WheelLeftDrag_Axis
Parameters set:
- LOCK_CODE (using PROCESS_LIMITS)
- UNLOCK_CODE (using RESET_LIMITS)
- HELPID
- DRAG_SIMVAR (using THROTTLE_VAR)
- POSITIVE_AXIS_CODE (using ID)
- NEGATIVE_AXIS_CODE (using ID)
Condition: Valid(USE_TRAJECTORY_DRAG_MODE)
- Case: True
Parameters set:
- DRAG_CODE (using THROTTLE_VAR, MIN_DIFF_POS_16K, RESET_LIMITS, MAIN_LEVER_REVERSE_POSITION, ADJUST_RAW_DRAG_VALUE, DRAG_VALUE_OVERRIDE, DRAG_MAX_VALUE, DRAG_MIN_VALUE, ID, PROCESS_LIMITS)
- Case: False
Parameters set:
- DRAG_CODE (using THROTTLE_VAR, INCREMENT, DRAG_MAX_VALUE, DRAG_MIN_VALUE, ID, MIN_DIFF_POS_16K, PROCESS_LIMITS)
- ASOBO_GT_Visibility_Code
Parameters set:
- VISIBILITY_CODE (using ID)
Condition: Check(ANIM_NAME_REVERSE_LOCK)
- Case: True
Templates used:
- ASOBO_GT_Anim_Code
Parameters set:
- ANIM_CODE (using ID, THROTTLE_VAR)
- ANIM_NAME (using ANIM_NAME_REVERSE_LOCK)
- ASOBO_GT_AnimTriggers_2SoundEvents
Parameters set:
- ANIM_NAME (using ANIM_NAME_REVERSE_LOCK)
- WWISE_EVENT_1
- WWISE_EVENT_2
- ASOBO_GT_Anim_Code
Condition: NotEmpty(THROTTLE_ON_AFTER_SET)
- Case: True
Parameters set:
- ON_AFTER_SET (using THROTTLE_ON_AFTER_SET)
Condition: NotEmpty(THROTTLE_ON_AFTER_INC)
- Case: True
Parameters set:
- ON_AFTER_INC (using THROTTLE_ON_AFTER_INC)
Condition: NotEmpty(THROTTLE_ON_AFTER_DEC)
- Case: True
Parameters set:
- ON_AFTER_DEC (using THROTTLE_ON_AFTER_DEC)
Condition: Valid(CLAMP_IE)
- Case: True
Parameters set:
- CLAMP_UPPER_LIMIT
- CLAMP_LOWER_LIMIT
- ON_AFTER_INIT (using PROCESS_LIMITS)
Condition: Valid(HAS_WEP)
- Case: True
Parameters set:
- BTN_ID (using ID)
- SET_STATE_EXTERNAL (using ID)
- TT_ICON
- TT_INTERACTION
- TT_INTERACTION_LOCKABLE
- TT_DESCRIPTION
- TT_DESCRIPTION_IS_DYNAMIC
- TT_VALUE
- TT_VALUE_IS_DYNAMIC
- VALUE_CODE
- VALUE_UNITS
- BINDING_SET_0
- BINDING_SET_0_PARAM_0 (using ID)
- BINDING_SET_0_PARAM_0_IS_DYNAMIC
- BINDING_SET_1
- BINDING_SET_1_EVENT_ID_ONLY
- BINDING_SET_1_EVENT_ID
- BINDING_SET_1_PARAM_0
Condition: NotEmpty(OFF_GATE_POS)
- Case: True
Parameters set:
- BTN_ID (using ID)
- GET_STATE_EXTERNAL (using VALVE_GET)
- SET_STATE_EXTERNAL (using ID, VALVE_CLOSE, VALVE_OPEN)
- ON_BEFORE_SET_CODE (using ID)
- TT_ICON
- TT_INTERACTION
- TT_INTERACTION_LOCKABLE
- TT_DESCRIPTION
- TT_VALUE (using VALVE_GET)
- TT_VALUE_IS_DYNAMIC
- VALUE_CODE (using VALVE_GET)
- VALUE_UNITS
Condition: NotEmpty(ON_AFTER_SET_STOP)
- Case: True
Parameters set:
- ON_AFTER_SET_CODE (using ON_AFTER_SET_STOP)
Condition: NotEmpty(AFTERBURNER_GATE_POS)
- Case: True
Parameters set:
- BTN_ID (using ID)
- GET_STATE_EXTERNAL (using ID)
- ON_BEFORE_SET_CODE (using ID, AFTERBURNER_GATE_POS_WITH_MARGIN)
- SET_STATE_EXTERNAL (using ID)
- TT_ICON
- TT_INTERACTION
- TT_INTERACTION_LOCKABLE
- TT_DESCRIPTION
- TT_VALUE (using ID)
- TT_VALUE_IS_DYNAMIC
- BINDING_SET_3
- BINDING_SET_3_EVENT_ID_ONLY
- BINDING_SET_3_EVENT_ID
- BINDING_SET_3_PARAM_0 (using AFTERBURNER_BINDING_SET)
- BINDING_SET_3_PARAM_0_IS_DYNAMIC
- BINDING_SET_4
- BINDING_SET_4_EVENT_ID_ONLY
- BINDING_SET_4_EVENT_ID (using ID)
- BINDING_SET_4_PARAM_0 (using AFTERBURNER_BINDING_SET)
- BINDING_SET_4_PARAM_0_IS_DYNAMIC
- BINDING_SET_5
- BINDING_SET_5_EVENT_ID
- BINDING_SET_5_PARAM_0 (using AFTERBURNER_THROTTLE_INC)
- BINDING_SET_5_PARAM_0_IS_DYNAMIC
- BINDING_SET_6
- BINDING_SET_6_EVENT_ID
- BINDING_SET_6_PARAM_0 (using AFTERBURNER_THROTTLE_INC)
- BINDING_SET_6_PARAM_0_IS_DYNAMIC
- BINDING_SET_7 (using ID)
- BINDING_SET_7_EVENT_ID (using ID)
- BINDING_SET_7_PARAM_0 (using AFTERBURNER_THROTTLE_INC)
- BINDING_SET_7_PARAM_0_IS_DYNAMIC
- BINDING_SET_8 (using ID)
- BINDING_SET_8_EVENT_ID (using ID)
- BINDING_SET_8_PARAM_0 (using AFTERBURNER_THROTTLE_INC)
- BINDING_SET_8_PARAM_0_IS_DYNAMIC
- SIMVAR_TO_WATCH_0 (using ID)
Condition: NotEmpty(ON_AFTER_SET_STOP)
- Case: True
Parameters set:
- ON_AFTER_SET_CODE (using ON_AFTER_SET_STOP)
Condition: Check(HIGHLIGHT_NODE_ID)
- Case: True
Templates used:
- ASOBO_GT_ComponentWith_PART_ID
Parameters set:
- NODE_ID (using HIGHLIGHT_NODE_ID)
- ASOBO_GT_ComponentWith_PART_ID
- Default