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.rings.Ring;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.trinkets.Trinket;
|
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.journal.Notes;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.QuickSlotButton;
|
||||||
@@ -272,7 +273,10 @@ public enum Rankings {
|
|||||||
|
|
||||||
//remove all buffs (ones tied to equipment will be re-applied)
|
//remove all buffs (ones tied to equipment will be re-applied)
|
||||||
for(Buff b : Dungeon.hero.buffs()){
|
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 );
|
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.Crossbow;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Flail;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Flail;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
|
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.Quarterstaff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.RoundShield;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.RoundShield;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Sai;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Sai;
|
||||||
@@ -2091,6 +2092,18 @@ public class Hero extends Char {
|
|||||||
return false;
|
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
|
@Override
|
||||||
public void die( Object cause ) {
|
public void die( Object cause ) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user