Search in sources :

Example 26 with AbstractClothing

use of com.lilithsthrone.game.inventory.clothing.AbstractClothing in project liliths-throne-public by Innoxia.

the class Nyan method dailyReset.

@Override
public void dailyReset() {
    clearNonEquippedInventory();
    Main.game.getDialogueFlags().resetNyanActions();
    // Changing old versions of Nyan:
    if (this.getClothingInSlot(InventorySlot.LEG) != null && this.getClothingInSlot(InventorySlot.LEG).getClothingType().getId() == ClothingType.LEG_PENCIL_SKIRT.getId()) {
        this.unequipClothingIntoVoid(this.getClothingInSlot(InventorySlot.LEG), true, this);
        this.equipClothingFromNowhere(AbstractClothingType.generateClothing(ClothingType.LEG_SKIRT, Colour.CLOTHING_BLACK, false), true, this);
    }
    commonFemaleClothing.clear();
    commonFemaleUnderwear.clear();
    commonFemaleOtherLingerie.clear();
    commonFemaleAccessories.clear();
    commonMaleClothing.clear();
    commonMaleLingerie.clear();
    commonMaleAccessories.clear();
    commonAndrogynousClothing.clear();
    commonAndrogynousLingerie.clear();
    commonAndrogynousAccessories.clear();
    specials.clear();
    boolean enchantedGear = Main.game.getPlayer().isQuestCompleted(QuestLine.SIDE_NYAN_HELP);
    // Female:
    for (AbstractClothingType ct : ClothingType.getCommonFemaleClothing()) {
        commonFemaleClothing.add(AbstractClothingType.generateClothing(ct, false));
    }
    if (enchantedGear) {
        for (int i = 0; i < 3; i++) {
            commonFemaleClothing.add(AbstractClothingType.generateClothingWithEnchantment(ClothingType.getCommonFemaleClothing().get(Util.random.nextInt(ClothingType.getCommonFemaleClothing().size()))));
        }
        commonFemaleClothing.add(generateRareClothing(ClothingType.getCommonFemaleClothing().get(Util.random.nextInt(ClothingType.getCommonFemaleClothing().size()))));
    }
    for (AbstractClothingType ct : ClothingType.getCommonFemaleLingerie()) {
        if (ct.getSlot() == InventorySlot.GROIN) {
            commonFemaleUnderwear.add(AbstractClothingType.generateClothing(ct, false));
        } else {
            commonFemaleOtherLingerie.add(AbstractClothingType.generateClothing(ct, false));
        }
    }
    if (enchantedGear) {
        for (int i = 0; i < 3; i++) {
            commonFemaleUnderwear.add(AbstractClothingType.generateClothingWithEnchantment(commonFemaleUnderwear.get(Util.random.nextInt(commonFemaleUnderwear.size())).getClothingType()));
            commonFemaleOtherLingerie.add(AbstractClothingType.generateClothingWithEnchantment(commonFemaleOtherLingerie.get(Util.random.nextInt(commonFemaleOtherLingerie.size())).getClothingType()));
        }
        commonFemaleUnderwear.add(generateRareClothing(commonFemaleUnderwear.get(Util.random.nextInt(commonFemaleUnderwear.size())).getClothingType()));
        commonFemaleOtherLingerie.add(generateRareClothing(commonFemaleOtherLingerie.get(Util.random.nextInt(commonFemaleOtherLingerie.size())).getClothingType()));
    }
    for (AbstractClothingType ct : ClothingType.getCommonFemaleAccessories()) {
        commonFemaleAccessories.add(AbstractClothingType.generateClothing(ct, false));
    }
    if (enchantedGear) {
        for (int i = 0; i < 3; i++) {
            commonFemaleAccessories.add(AbstractClothingType.generateClothingWithEnchantment(ClothingType.getCommonFemaleAccessories().get(Util.random.nextInt(ClothingType.getCommonFemaleAccessories().size()))));
        }
        commonFemaleAccessories.add(generateRareClothing(ClothingType.getCommonFemaleAccessories().get(Util.random.nextInt(ClothingType.getCommonFemaleAccessories().size()))));
    }
    // Male:
    for (AbstractClothingType ct : ClothingType.getCommonMaleClothing()) {
        commonMaleClothing.add(AbstractClothingType.generateClothing(ct, false));
    }
    if (enchantedGear) {
        for (int i = 0; i < 3; i++) {
            commonMaleClothing.add(AbstractClothingType.generateClothingWithEnchantment(ClothingType.getCommonMaleClothing().get(Util.random.nextInt(ClothingType.getCommonMaleClothing().size()))));
        }
        commonMaleClothing.add(generateRareClothing(ClothingType.getCommonMaleClothing().get(Util.random.nextInt(ClothingType.getCommonMaleClothing().size()))));
    }
    for (AbstractClothingType ct : ClothingType.getCommonMaleLingerie()) {
        commonMaleLingerie.add(AbstractClothingType.generateClothing(ct, false));
    }
    if (enchantedGear) {
        for (int i = 0; i < 3; i++) {
            commonMaleLingerie.add(AbstractClothingType.generateClothingWithEnchantment(ClothingType.getCommonMaleLingerie().get(Util.random.nextInt(ClothingType.getCommonMaleLingerie().size()))));
        }
        commonMaleLingerie.add(generateRareClothing(ClothingType.getCommonMaleLingerie().get(Util.random.nextInt(ClothingType.getCommonMaleLingerie().size()))));
    }
    for (AbstractClothingType ct : ClothingType.getCommonMaleAccessories()) {
        commonMaleAccessories.add(AbstractClothingType.generateClothing(ct, false));
    }
    if (enchantedGear) {
        for (int i = 0; i < 3; i++) {
            commonMaleAccessories.add(AbstractClothingType.generateClothingWithEnchantment(ClothingType.getCommonMaleAccessories().get(Util.random.nextInt(ClothingType.getCommonMaleAccessories().size()))));
        }
        commonMaleAccessories.add(generateRareClothing(ClothingType.getCommonMaleAccessories().get(Util.random.nextInt(ClothingType.getCommonMaleAccessories().size()))));
    }
    // Androgynous:
    for (AbstractClothingType ct : ClothingType.getCommonAndrogynousClothing()) {
        commonAndrogynousClothing.add(AbstractClothingType.generateClothing(ct, false));
    }
    if (enchantedGear) {
        for (int i = 0; i < 3; i++) {
            commonAndrogynousClothing.add(AbstractClothingType.generateClothingWithEnchantment(ClothingType.getCommonAndrogynousClothing().get(Util.random.nextInt(ClothingType.getCommonAndrogynousClothing().size()))));
        }
        commonAndrogynousClothing.add(generateRareClothing(ClothingType.getCommonAndrogynousClothing().get(Util.random.nextInt(ClothingType.getCommonAndrogynousClothing().size()))));
    }
    for (AbstractClothingType ct : ClothingType.getCommonAndrogynousLingerie()) {
        commonAndrogynousLingerie.add(AbstractClothingType.generateClothing(ct, false));
    }
    if (enchantedGear) {
        for (int i = 0; i < 3; i++) {
            commonAndrogynousLingerie.add(AbstractClothingType.generateClothingWithEnchantment(ClothingType.getCommonAndrogynousLingerie().get(Util.random.nextInt(ClothingType.getCommonAndrogynousLingerie().size()))));
        }
        commonAndrogynousLingerie.add(generateRareClothing(ClothingType.getCommonAndrogynousLingerie().get(Util.random.nextInt(ClothingType.getCommonAndrogynousLingerie().size()))));
    }
    for (AbstractClothingType ct : ClothingType.getCommonAndrogynousAccessories()) {
        commonAndrogynousAccessories.add(AbstractClothingType.generateClothing(ct, false));
    }
    if (enchantedGear) {
        for (int i = 0; i < 3; i++) {
            commonAndrogynousAccessories.add(AbstractClothingType.generateClothingWithEnchantment(ClothingType.getCommonAndrogynousAccessories().get(Util.random.nextInt(ClothingType.getCommonAndrogynousAccessories().size()))));
        }
        commonAndrogynousAccessories.add(generateRareClothing(ClothingType.getCommonAndrogynousAccessories().get(Util.random.nextInt(ClothingType.getCommonAndrogynousAccessories().size()))));
    }
    // Specials:
    if (enchantedGear) {
        specials.add(AbstractClothingType.generateClothing(ClothingType.SOCK_RAINBOW_STOCKINGS));
        specials.add(AbstractClothingType.generateClothing(ClothingType.HAND_RAINBOW_FINGERLESS_GLOVES));
        specials.add(AbstractClothingType.generateClothing(ClothingType.MILK_MAID_KERCHIEF));
        specials.add(AbstractClothingType.generateClothing(ClothingType.MILK_MAID_HEADBAND));
        specials.add(AbstractClothingType.generateClothing(ClothingType.MILK_MAID_TORSO_DRESS));
        specials.add(AbstractClothingType.generateClothing(ClothingType.MAID_DRESS));
        specials.add(AbstractClothingType.generateClothing(ClothingType.MAID_HEADPIECE));
        specials.add(AbstractClothingType.generateClothing(ClothingType.MAID_HEELS));
        specials.add(AbstractClothingType.generateClothing(ClothingType.MAID_SLEEVES));
        specials.add(AbstractClothingType.generateClothing(ClothingType.MAID_STOCKINGS));
        specials.add(AbstractClothingType.generateClothing(ClothingType.CATTLE_PIERCING_NOSE_BOVINE_RING));
        specials.add(AbstractClothingType.generateClothing(ClothingType.CATTLE_NECK_COWBELL_COLLAR));
        specials.add(AbstractClothingType.generateClothing(ClothingType.CATTLE_PIERCING_EAR_TAGS));
        specials.add(AbstractClothingType.generateClothing(ClothingType.MEGA_MILK));
        specials.add(AbstractClothingType.generateClothing(ClothingType.NECK_BREEDER_COLLAR));
        specials.add(AbstractClothingType.generateClothing(ClothingType.SCIENTIST_TORSO_OVER_LAB_COAT));
    }
    for (AbstractClothing c : commonFemaleClothing) {
        c.setEnchantmentKnown(true);
    }
    for (AbstractClothing c : commonFemaleUnderwear) {
        c.setEnchantmentKnown(true);
    }
    for (AbstractClothing c : commonFemaleOtherLingerie) {
        c.setEnchantmentKnown(true);
    }
    for (AbstractClothing c : commonFemaleAccessories) {
        c.setEnchantmentKnown(true);
    }
    for (AbstractClothing c : commonMaleClothing) {
        c.setEnchantmentKnown(true);
    }
    for (AbstractClothing c : commonMaleLingerie) {
        c.setEnchantmentKnown(true);
    }
    for (AbstractClothing c : commonMaleAccessories) {
        c.setEnchantmentKnown(true);
    }
    for (AbstractClothing c : commonAndrogynousClothing) {
        c.setEnchantmentKnown(true);
    }
    for (AbstractClothing c : commonAndrogynousLingerie) {
        c.setEnchantmentKnown(true);
    }
    for (AbstractClothing c : commonAndrogynousAccessories) {
        c.setEnchantmentKnown(true);
    }
}
Also used : AbstractClothingType(com.lilithsthrone.game.inventory.clothing.AbstractClothingType) AbstractClothing(com.lilithsthrone.game.inventory.clothing.AbstractClothing)

