V0.2.0: Implemented artifact level display
This commit is contained in:
parent
4721a9476c
commit
9034325963
|
@ -6,6 +6,7 @@ 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.KindofMisc;
|
import com.shatteredpixel.shatteredpixeldungeon.items.KindofMisc;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.utils.Utils;
|
||||||
import com.watabou.utils.Bundle;
|
import com.watabou.utils.Bundle;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -15,22 +16,34 @@ import java.util.ArrayList;
|
||||||
*/
|
*/
|
||||||
public class Artifact extends KindofMisc {
|
public class Artifact extends KindofMisc {
|
||||||
|
|
||||||
|
{
|
||||||
|
levelKnown = true;
|
||||||
|
}
|
||||||
|
|
||||||
private static final float TIME_TO_EQUIP = 1f;
|
private static final float TIME_TO_EQUIP = 1f;
|
||||||
|
|
||||||
|
private static final String TXT_TO_STRING = "%s";
|
||||||
|
private static final String TXT_TO_STRING_CHARGE = "%s (%d/%d)";
|
||||||
|
private static final String TXT_TO_STRING_LVL = "%s%+d";
|
||||||
|
private static final String TXT_TO_STRING_LVL_CHARGE = "%s%+d (%d/%d)";
|
||||||
|
|
||||||
protected Buff passiveBuff;
|
protected Buff passiveBuff;
|
||||||
protected Buff activeBuff;
|
protected Buff activeBuff;
|
||||||
|
|
||||||
//level is used internally to track upgrades to artifacts, size/logic varies per artifact.
|
//level is used internally to track upgrades to artifacts, size/logic varies per artifact.
|
||||||
|
//levelCap is the artifact's maximum level
|
||||||
|
protected int levelCap = 0;
|
||||||
|
|
||||||
//the current artifact charge
|
//the current artifact charge
|
||||||
protected int charge = 0;
|
protected int charge = 0;
|
||||||
//the % towards next charge, should roll over at a value of 1 or higher.
|
//the build towards next charge, usually rolls over at 1.
|
||||||
//better to keep charge as an int and use a separate float than casting.
|
//better to keep charge as an int and use a separate float than casting.
|
||||||
protected float partialCharge = 0;
|
protected float partialCharge = 0;
|
||||||
//the maximum charge, varies per artifact, not all artifacts use this.
|
//the maximum charge, varies per artifact, not all artifacts use this.
|
||||||
protected int chargeCap = 0;
|
protected int chargeCap = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Artifact(){
|
public Artifact(){
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
@ -111,11 +124,34 @@ public class Artifact extends KindofMisc {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int visiblyUpgraded() {
|
||||||
|
return ((level*10)/levelCap);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isIdentified() {
|
public boolean isIdentified() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
|
||||||
|
if (levelKnown && level != 0) {
|
||||||
|
if (chargeCap > 0) {
|
||||||
|
return Utils.format( TXT_TO_STRING_LVL_CHARGE, name(), visiblyUpgraded(), charge, chargeCap );
|
||||||
|
} else {
|
||||||
|
return Utils.format( TXT_TO_STRING_LVL, name(), visiblyUpgraded() );
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (chargeCap > 0) {
|
||||||
|
return Utils.format( TXT_TO_STRING_CHARGE, name(), charge, chargeCap );
|
||||||
|
} else {
|
||||||
|
return Utils.format( TXT_TO_STRING, name() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected ArtifactBuff passiveBuff() {
|
protected ArtifactBuff passiveBuff() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -131,7 +167,6 @@ public class Artifact extends KindofMisc {
|
||||||
bundle.put( "level", level );
|
bundle.put( "level", level );
|
||||||
bundle.put( "charge", charge );
|
bundle.put( "charge", charge );
|
||||||
bundle.put( "partialcharge", partialCharge);
|
bundle.put( "partialcharge", partialCharge);
|
||||||
bundle.put( "chargecap", chargeCap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -139,7 +174,6 @@ public class Artifact extends KindofMisc {
|
||||||
level = bundle.getInt("level");
|
level = bundle.getInt("level");
|
||||||
charge = bundle.getInt("charge");
|
charge = bundle.getInt("charge");
|
||||||
partialCharge = bundle.getFloat("partialcharge");
|
partialCharge = bundle.getFloat("partialcharge");
|
||||||
chargeCap = bundle.getInt("chargecap");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ public class ChaliceOfBlood extends Artifact {
|
||||||
name = "Chalice of Blood";
|
name = "Chalice of Blood";
|
||||||
image = ItemSpriteSheet.ARTIFACT_CHALICE;
|
image = ItemSpriteSheet.ARTIFACT_CHALICE;
|
||||||
level = 0;
|
level = 0;
|
||||||
|
levelCap = 8;
|
||||||
//charge & chargecap are unused
|
//charge & chargecap are unused
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@ package com.shatteredpixel.shatteredpixeldungeon.items.artifacts;
|
||||||
|
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
|
@ -26,6 +25,7 @@ public class CloakOfShadows extends Artifact {
|
||||||
name = "Cloak of Shadows";
|
name = "Cloak of Shadows";
|
||||||
image = ItemSpriteSheet.ARTIFACT_CLOAK;
|
image = ItemSpriteSheet.ARTIFACT_CLOAK;
|
||||||
level = 0;
|
level = 0;
|
||||||
|
levelCap = 15;
|
||||||
charge = level+5;
|
charge = level+5;
|
||||||
chargeCap = level+5;
|
chargeCap = level+5;
|
||||||
defaultAction = AC_STEALTH;
|
defaultAction = AC_STEALTH;
|
||||||
|
@ -128,11 +128,6 @@ public class CloakOfShadows extends Artifact {
|
||||||
return Utils.format(TXT_CD, cooldown);
|
return Utils.format(TXT_CD, cooldown);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return super.toString() + " (" + Utils.format(TXT_CHARGE, charge, chargeCap) + ")" ;
|
|
||||||
}
|
|
||||||
|
|
||||||
public class cloakRecharge extends ArtifactBuff{
|
public class cloakRecharge extends ArtifactBuff{
|
||||||
@Override
|
@Override
|
||||||
public boolean act() {
|
public boolean act() {
|
||||||
|
@ -191,7 +186,7 @@ public class CloakOfShadows extends Artifact {
|
||||||
exp += 10 + ((Hero)target).lvl;
|
exp += 10 + ((Hero)target).lvl;
|
||||||
|
|
||||||
//max level is 15 (20 charges)
|
//max level is 15 (20 charges)
|
||||||
if (exp >= (level+1)*50 && level < 15) {
|
if (exp >= (level+1)*50 && level < levelCap) {
|
||||||
level++;
|
level++;
|
||||||
chargeCap++;
|
chargeCap++;
|
||||||
exp -= level*50;
|
exp -= level*50;
|
||||||
|
@ -226,6 +221,7 @@ public class CloakOfShadows extends Artifact {
|
||||||
@Override
|
@Override
|
||||||
public void storeInBundle( Bundle bundle ) {
|
public void storeInBundle( Bundle bundle ) {
|
||||||
super.storeInBundle(bundle);
|
super.storeInBundle(bundle);
|
||||||
|
bundle.put("chargecap", chargeCap);
|
||||||
bundle.put("stealthed", stealthed);
|
bundle.put("stealthed", stealthed);
|
||||||
bundle.put("cooldown", cooldown);
|
bundle.put("cooldown", cooldown);
|
||||||
bundle.put("exp", exp);
|
bundle.put("exp", exp);
|
||||||
|
@ -234,6 +230,7 @@ public class CloakOfShadows extends Artifact {
|
||||||
@Override
|
@Override
|
||||||
public void restoreFromBundle( Bundle bundle ) {
|
public void restoreFromBundle( Bundle bundle ) {
|
||||||
super.restoreFromBundle(bundle);
|
super.restoreFromBundle(bundle);
|
||||||
|
chargeCap = bundle.getInt("chargecap");
|
||||||
stealthed = bundle.getBoolean("stealthed");
|
stealthed = bundle.getBoolean("stealthed");
|
||||||
cooldown = bundle.getInt("cooldown");
|
cooldown = bundle.getInt("cooldown");
|
||||||
exp = bundle.getInt("exp");
|
exp = bundle.getInt("exp");
|
||||||
|
|
|
@ -32,6 +32,7 @@ public class HornOfPlenty extends Artifact {
|
||||||
name = "Horn of Plenty";
|
name = "Horn of Plenty";
|
||||||
image = ItemSpriteSheet.ARTIFACT_HORN;
|
image = ItemSpriteSheet.ARTIFACT_HORN;
|
||||||
level = 0;
|
level = 0;
|
||||||
|
levelCap = 30;
|
||||||
charge = 0;
|
charge = 0;
|
||||||
chargeCap = 10;
|
chargeCap = 10;
|
||||||
}
|
}
|
||||||
|
@ -120,11 +121,6 @@ public class HornOfPlenty extends Artifact {
|
||||||
return Utils.format(TXT_STATUS, charge, chargeCap);
|
return Utils.format(TXT_STATUS, charge, chargeCap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return super.toString() + " (" + status() + ")" ;
|
|
||||||
}
|
|
||||||
|
|
||||||
public class hornRecharge extends ArtifactBuff{
|
public class hornRecharge extends ArtifactBuff{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue
Block a user