public static void GetDefinition(EnemyDetail detail, DefinitionLua definitionLua) { if (detail.enemies.Count > 0) { string region = GetRegion(detail.enemyMetadata.subtype); StringBuilder faceIdList = new StringBuilder("faceIdList = {"); if (HasBalaclavas(detail.enemies)) { faceIdList.Append($"TppDefine.QUEST_FACE_ID_LIST.{region}_BALACLAVA, "); } faceIdList.Append("}"); definitionLua.AddPackInfo(faceIdList.ToString()); // if necessary faceIdList and bodyIdList should be components of definitionLua StringBuilder bodyIdList = new StringBuilder("bodyIdList = {"); if (HasArmors(detail.enemies)) { bodyIdList.Append($"TppDefine.QUEST_BODY_ID_LIST.{region}_ARMOR, "); } foreach (string body in GetBodies(detail.enemies)) { bodyIdList.Append($"TppEnemyBodyId.{body}, "); } bodyIdList.Append("}"); definitionLua.AddPackInfo(bodyIdList.ToString()); } }
internal static void GetEnemyAssets(EnemyDetail questDetail, FileAssets fileAssets) { string enemyFPKDAssetsPath = Path.Combine(enemyAssetsPath, "FPKD_Files"); if (HasZombie(questDetail.enemies)) { fileAssets.AddFPKDFolder(Path.Combine(enemyFPKDAssetsPath, "zombie_fpkd")); } }
public static void GetMain(EnemyDetail detail, MainLua mainLua) { List <Enemy> enemies = detail.enemies; EnemyMetadata meta = detail.enemyMetadata; mainLua.AddToOpeningVariables("SUBTYPE", $@"""{meta.subtype}"""); mainLua.AddToQuestTable(BuildEnemyList(enemies)); bool hasSpawn = false; bool hasTarget = false; foreach (Enemy enemy in enemies) { if (enemy.spawn) { hasSpawn = true; if (enemy.isTarget) { hasTarget = true; mainLua.AddToTargetList(enemy.GetObjectName()); } } } if (hasSpawn) { string questarmor = $"isQuestArmor = {(HasArmors(enemies) ? "true" : "false")}"; string questZombie = $"isQuestZombie = {(HasZombie(enemies) ? "true" : "false")}"; string questBalaclava = $"isQuestBalaclava = {(HasBalaclavas(enemies) ? "true" : "false")}"; mainLua.AddToQuestTable(questarmor, questZombie, questBalaclava); if (hasTarget) { mainLua.AddToQStep_Main(QStep_MainCommonMessages.genericTargetMessages); CheckQuestGenericEnemy CheckEnemy = new CheckQuestGenericEnemy(mainLua, CheckIsSoldier, meta.objectiveType); } } }
public EnemyManager(EnemyDetail detail) : base(detail, visualizer) { }