Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved Awards #1670

Merged
merged 18 commits into from
Apr 27, 2020
Merged

Improved Awards #1670

merged 18 commits into from
Apr 27, 2020

Conversation

BullseyeSmith
Copy link
Contributor

This list takes the Default Set, expands the list, and sorts it in order of precedence as they should appear. The set is called 'standard' to provide better English when awarding them (i.e. 'Awarded Good Conduct of the standard award set' instead of 'Awarded Good Conduct of the Default Set award set').

This adds 'standard.xml' to ...\MekHQ\data\universe\awards\ and the 'standard' folder to ...\MekHQ\data\images\awards.

I recommend deleting ...\MekHQ\data\universe\awards\Default Set.xml to remove it from the list of award sets, since it is all duplicated and expanded in the standard set.

The new medal images comply with the same 87-pixel high .png file format as the Default Set.

The ...\MekHQ\data\images\awards\standard folder also includes a ReadMe.txt with this info as well as a description of all included awards, plus an Excel file titled AwardTracker.xlsx with a PowerPivot Table that can be used to import saved .cpnx campaign files to see what awards have been earned for individuals, lances, companies, and battalions based on kills, as long as your TO&E is arranged by battalions, companies, & lances.

This list takes the Default Set, expands the list, and sorts it in order of precedence as they should appear.  The set is called 'standard' to provide better English when awarding them (i.e. 'Awarded Good Conduct of the standard award set' instead of 'Awarded Good Conduct of the Default Set award set').

This adds 'standard.xml' to ...\MekHQ\data\universe\awards\ and the 'standard' folder to ...\MekHQ\data\images\awards\.

I recommend deleting ...\MekHQ\data\universe\awards\Default Set.xml to remove it from the list of award sets, since it is all duplicated and expanded in the standard set.

The ...\MekHQ\data\images\awards\standard folder also includes a ReadMe.txt with this info as well as a description of all included awards, plus an Excel file titled AwardTracker.xlsx with a PowerPivot Table that can be used to import saved .cpnx campaign files to see what awards have been earned for individuals, lances, companies, and battalions based on kills, as long as your TO&E is arranged by battalions, companies, & lances.
@Windchild292
Copy link
Contributor

I can tell one thing immediately, this branch will require migration to be implemented.

Added Origin Tab to autmatically create a background story based on tables found on dev Tab.
Copy link
Contributor

@Windchild292 Windchild292 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm slowly reviewing this, but a few initial comments and one requested change:

The ReadMe.txt should instead be ReadMe.md
Let's have the (albeit very useful) Origin tab addition to the AtB rules in another PR, please. Let's try to keep this to the single issue the PR is dedicated to.

MekHQ/data/images/awards/standard/ReadMe.txt Outdated Show resolved Hide resolved
MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
Copy link
Contributor

@Windchild292 Windchild292 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with the rename request, and this sounds/looks good on paper. Just needs a few changes.

This PR contains the following changes:
Additions to the XML:
position: (Order of Precendence, I believe) - great idea, and one I'd be glad to see implemented in the code - maybe rename to precedence? - why is this in three parts, not two? And why the extra zero on the second part?
qty: Quantity of required to earn the award
item: The thing one must do to earn the award - maybe rename to requirementType? - Options: Hero, Kills, Gunnery, Rank, Security, Honor, Instructor, Drill, Time, Covert, Foreign, TFS (rename to TFSerpent), CW (rename to FedComCivilWar), Clan (rename to ClanInvasion), 4SW, 3SW, Periphery, Civilian (rename to CivilianDefence), Pirates (rename to AntiPiracy), Enlist, House, Conduct, Prisoner, Combat, Wounded
size: The size of the force that would earn the award together, and the size of force to track the counter for - Options: Individual, Lance, Company, Battalion
range: The duration the goal must be obtained within - Options: Scenario, Mission (rename to Contact? - probably a better idea), Career, Event, Months (rename to duration?)

Metal Additions:
Medal Of Honor, Covert Ops, Longevity, Drill Instructor, Military Training Instructor, Ceremonial Duty, Security Guard, Officer Graduate, Warrant Officer Graduate, NCO Academy Graduate, Basic Training, Expert Marksmanship, Marksmanship

Changes:
Modified ribbon file names to be in order of precedence
Added Stackable to most of the existing medals that were not originally stackable.
Modified a few of the awards to be significantly different from their original use.

Changes requested outside of the comments:
The ReadMe.txt should instead be ReadMe.md . I'd recommend the addition of a how-to for the Excel sheet, especially relating to loading the data.
There are a bunch of rename ideas in the XML additions listed above, plus questions about what how they work.
This will require migration to be added for current campaigns, as is it will break any campaigns that have awarded default set awards.
Let's have the (albeit useful) Origin tab addition to the AtB rules in another PR, please. Let's try to keep this to the single issue the PR is dedicated to.

MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
MekHQ/data/universe/awards/standard.xml Outdated Show resolved Hide resolved
BullseyeSmith and others added 3 commits April 16, 2020 00:35
Removed modified AtB TT Rules 2.31.xlsx.
Replaced ReadMe.txt with well made Awards.md.   moved all related documentation files to \docs\Award Stuff folder.
I arranged the CampaignDataForAwards.cpnx to be a better example for the PivotTable in the AwardTracker.xlsx
I believe it was the same info in the Default Set.xml that I used as a template to create the standard.xml.  I'm not sure what it should be.

Co-Authored-By: Justin Bowen <39067288+Windchild292@users.noreply.github.com>
Copy link
Contributor Author

@BullseyeSmith BullseyeSmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the new Awards.md, I describe the parameters of each tag within the XML, to include the new ones I added. Please refer to it for clarity on their use.
The 3-part numbers in position (I'll rename to precedence) correspond to the order of precedence sections, subsections, and award position (personal decorations, military unit awards, military campaign, etc) as described on wikipedia, which I further explain in Awards.md. Why reinvent the wheel, right? The extra zero allows for proper alphanumeric sorting, since it is not a true number.
The rearrangement of awards served two purposes. 1, some of the Default Set awards had erroneous duplicate requirements. 2, this new arrangement keeps the order of precedence in line with the level of achievement. For instance, it is harder for a company to kill 144 units than it is for a battalion to kill 216 (average of 72 per company), so the House Superior Service is more fitting as the company award. Since a battalion kill count of 432 is an average of 144 kills per company, it's more prestigious, and warrants a higher honor, such as the House Distinguished Service. Since the duplicate numbers required an overhaul of award assignment, I used it to better assign awards. Refer to the Color Key tab in AwardTracker.xlsx to better understand the rationale behind the arrangement:

name xp qty item size range
Bronze Star 3 4 Kills Individual Scenario
Silver Star 4 8 Kills Individual Scenario
Combat Cross 5 12 Kills Individual Scenario
Combat Achievement 1 6 Kills Individual Mission
Meritourious Service 2 9 Kills Individual Mission
Distinguished Service 3 12 Kills Individual Mission
Meritourious Unit Commendation 1 24 Kills Lance Mission
Combat Commendation 2 36 Kills Lance Mission
Legion of Merit 3 48 Kills Lance Mission
Combat Unit Commendation 2 72 Kills Company Mission
House Meritorious Service 3 108 Kills Company Mission
House Superior Service 4 144 Kills Company Mission
House Unit Citation 3 216 Kills Battalion Mission
Armed Forces 4 324 Kills Battalion Mission
House Distinguished Service 5 432 Kills Battalion Mission

Citations are lower than the other combat awards, so they went the to lowest requirements for Battalion, Company, & Lance (House Unit Citation, Combat Unit Citation, Meritorious Unit Citation, respectively). The Combat Achievement award is the lowest personal decoration available, so it went to 6 individual kills in a mission. The action of an individual in a single scenario earn the Bronze Star (4 kills), Silver Star (8 kills), and the second-highest award available, the Combat Cross (12 kills). Everything else between the Combat Achievement at the Combat Cross was used to complete the middle and high mission kill counts for the Battalion, Company, Lance, and Individual.
As for the affects of removing the Default Set, we can keep them in place (messy with so many duplicates), or maybe redirect them somehow to the new awards.
As for the placement of FedCom CW and TF Serpent, that was a mistake of my poor recollection of which happened first. During my research for the updates I made to Awards.md & AwardTracker.xlsx, I discovered a few more campaigns to be added and will address them soon. Based on your notes I reviewed, I need to make some changes to the XML.
I removed the modified AtB Rules. Rather, I transferred the tab into the AwardTracker.xlsx and added Award Assignment Tables to help with the guidance within the Awards.md.

MekHQ/data/images/awards/standard/ReadMe.txt Outdated Show resolved Hide resolved
@Windchild292
Copy link
Contributor

I'll take a look at the changes today.

Based on our conversation, I'm putting back the old awards for backward compatibility.  We can just encourage the masses to transfer over and leave them as an option until we can automate their recommendation, at which time we will phase out the Default Set, and hopefully create a transition patch to swap them over automatically.
I placed TFS above FCCW within the XML, and renamed the .png files accordingly.  I also changed the item name CW to FCCW across all related files.
Removed incorrect schema reference.
Corrected capitalization errors.
@BullseyeSmith BullseyeSmith marked this pull request as draft April 17, 2020 16:44
@BullseyeSmith
Copy link
Contributor Author

I'm converting to draft until I clean up the XML as discussed

Copy link
Contributor

@Windchild292 Windchild292 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Redirect is the preferred way to handle it, which I can code if you'd like.

The AwardTracker queries are all only set to your exact location, so they won't work unless modified. I've not looked into it, but is a relative path an option for power queries?

CampaignDataForAwards.cpnx shouldn't be included in the download, even if it does provide an example.

Otherwise, the changes look better, and I'll be interested to see what changes you are making to the XML.

-	Renamed Awards.md to Award Guide.md.
-	Changed position to precedence in the XML.
-	I added campaign ribbons for Andurien Wars, Ronin Wars, War of 3057, Capellan-St. Ives Civil War, and the WoB Jihad.
-	Added Support Person of the Year award.
-	Better structured Award Guide descriptions for Criteria, Benefits, Gameplay, & New Personnel.
-	Based on your questions about the rearrangement of kill-based award criterion, I reassessed them.
@BullseyeSmith
Copy link
Contributor Author

BullseyeSmith commented Apr 20, 2020

  • Based on your questions about the rearrangement of kill-based award criterion, I reassessed them. There are 3 pairs of duplicate criteria in the original Default Set award set (Armed Forces + Combat Cross, House Meritorious Service + Legion of Merit, and House Superior Service + Unit Citation). After running the options 7 different ways, I used the following guidance to arrive at the proposed changes.
    o There are four different force sizes (Individual, Lance, Company, Battalion) that each have a low, middle, and high score level equal to 6 x # of pilots, 9 x # of pilots, and 12 x # of pilots, respectively.
    o Any award with the term “House”, “Unit”, “Legion”, or “Forces” is not an individual award.
    o Vertically, the high value award is more prestigious than the middle, and the middle is more prestigious than the low.
    o Laterally, the ability of a large group force to achieve a score is more prestigious than a smaller group force achieving the same score level.
    o Because personal decorations are considered more prestigious than unit awards, individual score levels can have a higher order of precedence than group score levels.
    With all that in consideration, this is the suggested award description:
name xp qty item size range
Bronze Star 3 4 Kills Individual Scenario
Silver Star 5 8 Kills Individual Scenario
Combat Cross 7 12 Kills Individual Scenario
Combat Achievement 1 6 Kills Individual Mission
Combat Commendation 2 9 Kills Individual Mission
Distinguished Service 3 12 Kills Individual Mission
Meritorious Unit Commendation 2 24 Kills Lance Mission
Meritorious Service 3 36 Kills Lance Mission
House Meritorious Service 4 48 Kills Lance Mission
Combat Unit Commendation 3 72 Kills Company Mission
Armed Forces 4 108 Kills Company Mission
Legion of Merit 5 144 Kills Company Mission
House Unit Citation 4 216 Kills Battalion Mission
House Superior Service 5 324 Kills Battalion Mission
House Distinguished Service 6 432 Kills Battalion Mission

@BullseyeSmith
Copy link
Contributor Author

I did successfully setup up relative links for the power query!

@BullseyeSmith BullseyeSmith marked this pull request as ready for review April 20, 2020 02:47
@BullseyeSmith
Copy link
Contributor Author

Redirect is the preferred way to handle it, which I can code if you'd like.

The AwardTracker queries are all only set to your exact location, so they won't work unless modified. I've not looked into it, but is a relative path an option for power queries?

CampaignDataForAwards.cpnx shouldn't be included in the download, even if it does provide an example.

I believe this pull is ready to go!
In reverse order,
3) The CampaignDataForAwards.cpnx is still in the same sub-folder, but I purged it of all data. I successfully made the link to the file relative, but it has to be in the same directory. The empty CampaignDataForAwards.cpnx is in the place it needs to be, but the player will have to save their campaign to it before it will be able to refresh. Since AwardTracker doesn't refresh on open, they will still see the example when they go to the tab.
2) Got it to work with the Advanced Editor and this vid: https://www.youtube.com/watch?v=DhRjtW8mrQs

  1. Your coding of the redirect will be very much appreciated. I would like to start coding myself to implement all the automation I talk about in the Award Guide. Can you point me in right direction of where to ask about my problems with getting gradle to successfully build the MekHQ.jar or MekHQ.exe file?

