v0.2.3d: tweaks to stealth deactivation, also fixes some bugs with hourglass

This commit is contained in:
Evan Debenham 2015-01-12 22:27:21 -05:00
parent fd375b80e3
commit a2c17c1338
3 changed files with 6 additions and 5 deletions

View File

@ -56,17 +56,17 @@ public class Invisibility extends FlavourBuff {
public static void dispel() { public static void dispel() {
Invisibility buff = Dungeon.hero.buff( Invisibility.class ); Invisibility buff = Dungeon.hero.buff( Invisibility.class );
if (buff != null && Dungeon.hero.visibleEnemies() > 0) { if (buff != null) {
buff.detach(); buff.detach();
} }
CloakOfShadows.cloakStealth cloakBuff = Dungeon.hero.buff( CloakOfShadows.cloakStealth.class ); CloakOfShadows.cloakStealth cloakBuff = Dungeon.hero.buff( CloakOfShadows.cloakStealth.class );
if (cloakBuff != null && Dungeon.hero.visibleEnemies() > 0) { if (cloakBuff != null) {
cloakBuff.act(); cloakBuff.act();
cloakBuff.detach(); cloakBuff.detach();
} }
//this isn't a form of invisibilty, but it is meant to dispel at the same time as it. //this isn't a form of invisibilty, but it is meant to dispel at the same time as it.
TimekeepersHourglass.timeFreeze timeFreeze = Dungeon.hero.buff( TimekeepersHourglass.timeFreeze.class ); TimekeepersHourglass.timeFreeze timeFreeze = Dungeon.hero.buff( TimekeepersHourglass.timeFreeze.class );
if (timeFreeze != null && Dungeon.hero.visibleEnemies() > 0) { if (timeFreeze != null) {
timeFreeze.detach(); timeFreeze.detach();
} }
} }

View File

@ -17,6 +17,7 @@
*/ */
package com.shatteredpixel.shatteredpixeldungeon.items.armor; package com.shatteredpixel.shatteredpixeldungeon.items.armor;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.utils.Bundle; import com.watabou.utils.Bundle;
@ -103,6 +104,7 @@ abstract public class ClassArmor extends Armor {
GLog.w( TXT_NOT_EQUIPPED ); GLog.w( TXT_NOT_EQUIPPED );
} else { } else {
curUser = hero; curUser = hero;
Invisibility.dispel();
doSpecial(); doSpecial();
} }

View File

@ -24,7 +24,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Fury; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Fury;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
@ -95,7 +94,7 @@ public class WarriorArmor extends ClassArmor {
Buff.affect( curUser, Fury.class ); Buff.affect( curUser, Fury.class );
} }
Invisibility.dispel();
final int dest = cell; final int dest = cell;
curUser.busy(); curUser.busy();