Difference between revisions of "AI War 2:Cheats"

From Arcen Wiki
Jump to navigation Jump to search
(7 intermediate revisions by 2 users not shown)
Line 91: Line 91:
 
* <code>scan for life</code>
 
* <code>scan for life</code>
 
** Causes a tachyon pulse on the planet the issuing player is on, revealing any cloaked enemies.
 
** Causes a tachyon pulse on the planet the issuing player is on, revealing any cloaked enemies.
 +
 +
* <code>instacpa</code>
 +
** One random AI gets a significant boost to its CPA budget, then launches a CPA in 30 seconds
  
 
* <code>insta waves</code>
 
* <code>insta waves</code>
Line 129: Line 132:
 
** The issuing human player gets all of their deployed ships on the planet they are currently view completely healed in terms of shields, hull, and cloaking points.
 
** The issuing human player gets all of their deployed ships on the planet they are currently view completely healed in terms of shields, hull, and cloaking points.
 
** This is incredibly useful for testing, if you're trying to accomplish something but your test ships are getting shot to bits.
 
** This is incredibly useful for testing, if you're trying to accomplish something but your test ships are getting shot to bits.
 +
 +
* <code>destroyp, [search string]</code>
 +
** Works just like findp, but it destroys the first planet that matches your search string
 +
** Example: destroyp,Murdoch
  
 
== Helper ==
 
== Helper ==
  
 
* <code>findp, [search string]</code>
 
* <code>findp, [search string]</code>
** It tells you how many results there are, and if there is more than one result, then repeat entering of the same command (just press up and enter) will cycle you through them.  It tells you that it will cycle you through them if there are more than one.
+
** '''Search for planets!''' It tells you how many results there are, and if there is more than one result, then repeat entering of the same command (just press up and enter) will cycle you through them.  It tells you that it will cycle you through them if there are more than one.
 
** If you are on the planet view, it switches you to the planet view of that other planet.  If you are on the galaxy map view, it centers the galaxy map on that planet.
 
** If you are on the planet view, it switches you to the planet view of that other planet.  If you are on the galaxy map view, it centers the galaxy map on that planet.
 
** Thanks to cml for the initial implementation of this as a mod.
 
** Thanks to cml for the initial implementation of this as a mod.
Line 158: Line 165:
 
* <code>forget the past</code>
 
* <code>forget the past</code>
 