Added a place to specify Filepath, Filename, & FileExtention for campaign data on the Settings tab.
@Windchild292
Copy link
Contributor

I'll review shortly, but for help in getting setup please join the slack channel and I'll see what I can do to help from there.

@BullseyeSmith
Copy link
Contributor Author

@Windchild292, I've been meaning to ask you what do you mean by this requires migration?

@Windchild292
Copy link
Contributor

Two parts:

  1. Migrating the awards in current campaigns to use standard so we can remove the default set and avoid data dupliction.
  2. Migrating the awards in default set to instead be the corrected ones under the standard set

I'm still reviewing, just trying to take time to think about the changes... and I got distracted by reading about the real world awards.

Copy link
Contributor

@Windchild292 Windchild292 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found another issue with the Excel file, namely that the Awards location is set to your location and not based on a dynamic path.

@BullseyeSmith
Copy link
Contributor Author

Found another issue with the Excel file, namely that the Awards location is set to your location and not based on a dynamic path.

Yes, I realize the Awards XML tab is linked with a non-relative path to the standard.xml file. Unlike the PowerPivot, there is no way to set the XML link relative without VBA Macro. I just severed the link. That info doesn't need to be refreshed anyways.

@BullseyeSmith
Copy link
Contributor Author

Two parts:

  1. Migrating the awards in current campaigns to use standard so we can remove the default set and avoid data dupliction.
  2. Migrating the awards in default set to instead be the corrected ones under the standard set

