@Override protected void onItemSelected(Item item) { CellEmitter.get(curUser.pos).burst(ShadowParticle.UP, 5); Sample.INSTANCE.play(Assets.SND_CURSED); item.cursed = true; if (item instanceof MeleeWeapon || item instanceof SpiritBow) { Weapon w = (Weapon) item; Class<? extends Weapon.Enchantment> curr = null; if (w.enchantment != null) { w.enchant(Weapon.Enchantment.randomCurse(w.enchantment.getClass())); } else { w.enchant(Weapon.Enchantment.randomCurse(curr)); } } else if (item instanceof Armor){ Armor a = (Armor) item; if (a.glyph != null){ a.inscribe(Armor.Glyph.randomCurse(a.glyph.getClass())); } else { a.inscribe(Armor.Glyph.randomCurse()); } } }
@Override protected void onItemSelected(Item item) { CellEmitter.get(curUser.pos).burst(ShadowParticle.UP, 5); Sample.INSTANCE.play(Assets.SND_CURSED); item.cursed = true; if (item instanceof MeleeWeapon || item instanceof SpiritBow) { Weapon w = (Weapon) item; Class<? extends Weapon.Enchantment> curr = null; if (w.enchantment != null) { w.enchant(Weapon.Enchantment.randomCurse(w.enchantment.getClass())); } else { w.enchant(Weapon.Enchantment.randomCurse(curr)); } } else if (item instanceof Armor){ Armor a = (Armor) item; if (a.glyph != null){ a.inscribe(Armor.Glyph.randomCurse(a.glyph.getClass())); } else { a.inscribe(Armor.Glyph.randomCurse()); } } }
@Override public Item random() { //+0: 75% (3/4) //+1: 20% (4/20) //+2: 5% (1/20) int n = 0; if (Random.Int(4) == 0) { n++; if (Random.Int(5) == 0) { n++; } } level(n); //30% chance to be cursed //10% chance to be enchanted float effectRoll = Random.Float(); if (effectRoll < 0.3f) { enchant(Enchantment.randomCurse()); cursed = true; } else if (effectRoll >= 0.9f){ enchant(); } return this; }
@Override public Item random() { //+0: 75% (3/4) //+1: 20% (4/20) //+2: 5% (1/20) int n = 0; if (Random.Int(4) == 0) { n++; if (Random.Int(5) == 0) { n++; } } level(n); //30% chance to be cursed //10% chance to be enchanted float effectRoll = Random.Float(); if (effectRoll < 0.3f) { enchant(Enchantment.randomCurse()); cursed = true; } else if (effectRoll >= 0.9f){ enchant(); } return this; }
private static void curse(Item item){ item.cursed = item.cursedKnown = true; if (item instanceof Weapon){ Weapon w = (Weapon) item; if (w.enchantment == null){ w.enchantment = Weapon.Enchantment.randomCurse(); } } if (item instanceof Armor){ Armor a = (Armor) item; if (a.glyph == null){ a.glyph = Armor.Glyph.randomCurse(); } } } }
private static void curse(Item item){ item.cursed = item.cursedKnown = true; if (item instanceof Weapon){ Weapon w = (Weapon) item; if (w.enchantment == null){ w.enchantment = Weapon.Enchantment.randomCurse(); } } if (item instanceof Armor){ Armor a = (Armor) item; if (a.glyph == null){ a.glyph = Armor.Glyph.randomCurse(); } } } }