v0.9.3: adjusted class armor to charge based on time, not exp
This commit is contained in:
parent
6f6e79128b
commit
39fae63ed8
|
@ -23,6 +23,9 @@ package com.shatteredpixel.shatteredpixeldungeon.items.armor;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.ArmorAbility;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.ArmorAbility;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.BrokenSeal;
|
import com.shatteredpixel.shatteredpixeldungeon.items.BrokenSeal;
|
||||||
|
@ -48,13 +51,35 @@ abstract public class ClassArmor extends Armor {
|
||||||
|
|
||||||
private int armorTier;
|
private int armorTier;
|
||||||
|
|
||||||
|
private Charger charger;
|
||||||
public float charge = 0;
|
public float charge = 0;
|
||||||
|
|
||||||
public ClassArmor() {
|
public ClassArmor() {
|
||||||
super( 6 );
|
super( 6 );
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ClassArmor upgrade ( Hero owner, Armor armor ) {
|
@Override
|
||||||
|
public void activate(Char ch) {
|
||||||
|
charger = new Charger();
|
||||||
|
charger.attachTo(ch);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean doUnequip( Hero hero, boolean collect, boolean single ) {
|
||||||
|
if (super.doUnequip( hero, collect, single )) {
|
||||||
|
if (charger != null){
|
||||||
|
charger.detach();
|
||||||
|
charger = null;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ClassArmor upgrade (Hero owner, Armor armor ) {
|
||||||
|
|
||||||
ClassArmor classArmor = null;
|
ClassArmor classArmor = null;
|
||||||
|
|
||||||
|
@ -85,11 +110,7 @@ abstract public class ClassArmor extends Armor {
|
||||||
classArmor.curseInfusionBonus = armor.curseInfusionBonus;
|
classArmor.curseInfusionBonus = armor.curseInfusionBonus;
|
||||||
classArmor.identify();
|
classArmor.identify();
|
||||||
|
|
||||||
classArmor.charge = 0;
|
classArmor.charge = 50;
|
||||||
if (owner.lvl > 18){
|
|
||||||
classArmor.charge += (owner.lvl-18)*25;
|
|
||||||
if (classArmor.charge > 100) classArmor.charge = 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
return classArmor;
|
return classArmor;
|
||||||
}
|
}
|
||||||
|
@ -155,14 +176,6 @@ abstract public class ClassArmor extends Armor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onHeroGainExp(float levelPercent, Hero hero) {
|
|
||||||
super.onHeroGainExp(levelPercent, hero);
|
|
||||||
charge += 50 * levelPercent;
|
|
||||||
if (charge > 100) charge = 100;
|
|
||||||
updateQuickslot();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String desc() {
|
public String desc() {
|
||||||
//TODO descriptions for each class armor
|
//TODO descriptions for each class armor
|
||||||
|
@ -207,4 +220,19 @@ abstract public class ClassArmor extends Armor {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class Charger extends Buff {
|
||||||
|
@Override
|
||||||
|
public boolean act() {
|
||||||
|
LockedFloor lock = target.buff(LockedFloor.class);
|
||||||
|
if (lock == null || lock.regenOn()) {
|
||||||
|
charge += 100 / 500f; //500 turns to full charge
|
||||||
|
updateQuickslot();
|
||||||
|
if (charge > 100) {
|
||||||
|
charge = 100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
spend(TICK);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user