Create junk items
This commit is contained in:
BIN
data.mv.db
BIN
data.mv.db
Binary file not shown.
@@ -14,6 +14,7 @@ import com.bartlomiejpluta.base.util.random.DiceRoller;
|
||||
import com.bartlomiejpluta.demo.ai.*;
|
||||
import com.bartlomiejpluta.demo.event.EnemyDiedEvent;
|
||||
import com.bartlomiejpluta.demo.world.item.Item;
|
||||
import com.bartlomiejpluta.demo.world.junk.Junk;
|
||||
import com.bartlomiejpluta.demo.world.weapon.Ammunition;
|
||||
import com.bartlomiejpluta.demo.world.weapon.MeleeWeapon;
|
||||
import com.bartlomiejpluta.demo.world.weapon.RangedWeapon;
|
||||
@@ -114,6 +115,7 @@ public class Enemy extends Creature implements NPC {
|
||||
case "melee_weapon" -> new MeleeWeapon(split[1]);
|
||||
case "ranged_weapon" -> new RangedWeapon(split[1]);
|
||||
case "ammo" -> new Ammunition(split[1], DiceRoller.of(d.getAmount()).roll());
|
||||
case "junk" -> new Junk(split[1]);
|
||||
default -> throw new IllegalArgumentException("Unsupported item type");
|
||||
};
|
||||
}
|
||||
|
||||
@@ -114,6 +114,7 @@ public class EquipmentWindow extends DecoratedWindow {
|
||||
}
|
||||
|
||||
nameLbl.setText(item.getName());
|
||||
detailsLbl.setText("");
|
||||
|
||||
if (item instanceof MeleeWeapon weapon) {
|
||||
detailsLbl.setText(format("Damage: %s\nCooldown: %s\n", weapon.getDmgRoller(), weapon.getCooldown()));
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
package com.bartlomiejpluta.demo.gui;
|
||||
|
||||
import DB.EnemyDAO;
|
||||
import DB.dao;
|
||||
import com.bartlomiejpluta.base.api.context.Context;
|
||||
import com.bartlomiejpluta.base.api.gui.Component;
|
||||
import com.bartlomiejpluta.base.api.gui.GUI;
|
||||
import com.bartlomiejpluta.base.api.gui.Inflatable;
|
||||
import com.bartlomiejpluta.base.api.gui.Ref;
|
||||
import com.bartlomiejpluta.base.lib.db.Relop;
|
||||
import com.bartlomiejpluta.base.lib.gui.VOptionChoice;
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ import com.bartlomiejpluta.base.util.world.CharacterSpawner;
|
||||
import com.bartlomiejpluta.base.util.world.Warp;
|
||||
import com.bartlomiejpluta.demo.entity.Chest;
|
||||
import com.bartlomiejpluta.demo.entity.Enemy;
|
||||
import com.bartlomiejpluta.demo.entity.MapObject;
|
||||
import com.bartlomiejpluta.demo.entity.Player;
|
||||
import com.bartlomiejpluta.demo.event.EnemyDiedEvent;
|
||||
import com.bartlomiejpluta.demo.runner.DemoRunner;
|
||||
|
||||
28
src/main/java/com/bartlomiejpluta/demo/world/junk/Junk.java
Normal file
28
src/main/java/com/bartlomiejpluta/demo/world/junk/Junk.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.bartlomiejpluta.demo.world.junk;
|
||||
|
||||
import com.bartlomiejpluta.base.api.context.ContextHolder;
|
||||
import com.bartlomiejpluta.base.api.icon.Icon;
|
||||
import com.bartlomiejpluta.base.lib.icon.IconDelegate;
|
||||
import com.bartlomiejpluta.demo.world.item.Item;
|
||||
import lombok.Getter;
|
||||
import lombok.NonNull;
|
||||
|
||||
public class Junk extends IconDelegate implements Item {
|
||||
|
||||
@Getter
|
||||
private final String name;
|
||||
|
||||
public Junk(@NonNull String id) {
|
||||
this(DB.dao.junk.find(id));
|
||||
}
|
||||
|
||||
public Junk(@NonNull DB.model.JunkModel template) {
|
||||
super(createIcon(template));
|
||||
this.name = template.getName();
|
||||
}
|
||||
|
||||
private static Icon createIcon(DB.model.JunkModel template) {
|
||||
var icons = template.getIcon().split(",");
|
||||
return ContextHolder.INSTANCE.getContext().createIcon(A.iconsets.get(icons[0]).uid, Integer.parseInt(icons[1]), Integer.parseInt(icons[2]));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user