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