@@ -93,13 +93,13 @@ def generate_activities(
9393 ability_parent = "engine.util.activity.node.type.Ability"
9494 xor_parent = "engine.util.activity.node.type.XORGate"
9595 xor_event_parent = "engine.util.activity.node.type.XOREventGate"
96+ xor_switch_parent = "engine.util.activity.node.type.XORSwitchGate"
9697
9798 # Condition types
9899 condition_parent = "engine.util.activity.condition.Condition"
99100 condition_queue_parent = "engine.util.activity.condition.type.CommandInQueue"
100- condition_next_move_parent = "engine.util.activity.condition.type.NextCommandMove"
101- condition_next_apply_parent = (
102- "engine.util.activity.condition.type.NextCommandApplyEffect"
101+ condition_next_command_parent = (
102+ "engine.util.activity.switch_condition.type.NextCommand"
103103 )
104104
105105 # =======================================================================
@@ -277,36 +277,40 @@ def generate_activities(
277277 branch_raw_api_object = RawAPIObject (branch_ref_in_modpack ,
278278 "BranchCommand" , api_objects )
279279 branch_raw_api_object .set_location (unit_forward_ref )
280- branch_raw_api_object .add_raw_parent (xor_parent )
281-
282- condition1_forward_ref = ForwardRef (pregen_converter_group ,
283- "util.activity.types.Unit.NextCommandMove" )
284- condition2_forward_ref = ForwardRef (pregen_converter_group ,
285- "util.activity.types.Unit.NextCommandApplyEffect" )
286- branch_raw_api_object .add_raw_member ("next" ,
287- [condition1_forward_ref , condition2_forward_ref ],
288- xor_parent )
280+ branch_raw_api_object .add_raw_parent (xor_switch_parent )
281+
282+ switch_forward_ref = ForwardRef (pregen_converter_group ,
283+ "util.activity.types.Unit.NextCommandSwitch" )
284+ branch_raw_api_object .add_raw_member ("switch" ,
285+ switch_forward_ref ,
286+ xor_switch_parent )
289287 idle_forward_ref = ForwardRef (pregen_converter_group ,
290288 "util.activity.types.Unit.Idle" )
291289 branch_raw_api_object .add_raw_member ("default" ,
292290 idle_forward_ref ,
293- xor_parent )
291+ xor_switch_parent )
294292
295293 pregen_converter_group .add_raw_api_object (branch_raw_api_object )
296294 pregen_nyan_objects .update ({branch_ref_in_modpack : branch_raw_api_object })
297295
298- # condition for branching to apply effect
299- condition_ref_in_modpack = "util.activity.types.Unit.NextCommandApplyEffect "
296+ # condition for branching based on command
297+ condition_ref_in_modpack = "util.activity.types.Unit.NextCommandSwitch "
300298 condition_raw_api_object = RawAPIObject (condition_ref_in_modpack ,
301- "NextCommandApplyEffect " , api_objects )
299+ "NextCommandSwitch " , api_objects )
302300 condition_raw_api_object .set_location (branch_forward_ref )
303- condition_raw_api_object .add_raw_parent (condition_next_apply_parent )
301+ condition_raw_api_object .add_raw_parent (condition_next_command_parent )
304302
305303 apply_effect_forward_ref = ForwardRef (pregen_converter_group ,
306304 "util.activity.types.Unit.ApplyEffect" )
305+ move_forward_ref = ForwardRef (pregen_converter_group ,
306+ "util.activity.types.Unit.Move" )
307+ next_nodes_lookup = {
308+ api_objects ["engine.util.command.type.ApplyEffect" ]: apply_effect_forward_ref ,
309+ api_objects ["engine.util.command.type.Move" ]: move_forward_ref ,
310+ }
307311 condition_raw_api_object .add_raw_member ("next" ,
308- apply_effect_forward_ref ,
309- condition_parent )
312+ next_nodes_lookup ,
313+ condition_next_command_parent )
310314
311315 pregen_converter_group .add_raw_api_object (condition_raw_api_object )
312316 pregen_nyan_objects .update ({condition_ref_in_modpack : condition_raw_api_object })
@@ -329,22 +333,6 @@ def generate_activities(
329333 pregen_converter_group .add_raw_api_object (apply_effect_raw_api_object )
330334 pregen_nyan_objects .update ({apply_effect_ref_in_modpack : apply_effect_raw_api_object })
331335
332- # condition for branching to move
333- condition_ref_in_modpack = "util.activity.types.Unit.NextCommandMove"
334- condition_raw_api_object = RawAPIObject (condition_ref_in_modpack ,
335- "NextCommandMove" , api_objects )
336- condition_raw_api_object .set_location (branch_forward_ref )
337- condition_raw_api_object .add_raw_parent (condition_next_move_parent )
338-
339- move_forward_ref = ForwardRef (pregen_converter_group ,
340- "util.activity.types.Unit.Move" )
341- condition_raw_api_object .add_raw_member ("next" ,
342- move_forward_ref ,
343- condition_parent )
344-
345- pregen_converter_group .add_raw_api_object (condition_raw_api_object )
346- pregen_nyan_objects .update ({condition_ref_in_modpack : condition_raw_api_object })
347-
348336 # Move
349337 move_ref_in_modpack = "util.activity.types.Unit.Move"
350338 move_raw_api_object = RawAPIObject (move_ref_in_modpack ,
@@ -394,7 +382,7 @@ def generate_activities(
394382 pregen_converter_group .add_raw_api_object (end_raw_api_object )
395383 pregen_nyan_objects .update ({end_ref_in_modpack : end_raw_api_object })
396384
397- @staticmethod
385+ @ staticmethod
398386 def generate_attributes (
399387 full_data_set : GenieObjectContainer ,
400388 pregen_converter_group : ConverterObjectGroup
@@ -507,7 +495,7 @@ def generate_attributes(
507495 pregen_converter_group .add_raw_api_object (faith_abbrv_value )
508496 pregen_nyan_objects .update ({faith_abbrv_ref_in_modpack : faith_abbrv_value })
509497
510- @staticmethod
498+ @ staticmethod
511499 def generate_diplomatic_stances (
512500 full_data_set : GenieObjectContainer ,
513501 pregen_converter_group : ConverterObjectGroup
@@ -582,7 +570,7 @@ def generate_diplomatic_stances(
582570 pregen_converter_group .add_raw_api_object (gaia_raw_api_object )
583571 pregen_nyan_objects .update ({gaia_ref_in_modpack : gaia_raw_api_object })
584572
585- @staticmethod
573+ @ staticmethod
586574 def generate_team_property (
587575 full_data_set : GenieObjectContainer ,
588576 pregen_converter_group : ConverterObjectGroup
@@ -621,7 +609,7 @@ def generate_team_property(
621609 stances ,
622610 "engine.util.patch.property.type.Diplomatic" )
623611
624- @staticmethod
612+ @ staticmethod
625613 def generate_entity_types (
626614 full_data_set : GenieObjectContainer ,
627615 pregen_converter_group : ConverterObjectGroup
@@ -748,7 +736,7 @@ def generate_entity_types(
748736 pregen_converter_group .add_raw_api_object (new_game_entity_type )
749737 pregen_nyan_objects .update ({class_obj_name : new_game_entity_type })
750738
751- @staticmethod
739+ @ staticmethod
752740 def generate_effect_types (
753741 full_data_set : GenieObjectContainer ,
754742 pregen_converter_group : ConverterObjectGroup
@@ -894,7 +882,7 @@ def generate_effect_types(
894882 pregen_converter_group .add_raw_api_object (type_raw_api_object )
895883 pregen_nyan_objects .update ({type_ref_in_modpack : type_raw_api_object })
896884
897- @staticmethod
885+ @ staticmethod
898886 def generate_exchange_objects (
899887 full_data_set : GenieObjectContainer ,
900888 pregen_converter_group : ConverterObjectGroup
@@ -1187,7 +1175,7 @@ def generate_exchange_objects(
11871175 pregen_converter_group .add_raw_api_object (price_mode_raw_api_object )
11881176 pregen_nyan_objects .update ({price_mode_ref_in_modpack : price_mode_raw_api_object })
11891177
1190- @staticmethod
1178+ @ staticmethod
11911179 def generate_formation_types (
11921180 full_data_set : GenieObjectContainer ,
11931181 pregen_converter_group : ConverterObjectGroup
@@ -1400,7 +1388,7 @@ def generate_formation_types(
14001388 pregen_converter_group .add_raw_api_object (subformation_raw_api_object )
14011389 pregen_nyan_objects .update ({subformation_ref_in_modpack : subformation_raw_api_object })
14021390
1403- @staticmethod
1391+ @ staticmethod
14041392 def generate_language_objects (
14051393 full_data_set : GenieObjectContainer ,
14061394 pregen_converter_group : ConverterObjectGroup
@@ -1441,7 +1429,7 @@ def generate_language_objects(
14411429 pregen_converter_group .add_raw_api_object (language_raw_api_object )
14421430 pregen_nyan_objects .update ({language_ref_in_modpack : language_raw_api_object })
14431431
1444- @staticmethod
1432+ @ staticmethod
14451433 def generate_misc_effect_objects (
14461434 full_data_set : GenieObjectContainer ,
14471435 pregen_converter_group : ConverterObjectGroup
@@ -1763,7 +1751,7 @@ def generate_misc_effect_objects(
17631751 calc_forward_ref ,
17641752 "engine.resistance.property.type.Stacked" )
17651753
1766- @staticmethod
1754+ @ staticmethod
17671755 def generate_modifiers (
17681756 full_data_set : GenieObjectContainer ,
17691757 pregen_converter_group : ConverterObjectGroup
@@ -1919,7 +1907,7 @@ def generate_modifiers(
19191907 properties ,
19201908 modifier_parent )
19211909
1922- @staticmethod
1910+ @ staticmethod
19231911 def generate_terrain_types (
19241912 full_data_set : GenieObjectContainer ,
19251913 pregen_converter_group : ConverterObjectGroup
@@ -1959,7 +1947,7 @@ def generate_terrain_types(
19591947 pregen_converter_group .add_raw_api_object (type_raw_api_object )
19601948 pregen_nyan_objects .update ({type_ref_in_modpack : type_raw_api_object })
19611949
1962- @staticmethod
1950+ @ staticmethod
19631951 def generate_path_types (
19641952 full_data_set : GenieObjectContainer ,
19651953 pregen_converter_group : ConverterObjectGroup
@@ -2024,7 +2012,7 @@ def generate_path_types(
20242012 pregen_converter_group .add_raw_api_object (path_type_raw_api_object )
20252013 pregen_nyan_objects .update ({path_type_ref_in_modpack : path_type_raw_api_object })
20262014
2027- @staticmethod
2015+ @ staticmethod
20282016 def generate_resources (
20292017 full_data_set : GenieObjectContainer ,
20302018 pregen_converter_group : ConverterObjectGroup
@@ -2224,7 +2212,7 @@ def generate_resources(
22242212 pregen_converter_group .add_raw_api_object (pop_name_value )
22252213 pregen_nyan_objects .update ({pop_name_ref_in_modpack : pop_name_value })
22262214
2227- @staticmethod
2215+ @ staticmethod
22282216 def generate_death_condition (
22292217 full_data_set : GenieObjectContainer ,
22302218 pregen_converter_group : ConverterObjectGroup
0 commit comments