# SprintModels

Name: Agile Sprint
StartDate: 2/14/2022 12:00:00 AM
EndDate: 2/20/2022 12:00:00 AM
Description:
  Changelogs and sprint views were going to be pushed till later, but I am feeling inspired by the IGP Content Creators' minimum weekly lifecycle requirement. So I am going to focus on agile-related tasks, and handle roadmap tasks after this initial sprint. All weekly sprints will release on Sunday, starting next Sunday.


Name: SQL Update
StartDate: 2/20/2022 12:00:00 AM
EndDate: 3/27/2022 12:00:00 AM
Description:
  The SQL update is big enough to be a full sprint in of itself, and I spent less time this week for development. Will just extend sprint by 2 week, and remove all non SQL tasks from the sprint.


# TaskModels

Name: View one unit stats from a link. Make YAML copy and paste
Description: Design so people can easily copy and paste data into discord
Status: Todo
Priority: Medium
Task: Feature
Epic: None
Project: Management
Created: 2/20/2022 12:00:00 AM
Notes:
  Lame. Not currently supported in Blazor. I could automate up a solution, or just manually implement the url parsing, but probably best to wait


Name: Mobile Menu
Notes: Added smaller menus for tablets and phones.
Status: Done
Priority: High
Task: Feature
Epic: None
Project: Management
Created: 2/18/2022 12:00:00 AM
Finished: 2/19/2022 12:00:00 AM
Description:
  You need a real mobile menu. Viewers don't scroll below the fold, so no one is going to know what happens when you click a button on phones.


Name: Patch History Viewer
Description: Add an ability to compare patches, to see all nerfs and buffs made between them.
Status: Fun_Idea
Priority: None
Task: Feature
Epic: None
Project: Management
Created: 2/16/2022 12:00:00 AM
Notes:
  Inspired by Zkay's post on discord, where he details a possible 'patch history viewer' implementation.


Name: Twitch Page
Notes: Page added under General, and named "Streams".
Status: Done
Priority: Medium
Task: Feature
Epic: None
Project: Management
Created: 2/16/2022 12:00:00 AM
Finished: 2/16/2022 12:00:00 AM
Description:
  Did a ~3 hour test stream, and was personal quite happy with the quality. Make Twitch page, and stream patch, sprint planning and development on Sunday.


Name: Finish the database
Notes: Good enough for now
Status: Done
Priority: Medium
Task: Feature
Epic: None
Project: Management
Created: 2/11/2022 12:00:00 AM
Finished: 2/19/2022 12:00:00 AM
Description:
  Add more descriptions for everything. Reduce any data duplication with ids. Add upgrade connections. Add ability connections. Add passives and passives connections.


Name: GUID for Ids
Notes: Add notes...
Status: Done
Priority: Medium
Task: Feature
Epic: None
Project: Management
Created: 2/11/2022 12:00:00 AM
Finished: 2/18/2022 12:00:00 AM
Description:
  Stop using enums for ids, and start using guids. Enums are just too limited, I lose out on component and inheritance design with them. Replace all your enums with guids, rip off the bandaid.


Name: Co-op overview
Notes: Finished and released early.
Status: Done
Priority: Medium
Task: Feature
Epic: None
Project: Management
Created: 2/11/2022 12:00:00 AM
Finished: 2/12/2022 12:00:00 AM
Description:
  Write some sort of blog on co-op gameplay so you have something the feels very content-ish. Maybe make it a video.


# DocumentationModels

