feature(BuildCalc) Added reset button, can change micro delay, and can alter timing interval again

This commit is contained in:
2022-04-14 22:28:14 -04:00
parent 4cef578cd0
commit 04c1718259
115 changed files with 1561 additions and 1308 deletions
+2 -4
View File
@@ -1,8 +1,6 @@
---
title: Cheat Sheet
summary: Handy links or quick information on this project.
created_date: 2022-04-11
updated_date: 2022-04-11
title: Cheat Sheet summary: Handy links or quick information on this project. created_date: 2022-04-11 updated_date:
2022-04-11
---
# Overview
+8 -7
View File
@@ -1,8 +1,5 @@
---
title: Project Data
summary: Using data in this project.
created_date: 2022-04-11
updated_date: 2022-04-11
title: Project Data summary: Using data in this project. created_date: 2022-04-11 updated_date: 2022-04-11
---
# Overview
@@ -11,7 +8,8 @@ This document will contain general information on data in this project.
## General Note
This project is a work in progress. As such, most of the data in the website doesn't follow the document. Ideally, this will be fixed over time.
This project is a work in progress. As such, most of the data in the website doesn't follow the document. Ideally, this
will be fixed over time.
## SQL
@@ -19,7 +17,9 @@ Relational data is stored in a local SQL database.
This data is converted into JSON so it can be handled by Blazor WASM.
<i>Currently, Blazor WASM has a bug that prevents SQL from being used in production. Although, given SQL doesn't seem to provide much, aside from increased build times and load times, it might just be best to use the design principals of SQL, and it's interface, without using the actual technology in production.</i>
<i>Currently, Blazor WASM has a bug that prevents SQL from being used in production. Although, given SQL doesn't seem to
provide much, aside from increased build times and load times, it might just be best to use the design principals of
SQL, and it's interface, without using the actual technology in production.</i>
The data is then loaded in by a Service, via it's load method.
@@ -90,7 +90,8 @@ else
Localized strings are handled in the Localizations.resx file.
Most text isn't using localized strings yet. And English is the only plan of support in the short term, and probably in the long term as well.
Most text isn't using localized strings yet. And English is the only plan of support in the short term, and probably in
the long term as well.
## Markdown Files
+16 -13
View File
@@ -1,18 +1,15 @@
---
title: Setup
summary: Get set up on developing this web project.
created_date: 3/30/2022
updated_date: 4/7/2022
title: Setup summary: Get set up on developing this web project. created_date: 3/30/2022 updated_date: 4/7/2022
---
# Overview
This document will contain general setup notes for the project.
## Prerequisite
To understand content in this document, it is recommended to have some software development experience. Particularly using GitHub and Visual Studio.
To understand content in this document, it is recommended to have some software development experience. Particularly
using GitHub and Visual Studio.
- [GitHub Documentation](https://docs.github.com/en/get-started)
@@ -24,10 +21,13 @@ To make updates to this website, it is recommended to understand HTML/CSS and C#
- [Mozilla's HTML Documentation](https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started)
- [W3SCHOOLS' HTML Documentation](https://www.w3schools.com/html/)
Further, you should understand the product and clients this website is for. So it is recommended to play "Immortal: Gates of Pyre".
Further, you should understand the product and clients this website is for. So it is recommended to play "Immortal:
Gates of Pyre".
- [IGP Website](https://gatesofpyre.com/)
- **Please Note:** This product currently has restricted access with it is in a pre-alpha state. If you are not aware or interested in IGP, I recommend to wait for product release. Otherwise, check out their discord for steps of getting access.
- **Please Note:** This product currently has restricted access with it is in a pre-alpha state. If you are not
aware or interested in IGP, I recommend to wait for product release. Otherwise, check out their discord for steps
of getting access.
## Installation
@@ -37,7 +37,8 @@ Download and install Visual Studio preview.
[https://visualstudio.microsoft.com/vs/preview/](https://visualstudio.microsoft.com/vs/preview/)
When installing, ensure you have selected "Workloads | **ASP.NET and web development**" and "Individual components | **.NET WebAssembly build tools**".
When installing, ensure you have selected "Workloads | **ASP.NET and web development**" and "Individual components | **
.NET WebAssembly build tools**".
## Download Project
@@ -77,11 +78,13 @@ C:.
Code committed to the `main` branch will automatically be deployed to [production](https://www.igpfanreference.com/).
Code committed to the `develop` branch will automatically be deployed to [development](https://calm-mud-04916b210.1.azurestaticapps.net/).
Code committed to the `develop` branch will automatically be deployed
to [development](https://calm-mud-04916b210.1.azurestaticapps.net/).
_This is handle via the files in `.github/workflow`. Look into these [GitHub Actions Documents](https://docs.github.com/en/actions) if curious about how this CI system works._
_This is handle via the files in `.github/workflow`. Look into
these [GitHub Actions Documents](https://docs.github.com/en/actions) if curious about how this CI system works._
## Troubleshooting
Nothing that some good internet searches cannot resolved. But you can also contact the project maintainer on [Discord](https://discord.gg/uMq8bMGeeN).
Nothing that some good internet searches cannot resolved. But you can also contact the project maintainer
on [Discord](https://discord.gg/uMq8bMGeeN).
+22 -14
View File
@@ -1,26 +1,27 @@
---
title: Holdout
summary: First coop test map in pre-alpha.
created_date: 2/18/2022
updated_date: 2/18/2022
title: Holdout summary: First coop test map in pre-alpha. created_date: 2/18/2022 updated_date: 2/18/2022
---
Information contained in this note is based on this <a href="https://www.youtube.com/watch?v=XkAgOCIz3DE">YouTube, Reference Video</a>.
Information contained in this note is based on this <a href="https://www.youtube.com/watch?v=XkAgOCIz3DE">YouTube,
Reference Video</a>.
![Open Bases](./image/notes/coop-holdout/OpenBases.png)
**Open Bases**
On this map, you start with around 500 alloy and 100 ether. You are probably going to want to expand to the bases in the marked order, given the density of defending enemies shown on the minimap.
You should know that these are all standard bases that will mine out in 10 minutes. Giving a total of 18,000 alloy and 7,200 ether. Plus an additional 6,000 alloy from the starting Bastion. In the late game, you will have zero income, aside from pyre.
On this map, you start with around 500 alloy and 100 ether. You are probably going to want to expand to the bases in the
marked order, given the density of defending enemies shown on the minimap.
You should know that these are all standard bases that will mine out in 10 minutes. Giving a total of 18,000 alloy and
7,200 ether. Plus an additional 6,000 alloy from the starting Bastion. In the late game, you will have zero income,
aside from pyre.
![Enemy Spawns](./image/notes/coop-holdout/EnemySpawns.png)
**Enemy Spawn Areas**
The first enemy wave will spawn at 1 minute, and every 2 minutes after will spawn a new wave. These waves are small, and won't be a threat until the 15-minute mark.
The first enemy wave will spawn at 1 minute, and every 2 minutes after will spawn a new wave. These waves are small, and
won't be a threat until the 15-minute mark.
![Defend Points](./image/notes/coop-holdout/DefendPoints.png)
@@ -28,19 +29,26 @@ The first enemy wave will spawn at 1 minute, and every 2 minutes after will spaw
You have till then to take all 5 of your bases, and set a defensive line at the outer Pyre towers.
The spawn size post the 15-minute mark does become rather large. You may be tempted to fall back and abandon forward bases, but the waves will stack if not dealt with. Eventually, more units than the game can handle, so ensure outer pyre towers are held. Try to take them back if you lose them.
The spawn size post the 15-minute mark does become rather large. You may be tempted to fall back and abandon forward
bases, but the waves will stack if not dealt with. Eventually, more units than the game can handle, so ensure outer pyre
towers are held. Try to take them back if you lose them.
![Pyre](./image/notes/coop-holdout/Pyre.png)
**Pyre Camps**
When you have the time you are also going to need to take the 4 pyre camps spread around the map. It will probably be ideal to split your army in half, to protect your two outer towers, and just have a small force of Ichors or Dervishes to clear the camps quickly.
When you have the time you are also going to need to take the 4 pyre camps spread around the map. It will probably be
ideal to split your army in half, to protect your two outer towers, and just have a small force of Ichors or Dervishes
to clear the camps quickly.
![Multipliers](./image/notes/coop-holdout/Multipliers.png)
**Multipliers**
If you have additional free time, you can take out the Altar of the Worthys on the edges of the map to double your current more multiplier: 2, 4, 8, to the max of 16. Amber Wombs will also spawn, with a pack of enemies to defend them. Killing an Amber Womb will increase your score, but also spawn random friendly and enemy units. With this spawning, it's possible to go past the supply cap.
If you have additional free time, you can take out the Altar of the Worthys on the edges of the map to double your
current more multiplier: 2, 4, 8, to the max of 16. Amber Wombs will also spawn, with a pack of enemies to defend them.
Killing an Amber Womb will increase your score, but also spawn random friendly and enemy units. With this spawning, it's
possible to go past the supply cap.
But really, these optional objectives can be completely ignored, so you can just focus on surviving for as long as possible.
But really, these optional objectives can be completely ignored, so you can just focus on surviving for as long as
possible.
+93 -84
View File
@@ -1,8 +1,6 @@
---
title: Custom HotKey Setup
summary: Customize your hotkeys in the pre-alpha.
created_date: 4/13/2022
updated_date: 4/13/2022
title: Custom HotKey Setup summary: Customize your hotkeys in the pre-alpha. created_date: 4/13/2022 updated_date:
4/13/2022
---
In the pre-alpha, IGP comes with some Unreal default hotkey setup.
@@ -15,78 +13,79 @@ This document will explain how to set up, modify, and use a new hotkey setup.
```ini
[/Script/Engine.InputSettings]
ActionMappings=(ActionName="Ability1",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Q)
ActionMappings=(ActionName="Ability2",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=W)
ActionMappings=(ActionName="Ability3",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=E)
ActionMappings=(ActionName="Ability4",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=R)
ActionMappings=(ActionName="Ability5",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=F)
ActionMappings=(ActionName="Ability6",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=V)
ActionMappings=(ActionName="Ability7",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=A)
ActionMappings=(ActionName="Ability8",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=S)
ActionMappings=(ActionName="AttackMove",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=A)
ActionMappings=(ActionName="CancelOrders",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Tilde)
ActionMappings=(ActionName="CompleteAllTraining",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=I)
ActionMappings=(ActionName="CompleteConstructions",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=K)
ActionMappings=(ActionName="ConstructionTab",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=C)
ActionMappings=(ActionName="ControlGroup1",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=D)
ActionMappings=(ActionName="ControlGroup10",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Zero)
ActionMappings=(ActionName="ControlGroup2",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Two)
ActionMappings=(ActionName="ControlGroup3",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Three)
ActionMappings=(ActionName="ControlGroup4",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Four)
ActionMappings=(ActionName="ControlGroup5",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Five)
ActionMappings=(ActionName="ControlGroup6",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Six)
ActionMappings=(ActionName="ControlGroup7",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Seven)
ActionMappings=(ActionName="ControlGroup8",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Eight)
ActionMappings=(ActionName="ControlGroup9",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Nine)
ActionMappings=(ActionName="ControlGroupAddStealKey",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=SpaceBar)
ActionMappings=(ActionName="Delete",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Delete)
ActionMappings=(ActionName="DisableWeapons",bShift=True,bCtrl=False,bAlt=True,bCmd=False,Key=J)
ActionMappings=(ActionName="DownArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Down)
ActionMappings=(ActionName="DragPan",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MiddleMouseButton)
ActionMappings=(ActionName="Enter Cinematic Camera",bShift=True,bCtrl=False,bAlt=True,bCmd=False,Key=L)
ActionMappings=(ActionName="FullMana",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=J)
ActionMappings=(ActionName="FullyDamageSelectedUnits",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=P)
ActionMappings=(ActionName="GetAlloyEther",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=M)
ActionMappings=(ActionName="GetPyre",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=L)
ActionMappings=(ActionName="Hide HUD",bShift=True,bCtrl=False,bAlt=True,bCmd=False,Key=O)
ActionMappings=(ActionName="InclusiveSelect/QueueCommand",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftShift)
ActionMappings=(ActionName="JumpToCameraLocation1",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Z)
ActionMappings=(ActionName="JumpToCameraLocation2",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=X)
ActionMappings=(ActionName="JumpToCameraLocation3",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=C)
ActionMappings=(ActionName="JumpToCameraLocation4",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=V)
ActionMappings=(ActionName="JumpToCameraLocation5",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Two)
ActionMappings=(ActionName="JumpToCameraLocation6",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Three)
ActionMappings=(ActionName="JumpToCameraLocation7",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Four)
ActionMappings=(ActionName="LeftArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Left)
ActionMappings=(ActionName="LeftMouseClick",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton)
ActionMappings=(ActionName="MarcoPolo",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Comma)
ActionMappings=(ActionName="Menu",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Escape)
ActionMappings=(ActionName="Menu",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=F10)
ActionMappings=(ActionName="MinimapJumpTo",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton)
ActionMappings=(ActionName="Move/ContextCommand",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=RightMouseButton)
ActionMappings=(ActionName="PyreTab",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=One)
ActionMappings=(ActionName="ResearchTab",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Tab)
ActionMappings=(ActionName="RespawnNeutrals",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=N)
ActionMappings=(ActionName="RightArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Right)
ActionMappings=(ActionName="RightMouseClick",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=RightMouseButton)
ActionMappings=(ActionName="Select/ConfirmAbility",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton)
ActionMappings=(ActionName="SelectUnitProductionBuildings",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Z)
ActionMappings=(ActionName="SetCameraLocation1",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Z)
ActionMappings=(ActionName="SetCameraLocation2",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=X)
ActionMappings=(ActionName="SetCameraLocation3",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=C)
ActionMappings=(ActionName="SetCameraLocation4",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=V)
ActionMappings=(ActionName="SetCameraLocation5",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Two)
ActionMappings=(ActionName="SetCameraLocation6",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Three)
ActionMappings=(ActionName="SetCameraLocation7",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Four)
ActionMappings=(ActionName="StandGround",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=S)
ActionMappings=(ActionName="SwitchAbilityCommandLayer",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=SpaceBar)
ActionMappings=(ActionName="TheCheatToRuleThemAll",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=None)
ActionMappings=(ActionName="Toggle Gamepad",bShift=False,bCtrl=True,bAlt=True,bCmd=False,Key=Slash)
ActionMappings=(ActionName="UpArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Up)
ActionMappings=(ActionName="ZoomIn",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MouseScrollUp)
ActionMappings=(ActionName="ZoomOut",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MouseScrollDown)
ActionMappings=(ActionName="UnitTypeSelectionModifier",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftControl)
ActionMappings = (ActionName="Ability1",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Q)
ActionMappings = (ActionName="Ability2",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=W)
ActionMappings = (ActionName="Ability3",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=E)
ActionMappings = (ActionName="Ability4",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=R)
ActionMappings = (ActionName="Ability5",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=F)
ActionMappings = (ActionName="Ability6",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=V)
ActionMappings = (ActionName="Ability7",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=A)
ActionMappings = (ActionName="Ability8",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=S)
ActionMappings = (ActionName="AttackMove",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=A)
ActionMappings = (ActionName="CancelOrders",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Tilde)
ActionMappings = (ActionName="CompleteAllTraining",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=I)
ActionMappings = (ActionName="CompleteConstructions",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=K)
ActionMappings = (ActionName="ConstructionTab",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=C)
ActionMappings = (ActionName="ControlGroup1",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=D)
ActionMappings = (ActionName="ControlGroup10",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Zero)
ActionMappings = (ActionName="ControlGroup2",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Two)
ActionMappings = (ActionName="ControlGroup3",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Three)
ActionMappings = (ActionName="ControlGroup4",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Four)
ActionMappings = (ActionName="ControlGroup5",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Five)
ActionMappings = (ActionName="ControlGroup6",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Six)
ActionMappings = (ActionName="ControlGroup7",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Seven)
ActionMappings = (ActionName="ControlGroup8",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Eight)
ActionMappings = (ActionName="ControlGroup9",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Nine)
ActionMappings = (ActionName="ControlGroupAddStealKey",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=SpaceBar)
ActionMappings = (ActionName="Delete",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Delete)
ActionMappings = (ActionName="DisableWeapons",bShift=True,bCtrl=False,bAlt=True,bCmd=False,Key=J)
ActionMappings = (ActionName="DownArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Down)
ActionMappings = (ActionName="DragPan",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MiddleMouseButton)
ActionMappings = (ActionName="Enter Cinematic Camera",bShift=True,bCtrl=False,bAlt=True,bCmd=False,Key=L)
ActionMappings = (ActionName="FullMana",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=J)
ActionMappings = (ActionName="FullyDamageSelectedUnits",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=P)
ActionMappings = (ActionName="GetAlloyEther",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=M)
ActionMappings = (ActionName="GetPyre",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=L)
ActionMappings = (ActionName="Hide HUD",bShift=True,bCtrl=False,bAlt=True,bCmd=False,Key=O)
ActionMappings = (ActionName="InclusiveSelect/QueueCommand",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftShift)
ActionMappings = (ActionName="JumpToCameraLocation1",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Z)
ActionMappings = (ActionName="JumpToCameraLocation2",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=X)
ActionMappings = (ActionName="JumpToCameraLocation3",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=C)
ActionMappings = (ActionName="JumpToCameraLocation4",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=V)
ActionMappings = (ActionName="JumpToCameraLocation5",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Two)
ActionMappings = (ActionName="JumpToCameraLocation6",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Three)
ActionMappings = (ActionName="JumpToCameraLocation7",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Four)
ActionMappings = (ActionName="LeftArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Left)
ActionMappings = (ActionName="LeftMouseClick",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton)
ActionMappings = (ActionName="MarcoPolo",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Comma)
ActionMappings = (ActionName="Menu",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Escape)
ActionMappings = (ActionName="Menu",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=F10)
ActionMappings = (ActionName="MinimapJumpTo",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton)
ActionMappings = (ActionName="Move/ContextCommand",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=RightMouseButton)
ActionMappings = (ActionName="PyreTab",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=One)
ActionMappings = (ActionName="ResearchTab",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Tab)
ActionMappings = (ActionName="RespawnNeutrals",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=N)
ActionMappings = (ActionName="RightArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Right)
ActionMappings = (ActionName="RightMouseClick",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=RightMouseButton)
ActionMappings = (ActionName="Select/ConfirmAbility",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton)
ActionMappings = (ActionName="SelectUnitProductionBuildings",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Z)
ActionMappings = (ActionName="SetCameraLocation1",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Z)
ActionMappings = (ActionName="SetCameraLocation2",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=X)
ActionMappings = (ActionName="SetCameraLocation3",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=C)
ActionMappings = (ActionName="SetCameraLocation4",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=V)
ActionMappings = (ActionName="SetCameraLocation5",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Two)
ActionMappings = (ActionName="SetCameraLocation6",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Three)
ActionMappings = (ActionName="SetCameraLocation7",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Four)
ActionMappings = (ActionName="StandGround",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=S)
ActionMappings = (ActionName="SwitchAbilityCommandLayer",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=SpaceBar)
ActionMappings = (ActionName="TheCheatToRuleThemAll",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=None)
ActionMappings = (ActionName="Toggle Gamepad",bShift=False,bCtrl=True,bAlt=True,bCmd=False,Key=Slash)
ActionMappings = (ActionName="UpArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Up)
ActionMappings = (ActionName="ZoomIn",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MouseScrollUp)
ActionMappings = (ActionName="ZoomOut",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MouseScrollDown)
ActionMappings = (ActionName="UnitTypeSelectionModifier",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftControl)
```
***Copy the above content and save the file as `Input.ini`.***
## Understand the Input.ini
@@ -94,13 +93,20 @@ ActionMappings=(ActionName="UnitTypeSelectionModifier",bShift=False,bCtrl=False,
You can notice a single line of this file can be broken down like this.
`ActionMappings=(ActionName="AttackMove",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=A)`
- `ActionMappings=(***)`: Indicates content is an action mapping. i.e. a hotkey
- `ActionName="AttackMove"`: Indicates the name of the selected action. Here, we are using the `AttackMove` move action, that forces your selected army to attack.
- `Key=A`: Indicates key being mapped to the action. Set to `Key=Tab` to require the Tab key to be pressed instead, to perform the `AttackMove` action.
- `bShift=False`: Indicates that the Shift key is not held. Set to `bShift=True` to require a shift key held to perform the mapped action.
- `bCtrl=False`: Indicates that the Ctrl key is not held. Set to `bCtrl=True` to require a ctrl key held to perform the mapped action.
- `bAlt=False`: Indicates that the Alt key is not held. Set to `bAlt=True` to require a alt key held to perform the mapped action.
- `bCmd=False`: Indicates that the Cmd key is not held. Set to `bCmd=True` to require a cmd key held to perform the mapped action. (Macs not supported by IGP)
- `ActionName="AttackMove"`: Indicates the name of the selected action. Here, we are using the `AttackMove` move action,
that forces your selected army to attack.
- `Key=A`: Indicates key being mapped to the action. Set to `Key=Tab` to require the Tab key to be pressed instead, to
perform the `AttackMove` action.
- `bShift=False`: Indicates that the Shift key is not held. Set to `bShift=True` to require a shift key held to
perform the mapped action.
- `bCtrl=False`: Indicates that the Ctrl key is not held. Set to `bCtrl=True` to require a ctrl key held to perform
the mapped action.
- `bAlt=False`: Indicates that the Alt key is not held. Set to `bAlt=True` to require a alt key held to perform the
mapped action.
- `bCmd=False`: Indicates that the Cmd key is not held. Set to `bCmd=True` to require a cmd key held to perform the
mapped action. (Macs not supported by IGP)
## Modify the Input.ini file
@@ -108,9 +114,11 @@ You are now going to want to modify the file with your own hotkey setup.
To do this, replace any of the Key=`VALUE` mapped to the desired actions with any value from the list below.
*For example, you can swap the Z Key value in SelectUnitProductionBuildings to C. Which would look like this: `ActionMappings=(ActionName="SelectUnitProductionBuildings",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=C)`*
*For example, you can swap the Z Key value in SelectUnitProductionBuildings to C. Which would look like
this: `ActionMappings=(ActionName="SelectUnitProductionBuildings",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=C)`*
**Key Values**
- `AnyKey`
- `MouseX`
- `MouseY`
@@ -242,8 +250,9 @@ To do this, replace any of the Key=`VALUE` mapped to the desired actions with an
# Transfer the Input.ini file
Drag and drop this new `Input.ini` file into `WindowsClient` folder in IGP. This folder can be found under `C:\Users\YOUR_USER\AppData\Local\Programs\CURRENT_IMMORTAL_CLIENT\Immortal\Saved\Config\WindowsClient\`.
Remember to use proper values for `YOUR_USER` and `CURRENT_IMMORTAL_CLIENT`.
Drag and drop this new `Input.ini` file into `WindowsClient` folder in IGP. This folder can be found
under `C:\Users\YOUR_USER\AppData\Local\Programs\CURRENT_IMMORTAL_CLIENT\Immortal\Saved\Config\WindowsClient\`. Remember
to use proper values for `YOUR_USER` and `CURRENT_IMMORTAL_CLIENT`.
There will be a blank `Input.ini` file in this folder. You can safely override it with your modified file.
@@ -1,8 +1,5 @@
---
title: Armor Types
summary: Heavy, Medium, and Light. What does it mean?
created_date: 4/13/2000
updated_date: 4/13/2000
title: Armor Types summary: Heavy, Medium, and Light. What does it mean? created_date: 4/13/2000 updated_date: 4/13/2000
---
## Armor Types
@@ -13,12 +10,14 @@ All units in "IMMORTAL: Gates of Pyre" have one of the three armor types.
- Medium
- Light
These types mean nothing inherently. A Light armor unit will not take more damage than a Heavy armor unit, from the same damage source.
These types mean nothing inherently. A Light armor unit will not take more damage than a Heavy armor unit, from the same
damage source.
Where this change is some units deal particular damage to a particular armor type.
For example, a Dervish deals 16 damage generally, 24 to medium, and 32 damage to heavy armor types.
As an opposite example, the Zephyr will deal 20 damage generally, 24 to medium and 28 to heavy armor types. And as a different example, Sipari deals 20 damage generally, 18 damage to heavy armor.
For example, a Dervish deals 16 damage generally, 24 to medium, and 32 damage to heavy armor types. As an opposite
example, the Zephyr will deal 20 damage generally, 24 to medium and 28 to heavy armor types. And as a different example,
Sipari deals 20 damage generally, 18 damage to heavy armor.
Wait? There was no pattern to what general and specific damage is.
@@ -32,29 +31,36 @@ They have two armies, one is a pack of Masked Hunters, and one is a pack of Xaca
Masked Hunters have the light armor type and Xacals have the heavy armor type.
Well, you know Dervish deals the most damage to Light, and Zephyr deals the most damage to heavy, so you should generally have your Dervish attack the Masked Hunters and the Zephyr's attack the Xacals.
Well, you know Dervish deals the most damage to Light, and Zephyr deals the most damage to heavy, so you should
generally have your Dervish attack the Masked Hunters and the Zephyr's attack the Xacals.
But wait, your opponent moved their two armies together!
Defensively, Masked Hunters deal less damage to the heavy armor type, and Xacals do less damage to Light.
So while you want your Dervish to attack Masked Hunters, and the Zephyrs to attack the Xacals, you also want your Dervish to defend against the Xacals and Zephyrs to defend against the Masked Hunters.
So while you want your Dervish to attack Masked Hunters, and the Zephyrs to attack the Xacals, you also want your
Dervish to defend against the Xacals and Zephyrs to defend against the Masked Hunters.
In mixed battles, you can spend some micro on your units to defend against enemy attackers they are strong against while having them attack potentially different enemies.
So what should you do? Build some Sipari, a Light armor unit, to help tank some Xacal shots, to give your Dervish and Zephyrs room to maneuver against their key targets.
In mixed battles, you can spend some micro on your units to defend against enemy attackers they are strong against while
having them attack potentially different enemies.
So what should you do? Build some Sipari, a Light armor unit, to help tank some Xacal shots, to give your Dervish and
Zephyrs room to maneuver against their key targets.
## What else is there?
Some units have additional tags, such as Structure and Etheric. Units can deal particular, or BONUS damage against enemies with those tags.
Some units have additional tags, such as Structure and Etheric. Units can deal particular, or BONUS damage against
enemies with those tags.
**What are structures?** Structures are any building. Pretty much anything not a part of your moving army.
As an example of bonus damage, the Absolver deals +8 damage to structures, giving it 29 DPS to heavy structures. Conversely, it has 23 DPS against heavy structures when deployed, meaning Absolvers are better at sniping most structures when mobilized.
As an example of bonus damage, the Absolver deals +8 damage to structures, giving it 29 DPS to heavy structures.
Conversely, it has 23 DPS against heavy structures when deployed, meaning Absolvers are better at sniping most
structures when mobilized.
Heads up though, that not all structures are heavy, examples include Radiant Wards generated by the Dervish.
**What are etherics?** Etherics are most caster units in the game. These casters can generally win long drawn-out fights, so are good to snipe with units that deal extra damage against them.
**What are etherics?** Etherics are most caster units in the game. These casters can generally win long drawn-out
fights, so are good to snipe with units that deal extra damage against them.
An etheric example would be the Bloodbounds Culling Strike ability, which deals bonus damage against etheric.
@@ -1,6 +1,4 @@
---
title: Economy Overview
summary: Alloy, Ether and Supply. Don't forget to expand!
created_date: 1/01/2000
updated_date: 1/01/2000
title: Economy Overview summary: Alloy, Ether and Supply. Don't forget to expand!
created_date: 1/01/2000 updated_date: 1/01/2000
---
@@ -1,6 +1,4 @@
---
title: Families, Factions, and Immortal Vanguards
summary: How IMMORTAL: Gates of Pyre handle your army selection choices
created_date: 1/01/2000
updated_date: 1/01/2000
title: Families, Factions, and Immortal Vanguards summary: How IMMORTAL: Gates of Pyre handle your army selection
choices created_date: 1/01/2000 updated_date: 1/01/2000
---
@@ -1,8 +1,6 @@
---
title: Immortals Spells and Pyre
summary: Customize your hotkeys in the pre-alpha.
created_date: 1/01/2000
updated_date: 1/01/2000
title: Immortals Spells and Pyre summary: Customize your hotkeys in the pre-alpha. created_date: 1/01/2000 updated_date:
1/01/2000
---
## What are Immortals
@@ -1,8 +1,5 @@
---
title: Timing and Scouting
summary: Knowing is half the battle.
created_date: 1/01/2000
updated_date: 1/01/2000
title: Timing and Scouting summary: Knowing is half the battle. created_date: 1/01/2000 updated_date: 1/01/2000
---
## Timing