====== mr:dried_rose_item ====== Machine-readable reference page for Dried Rose item in Remixed Dungeon. ==== Java Implementation ==== **Class File:** * File: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/quest/DriedRose.java|DriedRose.java]] * Package: com.watabou.pixeldungeon.items.quest * Extends: Artifact * Entity Kind: DriedRose **Item Properties:** * Type: Quest Artifact * Image: ItemSpriteSheet.ROSE * Identified: Always identified (isIdentified() returns true) * Stackable: No (single item) * Price: Not overridden (uses base Artifact price) ==== Code Implementation ==== package com.watabou.pixeldungeon.items.quest; import com.nyrds.pixeldungeon.ml.R; import com.nyrds.platform.util.StringsManager; import com.watabou.pixeldungeon.items.rings.Artifact; import com.watabou.pixeldungeon.items.rings.ArtifactBuff; import com.watabou.pixeldungeon.sprites.ItemSpriteSheet; import com.watabou.pixeldungeon.ui.BuffIndicator; public class DriedRose extends Artifact { public DriedRose() { image = ItemSpriteSheet.ROSE; } @Override public ArtifactBuff buff() { if (!isCursed()) { return new OneWayLoveBuff(); } else { return new OneWayCursedLoveBuff(); } } @Override public boolean isIdentified() { return true; } @Override public String info() { return super.info() + "\n\n" + StringsManager.getVar(R.string.DriedRose_Info2); } public static class OneWayLoveBuff extends ArtifactBuff { @Override public int icon() { return BuffIndicator.ROSE; } @Override public String name() { return StringsManager.getVar(R.string.DriedRoseBuff_Name); } @Override public String desc() { return StringsManager.getVar(R.string.DriedRoseBuff_Info); } } public static class OneWayCursedLoveBuff extends ArtifactBuff { @Override public int icon() { return BuffIndicator.CURSED_ROSE; } @Override public String name() { return StringsManager.getVar(R.string.DriedRoseCursedBuff_Name); } @Override public String desc() { return StringsManager.getVar(R.string.DriedRoseCursedBuff_Info); } } } ==== Buffs ==== **Uncursed State:** * Buff Class: OneWayLoveBuff (inner class) * Icon: BuffIndicator.ROSE * Name String: DriedRoseBuff_Name - "Charming" * Description String: DriedRoseBuff_Info - "The rose looks very charming." * Effect: Provides charm-related benefits **Cursed State:** * Buff Class: OneWayCursedLoveBuff (inner class) * Icon: BuffIndicator.CURSED_ROSE * Name String: DriedRoseCursedBuff_Name - "Amorous" * Description String: DriedRoseCursedBuff_Info - "The rose looks beautiful but not very charming." * Effect: Reduced charm effectiveness ==== String Resources ==== **English (values/strings_all.xml):** * DriedRose_Name - "dried rose" * DriedRose_Info - "This rose dried up long time ago, but it has somehow kept all its petals." * DriedRose_Info2 - " And it hasn't lost it's charm. It looks so pretty, that you want to keep it forever." * DriedRoseBuff_Name - "Charming" * DriedRoseBuff_Info - "The rose looks very charming." * DriedRoseCursedBuff_Name - "Amorous" * DriedRoseCursedBuff_Info - "The rose looks beautiful but not very charming." **Russian (values-ru/strings_all.xml):** * DriedRose_Name - Russian item name * DriedRose_Info - Russian description * DriedRose_Info2 - Russian additional description * DriedRoseBuff_Name - Russian buff name * DriedRoseBuff_Info - Russian buff description * DriedRoseCursedBuff_Name - Russian cursed buff name * DriedRoseCursedBuff_Info - Russian cursed buff description ==== Acquisition ==== **Primary Source:** * Ghost NPC quest reward * Location: Sewers (depth 1-5) **Alternative Sources:** * Special dungeon circumstances * Mod-dependent spawns ==== Mechanics ==== **Curse Mechanics:** * Can be cursed like other artifacts * Curse state determines which buff is applied (OneWayLoveBuff vs OneWayCursedLoveBuff) * The buff() method checks isCursed() to return appropriate buff * Curse removal restores normal buff **Info Display:** * Always shows additional description from DriedRose_Info2 string resource * Additional text appended via info() method override ==== Related Entities ==== **Related NPCs:** * [[mr:ghost_npc|mr:ghost_npc]] - Quest giver **Related Buffs:** * mr:one_way_love_buff - Uncursed rose buff * mr:one_way_cursed_love_buff - Cursed rose buff **Related Mobs:** * [[mr:succubus_mob|mr:succubus_mob]] - Charm-related mob **Related Spells:** * [[mr:charm_spell|mr:charm_spell]] - Charm spell ==== Wiki Pages ==== **English:** * [[en:rpd:dried_rose_item|Dried Rose]] - Main wiki page **Russian:** * [[ru:rpd:dried_rose_item|Засушенная роза]] - Russian wiki page **Portuguese:** * [[pt:rpd:dried_rose_item|Rosa Seca]] - Portuguese wiki page ==== Code References ==== * Item implementation: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/quest/DriedRose.java|DriedRose.java]] * String resources: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values/strings_all.xml|strings_all.xml]] {{tag> mr items quest artifact dried_rose reference machine-readable}}