johnnylump Posted January 31, 2013 Share Posted January 31, 2013 ===================XComStrategyGame.upk:=================== ==== XGItemTree ==== >>>> function ScaleCost(out TItem kItem) Changed:fScale = fScale + float(1) * 0.50; To:fScale = fScale + float(1) * 0.75; This affects the discount bonus that engineers provide. This change will make it so that items cost a bit more than their base price when the player has very few engineers. Once the player has around 15 engineers, the discount will kick in, resulting in prices to drop more and more as the player gains more engineers. The discount will rise much slower compared to vanilla. Generally, the discount now won't be as overpowered as in vanilla. It might only reach that point at the very end of the campaign, depending on how fast the player finishes the game. HEX Hint: It's a float. Look for the final "3F", then change it and the three numbers in front of it. A couple of things with this one: The discount is based on the number of engineers you have AND the minimum number of engineers the item takes to build. So if it's a late-game item requiring 35 engineers, the discount is much less than if it was an item requiring 5 engineers. Also, the discount isn't calculated if you have EXACTLY the right number of engineers required to build the item. That will manifest as a bug if you are using your formulation and making items cost more than their base cost with low numbers of engineers, as the negative discount (increase in cost) isn't calculated. But if you have one more engineer, it will be. The way to fix this is to change a sign from > to >= Here's the code: 47 01 B1 00 98 35 to 47 01 B3 00 98 35 Link to comment Share on other sites More sharing options...
BlackAlpha Posted January 31, 2013 Author Share Posted January 31, 2013 Thanks, I'll try it out. :) Link to comment Share on other sites More sharing options...
BlackAlpha Posted February 2, 2013 Author Share Posted February 2, 2013 (edited) ======================DLC_Day060_SF.upk:====================== ==== DLC_Day060HQMod ==== >>>> simulated function AddFundingCouncilMissions Changed: reward.Soldier.HP = 9; To: reward.Soldier.HP = 5; This reduces the health of Zhang. HEX Hint: Change: 00 28 0F 35 7C FF FF FF 4E FF FF FF 00 00 35 40 FF FF FF 4F FF FF FF 00 01 00 18 00 00 00 2C 09 To: 00 28 0F 35 7C FF FF FF 4E FF FF FF 00 00 35 40 FF FF FF 4F FF FF FF 00 01 00 18 00 00 00 2C 05 ======================XComStrategyGame.upk:====================== ==== XGStrategyAI ==== >>>> function BuildObjectives Changed: BuildObjective(1, false); AddUFOMission(1, 1, 4, 0, -1, 7); BuildObjective(3, false); AddUFOMission(3, 1, 4, 4, -1, 7); BuildObjective(2, false); AddUFOMission(2, 1, 4, 2, -1, 7); BuildObjective(4, false); AddUFOMission(4, 1, 5, 7, -1, 1); BuildObjective(0, false); AddUFOMission(0, 10, 4, 0, -1, 5); BuildObjective(5, true); AddUFOMission(5, 1, 5, 0, 500, 1); AddUFOMission(5, 3, 6, 5, 0, 0); BuildObjective(6, false); AddUFOMission(6, 9, 8, 4, 100, 3); AddUFOMission(6, 20, 8, 5, 0, 7); BuildObjective(7, true); AddUFOMission(7, 1, 9, 1, 100, 0); AddUFOMission(7, 4, 9, 5, 0, 3); To: BuildObjective(1, false); AddUFOMission(1, 1, 4, 0, -1, 7); BuildObjective(3, false); AddUFOMission(3, 1, 4, 4, -1, 7); BuildObjective(2, false); AddUFOMission(2, 1, 5, 2, -1, 7); BuildObjective(4, false); AddUFOMission(4, 1, 5, 7, -1, 1); BuildObjective(0, false); AddUFOMission(0, 10, 4, 0, -1, 5); BuildObjective(5, false); AddUFOMission(50, 1, 50, 0, 500, 1); AddUFOMission(5, 3, 6, 5, 0, 0); BuildObjective(6, false); AddUFOMission(6, 9, 4, 4, 100, 3); AddUFOMission(6, 20, 8, 5, 0, 7); BuildObjective(7, true); AddUFOMission(7, 1, 9, 1, 100, 0); AddUFOMission(7, 4, 9, 5, 0, 3); This changes the UFO missions. Among other things, it dictates which UFOs show up on certain mission types and what the UFO's behavior should be. Note that the boolean dictates if shooting down the UFO on that particular mission should cancel all UFOs next in line for that particular mission. Props to Johnnylump for finding this code. HEX Hint: Change: 24 01 28 16 1B CA 00 00 00 00 00 00 00 24 01 26 24 04 24 00 1D FF FF FF FF 2C 07 16 1B 7C 04 00 00 00 00 00 00 24 03 28 16 1B CA 00 00 00 00 00 00 00 24 03 26 24 04 24 04 1D FF FF FF FF 2C 07 16 1B 7C 04 00 00 00 00 00 00 24 02 28 16 1B CA 00 00 00 00 00 00 00 24 02 26 24 04 24 02 1D FF FF FF FF 2C 07 16 1B 7C 04 00 00 00 00 00 00 24 04 28 16 1B CA 00 00 00 00 00 00 00 24 04 26 24 05 24 07 1D FF FF FF FF 26 16 1B 7C 04 00 00 00 00 00 00 24 00 28 16 1B CA 00 00 00 00 00 00 00 24 00 2C 0A 24 04 24 00 1D FF FF FF FF 2C 05 16 1B 7C 04 00 00 00 00 00 00 24 05 27 16 1B CA 00 00 00 00 00 00 00 24 05 26 24 05 24 00 1D F4 01 00 00 26 16 1B CA 00 00 00 00 00 00 00 24 05 2C 03 24 06 24 05 25 25 16 1B 7C 04 00 00 00 00 00 00 24 06 28 16 1B CA 00 00 00 00 00 00 00 24 06 2C 09 24 08 24 04 2C 64 2C 03 16 1B CA 00 00 00 00 00 00 00 24 06 2C 14 24 08 24 05 25 2C 07 16 1B 7C 04 00 00 00 00 00 00 24 07 27 16 1B CA 00 00 00 00 00 00 00 24 07 26 24 09 24 01 2C 64 25 16 1B CA 00 00 00 00 00 00 00 24 07 2C 04 24 09 24 05 25 2C 03 To: 24 01 28 16 1B CA 00 00 00 00 00 00 00 24 01 26 24 04 24 00 1D FF FF FF FF 2C 07 16 1B 7C 04 00 00 00 00 00 00 24 03 28 16 1B CA 00 00 00 00 00 00 00 24 03 26 24 04 24 04 1D FF FF FF FF 2C 07 16 1B 7C 04 00 00 00 00 00 00 24 02 28 16 1B CA 00 00 00 00 00 00 00 24 02 26 24 05 24 02 1D FF FF FF FF 2C 07 16 1B 7C 04 00 00 00 00 00 00 24 04 28 16 1B CA 00 00 00 00 00 00 00 24 04 26 24 05 24 07 1D FF FF FF FF 26 16 1B 7C 04 00 00 00 00 00 00 24 00 28 16 1B CA 00 00 00 00 00 00 00 24 00 2C 0A 24 04 24 00 1D FF FF FF FF 2C 05 16 1B 7C 04 00 00 00 00 00 00 24 05 28 16 1B CA 00 00 00 00 00 00 00 24 32 26 24 32 24 00 1D F4 01 00 00 26 16 1B CA 00 00 00 00 00 00 00 24 05 2C 03 24 06 24 05 25 25 16 1B 7C 04 00 00 00 00 00 00 24 06 28 16 1B CA 00 00 00 00 00 00 00 24 06 2C 09 24 04 24 04 2C 64 2C 03 16 1B CA 00 00 00 00 00 00 00 24 06 2C 14 24 08 24 05 25 2C 07 16 1B 7C 04 00 00 00 00 00 00 24 07 27 16 1B CA 00 00 00 00 00 00 00 24 07 26 24 09 24 01 2C 64 25 16 1B CA 00 00 00 00 00 00 00 24 07 2C 04 24 09 24 05 25 2C 03 ==== XGStrategyAI ==== >>>> function bool ShouldHunt Changed: if(Game().GetDifficulty() >= 3) if(eUFO == 8) if(Game().GetDifficulty() <= 1 && (HQ().m_arrSatellites.Length <= 2)) To: if(Game().GetDifficulty() >= 0) if(eUFO == 6) if(Game().GetDifficulty() >= 1 && (HQ().m_arrSatellites.Length <= 1)) This makes it so: - On all difficulty levels, satellite hunters won't trigger on Abductors, but instead will trigger on Battleships. - Satellite hunters won't show up when the player has one satellite on Normal, Classic and Impossible difficulty levels. HEX Hint: Change: 99 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 03 16 04 27 07 6B 00 9A 38 3A 00 6D 43 00 00 38 3A 24 08 16 04 28 07 BC 00 82 98 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 26 16 18 25 00 98 36 19 1B 5C 11 00 00 00 00 00 00 16 09 00 BB 32 00 00 00 01 BB 32 00 00 2C 02 To: 96 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 00 16 04 27 07 6B 00 9A 38 3A 00 6D 43 00 00 38 3A 24 06 16 04 28 07 BC 00 82 99 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 26 16 18 25 00 98 36 19 1B 5C 11 00 00 00 00 00 00 16 09 00 BB 32 00 00 00 01 BB 32 00 00 2C 01 ==== XGStrategyAI ==== >>>> function AIAddNewObjectives Changed: if(iNumUFOs > class'XGTacticalGameCore'.default.UFO_LIMIT) To: if(iNumUFOs < class'XGTacticalGameCore'.default.UFO_LIMIT) This makes it so "UFO_LIMIT" inside the INI settings will dictate how many UFOs will show up each month. Props to Johnnylump. HEX Hint: Change: 07 58 02 97 00 To: 07 58 02 96 00 ==== XGStrategyAI ==== >>>> function TAlienSquad DetermineAbductionSquad Changed: case 0: iNumPods = 2; iNumAliens = 4; // End:0x94 break; // End:0x51 case 1: iNumPods = 3; iNumAliens = 6; // End:0x94 break; // End:0x71 case 2: iNumPods = 4; iNumAliens = 8; // End:0x94 break; // End:0x91 case 3: iNumPods = 4; iNumAliens = 10; To: case 0: iNumPods = 3; iNumAliens = 7; // End:0x94 break; // End:0x51 case 1: iNumPods = 4; iNumAliens = 10; // End:0x94 break; // End:0x71 case 2: iNumPods = 5; iNumAliens = 13; // End:0x94 break; // End:0x91 case 3: iNumPods = 6; iNumAliens = 16; This adds a few more enemies for all abduction difficulty levels. Props to Johnnylump. HEX Hint: Change: 2C 02 0F 00 EC 43 00 00 2C 04 06 94 00 0A 51 00 26 0F 00 EB 43 00 00 2C 03 0F 00 EC 43 00 00 2C 06 06 94 00 0A 71 00 2C 02 0F 00 EB 43 00 00 2C 04 0F 00 EC 43 00 00 2C 08 06 94 00 0A 91 00 2C 03 0F 00 EB 43 00 00 2C 04 0F 00 EC 43 00 00 2C 0A To: 2C 03 0F 00 EC 43 00 00 2C 07 06 94 00 0A 51 00 26 0F 00 EB 43 00 00 2C 04 0F 00 EC 43 00 00 2C 0A 06 94 00 0A 71 00 2C 02 0F 00 EB 43 00 00 2C 05 0F 00 EC 43 00 00 2C 0D 06 94 00 0A 91 00 2C 03 0F 00 EB 43 00 00 2C 06 0F 00 EC 43 00 00 2C 10 ==== XGStrategyAI ==== >>>> noexport function AddPossible Changed: if(Game().GetDifficulty() == 3) To: if(Game().GetDifficulty() >= 0) This makes it so the amount of enemies will not be limited for certain enemy types, on all difficulty levels. HEX Hint: Change: 9A 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 03 16 0F 35 DD 41 00 00 E0 41 To: 99 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 00 16 0F 35 DD 41 00 00 E0 41 ==== XGStrategyAI ==== >>>> function TAlienSquad DetermineFirstMissionSquad Changed: if(Game().GetDifficulty() >= 2) if(Game().GetDifficulty() == 3) To: if(Game().GetDifficulty() >= 3) if(Game().GetDifficulty() == 20) This makes it so the amount of enemies during the first mission is reduced to 4 for Easy, Normal and Classic, and 6 for Impossible. HEX Hint: Change: 2C 02 16 0F 35 38 FF FF FF 85 FA FF FF 00 00 10 25 35 E4 FF FF FF 84 FA FF FF 00 01 00 32 44 00 00 24 04 0F 35 38 FF FF FF 85 FA FF FF 00 00 10 26 35 E4 FF FF FF 84 FA FF FF 00 01 00 32 44 00 00 24 04 07 2F 02 9A 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 03 To: 2C 03 16 0F 35 38 FF FF FF 85 FA FF FF 00 00 10 25 35 E4 FF FF FF 84 FA FF FF 00 01 00 32 44 00 00 24 04 0F 35 38 FF FF FF 85 FA FF FF 00 00 10 26 35 E4 FF FF FF 84 FA FF FF 00 01 00 32 44 00 00 24 04 07 2F 02 9A 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 14 ==== XGStrategyAI ==== >>>> function TAlienSquad DetermineAlienBaseSquad Changed: if(Game().GetDifficulty() == 3) To: if(Game().GetDifficulty() >= 0) This makes it so on all difficulty levels more enemies will spawn during the base assault mission, instead of only on Impossible. HEX Hint: Change: 07 C3 00 9A 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 03 To: 07 C3 00 99 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 00 ==== XGStrategyAI ==== >>>> function TAlienSquad DetermineSmallScoutSquad Changed: if(Game().GetDifficulty() == 3) To: if(Game().GetDifficulty() >= 0) This makes it so small scout tactical missions will spawn more enemies on all difficulty levels. HEX Hint: Change: 16 0F 00 0A 44 00 00 2C 09 07 78 00 9A 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 03 To: 16 0F 00 0A 44 00 00 2C 09 07 78 00 99 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 00 ==== XGStrategyAI ==== >>>> function TAlienSquad DetermineLargeScoutSquad Changed: iNumAliens = iNumAliens / 2 + Rand(4); To: iNumAliens = iNumAliens / 1 - Rand(3); This makes it so crash landed large scouts will spawn more enemies. HEX Hint: Change: 92 91 00 11 44 00 00 2C 02 16 A7 2C 04 To: 93 91 00 11 44 00 00 2C 01 16 A7 2C 03 ==== XGStrategyAI ==== >>>> function TAlienSquad DetermineSupplySquad Changed: if(Game().GetDifficulty() == 3) iNumAliens = iNumAliens / 2 + Rand(int(0.40 * float(iNumAliens))); To: if(Game().GetDifficulty() >= 0) iNumAliens = iNumAliens / 1 - Rand(int(0.30 * float(iNumAliens))); This makes it so supply barges spawn more enemies on all difficulty levels. Also, they spawn more enemies when crash landed. HEX Hint: Change: 9A 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 03 16 0F 00 1F 44 00 00 90 36 00 20 44 00 00 2C 03 16 06 B7 00 0F 00 1F 44 00 00 2C 10 07 F5 00 81 2D 00 23 44 00 00 16 0F 00 1F 44 00 00 92 91 00 1F 44 00 00 2C 02 16 A7 38 44 AB 1E CD CC CC 3E To: 99 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 00 16 0F 00 1F 44 00 00 90 36 00 20 44 00 00 2C 03 16 06 B7 00 0F 00 1F 44 00 00 2C 10 07 F5 00 81 2D 00 23 44 00 00 16 0F 00 1F 44 00 00 93 91 00 1F 44 00 00 2C 01 16 A7 38 44 AB 1E 9A 99 99 3E ==== XGStrategyAI ==== >>>> function TAlienSquad DetermineBattleshipSquad Changed: if(Game().GetDifficulty() == 3) To: if(Game().GetDifficulty() >= 0) This makes it so supply barges spawn more enemies on all difficulty levels. Also, they spawn more enemies when crash landed. HEX Hint: Change: 27 44 00 00 03 00 24 00 16 0F 00 26 44 00 00 2C 14 07 E4 00 9A 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 03 To: 27 44 00 00 03 00 24 00 16 0F 00 26 44 00 00 2C 14 07 E4 00 99 19 1B 4C 0E 00 00 00 00 00 00 16 0A 00 43 41 00 00 00 1B F6 0E 00 00 00 00 00 00 16 2C 00 Edited February 2, 2013 by BlackAlpha Link to comment Share on other sites More sharing options...
Recommended Posts