v0.7.0: various balance changes to exotic potions and scrolls
This commit is contained in:
parent
2cf03c5595
commit
a82c40e774
|
@ -32,7 +32,7 @@ public class AdrenalineSurge extends Buff {
|
|||
}
|
||||
|
||||
private int boost;
|
||||
private static final float INTERVAL = TICK * 500f;
|
||||
private static final float INTERVAL = TICK * 800f;
|
||||
|
||||
public void reset(){
|
||||
boost = 2;
|
||||
|
|
|
@ -29,7 +29,7 @@ import com.watabou.noosa.Image;
|
|||
|
||||
public class MagicalSight extends FlavourBuff {
|
||||
|
||||
public static final float DURATION = 30f;
|
||||
public static final float DURATION = 50f;
|
||||
|
||||
public int distance = 8;
|
||||
|
||||
|
|
|
@ -44,6 +44,6 @@ public class PotionOfCorrosiveGas extends ExoticPotion {
|
|||
Sample.INSTANCE.play( Assets.SND_SHATTER );
|
||||
}
|
||||
|
||||
GameScene.add( Blob.seed( cell, 120, CorrosiveGas.class ).setStrength( 1 + Dungeon.depth/5));
|
||||
GameScene.add( Blob.seed( cell, 200, CorrosiveGas.class ).setStrength( 1 + Dungeon.depth/5));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,26 +74,43 @@ public class ScrollOfDivination extends ExoticScroll {
|
|||
ArrayList<Item> IDed = new ArrayList<>();
|
||||
int left = 4;
|
||||
|
||||
float[] baseProbs = new float[]{3, 3, 3};
|
||||
float[] probs = baseProbs.clone();
|
||||
|
||||
while (left > 0 && total > 0) {
|
||||
try {
|
||||
switch (Random.Int(3)) {
|
||||
case 0:
|
||||
switch (Random.chances(probs)) {
|
||||
default:
|
||||
if (potions.isEmpty()) continue;
|
||||
probs = baseProbs.clone();
|
||||
continue;
|
||||
case 0:
|
||||
if (potions.isEmpty()) {
|
||||
probs[0] = 0;
|
||||
continue;
|
||||
}
|
||||
probs[0]--;
|
||||
Potion p = Random.element(potions).newInstance();
|
||||
p.setKnown();
|
||||
IDed.add(p);
|
||||
potions.remove(p.getClass());
|
||||
break;
|
||||
case 1:
|
||||
if (scrolls.isEmpty()) continue;
|
||||
if (scrolls.isEmpty()) {
|
||||
probs[1] = 0;
|
||||
continue;
|
||||
}
|
||||
probs[1]--;
|
||||
Scroll s = Random.element(scrolls).newInstance();
|
||||
s.setKnown();
|
||||
IDed.add(s);
|
||||
scrolls.remove(s.getClass());
|
||||
break;
|
||||
case 2:
|
||||
if (rings.isEmpty()) continue;
|
||||
if (rings.isEmpty()) {
|
||||
probs[2] = 0;
|
||||
continue;
|
||||
}
|
||||
probs[2]--;
|
||||
Ring r = Random.element(rings).newInstance();
|
||||
r.setKnown();
|
||||
IDed.add(r);
|
||||
|
|
|
@ -40,7 +40,7 @@ public class ScrollOfForesight extends ExoticScroll {
|
|||
Sample.INSTANCE.play( Assets.SND_READ );
|
||||
Invisibility.dispel();
|
||||
|
||||
Buff.affect(curUser, Foresight.class, 500f);
|
||||
Buff.affect(curUser, Foresight.class, 600f);
|
||||
|
||||
setKnown();
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.TargetHealthIndicator;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
public class ScrollOfPolymorph extends ExoticScroll {
|
||||
|
||||
|
@ -54,6 +55,12 @@ public class ScrollOfPolymorph extends ExoticScroll {
|
|||
Sheep sheep = new Sheep();
|
||||
sheep.lifespan = 10;
|
||||
sheep.pos = mob.pos;
|
||||
|
||||
//awards half exp for each sheep-ified mob
|
||||
//50% chance to round up, 50% to round down
|
||||
if (mob.EXP % 2 == 1) mob.EXP += Random.Int(2);
|
||||
mob.EXP /= 2;
|
||||
|
||||
mob.destroy();
|
||||
mob.sprite.killAndErase();
|
||||
Dungeon.level.mobs.remove(mob);
|
||||
|
|
|
@ -58,7 +58,7 @@ public class ScrollOfPsionicBlast extends ExoticScroll {
|
|||
}
|
||||
}
|
||||
|
||||
curUser.damage(Math.max(0, Math.round(curUser.HT*(0.35f - 0.5f*targets))), this);
|
||||
curUser.damage(Math.max(0, Math.round(curUser.HT*(0.5f * (float)Math.pow(0.9, targets)))), this);
|
||||
if (curUser.isAlive()) {
|
||||
Buff.prolong(curUser, Blindness.class, 10);
|
||||
Buff.prolong(curUser, Weakness.class, 100);
|
||||
|
|
Loading…
Reference in New Issue
Block a user