diff --git a/actions.h b/actions.h index 5a0ad23..4751681 100644 --- a/actions.h +++ b/actions.h @@ -879,6 +879,11 @@ struct action_functions: state_functions { } else continue; if (u->order_type->id == Orders::ZergUnitMorph) continue; if (!build_queue_push(u, unit_type)) continue; + if ((unit_is(u, UnitTypes::Zerg_Hydralisk) && unit_is(unit_type, UnitTypes::Zerg_Lurker)) || (unit_is(u, UnitTypes::Zerg_Mutalisk) && (unit_is(unit_type, UnitTypes::Zerg_Guardian) || unit_is(unit_type, UnitTypes::Zerg_Devourer)))) { + for (int i = 3; i >= 0; i--) + u->build_queue[i + 1] = u->build_queue[i]; + u->build_queue[0] = unit_type; + } set_unit_order(u, get_order_type(Orders::ZergUnitMorph)); retval = true; }