v3.0.0: recall glyph now works with runestones
This commit is contained in:
+6
-13
@@ -60,12 +60,12 @@ import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HornOfPlenty;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring;
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.stones.Runestone;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.trinkets.ShardOfOblivion;
|
import com.shatteredpixel.shatteredpixeldungeon.items.trinkets.ShardOfOblivion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Gloves;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Gloves;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
@@ -707,18 +707,11 @@ public enum Talent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void onUpgradeScrollUsed( Hero hero ){
|
public static void onRunestoneUsed( Hero hero, int pos, Class<?extends Item> cls ){
|
||||||
if (hero.hasTalent(INSCRIBED_POWER)){
|
if (hero.heroClass == HeroClass.CLERIC
|
||||||
if (hero.heroClass == HeroClass.MAGE) {
|
&& hero.hasTalent(RECALL_GLYPH)
|
||||||
MagesStaff staff = hero.belongings.getItem(MagesStaff.class);
|
&& Runestone.class.isAssignableFrom(cls)){
|
||||||
if (staff != null) {
|
Buff.affect(hero, RecallGlyph.UsedGlyphTracker.class, hero.pointsInTalent(RECALL_GLYPH) == 2 ? 300 : 10).item = cls;
|
||||||
staff.gainCharge(2 + 2 * hero.pointsInTalent(INSCRIBED_POWER), true);
|
|
||||||
ScrollOfRecharging.charge(Dungeon.hero);
|
|
||||||
SpellSprite.show(hero, SpellSprite.CHARGE);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Buff.affect(hero, Recharging.class, 4 + 8 * hero.pointsInTalent(INSCRIBED_POWER));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-1
@@ -32,6 +32,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTransmutat
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ExoticScroll;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ExoticScroll;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfEnchantment;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfEnchantment;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfMetamorphosis;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfMetamorphosis;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.stones.InventoryStone;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.stones.Runestone;
|
import com.shatteredpixel.shatteredpixeldungeon.items.stones.Runestone;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAugmentation;
|
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAugmentation;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfEnchantment;
|
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfEnchantment;
|
||||||
@@ -66,10 +67,16 @@ public class RecallGlyph extends ClericSpell {
|
|||||||
|
|
||||||
item.setCurrent(hero);
|
item.setCurrent(hero);
|
||||||
|
|
||||||
//TODO runestones
|
|
||||||
if (item instanceof Scroll){
|
if (item instanceof Scroll){
|
||||||
((Scroll) item).anonymize();
|
((Scroll) item).anonymize();
|
||||||
((Scroll) item).doRead();
|
((Scroll) item).doRead();
|
||||||
|
} else if (item instanceof Runestone){
|
||||||
|
((Runestone) item).anonymize();
|
||||||
|
if (item instanceof InventoryStone){
|
||||||
|
((InventoryStone) item).directActivate();
|
||||||
|
} else {
|
||||||
|
item.doThrow(hero);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onSpellCast(tome, hero);
|
onSpellCast(tome, hero);
|
||||||
|
|||||||
+4
@@ -61,6 +61,10 @@ public abstract class InventoryStone extends Runestone {
|
|||||||
GameScene.selectItem( itemSelector );
|
GameScene.selectItem( itemSelector );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void directActivate(){
|
||||||
|
GameScene.selectItem( itemSelector );
|
||||||
|
}
|
||||||
|
|
||||||
protected void useAnimation() {
|
protected void useAnimation() {
|
||||||
curUser.spend( 1f );
|
curUser.spend( 1f );
|
||||||
curUser.busy();
|
curUser.busy();
|
||||||
|
|||||||
+14
-2
@@ -24,6 +24,7 @@ package com.shatteredpixel.shatteredpixeldungeon.items.stones;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.journal.Catalog;
|
import com.shatteredpixel.shatteredpixeldungeon.journal.Catalog;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
@@ -35,14 +36,25 @@ public abstract class Runestone extends Item {
|
|||||||
defaultAction = AC_THROW;
|
defaultAction = AC_THROW;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//anonymous stones don't count as consumed, do not drop, etc.
|
||||||
|
//useful for stones which are only spawned for their effects
|
||||||
|
protected boolean anonymous = false;
|
||||||
|
public void anonymize(){
|
||||||
|
image = ItemSpriteSheet.STONE_HOLDER;
|
||||||
|
anonymous = true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onThrow(int cell) {
|
protected void onThrow(int cell) {
|
||||||
///inventory stones are thrown like normal items, other stones don't trigger when thrown into pits
|
///inventory stones are thrown like normal items, other stones don't trigger when thrown into pits
|
||||||
if (this instanceof InventoryStone ||
|
if (this instanceof InventoryStone ||
|
||||||
(Dungeon.level.pit[cell] && Actor.findChar(cell) == null)){
|
(Dungeon.level.pit[cell] && Actor.findChar(cell) == null)){
|
||||||
super.onThrow( cell );
|
if (!anonymous) super.onThrow( cell );
|
||||||
} else {
|
} else {
|
||||||
Catalog.countUse(getClass());
|
if (!anonymous) {
|
||||||
|
Catalog.countUse(getClass());
|
||||||
|
Talent.onRunestoneUsed(curUser, cell, getClass());
|
||||||
|
}
|
||||||
activate(cell);
|
activate(cell);
|
||||||
if (Actor.findChar(cell) == null) Dungeon.level.pressCell( cell );
|
if (Actor.findChar(cell) == null) Dungeon.level.pressCell( cell );
|
||||||
Invisibility.dispel();
|
Invisibility.dispel();
|
||||||
|
|||||||
+3
-9
@@ -30,7 +30,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FlavourBuff;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||||
import com.watabou.noosa.audio.Sample;
|
import com.watabou.noosa.audio.Sample;
|
||||||
@@ -52,16 +51,11 @@ public class StoneOfAggression extends Runestone {
|
|||||||
} else {
|
} else {
|
||||||
Buff.prolong(ch, Aggression.class, Aggression.DURATION);
|
Buff.prolong(ch, Aggression.class, Aggression.DURATION);
|
||||||
}
|
}
|
||||||
CellEmitter.center(cell).start( Speck.factory( Speck.SCREAM ), 0.3f, 3 );
|
|
||||||
Sample.INSTANCE.play( Assets.Sounds.READ );
|
|
||||||
} else {
|
|
||||||
//Item.onThrow
|
|
||||||
Heap heap = Dungeon.level.drop( this, cell );
|
|
||||||
if (!heap.isEmpty()) {
|
|
||||||
heap.sprite.drop( cell );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CellEmitter.center(cell).start( Speck.factory( Speck.SCREAM ), 0.3f, 3 );
|
||||||
|
Sample.INSTANCE.play( Assets.Sounds.READ );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Aggression extends FlavourBuff {
|
public static class Aggression extends FlavourBuff {
|
||||||
|
|||||||
+13
-6
@@ -22,6 +22,7 @@
|
|||||||
package com.shatteredpixel.shatteredpixeldungeon.items.stones;
|
package com.shatteredpixel.shatteredpixeldungeon.items.stones;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Belongings;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Belongings;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
|
||||||
@@ -61,8 +62,11 @@ public class StoneOfAugmentation extends InventoryStone {
|
|||||||
weapon.augment = augment;
|
weapon.augment = augment;
|
||||||
useAnimation();
|
useAnimation();
|
||||||
ScrollOfUpgrade.upgrade(curUser);
|
ScrollOfUpgrade.upgrade(curUser);
|
||||||
curItem.detach( curUser.belongings.backpack );
|
if (!anonymous) {
|
||||||
Catalog.countUse(getClass());
|
curItem.detach(curUser.belongings.backpack);
|
||||||
|
Catalog.countUse(getClass());
|
||||||
|
Talent.onRunestoneUsed(curUser, curUser.pos, getClass());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void apply( Armor armor, Armor.Augment augment ) {
|
public void apply( Armor armor, Armor.Augment augment ) {
|
||||||
@@ -70,8 +74,11 @@ public class StoneOfAugmentation extends InventoryStone {
|
|||||||
armor.augment = augment;
|
armor.augment = augment;
|
||||||
useAnimation();
|
useAnimation();
|
||||||
ScrollOfUpgrade.upgrade(curUser);
|
ScrollOfUpgrade.upgrade(curUser);
|
||||||
curItem.detach( curUser.belongings.backpack );
|
if (!anonymous) {
|
||||||
Catalog.countUse(getClass());
|
curItem.detach(curUser.belongings.backpack);
|
||||||
|
Catalog.countUse(getClass());
|
||||||
|
Talent.onRunestoneUsed(curUser, curUser.pos, getClass());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -144,7 +151,7 @@ public class StoneOfAugmentation extends InventoryStone {
|
|||||||
@Override
|
@Override
|
||||||
protected void onClick() {
|
protected void onClick() {
|
||||||
hide();
|
hide();
|
||||||
StoneOfAugmentation.this.collect();
|
if (!anonymous) StoneOfAugmentation.this.collect();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
btnCancel.setRect( MARGIN, pos + MARGIN, BUTTON_WIDTH, BUTTON_HEIGHT );
|
btnCancel.setRect( MARGIN, pos + MARGIN, BUTTON_WIDTH, BUTTON_HEIGHT );
|
||||||
@@ -155,7 +162,7 @@ public class StoneOfAugmentation extends InventoryStone {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
StoneOfAugmentation.this.collect();
|
if (!anonymous) StoneOfAugmentation.this.collect();
|
||||||
super.onBackPressed();
|
super.onBackPressed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -53,7 +53,7 @@ public class StoneOfBlink extends Runestone {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void activate(int cell) {
|
protected void activate(int cell) {
|
||||||
if (!ScrollOfTeleportation.teleportToLocation(curUser, cell)){
|
if (!ScrollOfTeleportation.teleportToLocation(curUser, cell) && !anonymous){
|
||||||
Dungeon.level.drop(this, cell).sprite.drop();
|
Dungeon.level.drop(this, cell).sprite.drop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-2
@@ -22,6 +22,7 @@
|
|||||||
package com.shatteredpixel.shatteredpixeldungeon.items.stones;
|
package com.shatteredpixel.shatteredpixeldungeon.items.stones;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Belongings;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Belongings;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.EquipableItem;
|
import com.shatteredpixel.shatteredpixeldungeon.items.EquipableItem;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
||||||
@@ -82,8 +83,11 @@ public class StoneOfDetectMagic extends InventoryStone {
|
|||||||
GLog.w(Messages.get(this, "detected_bad"));
|
GLog.w(Messages.get(this, "detected_bad"));
|
||||||
}
|
}
|
||||||
|
|
||||||
curItem.detach( curUser.belongings.backpack );
|
if (!anonymous) {
|
||||||
Catalog.countUse(getClass());
|
curItem.detach(curUser.belongings.backpack);
|
||||||
|
Catalog.countUse(getClass());
|
||||||
|
Talent.onRunestoneUsed(curUser, curUser.pos, getClass());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-2
@@ -22,6 +22,7 @@
|
|||||||
package com.shatteredpixel.shatteredpixeldungeon.items.stones;
|
package com.shatteredpixel.shatteredpixeldungeon.items.stones;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Belongings;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Belongings;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Enchanting;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Enchanting;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
@@ -49,8 +50,11 @@ public class StoneOfEnchantment extends InventoryStone {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onItemSelected(Item item) {
|
protected void onItemSelected(Item item) {
|
||||||
curItem.detach( curUser.belongings.backpack );
|
if (!anonymous) {
|
||||||
Catalog.countUse(getClass());
|
curItem.detach(curUser.belongings.backpack);
|
||||||
|
Catalog.countUse(getClass());
|
||||||
|
Talent.onRunestoneUsed(curUser, curUser.pos, getClass());
|
||||||
|
}
|
||||||
|
|
||||||
if (item instanceof Weapon) {
|
if (item instanceof Weapon) {
|
||||||
|
|
||||||
|
|||||||
+11
-6
@@ -24,6 +24,7 @@ package com.shatteredpixel.shatteredpixeldungeon.items.stones;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Identification;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Identification;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
|
||||||
@@ -90,6 +91,7 @@ public class StoneOfIntuition extends InventoryStone {
|
|||||||
|
|
||||||
private static Class curGuess = null;
|
private static Class curGuess = null;
|
||||||
|
|
||||||
|
//TODO CLERIC! yikes...
|
||||||
public class WndGuess extends Window {
|
public class WndGuess extends Window {
|
||||||
|
|
||||||
private static final int WIDTH = 120;
|
private static final int WIDTH = 120;
|
||||||
@@ -114,7 +116,6 @@ public class StoneOfIntuition extends InventoryStone {
|
|||||||
protected void onClick() {
|
protected void onClick() {
|
||||||
super.onClick();
|
super.onClick();
|
||||||
useAnimation();
|
useAnimation();
|
||||||
Catalog.countUse(StoneOfIntuition.class);
|
|
||||||
if (item.getClass() == curGuess){
|
if (item.getClass() == curGuess){
|
||||||
if (item instanceof Ring){
|
if (item instanceof Ring){
|
||||||
((Ring) item).setKnown();
|
((Ring) item).setKnown();
|
||||||
@@ -126,11 +127,15 @@ public class StoneOfIntuition extends InventoryStone {
|
|||||||
} else {
|
} else {
|
||||||
GLog.w( Messages.get(WndGuess.class, "incorrect") );
|
GLog.w( Messages.get(WndGuess.class, "incorrect") );
|
||||||
}
|
}
|
||||||
if (curUser.buff(IntuitionUseTracker.class) == null){
|
if (!anonymous) {
|
||||||
Buff.affect(curUser, IntuitionUseTracker.class);
|
Catalog.countUse(StoneOfIntuition.class);
|
||||||
} else {
|
Talent.onRunestoneUsed(curUser, curUser.pos, StoneOfIntuition.class);
|
||||||
curItem.detach( curUser.belongings.backpack );
|
if (curUser.buff(IntuitionUseTracker.class) == null) {
|
||||||
curUser.buff(IntuitionUseTracker.class).detach();
|
Buff.affect(curUser, IntuitionUseTracker.class);
|
||||||
|
} else {
|
||||||
|
curItem.detach(curUser.belongings.backpack);
|
||||||
|
curUser.buff(IntuitionUseTracker.class).detach();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
curGuess = null;
|
curGuess = null;
|
||||||
hide();
|
hide();
|
||||||
|
|||||||
Reference in New Issue
Block a user