Example 27 with AbstractClothing

use of com.lilithsthrone.game.inventory.clothing.AbstractClothing in project liliths-throne-public by Innoxia.

the class Cell method resetInventory.

public void resetInventory(List<Rarity> rarityOfItemsToSave) {
    if (rarityOfItemsToSave != null && !rarityOfItemsToSave.isEmpty()) {
        List<AbstractItem> itemsToSave = new ArrayList<>();
        for (AbstractItem item : this.inventory.getItemsInInventory()) {
            if (rarityOfItemsToSave.contains(item.getRarity())) {
                itemsToSave.add(item);
            }
        }
        List<AbstractWeapon> weaponsToSave = new ArrayList<>();
        for (AbstractWeapon weapon : this.inventory.getWeaponsInInventory()) {
            if (rarityOfItemsToSave.contains(weapon.getRarity())) {
                weaponsToSave.add(weapon);
            }
        }
        List<AbstractClothing> clothingToSave = new ArrayList<>();
        for (AbstractClothing clothing : this.inventory.getClothingInInventory()) {
            if (rarityOfItemsToSave.contains(clothing.getRarity())) {
                clothingToSave.add(clothing);
            }
        }
        this.inventory = new CharacterInventory(0, 48);
        for (AbstractItem item : itemsToSave) {
            this.inventory.addItem(item);
        }
        for (AbstractWeapon weapon : weaponsToSave) {
            this.inventory.addWeapon(weapon);
        }
        for (AbstractClothing clothing : clothingToSave) {
            this.inventory.addClothing(clothing);
        }
    } else {
        this.inventory = new CharacterInventory(0, 48);
    }
}
Also used : ArrayList(java.util.ArrayList) AbstractClothing(com.lilithsthrone.game.inventory.clothing.AbstractClothing) AbstractItem(com.lilithsthrone.game.inventory.item.AbstractItem) CharacterInventory(com.lilithsthrone.game.inventory.CharacterInventory) AbstractWeapon(com.lilithsthrone.game.inventory.weapon.AbstractWeapon)

