v0.6.3: implement drops for new ranged weapons
This commit is contained in:
parent
9816333fd7
commit
232e8a986f
|
@ -150,8 +150,10 @@ public class Mimic extends Mob {
|
|||
|
||||
//generate an extra reward for killing the mimic
|
||||
switch(Random.Int(5)){
|
||||
case 0: case 1:
|
||||
case 0:
|
||||
m.items.add(new Gold().random()); break;
|
||||
case 1:
|
||||
m.items.add(Generator.randomMissile()); break;
|
||||
case 2:
|
||||
m.items.add(Generator.randomArmor().identify()); break;
|
||||
case 3:
|
||||
|
|
|
@ -89,8 +89,8 @@ public class Skeleton extends Mob {
|
|||
protected Item createLoot() {
|
||||
Item loot;
|
||||
do {
|
||||
loot = Generator.random(Generator.Category.WEAPON);
|
||||
//50% chance of re-rolling tier 4 or 5 items
|
||||
loot = Random.Int(4) == 0 ? Generator.randomMissile() : Generator.randomWeapon();
|
||||
//50% chance of re-rolling tier 4 or 5 melee weapons
|
||||
} while (loot instanceof MeleeWeapon && ((MeleeWeapon) loot).tier >= 4 && Random.Int(2) == 0);
|
||||
loot.level(0);
|
||||
return loot;
|
||||
|
|
|
@ -30,7 +30,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon.Enchantment;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Grim;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Vampiric;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.journal.Notes;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.StatueSprite;
|
||||
|
@ -52,8 +51,8 @@ public class Statue extends Mob {
|
|||
super();
|
||||
|
||||
do {
|
||||
weapon = (Weapon)Generator.random( Generator.Category.WEAPON );
|
||||
} while (!(weapon instanceof MeleeWeapon) || weapon.cursed);
|
||||
weapon = Generator.randomWeapon();
|
||||
} while (weapon.cursed);
|
||||
|
||||
weapon.enchant( Enchantment.random() );
|
||||
|
||||
|
|
|
@ -97,7 +97,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfPrismaticLight
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfTransfusion;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfVenom;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.AssassinsBlade;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.BattleAxe;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Dagger;
|
||||
|
@ -112,6 +111,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Knuckles;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Longsword;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Mace;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Quarterstaff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.RoundShield;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.RunicBlade;
|
||||
|
@ -123,6 +123,18 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Sword;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WarHammer;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Whip;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WornShortsword;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Bolas;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.CurareDart;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Dart;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.FishingSpear;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.IncendiaryDart;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Javelin;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Shuriken;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingHammer;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingKnife;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Tomahawk;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Trident;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.plants.BlandfruitBush;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.plants.Blindweed;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.plants.Dreamfoil;
|
||||
|
@ -147,21 +159,34 @@ import java.util.LinkedHashMap;
|
|||
public class Generator {
|
||||
|
||||
public enum Category {
|
||||
WEAPON ( 6, Weapon.class ),
|
||||
WEP_T1 ( 0, Weapon.class),
|
||||
WEP_T2 ( 0, Weapon.class),
|
||||
WEP_T3 ( 0, Weapon.class),
|
||||
WEP_T4 ( 0, Weapon.class),
|
||||
WEP_T5 ( 0, Weapon.class),
|
||||
WEAPON ( 6, MeleeWeapon.class),
|
||||
WEP_T1 ( 0, MeleeWeapon.class),
|
||||
WEP_T2 ( 0, MeleeWeapon.class),
|
||||
WEP_T3 ( 0, MeleeWeapon.class),
|
||||
WEP_T4 ( 0, MeleeWeapon.class),
|
||||
WEP_T5 ( 0, MeleeWeapon.class),
|
||||
|
||||
ARMOR ( 4, Armor.class ),
|
||||
|
||||
MISSILE ( 5, MissileWeapon.class ),
|
||||
MIS_T1 ( 0, MissileWeapon.class ),
|
||||
MIS_T2 ( 0, MissileWeapon.class ),
|
||||
MIS_T3 ( 0, MissileWeapon.class ),
|
||||
MIS_T4 ( 0, MissileWeapon.class ),
|
||||
MIS_T5 ( 0, MissileWeapon.class ),
|
||||
|
||||
POTION ( 20, Potion.class ),
|
||||
SCROLL ( 20, Scroll.class ),
|
||||
|
||||
WAND ( 3, Wand.class ),
|
||||
RING ( 1, Ring.class ),
|
||||
ARTIFACT( 1, Artifact.class),
|
||||
|
||||
SEED ( 0, Plant.Seed.class ),
|
||||
|
||||
FOOD ( 0, Food.class ),
|
||||
GOLD ( 25, Gold.class );
|
||||
|
||||
GOLD ( 20, Gold.class );
|
||||
|
||||
public Class<?>[] classes;
|
||||
public float[] probs;
|
||||
|
@ -296,6 +321,41 @@ public class Generator {
|
|||
PlateArmor.class };
|
||||
ARMOR.probs = new float[]{ 0, 0, 0, 0, 0 };
|
||||
|
||||
//see Generator.randomMissile
|
||||
MISSILE.classes = new Class<?>[]{};
|
||||
MISSILE.probs = new float[]{};
|
||||
|
||||
MIS_T1.classes = new Class<?>[]{
|
||||
Dart.class,
|
||||
ThrowingKnife.class
|
||||
};
|
||||
MIS_T1.probs = new float[]{ 1, 1 };
|
||||
|
||||
MIS_T2.classes = new Class<?>[]{
|
||||
Shuriken.class,
|
||||
IncendiaryDart.class,
|
||||
CurareDart.class
|
||||
};
|
||||
MIS_T2.probs = new float[]{ 5, 2, 2 };
|
||||
|
||||
MIS_T3.classes = new Class<?>[]{
|
||||
FishingSpear.class,
|
||||
Bolas.class
|
||||
};
|
||||
MIS_T3.probs = new float[]{ 4, 3 };
|
||||
|
||||
MIS_T4.classes = new Class<?>[]{
|
||||
Javelin.class,
|
||||
Tomahawk.class
|
||||
};
|
||||
MIS_T4.probs = new float[]{ 4, 3 };
|
||||
|
||||
MIS_T5.classes = new Class<?>[]{
|
||||
Trident.class,
|
||||
ThrowingHammer.class
|
||||
};
|
||||
MIS_T5.probs = new float[]{ 4, 3 };
|
||||
|
||||
FOOD.classes = new Class<?>[]{
|
||||
Food.class,
|
||||
Pasty.class,
|
||||
|
@ -384,6 +444,8 @@ public class Generator {
|
|||
return randomArmor();
|
||||
case WEAPON:
|
||||
return randomWeapon();
|
||||
case MISSILE:
|
||||
return randomMissile();
|
||||
case ARTIFACT:
|
||||
Item item = randomArtifact();
|
||||
//if we're out of artifacts, return a ring instead.
|
||||
|
@ -439,17 +501,44 @@ public class Generator {
|
|||
Category.WEP_T5
|
||||
};
|
||||
|
||||
public static Weapon randomWeapon(){
|
||||
public static MeleeWeapon randomWeapon(){
|
||||
return randomWeapon(Dungeon.depth / 5);
|
||||
}
|
||||
|
||||
public static Weapon randomWeapon(int floorSet) {
|
||||
public static MeleeWeapon randomWeapon(int floorSet) {
|
||||
|
||||
floorSet = (int)GameMath.gate(0, floorSet, floorSetTierProbs.length-1);
|
||||
|
||||
try {
|
||||
Category c = wepTiers[Random.chances(floorSetTierProbs[floorSet])];
|
||||
Weapon w = (Weapon)c.classes[Random.chances(c.probs)].newInstance();
|
||||
MeleeWeapon w = (MeleeWeapon)c.classes[Random.chances(c.probs)].newInstance();
|
||||
w.random();
|
||||
return w;
|
||||
} catch (Exception e) {
|
||||
ShatteredPixelDungeon.reportException(e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static final Category[] misTiers = new Category[]{
|
||||
Category.MIS_T1,
|
||||
Category.MIS_T2,
|
||||
Category.MIS_T3,
|
||||
Category.MIS_T4,
|
||||
Category.MIS_T5
|
||||
};
|
||||
|
||||
public static MissileWeapon randomMissile(){
|
||||
return randomMissile(Dungeon.depth / 5);
|
||||
}
|
||||
|
||||
public static MissileWeapon randomMissile(int floorSet) {
|
||||
|
||||
floorSet = (int)GameMath.gate(0, floorSet, floorSetTierProbs.length-1);
|
||||
|
||||
try {
|
||||
Category c = misTiers[Random.chances(floorSetTierProbs[floorSet])];
|
||||
MissileWeapon w = (MissileWeapon)c.classes[Random.chances(c.probs)].newInstance();
|
||||
w.random();
|
||||
return w;
|
||||
} catch (Exception e) {
|
||||
|
|
|
@ -52,7 +52,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourglass;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.CursingTrap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.ShockingTrap;
|
||||
|
@ -389,7 +388,7 @@ public class CursedWand {
|
|||
do {
|
||||
reward = Generator.random(Random.oneOf(Generator.Category.WEAPON, Generator.Category.ARMOR,
|
||||
Generator.Category.RING, Generator.Category.WAND));
|
||||
} while (reward.level() < 2 && !(reward instanceof MissileWeapon));
|
||||
} while (reward.level() < 1);
|
||||
Sample.INSTANCE.play(Assets.SND_MIMIC, 1, 1, 0.5f);
|
||||
mimic.items.clear();
|
||||
mimic.items.add(reward);
|
||||
|
@ -442,7 +441,7 @@ public class CursedWand {
|
|||
do {
|
||||
result = Generator.random(Random.oneOf(Generator.Category.WEAPON, Generator.Category.ARMOR,
|
||||
Generator.Category.RING, Generator.Category.ARTIFACT));
|
||||
} while (result.level() < 0 && !(result instanceof MissileWeapon));
|
||||
} while (result.cursed);
|
||||
if (result.isUpgradable()) result.upgrade();
|
||||
result.cursed = result.cursedKnown = true;
|
||||
GLog.w( Messages.get(CursedWand.class, "transmogrify") );
|
||||
|
|
|
@ -55,6 +55,6 @@ public abstract class TippedDart extends Dart {
|
|||
|
||||
@Override
|
||||
public int price() {
|
||||
return quantity * 8;
|
||||
return quantity * 6;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,8 +22,6 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.secret;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||
|
@ -46,12 +44,7 @@ public class SecretArtilleryRoom extends SecretRoom {
|
|||
} while ( level.map[itemPos] != Terrain.EMPTY_SP
|
||||
|| level.heaps.get(itemPos) != null);
|
||||
|
||||
Item item;
|
||||
do{
|
||||
item = Generator.randomWeapon();
|
||||
} while (!(item instanceof MissileWeapon));
|
||||
|
||||
level.drop(item, itemPos);
|
||||
level.drop(Generator.randomMissile(), itemPos);
|
||||
}
|
||||
|
||||
entrance().set(Door.Type.HIDDEN);
|
||||
|
|
|
@ -25,7 +25,6 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Maze;
|
||||
|
@ -102,7 +101,7 @@ public class SecretMazeRoom extends SecretRoom {
|
|||
} else {
|
||||
prize = Generator.randomArmor((Dungeon.depth / 5) + 1);
|
||||
}
|
||||
} while (prize.cursed || prize instanceof MissileWeapon);
|
||||
} while (prize.cursed);
|
||||
|
||||
//33% chance for an extra update.
|
||||
if (Random.Int(3) == 0){
|
||||
|
|
|
@ -54,7 +54,7 @@ public class ArmoryRoom extends SpecialRoom {
|
|||
Painter.set( level, statue, Terrain.STATUE );
|
||||
}
|
||||
|
||||
int n = Random.IntRange( 1, 2 );
|
||||
int n = Random.IntRange( 2, 3 );
|
||||
for (int i=0; i < n; i++) {
|
||||
int pos;
|
||||
do {
|
||||
|
@ -68,11 +68,15 @@ public class ArmoryRoom extends SpecialRoom {
|
|||
}
|
||||
|
||||
private static Item prize( Level level ) {
|
||||
return Random.Int( 6 ) == 0 ?
|
||||
new Bomb().random() :
|
||||
Generator.random( Random.oneOf(
|
||||
Generator.Category.ARMOR,
|
||||
Generator.Category.WEAPON
|
||||
) );
|
||||
switch (Random.Int( 5 )){
|
||||
case 0:
|
||||
return new Bomb().random();
|
||||
case 1:
|
||||
return Generator.randomWeapon();
|
||||
case 2:
|
||||
return Generator.randomArmor();
|
||||
default:
|
||||
return Generator.randomMissile();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfInvisibility;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||
|
@ -105,7 +104,7 @@ public class PoolRoom extends SpecialRoom {
|
|||
} while (prize.cursed);
|
||||
|
||||
//33% chance for an extra update.
|
||||
if (!(prize instanceof MissileWeapon) && Random.Int(3) == 0){
|
||||
if (Random.Int(3) == 0){
|
||||
prize.upgrade();
|
||||
}
|
||||
|
||||
|
|
|
@ -61,11 +61,14 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Mace;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Shortsword;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Sword;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WarHammer;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.CurareDart;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Bolas;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.FishingSpear;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.IncendiaryDart;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Javelin;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Shuriken;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingHammer;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Tomahawk;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Trident;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||
|
@ -165,32 +168,32 @@ public class ShopRoom extends SpecialRoom {
|
|||
case 6:
|
||||
itemsToSpawn.add( (Random.Int( 2 ) == 0 ? new Shortsword().identify() : new HandAxe()).identify() );
|
||||
itemsToSpawn.add( Random.Int( 2 ) == 0 ?
|
||||
new IncendiaryDart().quantity(Random.NormalIntRange(2, 4)) :
|
||||
new CurareDart().quantity(Random.NormalIntRange(1, 3)));
|
||||
new Shuriken().random() :
|
||||
new IncendiaryDart().random());
|
||||
itemsToSpawn.add( new LeatherArmor().identify() );
|
||||
break;
|
||||
|
||||
case 11:
|
||||
itemsToSpawn.add( (Random.Int( 2 ) == 0 ? new Sword().identify() : new Mace()).identify() );
|
||||
itemsToSpawn.add( Random.Int( 2 ) == 0 ?
|
||||
new CurareDart().quantity(Random.NormalIntRange(2, 5)) :
|
||||
new Shuriken().quantity(Random.NormalIntRange(3, 6)));
|
||||
new FishingSpear().random() :
|
||||
new Bolas().random());
|
||||
itemsToSpawn.add( new MailArmor().identify() );
|
||||
break;
|
||||
|
||||
case 16:
|
||||
itemsToSpawn.add( (Random.Int( 2 ) == 0 ? new Longsword().identify() : new BattleAxe()).identify() );
|
||||
itemsToSpawn.add( Random.Int( 2 ) == 0 ?
|
||||
new Shuriken().quantity(Random.NormalIntRange(4, 7)) :
|
||||
new Javelin().quantity(Random.NormalIntRange(3, 6)));
|
||||
new Javelin().random() :
|
||||
new Tomahawk().random());
|
||||
itemsToSpawn.add( new ScaleArmor().identify() );
|
||||
break;
|
||||
|
||||
case 21:
|
||||
itemsToSpawn.add( Random.Int( 2 ) == 0 ? new Greatsword().identify() : new WarHammer().identify() );
|
||||
itemsToSpawn.add( Random.Int(2) == 0 ?
|
||||
new Javelin().quantity(Random.NormalIntRange(4, 7)) :
|
||||
new Tomahawk().quantity(Random.NormalIntRange(4, 7)));
|
||||
new Trident().random() :
|
||||
new ThrowingHammer().random());
|
||||
itemsToSpawn.add( new PlateArmor().identify() );
|
||||
itemsToSpawn.add( new Torch() );
|
||||
itemsToSpawn.add( new Torch() );
|
||||
|
|
|
@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLevitation;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||
|
@ -136,7 +135,7 @@ public class TrapsRoom extends SpecialRoom {
|
|||
} while (prize.cursed);
|
||||
|
||||
//33% chance for an extra update.
|
||||
if (!(prize instanceof MissileWeapon) && Random.Int(3) == 0){
|
||||
if (Random.Int(3) == 0){
|
||||
prize.upgrade();
|
||||
}
|
||||
|
||||
|
|
|
@ -56,7 +56,8 @@ public class BlacksmithRoom extends StandardRoom {
|
|||
level.drop(
|
||||
Generator.random( Random.oneOf(
|
||||
Generator.Category.ARMOR,
|
||||
Generator.Category.WEAPON
|
||||
Generator.Category.WEAPON,
|
||||
Generator.Category.MISSILE
|
||||
) ), pos );
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user