v3.3.0: Duelist's weapon charge buff is no longer lost in rankings
This commit is contained in:
@@ -34,6 +34,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.quest.CorpseDust;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.trinkets.Trinket;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.journal.Notes;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
|
||||
@@ -272,7 +273,10 @@ public enum Rankings {
|
||||
|
||||
//remove all buffs (ones tied to equipment will be re-applied)
|
||||
for(Buff b : Dungeon.hero.buffs()){
|
||||
Dungeon.hero.remove(b);
|
||||
//except Duelist's melee weapon charge buff
|
||||
if (!(b instanceof MeleeWeapon.Charger)) {
|
||||
Dungeon.hero.remove(b);
|
||||
}
|
||||
}
|
||||
|
||||
rec.gameData.put( HERO, Dungeon.hero );
|
||||
|
||||
@@ -139,6 +139,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Crossbow;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Flail;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Quarterstaff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.RoundShield;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Sai;
|
||||
@@ -2091,6 +2092,18 @@ public class Hero extends Char {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected synchronized void onRemove() {
|
||||
//same as super, except we retain charger for rankings purposes
|
||||
for (Buff buff : buffs()) {
|
||||
if (buff instanceof MeleeWeapon.Charger){
|
||||
Actor.remove(buff);
|
||||
} else {
|
||||
buff.detach();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void die( Object cause ) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user