Example 28 with AbstractClothing

use of com.lilithsthrone.game.inventory.clothing.AbstractClothing in project liliths-throne-public by Innoxia.

the class Game method endTurn.

public void endTurn(int turnTime, boolean advanceTime) {
    // long tStart = System.nanoTime();
    long startHour = getHour();
    if (advanceTime) {
        minutesPassed += turnTime;
        updateResponses();
    }
    if (Main.game.getCurrentWeather() != Weather.SNOW && Main.game.getSeason() != Season.WINTER) {
        Main.game.getDialogueFlags().values.remove(DialogueFlagValue.hasSnowedThisWinter);
        for (NPC npc : Main.game.getReindeerOverseers()) {
            if (npc.getLocation() != Main.game.getPlayer().getLocation()) {
                npc.setLocation(WorldType.EMPTY, PlaceType.GENERIC_EMPTY_TILE, true);
            }
        }
    }
    // Slavery: TODO
    int hoursPassed = (int) (getHour() - startHour);
    int hourStartTo24 = (int) (startHour % 24);
    for (int i = 1; i <= hoursPassed; i++) {
        slaveryUtil.performHourlyUpdate(this.getDayNumber(startHour * 60 + i * 60), (hourStartTo24 + i) % 24);
    }
    // If the time has passed midnight on this turn:
    boolean newDay = ((int) (minutesPassed / (60 * 24)) != (int) (((minutesPassed - turnTime) / (60 * 24))));
    if (newDay) {
        // TODO replace with methods in each GenericPlace:
        AbstractClothing goggles = AbstractClothingType.generateClothing(ClothingType.SCIENTIST_EYES_SAFETY_GOGGLES, Colour.CLOTHING_BLACK, false);
        if (!Main.game.getWorlds().get(WorldType.LILAYAS_HOUSE_GROUND_FLOOR).getCell(PlaceType.LILAYA_HOME_LAB).getInventory().hasClothing(goggles)) {
            Main.game.getWorlds().get(WorldType.LILAYAS_HOUSE_GROUND_FLOOR).getCell(PlaceType.LILAYA_HOME_LAB).getInventory().addClothing(goggles);
        }
        pendingSlaveInStocksReset = true;
        // Reindeer:
        for (NPC npc : Main.game.getReindeerOverseers()) {
            if (npc.getLocationPlace().getPlaceType() == PlaceType.DOMINION_STREET && !npc.getLocation().equals(Main.game.getPlayer().getLocation())) {
                npc.moveToAdjacentMatchingCellType();
                Main.game.getDialogueFlags().dailyReindeerReset(npc.getId());
            }
        }
    }
    if (pendingSlaveInStocksReset && Main.game.getPlayer().getLocationPlace().getPlaceType() != PlaceType.SLAVER_ALLEY_PUBLIC_STOCKS) {
        for (NPC npc : Main.game.getCharactersPresent(Main.game.getWorlds().get(WorldType.SLAVER_ALLEY).getCell(PlaceType.SLAVER_ALLEY_PUBLIC_STOCKS))) {
            if (npc instanceof SlaveInStocks) {
                Main.game.banishNPC(npc);
            }
        }
        for (int i = 0; i < 4; i++) {
            SlaveInStocks slave = new SlaveInStocks(GenderPreference.getGenderFromUserPreferences());
            if (Math.random() > 0.5f) {
                Main.game.getGenericFemaleNPC().addSlave(slave);
            } else {
                Main.game.getGenericMaleNPC().addSlave(slave);
            }
            try {
                Main.game.addNPC(slave, false);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        pendingSlaveInStocksReset = false;
    }
    handleAtmosphericConditions(turnTime);
    // Apply status effects and update all NPCs:
    isInNPCUpdateLoop = true;
    for (NPC npc : NPCMap.values()) {
        // Remove Dominion attackers if they aren't in alleyways: TODO this is because storm attackers need to be removed after a storm
        if (npc.getLocationPlace().getPlaceType() != PlaceType.DOMINION_BACK_ALLEYS && npc.getWorldLocation() == WorldType.DOMINION && npc instanceof DominionAlleywayAttacker && !Main.game.getPlayer().getLocation().equals(npc.getLocation())) {
            banishNPC(npc);
        }
        // Non-slave NPCs clean clothes:
        if (!npc.isSlave() && !Main.game.getPlayer().getLocation().equals(npc.getLocation())) {
            npc.cleanAllClothing();
            npc.cleanAllDirtySlots();
        }
        // Set NPC resource values:
        if (!Main.game.isInCombat() && !Main.game.isInSex()) {
            if (!Main.game.getPlayer().getLocation().equals(npc.getLocation())) {
                npc.setHealthPercentage(1);
                npc.setManaPercentage(1);
            // npc.setLust(npc.getRestingLust());
            }
            npc.alignLustToRestingLust(turnTime * 10);
        }
        npc.calculateStatusEffects(turnTime);
        if ((npc.isPendingClothingDressing() || (!npc.isSlave() && !npc.isUnique() && (npc.hasStatusEffect(StatusEffect.EXPOSED) || npc.hasStatusEffect(StatusEffect.EXPOSED_BREASTS) || npc.hasStatusEffect(StatusEffect.EXPOSED_PLUS_BREASTS)))) && (Main.game.getCurrentDialogueNode().equals(Main.game.getPlayer().getLocationPlace().getDialogue(false)) || !(npc.getWorldLocation() == Main.game.getPlayer().getWorldLocation() && npc.getLocation().equals(Main.game.getPlayer().getLocation())))) {
            npc.equipClothing(true, true);
            npc.setPendingClothingDressing(false);
        }
        if (npc.isPendingTransformationToGenderIdentity()) {
            npc.setBody(npc.getGenderIdentity(), RacialBody.valueOfRace(npc.getRace()), npc.getRaceStage());
            CharacterUtils.randomiseBody(npc);
            npc.setPendingTransformationToGenderIdentity(false);
        }
        // Prostitutes stay on promiscuity pills to avoid pregnancies, and, if the NPC is male, to avoid knocking up their clients
        if ((!npc.isPregnant() && !npc.isSlave() && npc.getHistory() == History.PROSTITUTE && !npc.hasStatusEffect(StatusEffect.PROMISCUITY_PILL) && !npc.getLocation().equals(Main.game.getPlayer().getLocation())) || (npc.isSlave() && npc.getSlaveJobSettings().contains(SlaveJobSetting.SEX_PROMISCUITY_PILLS))) {
            npc.useItem(AbstractItemType.generateItem(ItemType.PROMISCUITY_PILL), npc, false);
        }
        if (npc.isSlave() && npc.getSlaveJobSettings().contains(SlaveJobSetting.SEX_VIXENS_VIRILITY)) {
            npc.useItem(AbstractItemType.generateItem(ItemType.VIXENS_VIRILITY), npc, false);
        }
        if (npc.hasStatusEffect(StatusEffect.PREGNANT_3) && (minutesPassed - npc.getTimeProgressedToFinalPregnancyStage()) > (12 * 60)) {
            if (npc instanceof Lilaya) {
                if (!Main.game.getDialogueFlags().values.contains(DialogueFlagValue.reactedToPregnancyLilaya)) {
                    // Lilaya will only end pregnancy after you've seen it.
                    npc.endPregnancy(true);
                }
            } else {
                npc.endPregnancy(true);
                if (npc instanceof Kate) {
                    Main.game.getDialogueFlags().values.remove(DialogueFlagValue.reactedToKatePregnancy);
                }
            }
        }
        if (npc.getLocation().equals(Main.game.getPlayer().getLocation()) && npc.getWorldLocation() == Main.game.getPlayer().getWorldLocation()) {
            for (CoverableArea ca : CoverableArea.values()) {
                if (npc.isCoverableAreaExposed(ca) && ca != CoverableArea.MOUTH) {
                    npc.getPlayerKnowsAreas().add(ca);
                }
            }
        }
        if (newDay) {
            npc.dailyReset();
        }
    }
    isInNPCUpdateLoop = false;
    for (NPC npc : npcsToRemove) {
        NPCMap.remove(npc.getId());
    }
    for (NPC npc : npcsToAdd) {
        NPCMap.put(npc.getId(), npc);
    }
    npcsToRemove.clear();
    npcsToAdd.clear();
    // If not in combat:
    if (!isInCombat()) {
        // Regenerate health and stamina over time:
        if (!isInSex() && !currentDialogueNode.isRegenerationDisabled()) {
            if (Main.game.getPlayer().getHealthPercentage() < 1) {
                Main.game.getPlayer().incrementHealth(turnTime * 0.1f);
            }
            if (Main.game.getPlayer().getManaPercentage() < 1) {
                Main.game.getPlayer().incrementMana(turnTime * 0.1f);
            }
            Main.game.getPlayer().alignLustToRestingLust(turnTime);
        }
    }
    if (Main.game.getCurrentDialogueNode() != MiscDialogue.STATUS_EFFECTS) {
        Main.game.getPlayer().calculateStatusEffects(turnTime);
    }
    RenderingEngine.ENGINE.renderButtons();
    Main.mainController.updateUI();
    Main.mainController.getTooltip().hide();
    if (!Main.game.getPlayer().getStatusEffectDescriptions().isEmpty() && Main.game.getCurrentDialogueNode() != MiscDialogue.STATUS_EFFECTS) {
        if (Main.game.getCurrentDialogueNode().getMapDisplay() == MapDisplay.NORMAL) {
            Main.game.saveDialogueNode();
        }
        Main.game.setContent(new Response("", "", MiscDialogue.STATUS_EFFECTS) {

            @Override
            public void effects() {
                if (!Main.game.getPlayer().hasQuest(QuestLine.SIDE_ENCHANTMENT_DISCOVERY) && Main.game.getPlayer().hasNonArcaneEssences()) {
                    Main.game.getTextEndStringBuilder().append(Main.game.getPlayer().startQuest(QuestLine.SIDE_ENCHANTMENT_DISCOVERY));
                }
                if (!Main.game.getPlayer().hasQuest(QuestLine.SIDE_FIRST_TIME_PREGNANCY) && Main.game.getPlayer().isVisiblyPregnant()) {
                    Main.game.getTextEndStringBuilder().append(Main.game.getPlayer().startQuest(QuestLine.SIDE_FIRST_TIME_PREGNANCY));
                }
            }
        });
        Main.game.getPlayer().getStatusEffectDescriptions().clear();
    }
// System.out.println((System.nanoTime()-tStart)/1000000000d+"s");
}
Also used : TestNPC(com.lilithsthrone.game.character.npc.dominion.TestNPC) NPC(com.lilithsthrone.game.character.npc.NPC) GenericFemaleNPC(com.lilithsthrone.game.character.npc.GenericFemaleNPC) GenericAndrogynousNPC(com.lilithsthrone.game.character.npc.GenericAndrogynousNPC) GenericMaleNPC(com.lilithsthrone.game.character.npc.GenericMaleNPC) CoverableArea(com.lilithsthrone.game.character.body.CoverableArea) Kate(com.lilithsthrone.game.character.npc.dominion.Kate) AbstractClothing(com.lilithsthrone.game.inventory.clothing.AbstractClothing) TransformerException(javax.xml.transform.TransformerException) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) Lilaya(com.lilithsthrone.game.character.npc.dominion.Lilaya) Response(com.lilithsthrone.game.dialogue.responses.Response) SlaveInStocks(com.lilithsthrone.game.character.npc.dominion.SlaveInStocks) DominionAlleywayAttacker(com.lilithsthrone.game.character.npc.dominion.DominionAlleywayAttacker)

Aggregations

AbstractClothing (com.lilithsthrone.game.inventory.clothing.AbstractClothing)28 ArrayList (java.util.ArrayList)15 AbstractItem (com.lilithsthrone.game.inventory.item.AbstractItem)8 AbstractWeapon (com.lilithsthrone.game.inventory.weapon.AbstractWeapon)7 BlockedParts (com.lilithsthrone.game.inventory.clothing.BlockedParts)6 ItemEffect (com.lilithsthrone.game.inventory.item.ItemEffect)6 ClothingAccess (com.lilithsthrone.game.inventory.clothing.ClothingAccess)5 StatusEffect (com.lilithsthrone.game.character.effects.StatusEffect)4 NPC (com.lilithsthrone.game.character.npc.NPC)4 AbstractClothingType (com.lilithsthrone.game.inventory.clothing.AbstractClothingType)4 ClothingZLayerComparator (com.lilithsthrone.utils.ClothingZLayerComparator)4 ReverseClothingZLayerComparator (com.lilithsthrone.utils.ReverseClothingZLayerComparator)4 Attribute (com.lilithsthrone.game.character.attributes.Attribute)3 TestNPC (com.lilithsthrone.game.character.npc.dominion.TestNPC)3 Element (org.w3c.dom.Element)3 InventorySelectedItemEventListener (com.lilithsthrone.controller.eventListeners.InventorySelectedItemEventListener)2 InventoryTooltipEventListener (com.lilithsthrone.controller.eventListeners.InventoryTooltipEventListener)2 TooltipInformationEventListener (com.lilithsthrone.controller.eventListeners.TooltipInformationEventListener)2 GameCharacter (com.lilithsthrone.game.character.GameCharacter)2 Perk (com.lilithsthrone.game.character.effects.Perk)2