From 2a263a5e974ce7ab0c7bc070d0be9ade6a98c185 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 8 Sep 2022 17:47:20 -0400 Subject: [PATCH] v1.4.0: adjusted catalogs to tie into the generator system --- .../items/Generator.java | 30 ++- .../journal/Catalog.java | 239 +++--------------- 2 files changed, 59 insertions(+), 210 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java index f8e7b5132..d4f267c2a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java @@ -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(); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java index ea9443566..51cda4dc5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java @@ -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 catalogBadges = new LinkedHashMap<>();