Skip to content

Commit df26c58

Browse files
authored
Merge pull request #1556 from X2CommunityCore/revert-1527-1526-MissionMapThing
Revert "Validate and rebuild mission before tactical battle"
2 parents 22c4e57 + ee47920 commit df26c58

1 file changed

Lines changed: 0 additions & 203 deletions

File tree

X2WOTCCommunityHighlander/Src/XComGame/Classes/XComGameState_MissionSite.uc

Lines changed: 0 additions & 203 deletions
Original file line numberDiff line numberDiff line change
@@ -1448,216 +1448,13 @@ function DestinationReached()
14481448
`HQPRES.UISkyrangerArrives();
14491449
}
14501450

1451-
// Start Issue #1526
1452-
// Checks if the definitions are stale and if plot exists and is valid for mission
1453-
function bool IsMissionValid()
1454-
{
1455-
local MissionDefinition MissionDef;
1456-
local PlotDefinition PlotDef;
1457-
local bool bMissionStale, bPlotStale, bPlotInvalid, bPlotMissing;
1458-
1459-
`TACTICALMISSIONMGR.GetMissionDefinitionForType(GeneratedMission.Mission.sType, MissionDef);
1460-
1461-
if(GeneratedMission.Mission != MissionDef)
1462-
{
1463-
bMissionStale = true;
1464-
}
1465-
1466-
if(!`MAPS.DoesMapPackageExist(GeneratedMission.Plot.MapName))
1467-
{
1468-
bPlotMissing = true;
1469-
}
1470-
1471-
PlotDef = `PARCELMGR.GetPlotDefinition(GeneratedMission.Plot.MapName, GeneratedMission.Biome.strType);
1472-
if(GeneratedMission.Plot != PlotDef)
1473-
{
1474-
bPlotStale = true;
1475-
}
1476-
1477-
if(!bMissionStale && !bPlotStale && !bPlotMissing)
1478-
{
1479-
bPlotInvalid = `PARCELMGR.IsPlotValidForMission(GeneratedMission.Plot, GeneratedMission.Mission);
1480-
}
1481-
1482-
if(bMissionStale || bPlotMissing || bPlotStale || bPlotInvalid)
1483-
{
1484-
CHReleaseLog("ERROR: Mission determined to not be valid, this can happen due to adding/removing mods or mod updates", 'X2WOTCCommunityHighlander');
1485-
PrintMissionInvalidationText(self);
1486-
PrintMissionInformation(self);
1487-
return false;
1488-
}
1489-
else
1490-
{
1491-
return true;
1492-
}
1493-
}
1494-
// End Issue #1526
1495-
1496-
// Start Issue #1526
1497-
private function bool RebuildMission()
1498-
{
1499-
local XComGameStateHistory History;
1500-
local XComGameState NewGameState;
1501-
local XComGameState_Reward MissionReward;
1502-
local XComGameState_MissionSite MissionState;
1503-
local XComGameState_HeadquartersXCom XComHQ;
1504-
local string BattleOpName;
1505-
local int HQMissionDataIndex;
1506-
1507-
History = `XCOMHISTORY;
1508-
1509-
NewGameState = class'XComGameStateContext_ChangeContainer'.static.CreateChangeState("CHL: Rebuilding Mission");
1510-
MissionState = XComGameState_MissionSite(NewGameState.ModifyStateObject(class'XComGameState_MissionSite', ObjectID));
1511-
1512-
MissionReward = XComGameState_Reward(History.GetGameStateForObjectID(Rewards[0].ObjectID));
1513-
BattleOpName = GeneratedMission.BattleOpName;
1514-
1515-
// Rebuilds mission here
1516-
MissionState.SetMissionData(MissionReward.GetMyTemplate(), true, GeneratedMission.LevelSeed);
1517-
MissionState.GeneratedMission.BattleOpName = BattleOpName;
1518-
1519-
// Reset schedules
1520-
MissionState.SelectedMissionData.SelectedMissionScheduleName = '';
1521-
MissionState.CacheSelectedMissionData(MissionState.SelectedMissionData.ForceLevel, MissionState.SelectedMissionData.AlertLevel);
1522-
1523-
CHReleaseLog("WARNING: Rebuilt mission, printing new mission data", 'X2WOTCCommunityHighlander');
1524-
PrintMissionInformation(MissionState);
1525-
1526-
if( MissionState.GetMissionSource() == None || MissionState.GeneratedMission.Mission.sType == "" ||
1527-
!`MAPS.DoesMapPackageExist(MissionState.GeneratedMission.Plot.MapName) ||
1528-
!`PARCELMGR.IsPlotValidForMission(MissionState.GeneratedMission.Plot, MissionState.GeneratedMission.Mission) )
1529-
{
1530-
CHReleaseLog("ERROR: Rebuilt mission still determined to be invalid, tactical mission will launch with original mission data", 'X2WOTCCommunityHighlander');
1531-
PrintMissionInvalidationText(MissionState);
1532-
1533-
History.CleanupPendingGameState(NewGameState);
1534-
return false;
1535-
}
1536-
1537-
GeneratedMission = MissionState.GeneratedMission;
1538-
SelectedMissionData = MissionState.SelectedMissionData;
1539-
1540-
// Replace stale mission data in HQ
1541-
XComHQ = XComGameState_HeadquartersXCom(History.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersXCom'));
1542-
XComHQ = XComGameState_HeadquartersXCom(NewGameState.ModifyStateObject(class'XComGameState_HeadquartersXCom', XComHQ.ObjectID));
1543-
1544-
HQMissionDataIndex = XComHQ.arrGeneratedMissionData.Find('MissionID', ObjectID);
1545-
if(HQMissionDataIndex != INDEX_NONE)
1546-
{
1547-
XComHQ.arrGeneratedMissionData[HQMissionDataIndex] = GeneratedMission;
1548-
}
1549-
1550-
CHReleaseLog("WARNING: Rebuilt mission determined valid, tactical mission will launch with rebuilt mission data", 'X2WOTCCommunityHighlander');
1551-
`XCOMGAME.GameRuleset.SubmitGameState(NewGameState);
1552-
return true;
1553-
}
1554-
// End Issue #1526
1555-
1556-
// Start Issue #1526
1557-
private function PrintMissionInformation(XComGameState_MissionSite MissionSite)
1558-
{
1559-
local int i;
1560-
CHReleaseLog("", 'X2WOTCCommunityHighlander');
1561-
CHReleaseLog("-- MISSION DATA --", 'X2WOTCCommunityHighlander');
1562-
CHReleaseLog("Mission ObjectID:" @ MissionSite.ObjectID, 'X2WOTCCommunityHighlander');
1563-
CHReleaseLog("Mission Region ObjectID:" @ MissionSite.Region.ObjectID, 'X2WOTCCommunityHighlander');
1564-
CHReleaseLog("Mission Source:" @ MissionSite.Source, 'X2WOTCCommunityHighlander');
1565-
CHReleaseLog("Mission Name:" @ MissionSite.GeneratedMission.Mission.MissionName, 'X2WOTCCommunityHighlander');
1566-
CHReleaseLog("Mission Type:" @ MissionSite.GeneratedMission.Mission.sType, 'X2WOTCCommunityHighlander');
1567-
CHReleaseLog("Mission Family:" @ MissionSite.GeneratedMission.Mission.MissionFamily, 'X2WOTCCommunityHighlander');
1568-
CHReleaseLog("Mission Biome:" @ MissionSite.GeneratedMission.Biome.strType, 'X2WOTCCommunityHighlander');
1569-
1570-
for(i = 0; i < MissionSite.GeneratedMission.Mission.RequiredPlotObjectiveTags.Length; i++)
1571-
{
1572-
CHReleaseLog("Mission Required Plot Objective Tags:" @ MissionSite.GeneratedMission.Mission.RequiredPlotObjectiveTags[i], 'X2WOTCCommunityHighlander');
1573-
}
1574-
for(i = 0; i < MissionSite.GeneratedMission.Mission.ExcludedPlotObjectiveTags.Length; i++)
1575-
{
1576-
CHReleaseLog("Mission Excluded Plot Objective Tags:" @ MissionSite.GeneratedMission.Mission.ExcludedPlotObjectiveTags[i], 'X2WOTCCommunityHighlander');
1577-
}
1578-
for(i = 0; i < MissionSite.GeneratedMission.SitReps.Length; i++)
1579-
{
1580-
CHReleaseLog("Mission SitReps:" @ MissionSite.GeneratedMission.SitReps[i], 'X2WOTCCommunityHighlander');
1581-
}
1582-
CHReleaseLog("Plot Mapname:" @ MissionSite.GeneratedMission.Plot.MapName, 'X2WOTCCommunityHighlander');
1583-
CHReleaseLog("Plot Type:" @ MissionSite.GeneratedMission.Plot.strType, 'X2WOTCCommunityHighlander');
1584-
for(i = 0; i < MissionSite.GeneratedMission.Plot.ValidBiomes.Length; i++)
1585-
{
1586-
CHReleaseLog("Plot Biomes:" @ MissionSite.GeneratedMission.Plot.ValidBiomes[i], 'X2WOTCCommunityHighlander');
1587-
}
1588-
for(i = 0; i < MissionSite.GeneratedMission.Plot.ObjectiveTags.Length; i++)
1589-
{
1590-
CHReleaseLog("Plot Objective Tags:" @ MissionSite.GeneratedMission.Plot.ObjectiveTags[i], 'X2WOTCCommunityHighlander');
1591-
}
1592-
CHReleaseLog("Mission Forcelevel:" @ MissionSite.SelectedMissionData.ForceLevel, 'X2WOTCCommunityHighlander');
1593-
CHReleaseLog("Mission Alertlevel:" @ MissionSite.SelectedMissionData.AlertLevel, 'X2WOTCCommunityHighlander');
1594-
CHReleaseLog("Mission Schedule:" @ MissionSite.SelectedMissionData.SelectedMissionScheduleName, 'X2WOTCCommunityHighlander');
1595-
for(i = 0; i < MissionSite.SelectedMissionData.SelectedEncounters.Length; i++)
1596-
{
1597-
CHReleaseLog("Mission EncounterIDs:" @ MissionSite.SelectedMissionData.SelectedEncounters[i].SelectedEncounterName, 'X2WOTCCommunityHighlander');
1598-
}
1599-
1600-
CHReleaseLog("-- END MISSION DATA --", 'X2WOTCCommunityHighlander');
1601-
CHReleaseLog("", 'X2WOTCCommunityHighlander');
1602-
}
1603-
// End Issue #1526
1604-
1605-
// Start Issue #1526
1606-
private function PrintMissionInvalidationText(XComGameState_MissionSite MissionSite)
1607-
{
1608-
local MissionDefinition MissionDef;
1609-
local PlotDefinition PlotDef;
1610-
1611-
`TACTICALMISSIONMGR.GetMissionDefinitionForType(MissionSite.GeneratedMission.Mission.sType, MissionDef);
1612-
PlotDef = `PARCELMGR.GetPlotDefinition(MissionSite.GeneratedMission.Plot.MapName, MissionSite.GeneratedMission.Biome.strType);
1613-
1614-
CHReleaseLog("", 'X2WOTCCommunityHighlander');
1615-
CHReleaseLog("-- REASON FOR MISSION INVALIDATION --", 'X2WOTCCommunityHighlander');
1616-
if(MissionSite.GetMissionSource() == None)
1617-
{
1618-
CHReleaseLog("Mission source doesn't exist", 'X2WOTCCommunityHighlander');
1619-
}
1620-
if(MissionSite.GeneratedMission.Mission.sType == "")
1621-
{
1622-
CHReleaseLog("Mission definition doesn't exist", 'X2WOTCCommunityHighlander');
1623-
}
1624-
if(MissionSite.GeneratedMission.Mission != MissionDef)
1625-
{
1626-
CHReleaseLog("Mission definition is outdated", 'X2WOTCCommunityHighlander');
1627-
}
1628-
if(!`MAPS.DoesMapPackageExist(MissionSite.GeneratedMission.Plot.MapName))
1629-
{
1630-
CHReleaseLog("Plot map doesn't exist", 'X2WOTCCommunityHighlander');
1631-
}
1632-
if(!`PARCELMGR.IsPlotValidForMission(MissionSite.GeneratedMission.Plot, MissionSite.GeneratedMission.Mission))
1633-
{
1634-
CHReleaseLog("Plot is not valid for mission", 'X2WOTCCommunityHighlander');
1635-
}
1636-
if(MissionSite.GeneratedMission.Plot != PlotDef)
1637-
{
1638-
CHReleaseLog("Plot definition is outdated", 'X2WOTCCommunityHighlander');
1639-
}
1640-
CHReleaseLog("-- END MISSION INVALIDATION --", 'X2WOTCCommunityHighlander');
1641-
CHReleaseLog("", 'X2WOTCCommunityHighlander');
1642-
}
1643-
// End Issue #1526
1644-
16451451
function ConfirmMission()
16461452
{
16471453
local XComGameStateHistory History;
16481454
local XComGameState_HeadquartersXCom XComHQ;
16491455
local XGStrategy StrategyGame;
16501456
local XComGameState NewGameState;
16511457

1652-
/// HL-Docs: ref:Bugfixes; issue:1526
1653-
/// Validates the mission before launching a tactical battle, and attempts rebuilding of mission if determined invalid
1654-
// Start Issue #1526
1655-
if(!IsMissionValid())
1656-
{
1657-
RebuildMission();
1658-
}
1659-
// End Issue #1526
1660-
16611458
NewGameState = class'XComGameStateContext_ChangeContainer'.static.CreateChangeState("Launch Mission Selected");
16621459
`XEVENTMGR.TriggerEvent('LaunchMissionSelected', , , NewGameState);
16631460
if (GetMissionSource().DataName == 'MissionSource_Final')

0 commit comments

Comments
 (0)