** Remove all of your local achievements (won't affect Steam or GOG) so that you can achieve them again.
 
** Remove all of your local achievements (won't affect Steam or GOG) so that you can achieve them again.
 +
** Never considered a cheat.
 +
 +
* <code>dump data tables</code>
 +
** This causes all computers involved in the current game (so not just the local machine in multiplayer) to immediately dump all their data in the same way that happens from "Dump All Data Tables After Load" from the debug section of the settings menu. 
 +
** ''Please be advised that this will cause all of the computers involved in this game to freeze for something like 20-60 seconds, depending on their relative speeds, how many expansions and mods are installed, and so on.  It's a good idea to warn people before you run this command.'''
 +
** Aka, this writes a text file for each in-memory data table into a DataTableExports subfolder in the PlayerData folder. 
 +
*** The purpose of this is mainly to use with diffing tools between one run of the game and another, to see what sort of data changes happened.  If you are modding and made changes to some ships and want to see how those changes cascaded, this would be one way to do that.  This is also a way for us to verify correctness when we make structural changes internally.
 +
*** In multiplayer, this can also be used to compare the contents of these folders between the host and various clients, to check for things that might be amiss thanks to mods or other local changes.
 +
*** To compare folders at a time, you'd need to share the contents of these folders between machines (zip and email, etc), and then run a folder-wide diffing tool like WinMerge to find any discrepancies.
 +
*** Lastly, if you're a mod author and concerned that your mod is adding to the data tables incorrectly over time, then you can use this to get snapshots of what those look like as you are playing.  Normally this data should not be changing after the initial load of the application.
 +
** Never considered a cheat.
 +
 +
* <code>dump external data</code>
 +
** This causes all computers involved in the current game (so not just the local machine in multiplayer) to immediately dump all their 'external data' from all entities (World, Factions, Planets, Player Accounts, and Ships) into the ExternalDataExports subfolder in the PlayerData on each machine.
 +
** ''Please be advised that this will cause all of the computers involved in this game to freeze for a nontrivial amount of time (maybe just a second or two, maybe more), depending on how many ships there are and how complex the data is for the factions in question.  It's a good idea to warn people before you run this command.'''
 +
** Any files that come out empty are not broken, they just don't have any data on them, which is a reflection of the types of factions you are using (and how far you are into the game) and nothing more.
 +
** Aka, this writes a lot of text files relating to faction-specific and mod-specific data.  This data is vulnerable to getting bloated on the clients in multiplayer, or otherwise out of sync.
 +
*** The purpose of this is mainly to use with diffing tools between the client and the host, to see what sort of differences there are, or to search for absurdly-too-large collections.
 +
*** You can also use this to make sure that the data makes sense, given that there's no real other way to check on your data if you're authoring a mod, etc.
 
** Never considered a cheat.
 
** Never considered a cheat.
  

Revision as of 17:29, 2 October 2020

Are There Cheats In The Game?

A: As of version 2.040 of the game, yes there are. At the moment, cheats do not have to be explicitly enabled in order to be used.

You simply have to type the cheat into the chat textbox (hit Enter/Return while playing) and it will happen. The capitalization of the cheats does not matter, nor does spacing. The other players will be able to see cheats that you have entered like any other chat message, along with the result (error or success). If a cheat has been used during this campaign by any player, then achievements will no longer be logged for this game.

Cheat/Command Format

This is a bit different from AI War Classic, which did not take arguments (at first) and which also just took specific phrases as cheats. If you happened to say "bombs away" to a friend during multiplayer, with no capitalization, you were activating a cheat potentially by accident (assuming you had cheats enabled). This sequel doesn't require specific enabling of cheats (for your convenience), so to make sure you don't accidentally conversationally cause a cheat, it now requires the prefix "cmd:" to let us know you mean to have a cheat or command.

  • Your cheat or command must start with the characters cmd:.
  • Whitespace and capitalization doesn't matter.
    • EXCEPT that the very first few characters must be cmd:, exactly like that.
    • And in cases where it is asking you for something else, like the name of an entity type, that might be case-sensitive.
  • Commas (,), are used to separate a cheat from its arguments, if it has any.

Examples

  • An old example would be Give Me K in the first game.
    • Typing that exact phrase would give you 10,000 knowledge immediately.
  • In this game, however, you need to start out by typing cmd:For Science instead.
    • But then you also need to tell it how much. Remember, capitalization and whitespace also don't matter.
      • You can thus say cmd:forscience,10000 to get 10,000 science like in the first game.
      • Or cmd: FoR sCience , 4000 to get 4000 science.
      • Or you can even take away science from yourself and all players by typing cmd:For Science,-1000 to lose 1000.
    • It's worth noting that cheats in this game usually work on all human players rather than just whoever did it. But each cheat or command specifies.

Entering Repeat Commands

  • In order to make entering commands more rapid, particularly if you're doing many at once -- or have a small typo you need to fix -- it remembers the last 50 commands you've entered in the chat window.
    • To cycle through past commands you've entered, hit the up arrow on your keyboard. If you passed what you wanted, hit the down arrow.
    • This only works with commands, not with actual general text chat, which it excludes on purpose.
    • So if you want to spawn some ships (or do whatever else), you can now enter the command for that once, then just hit up arrow and enter repeatedly to keep repeating what you just said.

Base Game

  • For Science, [number]
    • All players gain or lose the [number] amount of science.
    • Does NOT count as a cheat if you are reducing science with this. Feel free to inflict that on yourself.
  • Riches, [number]
    • All players gain or lose the [number] amount of metal.
  • I Don't Even See The Code, [number]
    • All players gain or lose the [number] amount of hacking points.
    • Does NOT count as a cheat if you are reducing hacking points with this. Feel free to inflict that on yourself.
  • I Heart Energon
    • All players gain a free Zenith Power Generator.
  • Anger Management, [number]
    • Gain or lose the [number] amount of AI Progress
    • Does NOT count as a cheat if you are increasing AIP with this. Feel free to inflict that on yourself.
  • I Can See My House
    • All Planets Are Explored. Is a lifestyle choice, and doesn't count as a cheat. So common it has its own button in the debug menu.
  • I'm Watching Your House
    • All Planets Are Watched. Is a lifestyle choice, and doesn't count as a cheat. So common it has its own button in the debug menu.
  • Concede
    • The game is immediately lost. Sometimes you don't want to wait for it to happen. Does not count as a cheat.
  • Multiply Strikecraft, [float number]
    • All player strikecraft-type ship lines in fleets are multiplied permanently by the amount you type in. Use coarse numbers like 0.5, 1, 1.5, 2, etc.
    • This will also apply to capturable fleets that you would encounter in the wild but have not found yet.
    • Does NOT count as a cheat if you are decreasing ship counts with this. Feel free to inflict that on yourself.
  • Multiply Frigates, [float number]
    • All player frigate-type ship lines in fleets are multiplied permanently by the amount you type in. Use coarse numbers like 0.5, 1, 1.5, 2, etc.
    • This will also apply to capturable fleets that you would encounter in the wild but have not found yet.
    • Does NOT count as a cheat if you are decreasing ship counts with this. Feel free to inflict that on yourself.
  • Multiply Turrets, [float number]
    • All player turret lines in fleets are multiplied permanently by the amount you type in. Use coarse numbers like 0.5, 1, 1.5, 2, etc.
    • This will also apply to capturable fleets that you would encounter in the wild but have not found yet.
    • Does NOT count as a cheat if you are decreasing turret counts with this. Feel free to inflict that on yourself.
  • Multiply Drones, [float number]
    • All player drone-type ship lines in fleets are multiplied permanently by the amount you type in. Use coarse numbers like 0.5, 1, 1.5, 2, etc.
    • This will also apply to capturable fleets that you would encounter in the wild but have not found yet.
    • Note that the frigate and strikecraft multipliers specifically skip drones.
    • Does NOT count as a cheat if you are decreasing ship counts with this. Feel free to inflict that on yourself.
  • scrub foes
    • Kills all enemy ships on the planet the issuing player is on.
  • hurry up
    • Finishes all construction projects instantly on the planet the issuing player is on.
  • scan for life
    • Causes a tachyon pulse on the planet the issuing player is on, revealing any cloaked enemies.
  • instacpa
    • One random AI gets a significant boost to its CPA budget, then launches a CPA in 30 seconds
  • insta waves
    • All AI factions immediately get as much "wave budget" as they need in order to launch a wave immediately. As soon as the game is unpaused, they will do so.
    • This does NOT count as a cheat, as it makes the game harder.
  • alter AI,[ai number], [difficulty number]
    • Lets you increase or decrease the difficulty of a specific AI.
    • Always counts as a cheat code, because of its impact on achievements even if you're increasing the AI difficulty.
    • ai number: Which AI to alter the difficulty for? The first AI in a game is 1, if there are two AIs the second is 2, etc.
    • difficulty number: 0 would be no change. 1 would increase the difficulty by 1, -2 would decrease the difficulty by 2.
    • Example usages:
      • cmd:alter AI,1,3
        • Increase the difficulty of the first AI by 3.
      • cmd:alter AI,2,-1
        • Decrease the difficulty of the second AI by 1.
  • AI budget,[ai number], [budget type], [amount]
    • Lets you increase or decrease the budget of a specific part of a specific AI. Budgets are what are used to do various things, like your metal stockpile, etc.
    • Does NOT count as a cheat if you are increasing a budget with this. Feel free to inflict that on yourself.
    • ai number: Which AI to alter the difficulty for? The first AI in a game is 1, if there are two AIs the second is 2, etc.
    • budget type: can be one of the following values: Reinforcement, Wave, CPA, SpecialForces (Warden), Reconquest, HunterFleet, PraetorianGuard, WormholeInvasion,
    • amount: 0 would be no change. 1000 would increase the budget by 1000, -500 would reduce it by 500.
    • Example usages:
      • cmd:AI budget,1,CPA,1000
        • Increase the cross planet attack budget of the first AI by 1000.
      • cmd:AI budget,1,SpecialForces,-3000
        • Decrease the warden budget for the first AI by 3000.
  • player potluck OR use the short form pp
    • All human players get a random grab bag of ships spawned on their home planet in a new fleet named "Potluck [Something]." Many of the ships will not be ships that a player could normally get.
  • my potluck OR use the short form mp
    • The issuing human player gets a random grab bag of ships spawned on the center of the planet they are viewing in a new fleet named "Potluck [Something]." Many of the ships will not be ships that a player could normally get.
    • This is incredibly useful for testing hacks, for instance.
  • heal me
    • The issuing human player gets all of their deployed ships on the planet they are currently view completely healed in terms of shields, hull, and cloaking points.
    • This is incredibly useful for testing, if you're trying to accomplish something but your test ships are getting shot to bits.
  • destroyp, [search string]
    • Works just like findp, but it destroys the first planet that matches your search string
    • Example: destroyp,Murdoch

Helper

  • findp, [search string]
    • Search for planets! It tells you how many results there are, and if there is more than one result, then repeat entering of the same command (just press up and enter) will cycle you through them. It tells you that it will cycle you through them if there are more than one.
    • If you are on the planet view, it switches you to the planet view of that other planet. If you are on the galaxy map view, it centers the galaxy map on that planet.
    • Thanks to cml for the initial implementation of this as a mod.
    • Example usage:
      • cmd:findp,gear
      • This example would search for the text "gear," and would bring up results "Geary" and "Gearworld" and "geaRson" if all three of those existed in one galaxy.

Debugging

  • journal, [name or blank], [groupID or blank], [related faction partial name], [related planet partial name], [related unit type]
    • Causes a journal entry to immediately be logged to the sidebar, based on the parameters above.
    • name or blank: This is the unique ID / name that it should try to log. Must be exact, including capitalization.
    • related faction partial name: This can be blank, but otherwise it will return the first faction that has part of this text in the name. Capitalization matters.
    • related planet partial name: This can be blank, but otherwise it will return the first planet that has part of this text in the name. Capitalization matters.
    • related unit type: This can be blank, but otherwise it will return the exact GameEntityTypeData named. Capitalization matters.
    • Example usage:
      • cmd:journal, CP_FullTest,, AI, ex, VWing
        • Works infinite times.
      • cmd:journal, ,CP_GTest, AI, ex, VWing
        • Works three times, three different messages in random order.
      • cmd:journal, CP_CTest1,, AI, ex, VWing
        • Works twice, two different messages in specific order.
  • forget the past
    • Remove all of your local achievements (won't affect Steam or GOG) so that you can achieve them again.
    • Never considered a cheat.
  • dump data tables
    • This causes all computers involved in the current game (so not just the local machine in multiplayer) to immediately dump all their data in the same way that happens from "Dump All Data Tables After Load" from the debug section of the settings menu.
    • Please be advised that this will cause all of the computers involved in this game to freeze for something like 20-60 seconds, depending on their relative speeds, how many expansions and mods are installed, and so on. It's a good idea to warn people before you run this command.'
    • Aka, this writes a text file for each in-memory data table into a DataTableExports subfolder in the PlayerData folder.
      • The purpose of this is mainly to use with diffing tools between one run of the game and another, to see what sort of data changes happened. If you are modding and made changes to some ships and want to see how those changes cascaded, this would be one way to do that. This is also a way for us to verify correctness when we make structural changes internally.
      • In multiplayer, this can also be used to compare the contents of these folders between the host and various clients, to check for things that might be amiss thanks to mods or other local changes.
      • To compare folders at a time, you'd need to share the contents of these folders between machines (zip and email, etc), and then run a folder-wide diffing tool like WinMerge to find any discrepancies.
      • Lastly, if you're a mod author and concerned that your mod is adding to the data tables incorrectly over time, then you can use this to get snapshots of what those look like as you are playing. Normally this data should not be changing after the initial load of the application.
    • Never considered a cheat.
  • dump external data
    • This causes all computers involved in the current game (so not just the local machine in multiplayer) to immediately dump all their 'external data' from all entities (World, Factions, Planets, Player Accounts, and Ships) into the ExternalDataExports subfolder in the PlayerData on each machine.
    • Please be advised that this will cause all of the computers involved in this game to freeze for a nontrivial amount of time (maybe just a second or two, maybe more), depending on how many ships there are and how complex the data is for the factions in question. It's a good idea to warn people before you run this command.'
    • Any files that come out empty are not broken, they just don't have any data on them, which is a reflection of the types of factions you are using (and how far you are into the game) and nothing more.
    • Aka, this writes a lot of text files relating to faction-specific and mod-specific data. This data is vulnerable to getting bloated on the clients in multiplayer, or otherwise out of sync.
      • The purpose of this is mainly to use with diffing tools between the client and the host, to see what sort of differences there are, or to search for absurdly-too-large collections.
      • You can also use this to make sure that the data makes sense, given that there's no real other way to check on your data if you're authoring a mod, etc.
    • Never considered a cheat.

Expansion 1: The Spire Rises

  • lucky relic
    • If the fallen spire faction is enabled, spawns a relic for the invoking player on the planet the invoking player is looking at.
    • This is one of those rare cheats that only works for one player, but every player could control it anyhow. And too many relics all at once would be chaos.