I'm still reviewing, just trying to take time to think about the changes... and I got distracted by reading about the real world awards.

Here's a spreadsheet I made to show the differences between the two:
https://1drv.ms/x/s!ArYUaXbi-SvWkIxHEuKNYvFyXhHSyQ?e=eJdACi

I hope that table can help in setting up a migration.

I also hope you found the US decorations interesting. :)

@Windchild292
Copy link
Contributor

Windchild292 commented Apr 25, 2020

Still having issues with the power query, but I think it is close. I made some changes to the Persons and Units-Drivers queries, which I'd like for you to take a look at, and have included my .cnpx for a bugfix on the Kills query (which I have not been able to get working).

Also, would it be possible to only get the column you want instead of removing the columns in the power queries?

I haven't had time for migration yet, but I should be able to soon (and that can be handled post-PR as part of removing the default set)

@Windchild292
Copy link
Contributor

Windchild292 commented Apr 25, 2020

Forgot to include:
AwardTracker.zip

@BullseyeSmith
Copy link
Contributor Author

BullseyeSmith commented Apr 25, 2020

Still having issues with the power query, but I think it is close. I made some changes to the Persons and Units-Drivers queries, which I'd like for you to take a look at, and have included my .cnpx for a bugfix on the Kills query (which I have not been able to get working).

So, I started my campaign back on 47.2 and was too lazy to use newer versions for game play, which is really embarrassing to say out loud. Anyways, I built AwardTracker using the 47.2 syntax instead of the 47.5 syntax. The biggest diff is 47.2 uses the single field <name> and 47.5 uses both <givenname> & <surname>. I'll move this PR back to Draft until I resolve it.

Also, would it be possible to only get the column you want instead of removing the columns in the power queries?

The power query syntax for importing XML only goes to the file level, which will pull all data. The following lines are used to clean up the data into the usable formats. Even though all the data is in the same file, I have to query it differently to create tables with unique IDs for each dataset that I use to funnel the info (refer to the Power Pivot Diagram View for the relationships). I realize it's a bit data intensive to pull the full .cpnx file 11 times just to whittle them down into useful info, but the AwardTracker is just an interim tool until MekHQ can make the suggestions for us.

@BullseyeSmith BullseyeSmith marked this pull request as draft April 25, 2020 22:21
- Brought Campaign Kills in line with MekHQ 47.5 .cpnx xyntax.
- Corrected the conditional formatting for the Pivot Table to handle multiple mission veiw.
- Added Missions tab & Scenarios tab to determine numbering on Pivot Table.
@BullseyeSmith BullseyeSmith marked this pull request as ready for review April 27, 2020 00:59
@BullseyeSmith
Copy link
Contributor Author

It works now. I left your data loaded since it better demonstrates a multiple mission view. If you want your mind blown, take a look at the conditional formatting formulas I had to make to get it to work.
Now I'm going to focus on getting MekHQ to build so I can start playing with java.

Copy link
Contributor

@Windchild292 Windchild292 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes look good, and should be a great improvement on the current default award set.

@Windchild292
Copy link
Contributor

If you need any help with the setup, development process, or run into any questions regarding these improvements (or anything else), please join us on the Slack here, as that provides a quick means of communication with the dev team.
Otherwise, I can personally be easily reached through Discord, although the Slack is far preferable and is where the rest of the team can be reached.
You may also want to take a look at #1629 before you start working on awards, as that does make some award functionality changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants