diff --git a/game/modules/tome/data/general/npcs/wolf.lua b/game/modules/tome/data/general/npcs/canine.lua
similarity index 100%
rename from game/modules/tome/data/general/npcs/wolf.lua
rename to game/modules/tome/data/general/npcs/canine.lua
diff --git a/game/modules/tome/data/general/npcs/jelly.lua b/game/modules/tome/data/general/npcs/jelly.lua
new file mode 100644
index 0000000000000000000000000000000000000000..84940aac9f5efafc6b4d38ee79f7c1095f3bb661
--- /dev/null
+++ b/game/modules/tome/data/general/npcs/jelly.lua
@@ -0,0 +1,73 @@
+-- last updated:  9:34 AM 1/29/2010
+
+local Talents = require("engine.interface.ActorTalents")
+
+newEntity{
+	define_as = "BASE_NPC_JELLY",
+	type = "immovable", subtype = "jelly",
+	display = "j", color=colors.WHITE,
+	desc = "A strange blob on the dungeon floor.",
+	body = { INVEN = 10 },
+	autolevel = "warrior",
+	ai = "dumb_talented_simple", ai_state = { talent_in=1, },
+	stats = { str=10, dex=15, mag=3, con=10 },
+	energy = { mod=1 },
+	combat_armor = 1, combat_def = 1,
+	never_move = 1,
+
+	resists = { [DamageType.LIGHT] = -50 },
+}
+
+newEntity{ base = "BASE_NPC_JELLY",
+	name = "green jelly", color=colors.GREEN,
+	desc = "A strange green blob on the dungeon floor.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_JELLY",
+	name = "red jelly", color=colors.RED,
+	desc = "A strange red blob on the dungeon floor.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_JELLY",
+	name = "blue jelly", color=colors.BLUE,
+	desc = "A strange blue blob on the dungeon floor.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_JELLY",
+	name = "white jelly", color=colors.WHITE,
+	desc = "A strange white blob on the dungeon floor.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_JELLY",
+	name = "yellow jelly", color=colors.YELLOW,
+	desc = "A strange yellow blob on the dungeon floor.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_JELLY",
+	name = "black jelly", color=colors.BLACK,
+	desc = "A strange black blob on the dungeon floor.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
diff --git a/game/modules/tome/data/general/npcs/ooze.lua b/game/modules/tome/data/general/npcs/ooze.lua
new file mode 100644
index 0000000000000000000000000000000000000000..1ba6dafb0dcbbbb2b148d74dcc007f863d7d8665
--- /dev/null
+++ b/game/modules/tome/data/general/npcs/ooze.lua
@@ -0,0 +1,84 @@
+-- last updated:  9:34 AM 1/29/2010
+
+local Talents = require("engine.interface.ActorTalents")
+
+newEntity{
+	define_as = "BASE_NPC_OOZE",
+	type = "vermin", subtype = "oozes",
+	display = "j", color=colors.WHITE,
+	desc = "It's colorful and it's oozing.",
+	body = { INVEN = 10 },
+	autolevel = "warrior",
+	ai = "dumb_talented_simple", ai_state = { talent_in=1, },
+	stats = { str=10, dex=15, mag=3, con=10 },
+	energy = { mod=0.7 },
+	combat_armor = 1, combat_def = 1,
+
+	resists = { [DamageType.LIGHT] = -50 },
+}
+
+newEntity{ base = "BASE_NPC_OOZE",
+	name = "green ooze", color=colors.GREEN,
+	desc = "It's green and it's oozing.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_OOZE",
+	name = "red ooze", color=colors.RED,
+	desc = "It's red and it's oozing.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_OOZE",
+	name = "blue ooze", color=colors.BLUE,
+	desc = "It's blue and it's oozing.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_OOZE",
+	name = "white ooze", color=colors.WHITE,
+	desc = "It's white and it's oozing.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_OOZE",
+	name = "yellow ooze", color=colors.YELLOW,
+	desc = "It's yellow and it's oozing.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_OOZE",
+	name = "black ooze", color=colors.BLACK,
+	desc = "It's black and it's oozing.",
+	level_range = {1, 25}, exp_worth = 1,
+	rarity = 4,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_OOZE",
+	name = "gelatinous cube", color=colors.BLACK,
+	desc = [["It is a strange, vast gelatinous structure that assumes
+	cubic proportions as it lines all four walls of the corridors it
+	patrols. Through its transparent jelly structure you can see
+	treasures it has engulfed, and a few corpses as well. "]],
+	level_range = {12, 50}, exp_worth = 1,
+	rarity = 7,
+	max_life = resolvers.rngavg(50,100),
+	combat = { dam=7, atk=15, apr=10 },
+}
diff --git a/game/modules/tome/data/general/npcs/plant.lua b/game/modules/tome/data/general/npcs/plant.lua
new file mode 100644
index 0000000000000000000000000000000000000000..718878a1cf6205339e7c303a25251b32bdd35fec
--- /dev/null
+++ b/game/modules/tome/data/general/npcs/plant.lua
@@ -0,0 +1,70 @@
+-- last updated:  7:34 PM 2/2/2010
+
+local Talents = require("engine.interface.ActorTalents")
+
+newEntity{
+	define_as = "BASE_NPC_PLANT",
+	type = "immovable", subtype = "plants",
+	display = "#", color=colors.WHITE,
+	desc = "A not-so-strange growth on the dungeon floor.",
+	body = { INVEN = 10 },
+	autolevel = "warrior",
+	ai = "dumb_talented_simple", ai_state = { talent_in=1, },
+	stats = { str=10, dex=10, mag=3, con=10 },
+	energy = { mod=1 },
+	combat_armor = 1, combat_def = 1,
+	never_move = 1,
+}
+
+newEntity{ base = "BASE_NPC_PLANT",
+	name = "giant venus flytrap", color=colors.GREEN,
+	desc = "This flesh eating plant has grown to enormous proportions and seeks to quell it hunger",
+	level_range = {7, 50}, exp_worth = 1,
+	rarity = 6,
+	max_life = resolvers.rngavg(5,9),
+	combat = { dam=5, atk=15, apr=10 },
+}
+
+newEntity{ base = "BASE_NPC_PLANT",
+	name = "huorn", color=colors.GREEN,
+	desc = "A very strong near-sentient tree, which has become hostile to other living things.",
+	level_range = {12, 50}, exp_worth = 1,
+	rarity = 7,
+	max_life = resolvers.rngavg(100,130),
+	life_rating = 15,
+	combat = { dam=resolvers.rngavg(8,13), atk=15, apr=5 },
+	never_move = 0,
+}
+
+newEntity{ base = "BASE_NPC_PLANT",
+	name = "poison ivy", color=colors.GREEN,
+	desc = "This harmless little plant makes you all itchy.",
+	level_range = {3, 25}, exp_worth = 1,
+	rarity = 7,
+	max_life = resolvers.rngavg(1,1),
+	combat = { dam=3, atk=15, apr=3, DamageType.POISON},
+	can_multiply = 2,
+
+	on_melee_hit = {[DamageType.POISON]=5},
+}
+
+newEntity{ base = "BASE_NPC_PLANT",
+	name = "honey tree", color=colors.UMBER,
+	desc = "As you approach it, you hear a high pitched buzzing sound.",
+	level_range = {10, 50}, exp_worth = 1,
+	rarity = 7,
+	max_life = resolvers.rngavg(100,130),
+	life_rating = 15,
+	combat = { dam=0, atk=0, apr=0 },
+
+	summon = {
+		{type="insect", subtype="swarms", name="bee swarm", number=1, hasxp=true},
+		{type="insect", subtype="swarms", name="bee swarm", number=1, hasxp=true},
+		{type="insect", subtype="swarms", name="bee swarm", number=1, hasxp=true},
+		{type="insect", subtype="swarms", name="bee swarm", number=2, hasxp=true},
+		{type="insect", subtype="swarms", name="bee swarm", number=2, hasxp=true},
+		{type="animal", subtype="bear", number=1, hasxp=true},
+	},
+
+	talents = resolvers.talents{ [Talents.T_SUMMON]=1 },
+}}