v0.9.0b: Balance tweaks to equip drops in the sewers:

- Sewer droprate of T4/T5 gear halved
- T2 is slightly more common in the sewers
- Player now gets to see what type of weapon/armor the ghost has
This commit is contained in:
Evan Debenham 2020-10-13 17:31:57 -04:00
parent 81a61f9662
commit 11a684bb1f
3 changed files with 11 additions and 19 deletions

View File

@ -281,23 +281,15 @@ public class Ghost extends NPC {
depth = Dungeon.depth; depth = Dungeon.depth;
//50%:tier2, 30%:tier3, 15%:tier4, 5%:tier5 //50%:tier2, 30%:tier3, 15%:tier4, 5%:tier5
float itemTierRoll = Random.Float(); switch (Random.chances(new float[]{0, 0, 10, 6, 3, 1})){
int wepTier; default:
case 2: armor = new LeatherArmor(); break;
if (itemTierRoll < 0.5f) { case 3: armor = new MailArmor(); break;
wepTier = 2; case 4: armor = new ScaleArmor(); break;
armor = new LeatherArmor(); case 5: armor = new PlateArmor(); break;
} else if (itemTierRoll < 0.8f) {
wepTier = 3;
armor = new MailArmor();
} else if (itemTierRoll < 0.95f) {
wepTier = 4;
armor = new ScaleArmor();
} else {
wepTier = 5;
armor = new PlateArmor();
} }
//50%:tier2, 30%:tier3, 15%:tier4, 5%:tier5
int wepTier = Random.chances(new float[]{0, 10, 6, 3, 1});
Generator.Category c = Generator.wepTiers[wepTier - 1]; Generator.Category c = Generator.wepTiers[wepTier - 1];
weapon = (MeleeWeapon) Reflection.newInstance(c.classes[Random.chances(c.probs)]); weapon = (MeleeWeapon) Reflection.newInstance(c.classes[Random.chances(c.probs)]);

View File

@ -461,7 +461,7 @@ public class Generator {
} }
private static final float[][] floorSetTierProbs = new float[][] { private static final float[][] floorSetTierProbs = new float[][] {
{0, 70, 20, 8, 2}, {0, 75, 20, 4, 1},
{0, 25, 50, 20, 5}, {0, 25, 50, 20, 5},
{0, 0, 40, 50, 10}, {0, 0, 40, 50, 10},
{0, 0, 20, 40, 40}, {0, 0, 20, 40, 40},

View File

@ -72,7 +72,7 @@ public class WndSadGhost extends Window {
message.setPos(0, titlebar.bottom() + GAP); message.setPos(0, titlebar.bottom() + GAP);
add( message ); add( message );
RedButton btnWeapon = new RedButton( Messages.get(this, "weapon") ) { RedButton btnWeapon = new RedButton( Ghost.Quest.weapon.trueName() + " :" + Ghost.Quest.weapon.STRReq(0) ) {
@Override @Override
protected void onClick() { protected void onClick() {
selectReward( ghost, Ghost.Quest.weapon ); selectReward( ghost, Ghost.Quest.weapon );
@ -81,7 +81,7 @@ public class WndSadGhost extends Window {
btnWeapon.setRect( 0, message.top() + message.height() + GAP, WIDTH, BTN_HEIGHT ); btnWeapon.setRect( 0, message.top() + message.height() + GAP, WIDTH, BTN_HEIGHT );
add( btnWeapon ); add( btnWeapon );
RedButton btnArmor = new RedButton( Messages.get(this, "armor") ) { RedButton btnArmor = new RedButton( Ghost.Quest.armor.trueName() + " :" + Ghost.Quest.armor.STRReq(0) ) {
@Override @Override
protected void onClick() { protected void onClick() {
selectReward(ghost, Ghost.Quest.armor); selectReward(ghost, Ghost.Quest.armor);