@@ -98,6 +98,9 @@ def generate_activities(
9898 condition_parent = "engine.util.activity.condition.Condition"
9999 condition_queue_parent = "engine.util.activity.condition.type.CommandInQueue"
100100 condition_next_move_parent = "engine.util.activity.condition.type.NextCommandMove"
101+ condition_next_apply_parent = (
102+ "engine.util.activity.condition.type.NextCommandApplyEffect"
103+ )
101104
102105 # =======================================================================
103106 # Default (Start -> Ability(Idle) -> End)
@@ -276,10 +279,12 @@ def generate_activities(
276279 branch_raw_api_object .set_location (unit_forward_ref )
277280 branch_raw_api_object .add_raw_parent (xor_parent )
278281
279- condition_forward_ref = ForwardRef (pregen_converter_group ,
280- "util.activity.types.Unit.NextCommandMove" )
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" )
281286 branch_raw_api_object .add_raw_member ("next" ,
282- [condition_forward_ref ],
287+ [condition1_forward_ref , condition2_forward_ref ],
283288 xor_parent )
284289 idle_forward_ref = ForwardRef (pregen_converter_group ,
285290 "util.activity.types.Unit.Idle" )
@@ -290,6 +295,40 @@ def generate_activities(
290295 pregen_converter_group .add_raw_api_object (branch_raw_api_object )
291296 pregen_nyan_objects .update ({branch_ref_in_modpack : branch_raw_api_object })
292297
298+ # condition for branching to apply effect
299+ condition_ref_in_modpack = "util.activity.types.Unit.NextCommandApplyEffect"
300+ condition_raw_api_object = RawAPIObject (condition_ref_in_modpack ,
301+ "NextCommandApplyEffect" , api_objects )
302+ condition_raw_api_object .set_location (branch_forward_ref )
303+ condition_raw_api_object .add_raw_parent (condition_next_apply_parent )
304+
305+ apply_effect_forward_ref = ForwardRef (pregen_converter_group ,
306+ "util.activity.types.Unit.ApplyEffect" )
307+ condition_raw_api_object .add_raw_member ("next" ,
308+ apply_effect_forward_ref ,
309+ condition_parent )
310+
311+ pregen_converter_group .add_raw_api_object (condition_raw_api_object )
312+ pregen_nyan_objects .update ({condition_ref_in_modpack : condition_raw_api_object })
313+
314+ # Apply effect
315+ apply_effect_ref_in_modpack = "util.activity.types.Unit.ApplyEffect"
316+ apply_effect_raw_api_object = RawAPIObject (apply_effect_ref_in_modpack ,
317+ "ApplyEffect" , api_objects )
318+ apply_effect_raw_api_object .set_location (unit_forward_ref )
319+ apply_effect_raw_api_object .add_raw_parent (ability_parent )
320+
321+ wait_forward_ref = ForwardRef (pregen_converter_group ,
322+ "util.activity.types.Unit.Wait" )
323+ apply_effect_raw_api_object .add_raw_member ("next" , wait_forward_ref ,
324+ ability_parent )
325+ apply_effect_raw_api_object .add_raw_member ("ability" ,
326+ api_objects ["engine.ability.type.ApplyDiscreteEffect" ],
327+ ability_parent )
328+
329+ pregen_converter_group .add_raw_api_object (apply_effect_raw_api_object )
330+ pregen_nyan_objects .update ({apply_effect_ref_in_modpack : apply_effect_raw_api_object })
331+
293332 # condition for branching to move
294333 condition_ref_in_modpack = "util.activity.types.Unit.NextCommandMove"
295334 condition_raw_api_object = RawAPIObject (condition_ref_in_modpack ,
0 commit comments