public void activate( Char ch ) { buff = buff(); buff.attachTo( ch ); }
private Ring changeRing( Ring r ) { Ring n; do { n = (Ring)Generator.random( Category.RING ); } while (Challenges.isItemBlocked(n) || n.getClass() == r.getClass()); n.level(0); int level = r.level(); if (level > 0) { n.upgrade( level ); } else if (level < 0) { n.degrade( -level ); } n.levelKnown = r.levelKnown; n.cursedKnown = r.cursedKnown; n.cursed = r.cursed; return n; }
@Override public boolean doEquip(Hero hero) { if (super.doEquip(hero)){ hero.updateHT( false ); return true; } else { return false; } }
@Override public boolean act() { if (!isIdentified() && --ticksToKnow <= 0) { identify(); GLog.w( Messages.get(Ring.class, "identify", Ring.this.toString()) ); Badges.validateItemLevelAquired( Ring.this ); } spend( TICK ); return true; }
HashSet<Class<? extends Ring>> rings = Ring.getUnknown(); r.setKnown(); IDed.add(r); rings.remove(r.getClass());
@Override public boolean doUnequip(Hero hero, boolean collect, boolean single) { if (super.doUnequip(hero, collect, single)){ hero.updateHT( false ); return true; } else { return false; } }
public CatalogItem(Item item, boolean IDed, boolean seen ) { super( new ItemSprite(item), Messages.titleCase(item.trueName())); this.item = item; this.seen = seen; if ( seen && !IDed ){ if (item instanceof Ring){ ((Ring) item).anonymize(); } else if (item instanceof Potion){ ((Potion) item).anonymize(); } else if (item instanceof Scroll){ ((Scroll) item).anonymize(); } } if (!seen) { icon.copy( new ItemSprite( ItemSpriteSheet.SOMETHING + spriteIndexes[currentItemIdx], null) ); label.text("???"); label.hardlight( 0x999999 ); } else if (!IDed) { icon.copy( new ItemSprite( ItemSpriteSheet.SOMETHING + spriteIndexes[currentItemIdx], null) ); label.hardlight( 0xCCCCCC ); } }
public void rollToDropLoot(){ if (Dungeon.hero.lvl > maxLvl + 2) return; float lootChance = this.lootChance; lootChance *= RingOfWealth.dropChanceMultiplier( Dungeon.hero ); if (Random.Float() < lootChance) { Item loot = createLoot(); if (loot != null) { Dungeon.level.drop(loot, pos).sprite.drop(); } } //ring of wealth logic if (Ring.getBonus(Dungeon.hero, RingOfWealth.Wealth.class) > 0) { int rolls = 1; if (properties.contains(Property.BOSS)) rolls = 15; else if (properties.contains(Property.MINIBOSS)) rolls = 5; ArrayList<Item> bonus = RingOfWealth.tryRareDrop(Dungeon.hero, rolls); if (bonus != null) { for (Item b : bonus) Dungeon.level.drop(b, pos).sprite.drop(); new Flare(8, 32).color(0xFFFF00, true).show(sprite, 2f); } } }
} else if (currentItemIdx == RING_IDX){ itemClasses = new ArrayList<>(Catalog.RINGS.items()); for (Class<? extends Item> cls : itemClasses) known.put(cls, Ring.getKnown().contains(cls)); } else if (currentItemIdx == ARTIF_IDX){ itemClasses = new ArrayList<>(Catalog.ARTIFACTS.items());
@Override public boolean act() { if (!isIdentified() && --ticksToKnow <= 0) { identify(); GLog.w( Messages.get(Ring.class, "identify", Ring.this.toString()) ); Badges.validateItemLevelAquired( Ring.this ); } spend( TICK ); return true; }
HashSet<Class<? extends Ring>> rings = Ring.getUnknown(); r.setKnown(); IDed.add(r); rings.remove(r.getClass());
@Override public boolean doUnequip(Hero hero, boolean collect, boolean single) { if (super.doUnequip(hero, collect, single)){ hero.updateHT( false ); return true; } else { return false; } }
public CatalogItem(Item item, boolean IDed, boolean seen ) { super( new ItemSprite(item), Messages.titleCase(item.trueName())); this.item = item; this.seen = seen; if ( seen && !IDed ){ if (item instanceof Ring){ ((Ring) item).anonymize(); } else if (item instanceof Potion){ ((Potion) item).anonymize(); } else if (item instanceof Scroll){ ((Scroll) item).anonymize(); } } if (!seen) { icon.copy( new ItemSprite( ItemSpriteSheet.SOMETHING + spriteIndexes[currentItemIdx], null) ); label.text("???"); label.hardlight( 0x999999 ); } else if (!IDed) { icon.copy( new ItemSprite( ItemSpriteSheet.SOMETHING + spriteIndexes[currentItemIdx], null) ); label.hardlight( 0xCCCCCC ); } }
public void rollToDropLoot(){ if (Dungeon.hero.lvl > maxLvl + 2) return; float lootChance = this.lootChance; lootChance *= RingOfWealth.dropChanceMultiplier( Dungeon.hero ); if (Random.Float() < lootChance) { Item loot = createLoot(); if (loot != null) { Dungeon.level.drop(loot, pos).sprite.drop(); } } //ring of wealth logic if (Ring.getBonus(Dungeon.hero, RingOfWealth.Wealth.class) > 0) { int rolls = 1; if (properties.contains(Property.BOSS)) rolls = 15; else if (properties.contains(Property.MINIBOSS)) rolls = 5; ArrayList<Item> bonus = RingOfWealth.tryRareDrop(Dungeon.hero, rolls); if (bonus != null) { for (Item b : bonus) Dungeon.level.drop(b, pos).sprite.drop(); new Flare(8, 32).color(0xFFFF00, true).show(sprite, 2f); } } }
} else if (currentItemIdx == RING_IDX){ itemClasses = new ArrayList<>(Catalog.RINGS.items()); for (Class<? extends Item> cls : itemClasses) known.put(cls, Ring.getKnown().contains(cls)); } else if (currentItemIdx == ARTIF_IDX){ itemClasses = new ArrayList<>(Catalog.ARTIFACTS.items());
private Ring changeRing( Ring r ) { Ring n; do { n = (Ring)Generator.random( Generator.Category.RING ); } while (Challenges.isItemBlocked(n) || n.getClass() == r.getClass()); n.level(0); int level = r.level(); if (level > 0) { n.upgrade( level ); } else if (level < 0) { n.degrade( -level ); } n.levelKnown = r.levelKnown; n.cursedKnown = r.cursedKnown; n.cursed = r.cursed; return n; }
@Override public boolean doEquip(Hero hero) { if (super.doEquip(hero)){ hero.updateHT( false ); return true; } else { return false; } }
public void activate( Char ch ) { buff = buff(); buff.attachTo( ch ); }