public void gainExp( float levelPortion ) { if (cursed || levelPortion == 0) return; exp += Math.round(levelPortion*100); //past the soft charge cap, gaining charge from leveling is slowed. if (charge > 5+(level()*2)){ levelPortion *= (5+((float)level()*2))/charge; } partialCharge += levelPortion*10f; if (exp > 100+level()*50 && level() < levelCap){ exp -= 100+level()*50; GLog.p( Messages.get(this, "levelup") ); upgrade(); } } }
public void gainExp( float levelPortion ) { if (cursed || levelPortion == 0) return; exp += Math.round(levelPortion*100); //past the soft charge cap, gaining charge from leveling is slowed. if (charge > 5+(level()*2)){ levelPortion *= (5+((float)level()*2))/charge; } partialCharge += levelPortion*10f; if (exp > 100+level()*50 && level() < levelCap){ exp -= 100+level()*50; GLog.p( Messages.get(this, "levelup") ); upgrade(); } } }
@Override public void charge(Hero target) { int chargeTarget = 5+(level()*2); if (charge < chargeTarget*2){ partialCharge += 0.5f; if (partialCharge >= 1){ partialCharge--; charge++; updateQuickslot(); } } }
@Override public void charge(Hero target) { int chargeTarget = 5+(level()*2); if (charge < chargeTarget*2){ partialCharge += 0.5f; if (partialCharge >= 1){ partialCharge--; charge++; updateQuickslot(); } } }
@Override public boolean act() { int chargeTarget = 5+(level()*2); LockedFloor lock = target.buff(LockedFloor.class); if (charge < chargeTarget && !cursed && (lock == null || lock.regenOn())) { partialCharge += 1 / (40f - (chargeTarget - charge)*2f); } else if (cursed && Random.Int(100) == 0){ Buff.prolong( target, Cripple.class, 10f); } if (partialCharge >= 1) { partialCharge --; charge ++; } updateQuickslot(); spend( TICK ); return true; }
@Override public boolean act() { int chargeTarget = 5+(level()*2); LockedFloor lock = target.buff(LockedFloor.class); if (charge < chargeTarget && !cursed && (lock == null || lock.regenOn())) { partialCharge += 1 / (40f - (chargeTarget - charge)*2f); } else if (cursed && Random.Int(100) == 0){ Buff.prolong( target, Cripple.class, 10f); } if (partialCharge >= 1) { partialCharge --; charge ++; } updateQuickslot(); spend( TICK ); return true; }