public void absorbEnergy( int energy ){ exp += energy; while (exp >= 10 && level() < levelCap){ upgrade(); exp -= 10; } if (level() == levelCap){ partialCharge += exp; energy -= exp; exp = 0; } partialCharge += energy/3f; while (partialCharge >= 1){ partialCharge -= 1; charge++; if (charge >= chargeCap){ charge = chargeCap; partialCharge = 0; break; } } updateQuickslot(); }
public void absorbEnergy( int energy ){ exp += energy; while (exp >= 10 && level() < levelCap){ upgrade(); exp -= 10; } if (level() == levelCap){ partialCharge += exp; energy -= exp; exp = 0; } partialCharge += energy/3f; while (partialCharge >= 1){ partialCharge -= 1; charge++; if (charge >= chargeCap){ charge = chargeCap; partialCharge = 0; break; } } updateQuickslot(); }
@Override public Item sampleOutput(ArrayList<Item> ingredients) { AlchemistsToolkit sample = new AlchemistsToolkit(); sample.identify(); AlchemistsToolkit existing = (AlchemistsToolkit) ingredients.get(0); sample.charge = existing.charge; sample.partialCharge = existing.partialCharge; sample.exp = existing.exp; sample.level(existing.level()); sample.absorbEnergy(AlchemyScene.availableEnergy()); return sample; } }
@Override public Item sampleOutput(ArrayList<Item> ingredients) { AlchemistsToolkit sample = new AlchemistsToolkit(); sample.identify(); AlchemistsToolkit existing = (AlchemistsToolkit) ingredients.get(0); sample.charge = existing.charge; sample.partialCharge = existing.partialCharge; sample.exp = existing.exp; sample.level(existing.level()); sample.absorbEnergy(AlchemyScene.availableEnergy()); return sample; } }
public void gainCharge(float levelPortion) { alchemyReady = true; if (cursed) return; if (charge < chargeCap) { //generates 2 energy every hero level, +0.1 energy per toolkit level //to a max of 12 energy per hero level //This means that energy absorbed into the kit is recovered in 6.67 hero levels (as 33% of input energy is kept) //exp towards toolkit levels is included here float effectiveLevel = GameMath.gate(0, level() + exp/10f, 10); partialCharge += (2 + (1f * effectiveLevel)) * levelPortion; //charge is in increments of 1/10 max hunger value. while (partialCharge >= 1) { charge++; partialCharge -= 1; if (charge == chargeCap){ GLog.p( Messages.get(AlchemistsToolkit.class, "full") ); partialCharge = 0; } updateQuickslot(); } } else partialCharge = 0; }
public void gainCharge(float levelPortion) { alchemyReady = true; if (cursed) return; if (charge < chargeCap) { //generates 2 energy every hero level, +0.1 energy per toolkit level //to a max of 12 energy per hero level //This means that energy absorbed into the kit is recovered in 6.67 hero levels (as 33% of input energy is kept) //exp towards toolkit levels is included here float effectiveLevel = GameMath.gate(0, level() + exp/10f, 10); partialCharge += (2 + (1f * effectiveLevel)) * levelPortion; //charge is in increments of 1/10 max hunger value. while (partialCharge >= 1) { charge++; partialCharge -= 1; if (charge == chargeCap){ GLog.p( Messages.get(AlchemistsToolkit.class, "full") ); partialCharge = 0; } updateQuickslot(); } } else partialCharge = 0; }