From 931b50ac9eacce3543f12dbd2adee5be6e708988 Mon Sep 17 00:00:00 2001 From: Chris Kearney <chris.kearney@urbanairship.com> Date: Thu, 28 Aug 2014 22:45:58 -0700 Subject: [PATCH] more mobs --- .../creeper/entity/EntityManager.java | 1 + .../com/comandante/creeper/npc/Derper.java | 2 +- .../comandante/creeper/npc/DruggedPimp.java | 28 +++++++++++++++++++ .../java/com/comandante/creeper/npc/Npc.java | 2 +- .../com/comandante/creeper/npc/NpcStats.java | 15 +++++++++- .../comandante/creeper/room/RoomBuilders.java | 4 +++ .../comandante/creeper/stat/StatsTester.java | 2 +- 7 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/comandante/creeper/npc/DruggedPimp.java diff --git a/src/main/java/com/comandante/creeper/entity/EntityManager.java b/src/main/java/com/comandante/creeper/entity/EntityManager.java index 20451bd8..913f5fbd 100644 --- a/src/main/java/com/comandante/creeper/entity/EntityManager.java +++ b/src/main/java/com/comandante/creeper/entity/EntityManager.java @@ -87,6 +87,7 @@ public class EntityManager { while (true) { try { Thread.sleep(10000); + System.out.println("tick."); Iterator<Map.Entry<Integer, Room>> rooms = roomManager.getRooms(); while (rooms.hasNext()) { Map.Entry<Integer, Room> next = rooms.next(); diff --git a/src/main/java/com/comandante/creeper/npc/Derper.java b/src/main/java/com/comandante/creeper/npc/Derper.java index 81db52dd..56eb33a3 100644 --- a/src/main/java/com/comandante/creeper/npc/Derper.java +++ b/src/main/java/com/comandante/creeper/npc/Derper.java @@ -22,7 +22,7 @@ public class Derper extends Npc { public Derper(GameManager gameManager, Integer roomId) { - super(gameManager, roomId, NAME, colorName, 0, NpcStats.JOE_NPC.createStats(), "derper's face is melted"); + super(gameManager, roomId, NAME, colorName, 0, NpcStats.DERPER.createStats(), "derper's face is melted"); this.random = new Random(); } diff --git a/src/main/java/com/comandante/creeper/npc/DruggedPimp.java b/src/main/java/com/comandante/creeper/npc/DruggedPimp.java new file mode 100644 index 00000000..15aa39d1 --- /dev/null +++ b/src/main/java/com/comandante/creeper/npc/DruggedPimp.java @@ -0,0 +1,28 @@ +package com.comandante.creeper.npc; + +import com.comandante.creeper.managers.GameManager; + +import java.util.Random; + +import static com.comandante.creeper.server.Color.GREEN; +import static com.comandante.creeper.server.Color.RESET; + +public class DruggedPimp extends Npc { + private final static long phraseIntervalMs = 300000; + private final static String NAME = "drugged pimp"; + private final Random random; + private final static String colorName = new StringBuilder() + .append(GREEN) + .append("drugged pimp") + .append(RESET).toString(); + + public DruggedPimp(GameManager gameManager, Integer roomId) { + super(gameManager, roomId, NAME, colorName, 0, NpcStats.DRUGGED_PIMP.createStats(), "a drugged pimp is dead and broke"); + this.random = new Random(); + } + + @Override + public DruggedPimp create(GameManager gameManager, Integer roomId) { + return new DruggedPimp(gameManager, roomId); + } +} diff --git a/src/main/java/com/comandante/creeper/npc/Npc.java b/src/main/java/com/comandante/creeper/npc/Npc.java index 4d3b0bff..dc85ee9a 100644 --- a/src/main/java/com/comandante/creeper/npc/Npc.java +++ b/src/main/java/com/comandante/creeper/npc/Npc.java @@ -23,7 +23,7 @@ public abstract class Npc extends CreeperEntity { private final Stats stats; private final String dieMessage; - public abstract Derper create(GameManager gameManager, Integer roomId); + public abstract Npc create(GameManager gameManager, Integer roomId); @Override public void run() { diff --git a/src/main/java/com/comandante/creeper/npc/NpcStats.java b/src/main/java/com/comandante/creeper/npc/NpcStats.java index dcfed517..160cd732 100644 --- a/src/main/java/com/comandante/creeper/npc/NpcStats.java +++ b/src/main/java/com/comandante/creeper/npc/NpcStats.java @@ -3,7 +3,7 @@ package com.comandante.creeper.npc; import com.comandante.creeper.stat.StatsBuilder; public class NpcStats { - public final static StatsBuilder JOE_NPC = new StatsBuilder() + public final static StatsBuilder DERPER = new StatsBuilder() .setStrength(5) .setWillpower(1) .setAim(1) @@ -14,4 +14,17 @@ public class NpcStats { .setWeaponRatingMin(5) .setWeaponRatingMax(10) .setNumberweaponOfRolls(1); + + public final static StatsBuilder DRUGGED_PIMP = new StatsBuilder() + .setStrength(5) + .setWillpower(1) + .setAim(1) + .setAgile(1) + .setArmorRating(5) + .setMeleSkill(5) + .setHealth(150) + .setWeaponRatingMin(5) + .setWeaponRatingMax(10) + .setNumberweaponOfRolls(1); + } diff --git a/src/main/java/com/comandante/creeper/room/RoomBuilders.java b/src/main/java/com/comandante/creeper/room/RoomBuilders.java index eb341a33..0a7456e7 100644 --- a/src/main/java/com/comandante/creeper/room/RoomBuilders.java +++ b/src/main/java/com/comandante/creeper/room/RoomBuilders.java @@ -4,6 +4,7 @@ import com.comandante.creeper.Items.ItemType; import com.comandante.creeper.entity.EntityManager; import com.comandante.creeper.managers.GameManager; import com.comandante.creeper.npc.Derper; +import com.comandante.creeper.npc.DruggedPimp; import com.comandante.creeper.spawner.ItemSpawner; import com.comandante.creeper.spawner.NpcSpawner; import com.comandante.creeper.spawner.SpawnRule; @@ -31,6 +32,9 @@ public class RoomBuilders { basicRoom.addItemSpawner(new ItemSpawner(ItemType.BEER, new SpawnRule(20, 3), gameManager)); basicRoom.addItemSpawner(new ItemSpawner(ItemType.KEY, new SpawnRule(30, 1, 10), gameManager)); basicRoom.addNpcSpawner(new NpcSpawner(new Derper(gameManager, basicRoom.getRoomId()), gameManager, new SpawnRule(10, 5))); + basicRoom.addNpcSpawner(new NpcSpawner(new DruggedPimp(gameManager, basicRoom.getRoomId()), gameManager, new SpawnRule(10, 5))); + + entityManager.addEntity(basicRoom); entityManager.addEntity(new BasicRoom( 2, diff --git a/src/main/java/com/comandante/creeper/stat/StatsTester.java b/src/main/java/com/comandante/creeper/stat/StatsTester.java index 75880474..a33462ac 100644 --- a/src/main/java/com/comandante/creeper/stat/StatsTester.java +++ b/src/main/java/com/comandante/creeper/stat/StatsTester.java @@ -23,7 +23,7 @@ public class StatsTester { for (int i = 0; i < NUM_EXECUTION; i++) { boolean results = fight( PlayerStats.DEFAULT_PLAYER.createStats(), - NpcStats.JOE_NPC.createStats()); + NpcStats.DERPER.createStats()); //strength, willpower, aim, agile, armorRating, meleSkill, health, weaponRatingMin, weaponRatingMax, numberweaponOfRolls if (results) { totalChallengerWin++; -- GitLab