Five new rooms: prison, graveyard, guard post, arena, sacrifice altar; new creature: the revenant
- prison: captured heroes sit in cells apart from the torture chamber, do not defect and starve in time; the hand can move prisoners between cells and torture - graveyard: the fallen are buried there; after a while some rise as revenants (undead: no food, no sleep, life drain from level 5) - guard post: creatures hold the position and attack whatever comes into view - arena: creatures spar in pairs for fast, free experience, at the cost of bruises - sacrifice altar: creatures dropped on it are sacrificed; certain pairs bring a rare creature, otherwise a blessing (mood and mana) - researched in the library, campaign unlocks, textures, furniture, texts EN/DE, bestiary Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2c8db33a69
commit
a58497e3a9
14 files changed
+606
-28
No files matched your search
@@ -162,7 +162,7 @@ pub enum Tool {
|
||||
}
|
||||
|
||||
// New tools are appended so that existing key bindings ("tool<i>") keep their meaning
|
||||
pub const TOOLS: [Tool; 40] = [
|
||||
pub const TOOLS: [Tool; 45] = [
|
||||
Tool::Dig,
|
||||
Tool::Hand,
|
||||
Tool::Room(0),
|
||||
@@ -203,6 +203,11 @@ pub const TOOLS: [Tool; 40] = [
|
||||
Tool::Spell(crate::spells::Spell::Invisible),
|
||||
Tool::Spell(crate::spells::Spell::Plague),
|
||||
Tool::Spell(crate::spells::Spell::Quake),
|
||||
Tool::Room(9),
|
||||
Tool::Room(10),
|
||||
Tool::Room(11),
|
||||
Tool::Room(12),
|
||||
Tool::Room(13),
|
||||
];
|
||||
|
||||
|
||||
@@ -225,7 +230,12 @@ pub fn tool_info(t: Tool) -> ToolInfo {
|
||||
Tool::Room(5) => ("torture", T_TORTURE, Some(5)),
|
||||
Tool::Room(6) => ("temple", T_TEMPLE, Some(6)),
|
||||
Tool::Room(7) => ("aerie", T_AERIE, Some(7)),
|
||||
Tool::Room(_) => ("forge", T_FORGE, Some(8)),
|
||||
Tool::Room(8) => ("forge", T_FORGE, Some(8)),
|
||||
Tool::Room(9) => ("prison", T_PRISON, Some(9)),
|
||||
Tool::Room(10) => ("graveyard", T_GRAVEYARD, Some(10)),
|
||||
Tool::Room(11) => ("guardpost", T_GUARDPOST, Some(11)),
|
||||
Tool::Room(12) => ("arena", T_ARENA, Some(12)),
|
||||
Tool::Room(_) => ("altar", T_ALTAR, Some(13)),
|
||||
Tool::Trap(k) => (k.id(), I_TRAPS + crate::traps::TRAP_KINDS.iter().position(|&t| t == k).unwrap_or(0) as u32, None),
|
||||
Tool::Spell(sp) => (sp.id(), I_SPELLS + crate::spells::SPELLS.iter().position(|&t| t == sp).unwrap_or(0) as u32, None),
|
||||
Tool::Tower(TowerKind::Arrow) => ("arrow", I_ARROW, None),
|
||||
@@ -299,7 +309,7 @@ pub fn tool_cost(t: Tool, g: &Game) -> String {
|
||||
pub const CATS: [(&str, &[usize]); 7] = [
|
||||
("cat.dig", &[0]),
|
||||
("cat.hand", &[1]),
|
||||
("cat.rooms", &[2, 3, 4, 5, 6, 12, 13, 18, 21, 17]),
|
||||
("cat.rooms", &[2, 3, 4, 5, 6, 12, 40, 13, 18, 21, 41, 42, 43, 44, 17]),
|
||||
("cat.towers", &[14, 15, 16, 20]),
|
||||
("cat.traps", &[22, 23, 24, 25, 26, 27, 28, 29, 30, 31]),
|
||||
("cat.spells", &[9, 10, 11, 32, 33, 34, 35, 36, 37, 38, 39]),
|
||||
|
||||
Reference in new issue
Block a user