grey-1's in, so I guess we're sort-of merging our projects here. I'll add some pointers for some things you're wanting to do.

Originally Posted by
CrzyRndm
Intended Changes
- Removal of low stat (all stats < ~30) items from NM loot generation at some arbitary point in wave/quality/<possibly just NM>.
- Tavern Shop rebuffed. Myth armour should atleast be normal after a NM game. - Shop quality values found. Some experimentation needed
For both of these, you need to look in the DunDefHeroManager.uc class; the function GetCurrentMissionEquipmentRandomizerMultiplier controls the most important value of both.
This section controls the chance of a low multiplier being used for floor loot:
Code:
if(FRand() < DunDefMapInfo(class'WorldInfo'.static.GetWorldInfo().GetMapInfo()).EquipmentRandomizerMultiplierPercentageToUse)
return ddGRI.DifficultyEquipmentRandomizerAbsoluteMultiplier[ddGRI.CurrentGameDifficulty]*(0.9 + 0.1*Flerp(FMin(waveNumber/scalingWave,1),1,ddGRI.DifficultyEquipmentRandomizerNegativeWaveWeighting[ddGRI.CurrentGameDifficulty]));
This section controls the chance of a low multiplier being used for shop loot (yes, it's repeated twice):
Code:
if(bIsForShop && FRand() < DunDefMapInfo(class'WorldInfo'.static.GetWorldInfo().GetMapInfo()).EquipmentRandomizerMultiplierPercentageToUse)
val*=0.5;
if(bIsForShop && FRand() < DunDefMapInfo(class'WorldInfo'.static.GetWorldInfo().GetMapInfo()).EquipmentRandomizerMultiplierPercentageToUse)
val*=0.5;
Removing those sections entirely would mean the full multiplier is always used in those cases. The other option is rebalancing the formulae or variables used.

Originally Posted by
CrzyRndm
Possible Changes
- Reward weapon size biased favourably (squire/monk = larger, hunt/app = smaller). This depends entirely on the effects of the GoNegative function. B/c rewards have a much higher than normal quality it's possible that this will be unnecessary.
Size is generated in the AddRandomizeValues function of HeroEquipment.uc, at the following code:
Code:
curRandomValue = GenerateRandomizerValue(equipmentQuality,WeaponDrawScaleMultiplierRandomizer);
WeaponDrawScaleMultiplier = FMax((WeaponDrawScaleMultiplier + WeaponDrawScaleMultiplierRandomizer.MaxRandomValue * WeaponDrawScaleRandomizerExtraMultiplier * curRandomValue) * WeaponDrawScaleGlobalMultiplier,MinWeaponScale);
I'd suggest something like this to change it:
Code:
if((EquipmentType == EQT_WEAPON && (WeaponType == EWT_WEAPON_INITIATE || WeaponType == EWT_WEAPON_APPRENTICE)
equipmentQuality = 2.0 - equipmentQuality;
curRandomValue = GenerateRandomizerValue(equipmentQuality,WeaponDrawScaleMultiplierRandomizer);
WeaponDrawScaleMultiplier = FMax((WeaponDrawScaleMultiplier + WeaponDrawScaleMultiplierRandomizer.MaxRandomValue * WeaponDrawScaleRandomizerExtraMultiplier * curRandomValue) * WeaponDrawScaleGlobalMultiplier,MinWeaponScale);
if((EquipmentType == EQT_WEAPON && (WeaponType == EWT_WEAPON_INITIATE || WeaponType == EWT_WEAPON_APPRENTICE)
equipmentQuality = 2.0 - equipmentQuality;
What's going on there is this: the weapon size is weighted purely on equipment quality. If the weapon type is EWT_WEAPON_INITIATE (Huntress. Don't ask.) or EWT_WEAPON_APPRENTICE, it flips the quality from one side of 1.0 to the other, so higher qualities get reduced and lower qualities get increased. This means that higher initial qualities create smaller weapons, and lower initial qualities create larger weapons.
The code handling the flip is done twice because the quality is used further down the line, though only in a few rare cases. Better to have the original quality there.

Originally Posted by
CrzyRndm
- Doing something about the armour/weapon ratio.
This might be harder; armor already pretty much has the lowest rarity value in the scale, so it's technically the most common loot type. The perceived rarity is more due to 1) weapons have higher qualities on average, pushing armor out; and 2) there are 20 types of armor, and at any time a player is only looking for 4 of them.
Modifying the RNG by reducing the negative chances should improve the average quality of armor a lot more than it does the average quality of weapons, however. Less armor will be considered lower value and deleted, so it somewhat raises the perceived drop rate of armor.
If you can think of anything else you want, I pretty much know what is and isn't possible without a lot of work.