Name: Setup
CreatedDate: 3/30/2022 12:00:00 AM
UpdatedDate: 3/30/2022 12:00:00 AM
Section: Getting Started
Description:
  # Setup

  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.

  - [GitHub Documentation](https://docs.github.com/en/get-started)

  - [Visual Studio Documentation](https://visualstudio.microsoft.com/vs/getting-started/)

  To make updates to this website, it is recommended to understand HTML/CSS and C#.

  - [C# Documentation](https://docs.microsoft.com/en-us/dotnet/csharp/)
  - [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".
  - [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.


  ## Installation

  Download and install Visual Studio preview.

  **Note:** Visual Studio Preview currently doesn't work on Mac for this project. Use a PC, or Rider.

  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**".

  ## Download Project

  Get this project from GitHub. 

  ```bash
  git clone https://github.com/JonathanMcCaffrey/IGP-Fan-Reference.git
  ```

  ## Project Tree
  ```
  C:.
  ├───.github
  │   └───workflows       # Workflows to deploy website
  ├───Components          # Components used be website
  ├───Contexts
  ├───IGP
  │   ├───Pages           # Website pages
  │   └───wwwroot     
  │       ├───css
  │       ├───generated   # Files generated by IGP_Convert. Do not edit
  │       ├───image
  │       ├───javascript
  │       └───markdown
  │           └───documentation       # Documentation files
  ├───IGP_Convert         # Converts SQL into JSON for Blazor Wasm
  ├───Model               # Data models
  └───Services            # Web services
  ```

  ## Running

  - Open `IGP/IGP.sln`. 
  - Click the green RUN button in Visual Studio.
  - A local copy of the IGP Website should have launched on your machine.


  ## Publishing

  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/).

  *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 [IGP Fan Reference](https://discord.gg/uMq8bMGeeN) Discord.


# NoteModels

LastUpdated: 2/18/2022 12:00:00 AM
Name: Coop Holdout, Some distant place (Nuath)
Section: Coop
IsHidden: False
IsPreAlpha: True
Description:
  Information contained in this note is based on this <a href="https://www.youtube.com/watch?v=XkAgOCIz3DE">YouTube, Reference Video</a>.

  <img width="420" style="margin: auto; border:2px solid black;" src="image/notes/coop-holdout/OpenBases.png" />
  <div style="margin: auto; text-align:center;"><b>Open Bases</b></div>

  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.


  <img width="420" style="margin: auto; border:2px solid black;" src="image/notes/coop-holdout/EnemySpawns.png" />
  <div style="margin: auto; text-align:center;"><b>Enemy Spawn Areas</b></div>

  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.

  <img width="420" style="margin: auto; border:2px solid black;" src="image/notes/coop-holdout/DefendPoints.png" />
  <div style="margin: auto; text-align:center;"><b>Pyre Towers</b></div>

  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.

  <img width="420" style="margin: auto; border:2px solid black;" src="image/notes/coop-holdout/Pyre.png" />
  <div style="margin: auto; text-align:center;"><b>Pyre Camps</b></div>

  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.

  <img width="420" style="margin: auto; border:2px solid black;" src="image/notes/coop-holdout/Multipliers.png" />
  <div style="margin: auto; text-align:center;"><b>Multipliers</b></div>

  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.


# ChangeModels

Name: Privacy Policy Removed
Commit: Fix
Date: 3/26/2022 8:32:02 PM
Important: False
Description:
  Removed cringe privacy policy. It misses the issue. Will eventually add operational analytics and cookies, and add a more applicable Privacy Policy if needed. Not a priority though.


Name: Database Army Default
Commit: Fix
Date: 3/26/2022 8:32:02 PM
Important: False
Description:
  Database UI now defaults to Army selection. Given most people are probably going to want to view the units.


Name: Bug Tasks
Commit: Feature
Date: 3/26/2022 8:32:02 PM
Important: False
Description:
  Added feature/bug task indicator to agile view. Added consume mote bug in build calculator to next sprint. (Calculator not consuming motes on Town Hall building)


Name: Removed Embedded YouTube
Commit: Fix
Date: 3/26/2022 8:32:02 PM
Important: False
Description:
  Having embedded videos makes my privacy policy look completely untrue. Removed the video (it's now a link) and added a message on the privacy policy to point out that the error occured.


Name: Agile View Backlog
Commit: Feature
Date: 3/26/2022 8:32:02 PM
Important: False
Description:
  Added backlog rendering to the Agile View Page. Added priority level to better indicate what tasks have high or zero priority.


Name: Privacy Policy Update
Commit: Privacy Policy
Date: 3/26/2022 8:32:02 PM
Important: False
Description:
  I added information on how I use personal data. And a disclaimer that privacy can never be guaranteed.


Name: DevOnly Component
Commit: Feature
Date: 3/26/2022 8:32:02 PM
Important: False
Description:
  Added a DevOnly component to wrap UI content that should not be released to production. I.e. the Homepage bug.


Name: Database Ids
Commit: Feature
Date: 3/26/2022 8:32:02 PM
Important: False
Description:
  Database has less duplicated content. Army entities now link to their Upgrades and Abilities. More work is still to be done.


Name: IMMORTAL
Commit: Typo
Date: 3/26/2022 8:32:02 PM
Important: False
Description:
  Fixed "IMMORTAL: Gates of Pyre" game title. Will no longer refer to it as "Immortal: Gates of Pyre".


Name: Mobile Priority
Commit: Planning
Date: 3/26/2022 8:32:02 PM
Important: False
Description:
  Changed mobile support priority in roadmap from low and possible to high and planned, and updated description.


