v1.4.0: adjusted catalogs to tie into the generator system

This commit is contained in:
Evan Debenham
2022-09-08 17:47:20 -04:00
parent 0bf623f0c7
commit 2a263a5e97
2 changed files with 59 additions and 210 deletions

View File

@@ -24,10 +24,14 @@ package com.shatteredpixel.shatteredpixeldungeon.items;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.HuntressArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.LeatherArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.MageArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.MailArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.PlateArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.RogueArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ScaleArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.WarriorArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.AlchemistsToolkit;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CapeOfThorns;
@@ -338,11 +342,11 @@ public class Generator {
WEP_T1.classes = new Class<?>[]{
WornShortsword.class,
Gloves.class,
MagesStaff.class,
Dagger.class,
MagesStaff.class
Gloves.class
};
WEP_T1.probs = new float[]{ 1, 1, 1, 0 };
WEP_T1.probs = new float[]{ 1, 0, 1, 1 };
WEP_T2.classes = new Class<?>[]{
Shortsword.class,
@@ -389,8 +393,12 @@ public class Generator {
LeatherArmor.class,
MailArmor.class,
ScaleArmor.class,
PlateArmor.class };
ARMOR.probs = new float[]{ 0, 0, 0, 0, 0 };
PlateArmor.class,
WarriorArmor.class,
MageArmor.class,
RogueArmor.class,
HuntressArmor.class};
ARMOR.probs = new float[]{ 1, 1, 1, 1, 1, 0, 0, 0, 0 };
//see Generator.randomMissile
MISSILE.classes = new Class<?>[]{};
@@ -452,21 +460,19 @@ public class Generator {
RING.probs = new float[]{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
ARTIFACT.classes = new Class<?>[]{
CapeOfThorns.class,
AlchemistsToolkit.class,
ChaliceOfBlood.class,
CloakOfShadows.class,
DriedRose.class,
EtherealChains.class,
HornOfPlenty.class,
MasterThievesArmband.class,
SandalsOfNature.class,
TalismanOfForesight.class,
TimekeepersHourglass.class,
UnstableSpellbook.class,
AlchemistsToolkit.class,
DriedRose.class,
LloydsBeacon.class,
EtherealChains.class
UnstableSpellbook.class
};
ARTIFACT.defaultProbs = new float[]{ 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1};
ARTIFACT.defaultProbs = new float[]{ 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
ARTIFACT.probs = ARTIFACT.defaultProbs.clone();
}
}

View File

@@ -22,102 +22,8 @@
package com.shatteredpixel.shatteredpixeldungeon.journal;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.HuntressArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.LeatherArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.MageArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.MailArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.PlateArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.RogueArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ScaleArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.WarriorArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.AlchemistsToolkit;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.ChaliceOfBlood;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CloakOfShadows;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.EtherealChains;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HornOfPlenty;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.MasterThievesArmband;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.SandalsOfNature;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TalismanOfForesight;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourglass;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.UnstableSpellbook;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfExperience;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfFrost;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHaste;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfInvisibility;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLevitation;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlame;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfMindVision;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfParalyticGas;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfPurity;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfToxicGas;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfElements;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEvasion;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfForce;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfFuror;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfHaste;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfMight;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfSharpshooting;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfTenacity;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfWealth;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfIdentify;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfLullaby;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMirrorImage;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRage;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRemoveCurse;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRetribution;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTerror;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTransmutation;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfBlastWave;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorrosion;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorruption;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfDisintegration;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfFireblast;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfFrost;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfLightning;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfLivingEarth;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfMagicMissile;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfPrismaticLight;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfTransfusion;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfWarding;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.AssassinsBlade;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.BattleAxe;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Crossbow;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Dagger;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Dirk;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Flail;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Gauntlet;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Glaive;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Gloves;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Greataxe;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Greatshield;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Greatsword;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.HandAxe;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Longsword;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Mace;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Quarterstaff;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.RoundShield;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.RunicBlade;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Sai;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Scimitar;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Shortsword;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Spear;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Sword;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WarHammer;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Whip;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WornShortsword;
import com.watabou.utils.Bundle;
import java.util.ArrayList;
@@ -152,109 +58,46 @@ public enum Catalog {
}
static {
WEAPONS.seen.put( WornShortsword.class, false);
WEAPONS.seen.put( Gloves.class, false);
WEAPONS.seen.put( Dagger.class, false);
WEAPONS.seen.put( MagesStaff.class, false);
WEAPONS.seen.put( Shortsword.class, false);
WEAPONS.seen.put( HandAxe.class, false);
WEAPONS.seen.put( Spear.class, false);
WEAPONS.seen.put( Quarterstaff.class, false);
WEAPONS.seen.put( Dirk.class, false);
WEAPONS.seen.put( Sword.class, false);
WEAPONS.seen.put( Mace.class, false);
WEAPONS.seen.put( Scimitar.class, false);
WEAPONS.seen.put( RoundShield.class, false);
WEAPONS.seen.put( Sai.class, false);
WEAPONS.seen.put( Whip.class, false);
WEAPONS.seen.put( Longsword.class, false);
WEAPONS.seen.put( BattleAxe.class, false);
WEAPONS.seen.put( Flail.class, false);
WEAPONS.seen.put( RunicBlade.class, false);
WEAPONS.seen.put( AssassinsBlade.class, false);
WEAPONS.seen.put( Crossbow.class, false);
WEAPONS.seen.put( Greatsword.class, false);
WEAPONS.seen.put( WarHammer.class, false);
WEAPONS.seen.put( Glaive.class, false);
WEAPONS.seen.put( Greataxe.class, false);
WEAPONS.seen.put( Greatshield.class, false);
WEAPONS.seen.put( Gauntlet.class, false);
ARMOR.seen.put( ClothArmor.class, false);
ARMOR.seen.put( LeatherArmor.class, false);
ARMOR.seen.put( MailArmor.class, false);
ARMOR.seen.put( ScaleArmor.class, false);
ARMOR.seen.put( PlateArmor.class, false);
ARMOR.seen.put( WarriorArmor.class, false);
ARMOR.seen.put( MageArmor.class, false);
ARMOR.seen.put( RogueArmor.class, false);
ARMOR.seen.put( HuntressArmor.class, false);
WANDS.seen.put( WandOfMagicMissile.class, false);
WANDS.seen.put( WandOfLightning.class, false);
WANDS.seen.put( WandOfDisintegration.class, false);
WANDS.seen.put( WandOfFireblast.class, false);
WANDS.seen.put( WandOfCorrosion.class, false);
WANDS.seen.put( WandOfBlastWave.class, false);
WANDS.seen.put( WandOfLivingEarth.class, false);
WANDS.seen.put( WandOfFrost.class, false);
WANDS.seen.put( WandOfPrismaticLight.class, false);
WANDS.seen.put( WandOfWarding.class, false);
WANDS.seen.put( WandOfTransfusion.class, false);
WANDS.seen.put( WandOfCorruption.class, false);
WANDS.seen.put( WandOfRegrowth.class, false);
RINGS.seen.put( RingOfAccuracy.class, false);
RINGS.seen.put( RingOfEnergy.class, false);
RINGS.seen.put( RingOfElements.class, false);
RINGS.seen.put( RingOfEvasion.class, false);
RINGS.seen.put( RingOfForce.class, false);
RINGS.seen.put( RingOfFuror.class, false);
RINGS.seen.put( RingOfHaste.class, false);
RINGS.seen.put( RingOfMight.class, false);
RINGS.seen.put( RingOfSharpshooting.class, false);
RINGS.seen.put( RingOfTenacity.class, false);
RINGS.seen.put( RingOfWealth.class, false);
ARTIFACTS.seen.put( AlchemistsToolkit.class, false);
//ARTIFACTS.seen.put( CapeOfThorns.class, false);
ARTIFACTS.seen.put( ChaliceOfBlood.class, false);
ARTIFACTS.seen.put( CloakOfShadows.class, false);
ARTIFACTS.seen.put( DriedRose.class, false);
ARTIFACTS.seen.put( EtherealChains.class, false);
ARTIFACTS.seen.put( HornOfPlenty.class, false);
//ARTIFACTS.seen.put( LloydsBeacon.class, false);
ARTIFACTS.seen.put( MasterThievesArmband.class, false);
ARTIFACTS.seen.put( SandalsOfNature.class, false);
ARTIFACTS.seen.put( TalismanOfForesight.class, false);
ARTIFACTS.seen.put( TimekeepersHourglass.class, false);
ARTIFACTS.seen.put( UnstableSpellbook.class, false);
POTIONS.seen.put( PotionOfHealing.class, false);
POTIONS.seen.put( PotionOfStrength.class, false);
POTIONS.seen.put( PotionOfLiquidFlame.class, false);
POTIONS.seen.put( PotionOfFrost.class, false);
POTIONS.seen.put( PotionOfToxicGas.class, false);
POTIONS.seen.put( PotionOfParalyticGas.class, false);
POTIONS.seen.put( PotionOfPurity.class, false);
POTIONS.seen.put( PotionOfLevitation.class, false);
POTIONS.seen.put( PotionOfMindVision.class, false);
POTIONS.seen.put( PotionOfInvisibility.class, false);
POTIONS.seen.put( PotionOfExperience.class, false);
POTIONS.seen.put( PotionOfHaste.class, false);
SCROLLS.seen.put( ScrollOfIdentify.class, false);
SCROLLS.seen.put( ScrollOfUpgrade.class, false);
SCROLLS.seen.put( ScrollOfRemoveCurse.class, false);
SCROLLS.seen.put( ScrollOfMagicMapping.class, false);
SCROLLS.seen.put( ScrollOfTeleportation.class, false);
SCROLLS.seen.put( ScrollOfRecharging.class, false);
SCROLLS.seen.put( ScrollOfMirrorImage.class, false);
SCROLLS.seen.put( ScrollOfTerror.class, false);
SCROLLS.seen.put( ScrollOfLullaby.class, false);
SCROLLS.seen.put( ScrollOfRage.class, false);
SCROLLS.seen.put( ScrollOfRetribution.class, false);
SCROLLS.seen.put( ScrollOfTransmutation.class, false);
for (Class weapon : Generator.Category.WEP_T1.classes){
WEAPONS.seen.put( weapon, false);
}
for (Class weapon : Generator.Category.WEP_T2.classes){
WEAPONS.seen.put( weapon, false);
}
for (Class weapon : Generator.Category.WEP_T3.classes){
WEAPONS.seen.put( weapon, false);
}
for (Class weapon : Generator.Category.WEP_T4.classes){
WEAPONS.seen.put( weapon, false);
}
for (Class weapon : Generator.Category.WEP_T5.classes){
WEAPONS.seen.put( weapon, false);
}
for (Class armor : Generator.Category.ARMOR.classes){
ARMOR.seen.put( armor, false);
}
for (Class wand : Generator.Category.WAND.classes){
WANDS.seen.put( wand, false);
}
for (Class ring : Generator.Category.RING.classes){
RINGS.seen.put( ring, false);
}
for (Class artifact : Generator.Category.ARTIFACT.classes){
ARTIFACTS.seen.put( artifact, false);
}
for (Class potion : Generator.Category.POTION.classes){
POTIONS.seen.put( potion, false);
}
for (Class scroll : Generator.Category.SCROLL.classes){
SCROLLS.seen.put( scroll, false);
}
}
public static LinkedHashMap<Catalog, Badges.Badge> catalogBadges = new LinkedHashMap<>();