parent
49b327b951
commit
88efff430b
Binary file not shown.
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
@ -0,0 +1,16 @@ |
||||
package mightypork.rogue.t; |
||||
|
||||
|
||||
import mightypork.rogue.world.item.Item; |
||||
import mightypork.rogue.world.item.Items; |
||||
|
||||
|
||||
public class TryItemDmg { |
||||
|
||||
public static void main(String[] args) |
||||
{ |
||||
final Item itm = Items.CLUB.createItemDamaged(80); |
||||
System.out.println(itm.getMaxUses() + " - remaining: " + itm.getRemainingUses()); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,44 @@ |
||||
package mightypork.rogue.world.gen.rooms; |
||||
|
||||
|
||||
import java.util.Random; |
||||
|
||||
import mightypork.gamecore.util.math.algo.Coord; |
||||
import mightypork.rogue.world.gen.MapTheme; |
||||
import mightypork.rogue.world.gen.ScratchMap; |
||||
import mightypork.rogue.world.gen.WorldGenError; |
||||
import mightypork.rogue.world.item.Item; |
||||
import mightypork.rogue.world.item.Items; |
||||
|
||||
|
||||
public class HeartPieceRoom extends SecretRoom { |
||||
|
||||
@Override |
||||
protected int getDoorCount(Random rand) |
||||
{ |
||||
return 1; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected void buildExtras(ScratchMap map, MapTheme theme, Random rand, Coord min, Coord max) |
||||
{ |
||||
final Item heart = Items.HEART_PIECE.createItem(); |
||||
|
||||
if (!map.putItem(heart, min.add(2, 2))) { |
||||
if (!map.putItemInArea(heart, min, max, 100)) { |
||||
if (!map.putItemInMap(heart, 100)) { |
||||
throw new WorldGenError("Could not place heart piece."); |
||||
} |
||||
|
||||
} |
||||
} |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected Coord getInnerSize(Random rand) |
||||
{ |
||||
return Coord.make(3, 3); |
||||
} |
||||
} |
@ -0,0 +1,38 @@ |
||||
package mightypork.rogue.world.gen.rooms; |
||||
|
||||
|
||||
import java.util.Random; |
||||
|
||||
import mightypork.gamecore.util.math.Calc; |
||||
import mightypork.gamecore.util.math.algo.Coord; |
||||
import mightypork.rogue.world.gen.MapTheme; |
||||
import mightypork.rogue.world.gen.ScratchMap; |
||||
import mightypork.rogue.world.item.Items; |
||||
|
||||
|
||||
public class TreasureRoom extends SecretRoom { |
||||
|
||||
@Override |
||||
protected void buildExtras(ScratchMap map, MapTheme theme, Random rand, Coord min, Coord max) |
||||
{ |
||||
for (int i = 0; i < Calc.randInt(rand, 0, 1); i++) { |
||||
map.putItemInArea(Items.SANDWICH.createItem(), min, max, 50); |
||||
} |
||||
|
||||
for (int i = 0; i < Calc.randInt(rand, 0, 2); i++) { |
||||
map.putItemInArea(Items.BONE.createItemDamaged(20), min, max, 50); |
||||
} |
||||
|
||||
for (int i = 0; i < Calc.randInt(rand, 0, 1); i++) { |
||||
map.putItemInArea(Items.ROCK.createItemDamaged(30), min, max, 50); |
||||
} |
||||
|
||||
for (int i = 0; i < Calc.randInt(rand, 0, 2); i++) { |
||||
map.putItemInArea(Items.MEAT.createItem(), min, max, 50); |
||||
} |
||||
|
||||
for (int i = 0; i < Calc.randInt(rand, 0, 2); i++) { |
||||
map.putItemInArea(Items.CHEESE.createItem(), min, max, 50); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,86 @@ |
||||
package mightypork.rogue.world.item.items.active; |
||||
|
||||
|
||||
import mightypork.rogue.Res; |
||||
import mightypork.rogue.world.World.PlayerFacade; |
||||
import mightypork.rogue.world.item.Item; |
||||
import mightypork.rogue.world.item.ItemModel; |
||||
import mightypork.rogue.world.item.ItemRenderer; |
||||
import mightypork.rogue.world.item.ItemType; |
||||
import mightypork.rogue.world.item.render.QuadItemRenderer; |
||||
|
||||
|
||||
public class ItemHeartPiece extends Item { |
||||
|
||||
public ItemHeartPiece(ItemModel model) |
||||
{ |
||||
super(model); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected ItemRenderer makeRenderer() |
||||
{ |
||||
return new QuadItemRenderer(this, Res.txq("item.heart_piece")); |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected boolean isStackable() |
||||
{ |
||||
return false; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public int getAttackPoints() |
||||
{ |
||||
return 0; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public int getFoodPoints() |
||||
{ |
||||
return 0; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public ItemType getType() |
||||
{ |
||||
return ItemType.ACTIVE; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public int getMaxUses() |
||||
{ |
||||
return 1; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public boolean isDamageable() |
||||
{ |
||||
return false; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public String getVisualName() |
||||
{ |
||||
return "Heart Piece"; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public boolean pickUp(PlayerFacade pl) |
||||
{ |
||||
pl.setHealthMax(pl.getHealthMax() + 2); // two points / heart
|
||||
pl.setHealth(pl.getHealthMax()); |
||||
|
||||
return true; |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue