V0.2.0: cleaned artifact class structure, improved cloak.

This commit is contained in:
Evan Debenham 2014-08-26 16:51:46 -04:00
parent fdfae8e215
commit 2f6f42c946
2 changed files with 26 additions and 7 deletions

View File

@ -20,9 +20,15 @@ public class Artifact extends KindofMisc {
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.
protected int level = 1; protected int level = 1;
//the current artifact charge
protected int charge = 0; protected int charge = 0;
protected int chargeCap; //the % towards next charge, should roll over at a value of 1 or higher.
//better to keep charge as an int and use a separate float than casting.
protected float partialCharge = 0;
//the maximum charge, varies per artifact, not all artifacts use this.
protected int chargeCap = 0;
public Artifact(){ public Artifact(){
@ -119,12 +125,16 @@ public class Artifact extends KindofMisc {
public void storeInBundle( Bundle bundle ) { public void storeInBundle( Bundle bundle ) {
bundle.put( "level", level ); bundle.put( "level", level );
bundle.put( "charge", charge ); bundle.put( "charge", charge );
bundle.put( "partialcharge", partialCharge);
bundle.put( "chargecap", chargeCap);
} }
@Override @Override
public void restoreFromBundle( Bundle bundle ) { public void restoreFromBundle( Bundle bundle ) {
level = bundle.getInt("level"); level = bundle.getInt("level");
charge = bundle.getInt("charge"); charge = bundle.getInt("charge");
partialCharge = bundle.getFloat("partialcharge");
chargeCap = bundle.getInt("chargecap");
} }

View File

@ -2,6 +2,7 @@ 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;
@ -18,9 +19,9 @@ import java.util.ArrayList;
* Created by debenhame on 25/08/2014. * Created by debenhame on 25/08/2014.
*/ */
public class CloakOfShadows extends Artifact { public class CloakOfShadows extends Artifact {
//TODO: refine requirements for entering stealth, finish bundle support, add polish //TODO: testing, add polish
//TODO: known bugs: first tick of stealth sometimes too quick. //TODO: known bugs: first tick of stealth sometimes too quick, test current fix.
{ {
name = "Cloak of Shadows"; name = "Cloak of Shadows";
@ -119,7 +120,6 @@ public class CloakOfShadows extends Artifact {
} }
public class cloakRecharge extends ArtifactBuff{ public class cloakRecharge extends ArtifactBuff{
double partialCharge = 0;
@Override @Override
public boolean act() { public boolean act() {
if (charge < chargeCap) { if (charge < chargeCap) {
@ -204,13 +204,22 @@ 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("stealthed", stealthed); bundle.put("stealthed", stealthed);
} }
@Override @Override
public void restoreFromBundle( Bundle bundle ) { public void restoreFromBundle( Bundle bundle ) {
super.restoreFromBundle(bundle); super.restoreFromBundle(bundle);
chargeCap = level+4; stealthed = bundle.getBoolean("stealthed");
//stealthed = bundle.getBoolean("stealthed"); if (stealthed) {
Hero hero = Dungeon.hero;
activeBuff = activeBuff();
activeBuff.attachTo(hero);
if (hero.sprite.parent != null) {
hero.sprite.parent.add(new AlphaTweener(hero.sprite, 0.4f, 0.4f));
} else {
hero.sprite.alpha(0.4f);
}
}
} }
} }