-
Posts
223 -
Joined
-
Last visited
Everything posted by BlackAlpha
-
My mod has a similar thing. What I did is reduce the Marathon setting to 1.5. In my case, I think it makes Marathon more doable. @drake8888 You have to be a bit more specific about the kind of problem you are experiencing. Do you get errors during the installation? Is your game crashing at start-up? Also, do you run the original Long War mod or are you making changes to it yourself?
-
Storms over former XCOM members | Controlling abductions
BlackAlpha replied to Drakous79's topic in XCOM's Enemy Unknown
I'd very much like to know this as well. I wasn't able to figure it out. -
Patching a modded game has a tendency to corrupt the game installation. I always tell people to restore their game to the original when they report to me with crashing problems after a game update has been released. I point them to number 3 of my tech support FAQ. It contains a number of different things that should fix the game for pretty much any problem. But if you've only used INI mods (no UPK file mods), then you most likely just need to restore the original EXE file. Delete "xcom-orginal.exe". Then run the original game to make sure you got the right EXE file. If you can't get the original game to run, you need to verify the files through Steam (repair the game) and run the original game. Then try to run the Modpatcher again. What happened is that the Modpatcher made a backup of the EXE and named it "xcom-orginal.exe". It restores that EXE each time you run the Modpatcher. However, after the game updates, that EXE is outdated and no longer working, so you need to get rid of it or your game will crash.
-
New 1/7/2013 Patch overwriting mods (I think)
BlackAlpha replied to johnnylump's topic in XCOM's Enemy Unknown
On one hand, Fireaxis is keeping an eye on the mods and it's quickly affecting the vanilla version! Awesome! Maybe some day we'll see the military retexture mod and Warspace mode integrated into the steam version. On the other hand: if they think modders are so great, why make the steam online mode break mods and why make it so hard to suddenly update mods for compatibility when new versions of the game come out? That is because they don't officially support mods. They do not consider mods when they are working on something new. Why do they not officially support mods? We can only guess. But I think it boils down to the idea that they might not think it's worth it for them to support mods. -
Version 1.61 has been released. It's compatible with the new game patch. However, the game patch might have corrupted your game. Please read the release notes on the mod page.
-
Link updated with Warspace 1.61 changes and I included the new text versions of the UPK files.
-
New 1/7/2013 Patch overwriting mods (I think)
BlackAlpha replied to johnnylump's topic in XCOM's Enemy Unknown
These are my SOPs concerning game updates: - Remove the workaround that blocks the game from accessing the internet. Start Steam in online mode, start the game twice to let the silent patcher update. - Grab the latest original version of all the files that my mod overwrites and compare them to the previous game version to see what has changed. - If needed, apply new game version changes to my modded files. In the case of UPK files, grab the latest original file and apply all mod changes to it. I think everyone who mods localization files and/or UPK files will need to go through those steps. -
Thanks for the feedback. I recommend you restart the campaign without any Second Wave options enabled. Marathon doesn't exactly make the game balanced.
-
Note that I also changed the aircraft weapons. I made it so Large Scouts and Abductors can only be shot down with multiple Interceptors wielding Fusion/Plasma/EMP.
-
After many weeks of hard work and testing, version 1.6 has finally been released! See the modpage for all the details. There are basically three changes: 1. A small change: Everything related to the late tactical game has been rebalanced in an attempt to make the late game less of a cake walk. 2. And a large change: The strategic game has been overhauled with some pretty drastic changes. As you all know, the strategic game in the original isn't very interesting and it's extremely easy. There's little point in doing certain things like getting new weapons for your aircraft. But that is different now. The strategic game is now challenging, it plays differently, and it now pays off when you carefully make your decisions. 3. Another big one: New languages! There's now support for the French and Spanish languages. I can't take much credit for that. Ericfr did the French translation. And Osito2dancer did the Spanish one. They did most of the hard work, so props to them! I hope you guys enjoy it!
-
Link updated because I made some last minute changes to Warspace 1.6.
-
====================== XComStrategyGame.upk: ====================== ==== XGMissionControlUI ==== >>>> function UpdateView() Changed: if(GEOSCAPE().m_bUFOIgnored) { Narrative(xcomnarrativemoment'MCUFOIgnored'); GEOSCAPE().m_bUFOIgnored = false; } To: if(GEOSCAPE().m_bUFOIgnored) { Narrative(xcomnarrativemoment'RoboHQ_ContactLost'); GEOSCAPE().m_bUFOIgnored = false; } This makes it so Bradford won't complain when you ignore UFOs. Instead, you hear the robot lady say "contact lost". HEX Hint: Change: 00 00 2D 01 9C 2F 00 00 1B 73 1F 00 00 00 00 00 00 20 AF To: 00 00 2D 01 9C 2F 00 00 1B 73 1F 00 00 00 00 00 00 20 C6 ==== XGStrategyAI ==== >>>> function AddHuntTarget Changed: if(Game().GetDifficulty() <= 1) { iMonthCutoff = 3; } if(Game().GetDifficulty() == 2) { iMonthCutoff = 2; } if(GetMonth() >= iMonthCutoff) { eHunter = 8; } // End:0xc1 else { eHunter = 5; } To: if(Game().GetDifficulty() <= 1) { iMonthCutoff = 1; } if(Game().GetDifficulty() >= 2) { iMonthCutoff = 1; } if(GetMonth() >= iMonthCutoff) { eHunter = 5; } // End:0xc1 else { eHunter = 4; } This makes it so for all difficulty levels, the first month, small scouts will take on the role of satellite hunters. After the first month, large scouts will take on the role of satellite hunters. HEX Hint: Change: 03 06 8E 00 07 83 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 02 16 0F 00 5A 42 00 00 2C 02 06 8E 00 0F 00 5A 42 00 00 26 07 B5 00 99 1B 9D 0F 00 00 00 00 00 00 16 00 5A 42 00 00 16 0F 00 5B 42 00 00 24 08 06 C1 00 0F 00 5B 42 00 00 24 05 To: 01 06 8E 00 07 83 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 02 16 0F 00 5A 42 00 00 2C 01 06 8E 00 0F 00 5A 42 00 00 26 07 B5 00 99 1B 9D 0F 00 00 00 00 00 00 16 00 5A 42 00 00 16 0F 00 5B 42 00 00 24 05 06 C1 00 0F 00 5B 42 00 00 24 04
-
From now on all changes to Warspace UPK files can be found inside the UPK modding tools archive. See the first post for the link. I will post stuff here as well to add more explanations on how things work. ====================== XComStrategyGame.upk: ====================== ==== XGFacility_Engineering ==== >>>> noexport function TProjectCost GetItemProjectCost(XComGame.XGGameData.EItemType eItem, int iQuantity, optional bool Brush) Changed: kCost.arrItems.AddItem(144); kCost.arrItemQuantities.AddItem(ItemAmount(3)); kCost.arrItems.AddItem(146); kCost.arrItemQuantities.AddItem(ItemAmount(3)); kCost.arrItems.AddItem(152); kCost.arrItemQuantities.AddItem(ItemAmount(2)); To: kCost.arrItems.AddItem(144); kCost.arrItemQuantities.AddItem(ItemAmount(1)); kCost.arrItems.AddItem(146); kCost.arrItemQuantities.AddItem(ItemAmount(1)); kCost.arrItems.AddItem(152); kCost.arrItemQuantities.AddItem(ItemAmount(1)); This makes it so only 1 corpse is needed to create an aircraft powerup. HEX Hint: Change: 03 16 16 06 84 05 07 C1 02 9A 38 3A 00 28 2A 00 00 38 3A 24 85 16 55 35 05 03 00 00 09 03 00 00 00 00 00 23 2A 00 00 03 00 2C 92 16 55 35 04 03 00 00 09 03 00 00 00 00 00 23 2A 00 00 0D 00 1B 10 15 00 00 00 00 00 00 2C 03 16 16 06 84 05 07 26 03 9A 38 3A 00 28 2A 00 00 38 3A 24 86 16 55 35 05 03 00 00 09 03 00 00 00 00 00 23 2A 00 00 03 00 2C 98 16 55 35 04 03 00 00 09 03 00 00 00 00 00 23 2A 00 00 0D 00 1B 10 15 00 00 00 00 00 00 2C 02 To: 01 16 16 06 84 05 07 C1 02 9A 38 3A 00 28 2A 00 00 38 3A 24 85 16 55 35 05 03 00 00 09 03 00 00 00 00 00 23 2A 00 00 03 00 2C 92 16 55 35 04 03 00 00 09 03 00 00 00 00 00 23 2A 00 00 0D 00 1B 10 15 00 00 00 00 00 00 2C 01 16 16 06 84 05 07 26 03 9A 38 3A 00 28 2A 00 00 38 3A 24 86 16 55 35 05 03 00 00 09 03 00 00 00 00 00 23 2A 00 00 03 00 2C 98 16 55 35 04 03 00 00 09 03 00 00 00 00 00 23 2A 00 00 0D 00 1B 10 15 00 00 00 00 00 00 2C 01 ==== XGFacility_Engineering ==== >>>> noexport function TProjectCost GetItemProjectCost(XComGame.XGGameData.EItemType eItem, int iQuantity, optional bool Brush) Changed: kCost.arrItems.AddItem(154); kCost.arrItemQuantities.AddItem(ItemAmount(4)); To: kCost.arrItems.AddItem(154); kCost.arrItemQuantities.AddItem(ItemAmount(8)); This makes it so Chitin Plating costs 8 Chryssalid corpses. HEX Hint: Change: 2A 00 00 03 00 2C 9A 16 55 35 04 03 00 00 09 03 00 00 00 00 00 23 2A 00 00 0D 00 1B 10 15 00 00 00 00 00 00 2C 04 To: 2A 00 00 03 00 2C 9A 16 55 35 04 03 00 00 09 03 00 00 00 00 00 23 2A 00 00 0D 00 1B 10 15 00 00 00 00 00 00 2C 08 ==== XGFundingCouncil ==== >>>> function DetermineMonthlyGrade(out TCouncilMeeting kMeeting) Changed: kMeeting.kSummary.iUFOsEscaped += kMeeting.arrContinentSummaries[iContinent].iUFOsDetected - kMeeting.arrContinentSummaries[iContinent].iUFOsShotdown; To: kMeeting.kSummary.iUFOsEscaped == kMeeting.arrContinentSummaries[iContinent].iUFOsDetected - kMeeting.arrContinentSummaries[iContinent].iUFOsShotdown; This makes it so escaped UFOs don't bring down the monthly council grade. HEX Hint: Change: 00 00 00 35 F8 02 00 00 FE 02 00 00 00 01 48 8B 01 00 00 35 F0 02 00 00 F3 02 00 00 00 00 10 00 8A 01 00 00 35 FC 02 00 00 FE 02 00 00 00 00 48 8B 01 00 00 16 A1 To: 00 00 00 35 F8 02 00 00 FE 02 00 00 00 01 48 8B 01 00 00 35 F0 02 00 00 F3 02 00 00 00 00 10 00 8A 01 00 00 35 FC 02 00 00 FE 02 00 00 00 00 48 8B 01 00 00 16 9A ==== XGItemTree ==== >>>> function int GetItemQuestPrice Changed: fPerHourValue = 0.07; To: fPerHourValue = 0.02; This will decrease the reward amount for "item request" type missions. One of the changes in Warspace has caused the money reward amount to sky rocket. The above change should bring it down quite a bit. HEX Hint: Change: 77 03 00 00 93 BE 00 00 37 01 00 00 C7 00 00 00 0F 00 E7 35 00 00 25 0F 00 E6 35 00 00 1E B8 1E 85 3D To: 77 03 00 00 93 BE 00 00 37 01 00 00 C7 00 00 00 0F 00 E7 35 00 00 25 0F 00 E6 35 00 00 1E 0A D7 A3 3C ==== XGItemTree ==== >>>> function UpdateShips() Changed: case 0: UpdateShip(1, 1500, 10, 2500, 5, 0); UpdateShip(3, 3500, 20, 6500, 25, 34); UpdateShip(4, 1500, 20, 800, 0, 7); UpdateShip(5, 1800, 22, 1600, 0, 7); UpdateShip(6, 2000, 17, 1800, 5, 3); UpdateShip(7, 2500, 25, 2000, 16, 4); UpdateShip(8, 3000, 40, 2400, 52, 20); UpdateShip(9, 3500, 60, 2500, 64, 25); // End:0x3d7 break; // End:0x209 case 1: UpdateShip(1, 1500, 10, 2500, 5, 0); UpdateShip(3, 3500, 20, 6500, 25, 34); UpdateShip(4, 1500, 20, 800, 0, 7); UpdateShip(5, 1800, 22, 1600, 0, 7); UpdateShip(6, 2000, 17, 1800, 5, 3); UpdateShip(7, 2500, 25, 2000, 16, 4); UpdateShip(8, 3000, 40, 2400, 52, 20); UpdateShip(9, 3500, 60, 2500, 64, 25); // End:0x3d7 break; // End:0x2ee case 2: UpdateShip(1, 1500, 10, 2500, 5, 0); UpdateShip(3, 3500, 15, 6500, 25, 16); UpdateShip(4, 1500, 20, 800, 0, 7); UpdateShip(5, 1800, 22, 1600, 0, 7); UpdateShip(6, 2000, 17, 2200, 10, 3); UpdateShip(7, 2500, 25, 2400, 30, 4); UpdateShip(8, 3000, 40, 2900, 42, 20); UpdateShip(9, 3500, 60, 2500, 45, 25); // End:0x3d7 break; // End:0x3d4 case 3: UpdateShip(1, 1500, 10, 2500, 5, 0); UpdateShip(3, 3500, 15, 6500, 25, 16); UpdateShip(4, 1500, 20, 800, 0, 7); UpdateShip(5, 1800, 22, 1600, 2, 7); UpdateShip(6, 2000, 17, 2200, 13, 3); UpdateShip(7, 2500, 25, 2400, 36, 4); UpdateShip(8, 3000, 40, 2900, 52, 20); UpdateShip(9, 3500, 65, 2500, 52, 25); // End:0x3d7 To: In all 4 blocks... UpdateShip(1, 1500, 10, 1500, 0, 0); UpdateShip(3, 3500, 13, 3000, 0, 16); UpdateShip(4, 1500, 35, 1500, 0, 7); UpdateShip(5, 1800, 40, 2100, 0, 7); UpdateShip(6, 2000, 20, 7300, 0, 3); UpdateShip(7, 2500, 15, 10000, 0, 4); UpdateShip(8, 1600, 10, 15000, 0, 20); UpdateShip(9, 3500, 30, 5100, 0, 25); Here's what the numbers mean: - ID of aircraft. - Aircraft movement speed on the strategic map. Higher is faster. - Aircraft "movement speed" during tactical battles. It dictates how much time the player gets to shoot down the aircraft. The higher the number on the alien aircraft, the less time the player gets to shoot down the UFO. The higher the number on the player's aircraft, the more time the player gets to shoot down the UFO. So if the player switches from a regular Interceptor to a Firestorm, the player gets more time to shoot down a UFO because the Firestorm has a higher number. - HP of the aircraft. For example, if the aircraft has no armor, when the attacker does 100 damage and the target has 200 HP, then it takes two hits to shoot down the target. - Armor of aircraft. I never tested how it applies, but I assume it will decrease the damage taken, in some way. I simply removed all armor related stats because I don't see the point of it. I think it makes things unnecessarily complicated. - Armor piercing bonus the aircraft applies. HEX Hint: Change: 24 01 1D DC 05 00 00 2C 0A 1D C4 09 00 00 2C 05 25 16 1B 0A 2C 00 00 00 00 00 00 24 03 1D AC 0D 00 00 2C 14 1D 64 19 00 00 2C 19 2C 22 16 1B 0A 2C 00 00 00 00 00 00 24 04 1D DC 05 00 00 2C 14 1D 20 03 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 05 1D 08 07 00 00 2C 16 1D 40 06 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 06 1D D0 07 00 00 2C 11 1D 08 07 00 00 2C 05 2C 03 16 1B 0A 2C 00 00 00 00 00 00 24 07 1D C4 09 00 00 2C 19 1D D0 07 00 00 2C 10 2C 04 16 1B 0A 2C 00 00 00 00 00 00 24 08 1D B8 0B 00 00 2C 28 1D 60 09 00 00 2C 34 2C 14 16 1B 0A 2C 00 00 00 00 00 00 24 09 1D AC 0D 00 00 2C 3C 1D C4 09 00 00 2C 40 2C 19 16 06 D7 03 0A 09 02 26 1B 0A 2C 00 00 00 00 00 00 24 01 1D DC 05 00 00 2C 0A 1D C4 09 00 00 2C 05 25 16 1B 0A 2C 00 00 00 00 00 00 24 03 1D AC 0D 00 00 2C 14 1D 64 19 00 00 2C 19 2C 22 16 1B 0A 2C 00 00 00 00 00 00 24 04 1D DC 05 00 00 2C 14 1D 20 03 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 05 1D 08 07 00 00 2C 16 1D 40 06 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 06 1D D0 07 00 00 2C 11 1D 08 07 00 00 2C 05 2C 03 16 1B 0A 2C 00 00 00 00 00 00 24 07 1D C4 09 00 00 2C 19 1D D0 07 00 00 2C 10 2C 04 16 1B 0A 2C 00 00 00 00 00 00 24 08 1D B8 0B 00 00 2C 28 1D 60 09 00 00 2C 34 2C 14 16 1B 0A 2C 00 00 00 00 00 00 24 09 1D AC 0D 00 00 2C 3C 1D C4 09 00 00 2C 40 2C 19 16 06 D7 03 0A EE 02 2C 02 1B 0A 2C 00 00 00 00 00 00 24 01 1D DC 05 00 00 2C 0A 1D C4 09 00 00 2C 05 25 16 1B 0A 2C 00 00 00 00 00 00 24 03 1D AC 0D 00 00 2C 0F 1D 64 19 00 00 2C 19 2C 10 16 1B 0A 2C 00 00 00 00 00 00 24 04 1D DC 05 00 00 2C 14 1D 20 03 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 05 1D 08 07 00 00 2C 16 1D 40 06 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 06 1D D0 07 00 00 2C 11 1D 98 08 00 00 2C 0A 2C 03 16 1B 0A 2C 00 00 00 00 00 00 24 07 1D C4 09 00 00 2C 19 1D 60 09 00 00 2C 1E 2C 04 16 1B 0A 2C 00 00 00 00 00 00 24 08 1D B8 0B 00 00 2C 28 1D 54 0B 00 00 2C 2A 2C 14 16 1B 0A 2C 00 00 00 00 00 00 24 09 1D AC 0D 00 00 2C 3C 1D C4 09 00 00 2C 2D 2C 19 16 06 D7 03 0A D4 03 2C 03 1B 0A 2C 00 00 00 00 00 00 24 01 1D DC 05 00 00 2C 0A 1D C4 09 00 00 2C 05 25 16 1B 0A 2C 00 00 00 00 00 00 24 03 1D AC 0D 00 00 2C 0F 1D 64 19 00 00 2C 19 2C 10 16 1B 0A 2C 00 00 00 00 00 00 24 04 1D DC 05 00 00 2C 14 1D 20 03 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 05 1D 08 07 00 00 2C 16 1D 40 06 00 00 2C 02 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 06 1D D0 07 00 00 2C 11 1D 98 08 00 00 2C 0D 2C 03 16 1B 0A 2C 00 00 00 00 00 00 24 07 1D C4 09 00 00 2C 19 1D 60 09 00 00 2C 24 2C 04 16 1B 0A 2C 00 00 00 00 00 00 24 08 1D B8 0B 00 00 2C 28 1D 54 0B 00 00 2C 34 2C 14 16 1B 0A 2C 00 00 00 00 00 00 24 09 1D AC 0D 00 00 2C 41 1D C4 09 00 00 2C 34 2C 19 To: 24 01 1D DC 05 00 00 2C 0A 1D DC 05 00 00 2C 00 25 16 1B 0A 2C 00 00 00 00 00 00 24 03 1D AC 0D 00 00 2C 0D 1D B8 0B 00 00 2C 00 2C 10 16 1B 0A 2C 00 00 00 00 00 00 24 04 1D DC 05 00 00 2C 23 1D DC 05 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 05 1D 08 07 00 00 2C 28 1D 34 08 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 06 1D D0 07 00 00 2C 14 1D 84 1C 00 00 2C 00 2C 03 16 1B 0A 2C 00 00 00 00 00 00 24 07 1D C4 09 00 00 2C 0F 1D 10 27 00 00 2C 00 2C 04 16 1B 0A 2C 00 00 00 00 00 00 24 08 1D 40 06 00 00 2C 0A 1D 98 3A 00 00 2C 00 2C 14 16 1B 0A 2C 00 00 00 00 00 00 24 09 1D AC 0D 00 00 2C 1E 1D EC 13 00 00 2C 00 2C 19 16 06 D7 03 0A 09 02 26 1B 0A 2C 00 00 00 00 00 00 24 01 1D DC 05 00 00 2C 0A 1D DC 05 00 00 2C 00 25 16 1B 0A 2C 00 00 00 00 00 00 24 03 1D AC 0D 00 00 2C 0D 1D B8 0B 00 00 2C 00 2C 10 16 1B 0A 2C 00 00 00 00 00 00 24 04 1D DC 05 00 00 2C 23 1D DC 05 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 05 1D 08 07 00 00 2C 28 1D 34 08 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 06 1D D0 07 00 00 2C 14 1D 84 1C 00 00 2C 00 2C 03 16 1B 0A 2C 00 00 00 00 00 00 24 07 1D C4 09 00 00 2C 0F 1D 10 27 00 00 2C 00 2C 04 16 1B 0A 2C 00 00 00 00 00 00 24 08 1D 40 06 00 00 2C 0A 1D 98 3A 00 00 2C 00 2C 14 16 1B 0A 2C 00 00 00 00 00 00 24 09 1D AC 0D 00 00 2C 1E 1D EC 13 00 00 2C 00 2C 19 16 06 D7 03 0A EE 02 2C 02 1B 0A 2C 00 00 00 00 00 00 24 01 1D DC 05 00 00 2C 0A 1D DC 05 00 00 2C 00 25 16 1B 0A 2C 00 00 00 00 00 00 24 03 1D AC 0D 00 00 2C 0D 1D B8 0B 00 00 2C 00 2C 10 16 1B 0A 2C 00 00 00 00 00 00 24 04 1D DC 05 00 00 2C 23 1D DC 05 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 05 1D 08 07 00 00 2C 28 1D 34 08 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 06 1D D0 07 00 00 2C 14 1D 84 1C 00 00 2C 00 2C 03 16 1B 0A 2C 00 00 00 00 00 00 24 07 1D C4 09 00 00 2C 0F 1D 10 27 00 00 2C 00 2C 04 16 1B 0A 2C 00 00 00 00 00 00 24 08 1D 40 06 00 00 2C 0A 1D 98 3A 00 00 2C 00 2C 14 16 1B 0A 2C 00 00 00 00 00 00 24 09 1D AC 0D 00 00 2C 1E 1D EC 13 00 00 2C 00 2C 19 16 06 D7 03 0A D4 03 2C 03 1B 0A 2C 00 00 00 00 00 00 24 01 1D DC 05 00 00 2C 0A 1D DC 05 00 00 2C 00 25 16 1B 0A 2C 00 00 00 00 00 00 24 03 1D AC 0D 00 00 2C 0D 1D B8 0B 00 00 2C 00 2C 10 16 1B 0A 2C 00 00 00 00 00 00 24 04 1D DC 05 00 00 2C 23 1D DC 05 00 00 25 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 05 1D 08 07 00 00 2C 28 1D 34 08 00 00 2C 00 2C 07 16 1B 0A 2C 00 00 00 00 00 00 24 06 1D D0 07 00 00 2C 14 1D 84 1C 00 00 2C 00 2C 03 16 1B 0A 2C 00 00 00 00 00 00 24 07 1D C4 09 00 00 2C 0F 1D 10 27 00 00 2C 00 2C 04 16 1B 0A 2C 00 00 00 00 00 00 24 08 1D 40 06 00 00 2C 0A 1D 98 3A 00 00 2C 00 2C 14 16 1B 0A 2C 00 00 00 00 00 00 24 09 1D AC 0D 00 00 2C 1E 1D EC 13 00 00 2C 00 2C 19 ======================================================= === Info about aircraft ======================================================= XCOM and alien ship types ID Ship Type Size Operator Default Weaponry 1 Interceptor Small XCOM Avalanche Missiles 3 Firestorm Small XCOM Avalanche Missiles 2 Skyranger Small XCOM None 4 Small Scout Small Aliens UFO Plasma Cannon I 5 Large Scout Medium Aliens UFO Plasma Cannon I 6 Abductor Large Aliens UFO Plasma Cannon II 7 Supply Barge Large Aliens UFO Plasma Cannon II 8 Battleship Very Large Aliens UFO Fusion Lance 9 Overseer Medium Aliens UFO Plasma Cannon II and I ==== XGItemTree ==== >>>> function BuildShipWeapons() Changed: case 0: BuildShipWeapon(1, -1, 85, 1.00, 350, 11, 95); BuildShipWeapon(3, 3, 100, 2.00, 400, 0, 70); BuildShipWeapon(4, -1, 85, 0.75, 400, 25, 85); BuildShipWeapon(5, 10, 100, 1.25, 800, 48, 85); BuildShipWeapon(6, -1, 85, 1.25, 1200, 44, 100); BuildShipWeapon(7, 10, 100, 1.50, 1400, 44, 90); BuildShipWeapon(8, -1, 101, 1.25, 300, 0, 75); BuildShipWeapon(9, -1, 101, 1.25, 400, 20, 75); BuildShipWeapon(10, -1, 101, 1.25, 1200, 50, 75); // End:0x4d0 break; // End:0x281 case 1: BuildShipWeapon(1, -1, 85, 1.00, 350, 11, 95); BuildShipWeapon(3, 3, 100, 2.00, 400, 0, 70); BuildShipWeapon(4, -1, 85, 0.75, 400, 25, 85); BuildShipWeapon(5, 10, 100, 1.25, 800, 48, 85); BuildShipWeapon(6, -1, 85, 1.25, 1200, 44, 100); BuildShipWeapon(7, 10, 100, 1.50, 1400, 44, 90); BuildShipWeapon(8, -1, 101, 1.25, 300, 0, 75); BuildShipWeapon(9, -1, 101, 1.25, 400, 20, 75); BuildShipWeapon(10, -1, 101, 1.25, 1200, 50, 75); // End:0x4d0 break; // End:0x3a7 case 2: BuildShipWeapon(1, -1, 85, 1.00, 350, 6, 95); BuildShipWeapon(3, 3, 100, 2.00, 400, 0, 70); BuildShipWeapon(4, -1, 85, 0.75, 400, 25, 85); BuildShipWeapon(5, 10, 100, 1.25, 700, 33, 85); BuildShipWeapon(6, -1, 85, 1.25, 1200, 44, 100); BuildShipWeapon(7, 10, 100, 1.50, 1400, 44, 90); BuildShipWeapon(8, -1, 101, 1.25, 300, 0, 75); BuildShipWeapon(9, -1, 101, 1.25, 400, 20, 75); BuildShipWeapon(10, -1, 101, 1.25, 1250, 50, 75); // End:0x4d0 break; // End:0x4cd case 3: BuildShipWeapon(1, -1, 85, 1.00, 350, 6, 95); BuildShipWeapon(3, 3, 100, 2.00, 400, 0, 70); BuildShipWeapon(4, -1, 85, 0.75, 400, 28, 85); BuildShipWeapon(5, 10, 100, 1.25, 700, 33, 85); BuildShipWeapon(6, -1, 85, 1.25, 1200, 44, 100); BuildShipWeapon(7, 10, 100, 1.50, 1400, 44, 90); BuildShipWeapon(8, -1, 101, 1.25, 300, 0, 75); BuildShipWeapon(9, -1, 101, 1.25, 500, 20, 75); BuildShipWeapon(10, -1, 101, 1.25, 1625, 50, 75); // End:0x4d0 To: In all 4 blocks... BuildShipWeapon(1, -1, 85, 0.50, 117, 0, 85); BuildShipWeapon(3, 3, 100, 2.00, 300, 0, 70); BuildShipWeapon(4, -1, 85, 0.12, 45, 0, 95); BuildShipWeapon(5, 10, 100, 2.00, 650, 0, 85); BuildShipWeapon(6, -1, 85, 1.00, 1000, 0, 95); BuildShipWeapon(7, 10, 100, 2.90, 4000, 0, 90); BuildShipWeapon(8, -1, 101, 1.50, 200, 0, 85); BuildShipWeapon(9, -1, 101, 1.75, 300, 0, 75); BuildShipWeapon(10, -1, 101, 2.30, 700, 0, 50); Overhauled aircraft weapons stats. The numbers mean the following: - ID of aircraft weapon. - Ammo. I don't know what it does. - Range. How far the weapon can fire during combat. - Rate of fire. Delay in seconds before the weapon will fire. - Damage amount. Example: if the weapon does 100 damage and the target has 200 HP and no armor, then two hits will take down the target. - Armor penetration. I never tested how it applies, but I assume it will increase the damage done to targets who have armor, in some way. I simply removed all armor related stats because I don't see the point of it. I think it makes things unnecessarily complicated. - Chance to hit in percentage. HEX Hint: Change: 24 01 1D FF FF FF FF 2C 55 1E 00 00 80 3F 1D 5E 01 00 00 2C 0B 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 03 2C 03 2C 64 1E 00 00 00 40 1D 90 01 00 00 25 2C 46 16 1B 92 04 00 00 00 00 00 00 24 04 1D FF FF FF FF 2C 55 1E 00 00 40 3F 1D 90 01 00 00 2C 19 2C 55 16 1B 92 04 00 00 00 00 00 00 24 05 2C 0A 2C 64 1E 00 00 A0 3F 1D 20 03 00 00 2C 30 2C 55 16 1B 92 04 00 00 00 00 00 00 24 06 1D FF FF FF FF 2C 55 1E 00 00 A0 3F 1D B0 04 00 00 2C 2C 2C 64 16 1B 92 04 00 00 00 00 00 00 24 07 2C 0A 2C 64 1E 00 00 C0 3F 1D 78 05 00 00 2C 2C 2C 5A 16 1B 92 04 00 00 00 00 00 00 24 08 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D 2C 01 00 00 25 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 09 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D 90 01 00 00 2C 14 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 0A 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D B0 04 00 00 2C 32 2C 4B 16 06 D0 04 0A 81 02 26 1B 92 04 00 00 00 00 00 00 24 01 1D FF FF FF FF 2C 55 1E 00 00 80 3F 1D 5E 01 00 00 2C 0B 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 03 2C 03 2C 64 1E 00 00 00 40 1D 90 01 00 00 25 2C 46 16 1B 92 04 00 00 00 00 00 00 24 04 1D FF FF FF FF 2C 55 1E 00 00 40 3F 1D 90 01 00 00 2C 19 2C 55 16 1B 92 04 00 00 00 00 00 00 24 05 2C 0A 2C 64 1E 00 00 A0 3F 1D 20 03 00 00 2C 30 2C 55 16 1B 92 04 00 00 00 00 00 00 24 06 1D FF FF FF FF 2C 55 1E 00 00 A0 3F 1D B0 04 00 00 2C 2C 2C 64 16 1B 92 04 00 00 00 00 00 00 24 07 2C 0A 2C 64 1E 00 00 C0 3F 1D 78 05 00 00 2C 2C 2C 5A 16 1B 92 04 00 00 00 00 00 00 24 08 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D 2C 01 00 00 25 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 09 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D 90 01 00 00 2C 14 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 0A 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D B0 04 00 00 2C 32 2C 4B 16 06 D0 04 0A A7 03 2C 02 1B 92 04 00 00 00 00 00 00 24 01 1D FF FF FF FF 2C 55 1E 00 00 80 3F 1D 5E 01 00 00 2C 06 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 03 2C 03 2C 64 1E 00 00 00 40 1D 90 01 00 00 25 2C 46 16 1B 92 04 00 00 00 00 00 00 24 04 1D FF FF FF FF 2C 55 1E 00 00 40 3F 1D 90 01 00 00 2C 19 2C 55 16 1B 92 04 00 00 00 00 00 00 24 05 2C 0A 2C 64 1E 00 00 A0 3F 1D BC 02 00 00 2C 21 2C 55 16 1B 92 04 00 00 00 00 00 00 24 06 1D FF FF FF FF 2C 55 1E 00 00 A0 3F 1D B0 04 00 00 2C 2C 2C 64 16 1B 92 04 00 00 00 00 00 00 24 07 2C 0A 2C 64 1E 00 00 C0 3F 1D 78 05 00 00 2C 2C 2C 5A 16 1B 92 04 00 00 00 00 00 00 24 08 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D 2C 01 00 00 25 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 09 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D 90 01 00 00 2C 14 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 0A 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D E2 04 00 00 2C 32 2C 4B 16 06 D0 04 0A CD 04 2C 03 1B 92 04 00 00 00 00 00 00 24 01 1D FF FF FF FF 2C 55 1E 00 00 80 3F 1D 5E 01 00 00 2C 06 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 03 2C 03 2C 64 1E 00 00 00 40 1D 90 01 00 00 25 2C 46 16 1B 92 04 00 00 00 00 00 00 24 04 1D FF FF FF FF 2C 55 1E 00 00 40 3F 1D 90 01 00 00 2C 1C 2C 55 16 1B 92 04 00 00 00 00 00 00 24 05 2C 0A 2C 64 1E 00 00 A0 3F 1D BC 02 00 00 2C 21 2C 55 16 1B 92 04 00 00 00 00 00 00 24 06 1D FF FF FF FF 2C 55 1E 00 00 A0 3F 1D B0 04 00 00 2C 2C 2C 64 16 1B 92 04 00 00 00 00 00 00 24 07 2C 0A 2C 64 1E 00 00 C0 3F 1D 78 05 00 00 2C 2C 2C 5A 16 1B 92 04 00 00 00 00 00 00 24 08 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D 2C 01 00 00 25 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 09 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D F4 01 00 00 2C 14 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 0A 1D FF FF FF FF 2C 65 1E 00 00 A0 3F 1D 59 06 00 00 2C 32 2C 4B To: 24 01 1D FF FF FF FF 2C 55 1E 00 00 00 3F 1D 75 00 00 00 2C 00 2C 55 16 1B 92 04 00 00 00 00 00 00 24 03 2C 03 2C 64 1E 00 00 00 40 1D 2C 01 00 00 25 2C 46 16 1B 92 04 00 00 00 00 00 00 24 04 1D FF FF FF FF 2C 55 1E 8f c2 f5 3D 1D 2D 00 00 00 2C 00 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 05 2C 0A 2C 64 1E 00 00 00 40 1D 8A 02 00 00 2C 00 2C 55 16 1B 92 04 00 00 00 00 00 00 24 06 1D FF FF FF FF 2C 55 1E 00 00 80 3F 1D E8 03 00 00 2C 00 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 07 2C 0A 2C 64 1E 9A 99 39 40 1D A0 0F 00 00 2C 00 2C 5A 16 1B 92 04 00 00 00 00 00 00 24 08 1D FF FF FF FF 2C 65 1E 00 00 C0 3F 1D C8 00 00 00 25 2C 55 16 1B 92 04 00 00 00 00 00 00 24 09 1D FF FF FF FF 2C 65 1E 00 00 E0 3F 1D 2C 01 00 00 2C 00 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 0A 1D FF FF FF FF 2C 65 1E 33 33 13 40 1D BC 02 00 00 2C 00 2C 32 16 06 D0 04 0A 81 02 26 1B 92 04 00 00 00 00 00 00 24 01 1D FF FF FF FF 2C 55 1E 00 00 00 3F 1D 75 00 00 00 2C 00 2C 55 16 1B 92 04 00 00 00 00 00 00 24 03 2C 03 2C 64 1E 00 00 00 40 1D 2C 01 00 00 25 2C 46 16 1B 92 04 00 00 00 00 00 00 24 04 1D FF FF FF FF 2C 55 1E 8f c2 f5 3D 1D 2D 00 00 00 2C 00 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 05 2C 0A 2C 64 1E 00 00 00 40 1D 8A 02 00 00 2C 00 2C 55 16 1B 92 04 00 00 00 00 00 00 24 06 1D FF FF FF FF 2C 55 1E 00 00 80 3F 1D E8 03 00 00 2C 00 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 07 2C 0A 2C 64 1E 9A 99 39 40 1D A0 0F 00 00 2C 00 2C 5A 16 1B 92 04 00 00 00 00 00 00 24 08 1D FF FF FF FF 2C 65 1E 00 00 C0 3F 1D C8 00 00 00 25 2C 55 16 1B 92 04 00 00 00 00 00 00 24 09 1D FF FF FF FF 2C 65 1E 00 00 E0 3F 1D 2C 01 00 00 2C 00 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 0A 1D FF FF FF FF 2C 65 1E 33 33 13 40 1D BC 02 00 00 2C 00 2C 32 16 06 D0 04 0A A7 03 2C 02 1B 92 04 00 00 00 00 00 00 24 01 1D FF FF FF FF 2C 55 1E 00 00 00 3F 1D 75 00 00 00 2C 00 2C 55 16 1B 92 04 00 00 00 00 00 00 24 03 2C 03 2C 64 1E 00 00 00 40 1D 2C 01 00 00 25 2C 46 16 1B 92 04 00 00 00 00 00 00 24 04 1D FF FF FF FF 2C 55 1E 8f c2 f5 3D 1D 2D 00 00 00 2C 00 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 05 2C 0A 2C 64 1E 00 00 00 40 1D 8A 02 00 00 2C 00 2C 55 16 1B 92 04 00 00 00 00 00 00 24 06 1D FF FF FF FF 2C 55 1E 00 00 80 3F 1D E8 03 00 00 2C 00 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 07 2C 0A 2C 64 1E 9A 99 39 40 1D A0 0F 00 00 2C 00 2C 5A 16 1B 92 04 00 00 00 00 00 00 24 08 1D FF FF FF FF 2C 65 1E 00 00 C0 3F 1D C8 00 00 00 25 2C 55 16 1B 92 04 00 00 00 00 00 00 24 09 1D FF FF FF FF 2C 65 1E 00 00 E0 3F 1D 2C 01 00 00 2C 00 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 0A 1D FF FF FF FF 2C 65 1E 33 33 13 40 1D BC 02 00 00 2C 00 2C 32 16 06 D0 04 0A CD 04 2C 03 1B 92 04 00 00 00 00 00 00 24 01 1D FF FF FF FF 2C 55 1E 00 00 00 3F 1D 75 00 00 00 2C 00 2C 55 16 1B 92 04 00 00 00 00 00 00 24 03 2C 03 2C 64 1E 00 00 00 40 1D 2C 01 00 00 25 2C 46 16 1B 92 04 00 00 00 00 00 00 24 04 1D FF FF FF FF 2C 55 1E 8f c2 f5 3D 1D 2D 00 00 00 2C 00 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 05 2C 0A 2C 64 1E 00 00 00 40 1D 8A 02 00 00 2C 00 2C 55 16 1B 92 04 00 00 00 00 00 00 24 06 1D FF FF FF FF 2C 55 1E 00 00 80 3F 1D E8 03 00 00 2C 00 2C 5F 16 1B 92 04 00 00 00 00 00 00 24 07 2C 0A 2C 64 1E 9A 99 39 40 1D A0 0F 00 00 2C 00 2C 5A 16 1B 92 04 00 00 00 00 00 00 24 08 1D FF FF FF FF 2C 65 1E 00 00 C0 3F 1D C8 00 00 00 25 2C 55 16 1B 92 04 00 00 00 00 00 00 24 09 1D FF FF FF FF 2C 65 1E 00 00 E0 3F 1D 2C 01 00 00 2C 00 2C 4B 16 1B 92 04 00 00 00 00 00 00 24 0A 1D FF FF FF FF 2C 65 1E 33 33 13 40 1D BC 02 00 00 2C 00 2C 32 ======================================================= === Info about aircraft weapons ======================================================= ID Weapon Type Operator 1 Phoenix Cannon XCOM 3 Avalanche Missile XCOM 4 Laser Cannon XCOM 5 Plasma Cannon XCOM 6 EMP Cannon XCOM 7 Fusion Lance XCOM 8 UFO Plasma Cannon I Aliens 9 UFO Plasma Cannon II Aliens 10 UFO Fusion Lance Aliens ==== XGFacility_Barracks ==== >>>> function DetermineTimeOut Changed: kSoldier.m_iTurnsOut += 24 * iBaseTimeOut + Rand(iRandTimeOut); To: kSoldier.m_iTurnsOut += 48 * iBaseTimeOut + Rand(iRandTimeOut); This makes it so gravely wounded soldiers (who end a mission with less than half of their own HP) will get a higher recovery time penalty. In this case, their recovery time penalty is roughly 3 times longer compared to soldiers with normal injuries. HEX Hint: Change: 00 25 16 2C 02 16 16 A1 19 00 4D 28 00 00 09 00 E8 44 00 00 00 01 E8 44 00 00 90 2C 18 To: 00 25 16 2C 02 16 16 A1 19 00 4D 28 00 00 09 00 E8 44 00 00 00 01 E8 44 00 00 90 2C 30
-
Updated link with new version. It includes all new Warspace 1.6 changes inside "Changes to UPK files.txt" and a new text file with some useful general info.
-
Slingshot doesn't modify those files. Early on, I saw a few mods being taken down that distributed the EXE. So I always assumed the moderators here frown upon distributed the EXE, which means you need to distribute the modding tools and run them on the user's machine. You can either create instructions and expect the user to do it, but then there's a high chance of user error. You can also automate it with scripts or a setup, which is what I prefer.
-
Could you clarify which patterns do you mean exactly?
-
Steam seams to be overwriting the modded .exe?
BlackAlpha replied to Chaser617's topic in XCOM's Enemy Unknown
See number 3 in the following topic: http://forums.nexusmods.com/index.php?/topic/834174-warspace-technical-support-v150/ Afterwards, make sure you follow the install and startup instructions inside the Warspace ReadMe. -
Did anyone figure out yet how to modify the tech tree? I got kind of stuck there. Here's what I got... I found the following code inside XComStrategyGame.upk > XGTechTree function BuildTechs() { BuildTech(9, TechCost(2), 173, 0); BuildTech(10, TechCost(2), 173, 1); BuildTech(11, TechCost(3), true, 16); BuildTech(1, TechCost(2), true, 42); BuildTech(19, TechCost(6), true, 9, 23); BuildTech(20, TechCost(8), 19, 24); BuildTech(21, TechCost(8), 19, 22); BuildTech(22, TechCost(20), 13, 9, 31); BuildTech(23, TechCost(25), 14, 9, 30); BuildTech(24, TechCost(30), true, 23, 32); BuildTech(25, TechCost(35), true, 23, 29); BuildTech(26, TechCost(40), true, 34); BuildTech(28, TechCost(25), true, 28); BuildTech(27, TechCost(25), true, 33); BuildTech(29, TechCost(40), 188, 18); BuildTech(30, TechCost(40), 188, 27); BuildTech(2, TechCost(3), 1, 3); BuildTech(13, TechCost(40), true, 9); BuildTech(3, TechCost(10), true, 191, 10); BuildTech(31, TechCost(5), 177, 39); BuildTech(32, TechCost(10), 179, 40); BuildTech(5, TechCost(15), true, 32, 17); BuildTech(33, TechCost(25), 5, 15); BuildTech(12, TechCost(10), 171, 32, 14); BuildTech(14, TechCost(7), true, 10, 5); BuildTech(15, TechCost(15), 14, 7); BuildTech(16, TechCost(30), true, 14, 8); BuildTech(17, TechCost(35), true, 16, 6); BuildTech(18, TechCost(35), true, 16, 4); BuildTech(7, TechCost(30), 180, 21); BuildTech(8, TechCost(40), 189, 35); BuildTech(34, TechCost(5), 160, 1, 43, 1); BuildTech(35, TechCost(5), 162, 1, 44, 4); BuildTech(36, TechCost(5), 165, 1, 45, 2); BuildTech(39, TechCost(5), 164, 1, 46, 6); BuildTech(42, TechCost(10), 168, 1, 47, 9); BuildTech(38, TechCost(5), 167, 1, 48, 5); BuildTech(41, TechCost(5), 166, 1, 49, 3); BuildTech(40, TechCost(5), 163, 1, 50, 7); BuildTech(37, TechCost(8), 161, 1, 51, 8); BuildTech(43, TechCost(2), 144, 1, 52); BuildTech(44, TechCost(2), 146, 1, 53); BuildTech(46, TechCost(2), 149, 1, 54); BuildTech(45, TechCost(2), 148, 1, 55); BuildTech(47, TechCost(2), 154, 1, 56); BuildTech(55, TechCost(8), 153, 1, 58); BuildTech(49, TechCost(2), 152, 1, 59); BuildTech(53, TechCost(2), 157, 1, 60); BuildTech(54, TechCost(2), 156, 1, 61); BuildTech(50, TechCost(2), 151, 1, 62); BuildTech(52, TechCost(2), 150, 1, 63, 2); BuildTech(51, TechCost(2), 147, 1, 64); BuildTech(6, TechCost(8), 145, 1, 65); BalanceTechs(); } Then I looked at the following inside the same file: noexport function BuildTech(int iTech, int iHours, optional bool bCustomReqs, optional XComGame.XGGameData.EItemType eItemReq, optional XComGame.XGGameData.ETechType eTechReq, optional int iImage, optional XComGame.XGGameData.EResearchCredits eCreditGranted) { local TTech kTech; bCustomReqs = 0; // End:0x48 Loop:False if(ISCONTROLLED()) { // End:0x48 Loop:False if(iTech == 9 || (iTech == 10)) { iHours /= float(2); } } kTech.strName = class'XGLocalizedData'.default.TechTypeNames[iTech]; kTech.iTech = iTech; kTech.iHours = iHours; kTech.bCustomReqs = bCustomReqs; kTech.iItemReq = eItemReq; kTech.iTechReq = eTechReq; kTech.iImage = iImage; kTech.eCreditGranted = eCreditGranted; kTech.strSummary = GetBriefSummary(iTech, kTech.strReport, kTech.strCustom, kTech.kCost, kTech.strCodename); m_arrTechs[iTech] = kTech; } I noticed it linked to a localization file. If I'm reading that code correctly, it looks at "TechTypeNames" and uses a common number which I guess is the ID linked to the tech item. So I looked inside XComStrategyGame.int and found a bunch of strings (including "TechTypeNames") related to the tech items. They are all in the same order and each time two items are commented out. Based on that, I made the following list: ID Name Info 1. Xeno-Biology "Misc research starts here" 2. Arc Thrower 3. Outsider Shard 4. New Fighter Craft "Firestorm" 5. Sectoid Commander Autopsy 6. Hyperwave Communication 7. Ethereal Device x. ;Alien Alloys 8. Elerium 9. Psi Armor "Armors start here" 10. Carapace Armor 11. Skeleton Suit 12. Titan Armor 13. Ghost Armor 14. Archangel Armor 15. Weapon Fragments "Misc research starts here" 16. Alien Materials 17. Experimental Warfare 18. Beam Weapons "Laser weapons start here" 19. Precision Lasers 20. Heavy Lasers 21. Plasma Pistol "Plasma weapons start here" 22. Light Plasma Rifle 23. Plasma Rifle 24. Heavy Plasma 25. Plasma Sniper 26. Alloy Cannon 27. Plasma Cannon 28. Fusion Lance "UFO components start here" 29. Guided Fusion Launcher 30. Alien Nav Computer 31. UFO Power Source x. ;UFO Flight 32. EMP Cannon 33. Interrogate Sectoid "Interrogations start here" 34. Interrogate Floater 35. Interrogate Muton 36. Interrogate Sectoid Commander 37. Interrogate Berserker 38. Interrogate Thin Man 39. Interrogate Heavy Floater 40. Interrogate Muton Elite 41. Interrogate Ethereal 42. Sectoid Autopsy "Autopsies start here" 43. Floater Autopsy 44. Thin Man Autopsy 45. Muton Autopsy 46. Chryssalid Autopsy 47. Zombie Autopsy 48. Cyberdisc Autopsy 49. Berserker Autopsy 50. Heavy Floater Autopsy 51. Muton Elite Autopsy 52. Drone Autopsy 53. Sectopod Autopsy 54. Ethereal Autopsy Note that I don't know whether I should include or not the commented out items in the counting. In the above list I didn't include them in the counting, but I left them in the list. Anyway, based on that I got nowhere. Either my string list is wrong or I don't know how to use the numbers inside the Buildtechs function. Or both... Any ideas??
-
See the first post. There's a link to the tech support topic. See number 2 of the FAQ inside that topic. About the modding, see the first post as well. You can either edit the files in the installer source or you can get Modpatcher and XSHAPE and do it yourself.
-
I could still use a few more testers to play through the upcoming version, which is ready, and tell me what you think. Please PM me if you would like to do that. Also, the Spanish translation of Warspace is almost done. We just need someone who can fluently speak Spanish to double check the new translation for grammar mistakes. PM me if you want to help with that. There's also translations left to do for the following languages: German, Italian, Korean, Russian, Japanese, Polish. PM me if you can speak any of those languages fluently and you would like to translate this mod.
-
Would you rather have your soldiers die? ;)
-
Not possible right now.
-
Which INI settings do not work when steam is online?
BlackAlpha replied to twinj's topic in XCOM's Enemy Unknown
Well, nevermind the "code". It's just a bunch of zeros at the end of the file. Does that mean you can apply changes to the EMS files? -
Which INI settings do not work when steam is online?
BlackAlpha replied to twinj's topic in XCOM's Enemy Unknown
Also, it doesn't matter what you put inside that file. You can make it so the game can't access the file nor create a new file, and the game will still load the silent patcher changes. Those EMS files seem to have weird code at the end of the file. I guess if we can edit the file and edit that code so that it corresponds to the changed file, then we can put all mod changes inside the EMS files. You could then hijack Firaxis' system to create an incremental mod installer. Or so I suspect... -
Which INI settings do not work when steam is online?
BlackAlpha replied to twinj's topic in XCOM's Enemy Unknown
Pretty much. But you can't ignore or delete those files in My Docs. Some of those files are crucial. You can already see this with the DLC. People who have the DLC receive some new text files in their My Docs directory. People who do not have the DLC do not get those files. I suspect in the near future there will be files for three versions: Original game; Slingshot DLC; Slingshot + upcoming DLC. And as more DLC is released, there will be more versions to maintain.