v3.3.0: fixed various item buffs persisting in new quest area
This commit is contained in:
@@ -23,8 +23,13 @@ package com.shatteredpixel.shatteredpixeldungeon.items.quest;
|
|||||||
|
|
||||||
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.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClassArmor;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.VaultLevel;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.VaultLevel;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.features.LevelTransition;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.features.LevelTransition;
|
||||||
@@ -67,6 +72,16 @@ public class EscapeCrystal extends Item {
|
|||||||
|
|
||||||
Sample.INSTANCE.play(Assets.Sounds.TELEPORT);
|
Sample.INSTANCE.play(Assets.Sounds.TELEPORT);
|
||||||
|
|
||||||
|
//for full release this will remove any non revive persists buff, but for now just do item buffs
|
||||||
|
for (Buff b : hero.buffs()){
|
||||||
|
if (b instanceof Wand.Charger
|
||||||
|
|| b instanceof Artifact.ArtifactBuff
|
||||||
|
|| b instanceof MeleeWeapon.Charger
|
||||||
|
|| b instanceof ClassArmor.Charger){
|
||||||
|
b.detach();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
restoreHeroBelongings(hero);
|
restoreHeroBelongings(hero);
|
||||||
|
|
||||||
Level.beforeTransition();
|
Level.beforeTransition();
|
||||||
|
|||||||
@@ -24,11 +24,16 @@ package com.shatteredpixel.shatteredpixeldungeon.levels;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
|
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Imp;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Imp;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ElmoParticle;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ElmoParticle;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClassArmor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor;
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.quest.EscapeCrystal;
|
import com.shatteredpixel.shatteredpixeldungeon.items.quest.EscapeCrystal;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.features.LevelTransition;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.features.LevelTransition;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.CityPainter;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.CityPainter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||||
@@ -150,6 +155,17 @@ public class CityLevel extends RegularLevel {
|
|||||||
@Override
|
@Override
|
||||||
protected void onSelect(int index) {
|
protected void onSelect(int index) {
|
||||||
if (index == 0){
|
if (index == 0){
|
||||||
|
|
||||||
|
//for full release this will remove any non revive persists buff, but for now just do item buffs
|
||||||
|
for (Buff b : hero.buffs()){
|
||||||
|
if (b instanceof Wand.Charger
|
||||||
|
|| b instanceof Artifact.ArtifactBuff
|
||||||
|
|| b instanceof MeleeWeapon.Charger
|
||||||
|
|| b instanceof ClassArmor.Charger){
|
||||||
|
b.detach();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EscapeCrystal crystal = new EscapeCrystal();
|
EscapeCrystal crystal = new EscapeCrystal();
|
||||||
crystal.storeHeroBelongings(Dungeon.hero);
|
crystal.storeHeroBelongings(Dungeon.hero);
|
||||||
crystal.collect();
|
crystal.collect();
|
||||||
|
|||||||
Reference in New Issue
Block a user