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.ai.*;
|
||||||
import com.bartlomiejpluta.demo.event.EnemyDiedEvent;
|
import com.bartlomiejpluta.demo.event.EnemyDiedEvent;
|
||||||
import com.bartlomiejpluta.demo.world.item.Item;
|
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.Ammunition;
|
||||||
import com.bartlomiejpluta.demo.world.weapon.MeleeWeapon;
|
import com.bartlomiejpluta.demo.world.weapon.MeleeWeapon;
|
||||||
import com.bartlomiejpluta.demo.world.weapon.RangedWeapon;
|
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 "melee_weapon" -> new MeleeWeapon(split[1]);
|
||||||
case "ranged_weapon" -> new RangedWeapon(split[1]);
|
case "ranged_weapon" -> new RangedWeapon(split[1]);
|
||||||
case "ammo" -> new Ammunition(split[1], DiceRoller.of(d.getAmount()).roll());
|
case "ammo" -> new Ammunition(split[1], DiceRoller.of(d.getAmount()).roll());
|
||||||
|
case "junk" -> new Junk(split[1]);
|
||||||
default -> throw new IllegalArgumentException("Unsupported item type");
|
default -> throw new IllegalArgumentException("Unsupported item type");
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ public class EquipmentWindow extends DecoratedWindow {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nameLbl.setText(item.getName());
|
nameLbl.setText(item.getName());
|
||||||
|
detailsLbl.setText("");
|
||||||
|
|
||||||
if (item instanceof MeleeWeapon weapon) {
|
if (item instanceof MeleeWeapon weapon) {
|
||||||
detailsLbl.setText(format("Damage: %s\nCooldown: %s\n", weapon.getDmgRoller(), weapon.getCooldown()));
|
detailsLbl.setText(format("Damage: %s\nCooldown: %s\n", weapon.getDmgRoller(), weapon.getCooldown()));
|
||||||
|
|||||||
@@ -1,13 +1,10 @@
|
|||||||
package com.bartlomiejpluta.demo.gui;
|
package com.bartlomiejpluta.demo.gui;
|
||||||
|
|
||||||
import DB.EnemyDAO;
|
|
||||||
import DB.dao;
|
|
||||||
import com.bartlomiejpluta.base.api.context.Context;
|
import com.bartlomiejpluta.base.api.context.Context;
|
||||||
import com.bartlomiejpluta.base.api.gui.Component;
|
import com.bartlomiejpluta.base.api.gui.Component;
|
||||||
import com.bartlomiejpluta.base.api.gui.GUI;
|
import com.bartlomiejpluta.base.api.gui.GUI;
|
||||||
import com.bartlomiejpluta.base.api.gui.Inflatable;
|
import com.bartlomiejpluta.base.api.gui.Inflatable;
|
||||||
import com.bartlomiejpluta.base.api.gui.Ref;
|
import com.bartlomiejpluta.base.api.gui.Ref;
|
||||||
import com.bartlomiejpluta.base.lib.db.Relop;
|
|
||||||
import com.bartlomiejpluta.base.lib.gui.VOptionChoice;
|
import com.bartlomiejpluta.base.lib.gui.VOptionChoice;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import com.bartlomiejpluta.base.util.world.CharacterSpawner;
|
|||||||
import com.bartlomiejpluta.base.util.world.Warp;
|
import com.bartlomiejpluta.base.util.world.Warp;
|
||||||
import com.bartlomiejpluta.demo.entity.Chest;
|
import com.bartlomiejpluta.demo.entity.Chest;
|
||||||
import com.bartlomiejpluta.demo.entity.Enemy;
|
import com.bartlomiejpluta.demo.entity.Enemy;
|
||||||
import com.bartlomiejpluta.demo.entity.MapObject;
|
|
||||||
import com.bartlomiejpluta.demo.entity.Player;
|
import com.bartlomiejpluta.demo.entity.Player;
|
||||||
import com.bartlomiejpluta.demo.event.EnemyDiedEvent;
|
import com.bartlomiejpluta.demo.event.EnemyDiedEvent;
|
||||||
import com.bartlomiejpluta.demo.runner.DemoRunner;
|
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