Jump to content

Need help with qualityinfo.xml


Recommended Posts

I'm working on adding new keys to make more color tiers with 700+ quality but I can't seem to get any new colors or keys to work. Can anyone offer assistance? So far I have this.

 

<?xml version="1.0" encoding="utf-8"?>

<qualityinfo>

<!--Broken Grey-->

<quality key="0" color="808080"/>

<!--Faulty Brown-->

<quality key="1" color="9C8867"/>

<!--Poor Orange-->

<quality key="2" color="CF7F29"/>

<!--Good Yellow-->

<quality key="3" color="A2A41B"/>

<!--Fine Green-->

<quality key="4" color="42C234"/>

<!--Great Blue-->

<quality key="5" color="315DCE"/>

<!--Flawless Magenta-->

<quality key="6" color="A42ACC"/>

<quality key="7" color="9C8867"/>

<!--Legendary Maroon-->

<quality key="8" color="632315"/>

<quality key="9" color="632315"/>

 

 

 

</qualityinfo>

 

All the color of the quality past 700 is the same color as flawless Magenta. So far I can make any custom quality I want but I cannot understand how to make a color attach to a grade of quality. Say color key 8 attach's to quality 700 and over and than another color attach's to quality 900.

 

Example. I crafted a quality 700 and 800 axe. You expect maroon red but get Magenta flawless.

Edited by ShotoGunss (see edit history)
Link to post
Share on other sites
  • 3 weeks later...

This sounds cool. It would be great if someone could figure it out. What about that utf-8 at the top? Let me expose my ignorance and just ask what if it was changed to utf-9.....

 

 

/no clue but interested

Edited by Roland (see edit history)
Link to post
Share on other sites
It's hardcoded to 7 entries, you'd need to mod the DLL to add more

 

Very Unfortunate. Are the Dev's planning on adding any empty ID keys in the future for community modder's or could that be a community request I could bring up on the modding forum?

Link to post
Share on other sites
  • 3 years later...

Get dnSpy.

Open Assembly-CSharp.dll

 

Go to

public class Constants

public const int cItemMaxQuality = 6;

 

Alter it to the amount of levels you want.

 

Example:

public const int cItemMaxQuality = 7;

 

Go to

public class QualityInfo

		{
	case 0:
		text = Localization.Get("lblQualityDamaged", "");
		break;
	case 1:
		text = Localization.Get("lblQualityPoor", "");
		break;
	case 2:
		text = Localization.Get("lblQualityAverage", "");
		break;
	case 3:
		text = Localization.Get("lblQualityGreat", "");
		break;
	case 4:
		text = Localization.Get("lblQualityFlawless", "");
		break;
	case 5:
		text = Localization.Get("lblQualityLegendary", "");
		break;
	case 6:
		text = Localization.Get("lblQualityLegendary", "");
		break;
	}

 

Extend it by like "lblQualitySturdy".

 

Example:

		{
	case 0:
		text = Localization.Get("lblQualityDamaged", "");
		break;
	case 1:
		text = Localization.Get("lblQualityPoor", "");
		break;
	case 2:
		text = Localization.Get("lblQualityAverage", "");
		break;
	case 3:
		text = Localization.Get("lblQualityGreat", "");
		break;
	case 4:
		text = Localization.Get("lblQualityFlawless", "");
		break;
	case 5:
		text = Localization.Get("lblQualityLegendary", "");
		break;
	case 6:
		text = Localization.Get("lblQualityLegendary", "");
		break;
	case 7:
		text = Localization.Get("lblQualitySturdy", "");
		break;
	}

 

Now open Localization.txt and add "lblQualitySturdy" to it.

Don't forget to also alter the item.xml and qualityinfo.xml for it.

 

Now alter Localization.txt for it.

 

A list of once included levels:

 

public class InvGameItem

			{
		case InvGameItem.Quality.Broken:
			num = 0f;
			break;
		case InvGameItem.Quality.Cursed:
			num = -1f;
			break;
		case InvGameItem.Quality.Damaged:
			num = 0.25f;
			break;
		case InvGameItem.Quality.Worn:
			num = 0.9f;
			break;
		case InvGameItem.Quality.Sturdy:
			num = 1f;
			break;
		case InvGameItem.Quality.Polished:
			num = 1.1f;
			break;
		case InvGameItem.Quality.Improved:
			num = 1.25f;
			break;
		case InvGameItem.Quality.Crafted:
			num = 1.5f;
			break;
		case InvGameItem.Quality.Superior:
			num = 1.75f;
			break;
		case InvGameItem.Quality.Enchanted:
			num = 2f;
			break;
		case InvGameItem.Quality.Epic:
			num = 2.5f;
			break;
		case InvGameItem.Quality.Legendary:
			num = 3f;
			break;
		}

 

Hope, it helps a bit.

Link to post
Share on other sites
  • 3 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...