forked from blasthavers/blastmud
Condorra
261151881d
This is the start of being able to implement following in a way that works for NPCs, but it isn't finished yet. It does mean NPCs can do things like climb immediately, and will make it far simpler for NPCs to do other player-like actions in the future.
153 lines
5.4 KiB
Rust
153 lines
5.4 KiB
Rust
use super::{GridCoords, Room};
|
|
use ansi::ansi;
|
|
|
|
// None of these are reachable except when the game or an admin puts something there.
|
|
pub fn room_list() -> Vec<Room> {
|
|
let holding_desc: &'static str = "The inside of a small pen or cage, with thick steel bars, suitable for holding an animal - or a person - securely, with no chance of escape. It is dimly lit and smells like urine, and is very cramped and indignifying. It looks like the only way out would be with the help of whoever locked you in here. [OOC: consider emailing staff@blastmud.org to discuss your situation]";
|
|
vec![
|
|
Room {
|
|
zone: "special",
|
|
code: "valhalla",
|
|
name: "Valhalla",
|
|
short: ansi!("<bgyellow><black>VH<reset>"),
|
|
description: "Where the valiant dead NPCs go to wait recloning",
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 0, y: 0, z: 0 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holding0",
|
|
name: "Holding Pen #0",
|
|
short: ansi!("<bgblack><red>H0<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 0, y: 0, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holding1",
|
|
name: "Holding Pen #1",
|
|
short: ansi!("<bgblack><red>H1<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 1, y: 0, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holding2",
|
|
name: "Holding Pen #2",
|
|
short: ansi!("<bgblack><red>H2<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 2, y: 0, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holding3",
|
|
name: "Holding Pen #3",
|
|
short: ansi!("<bgblack><red>H3<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 3, y: 0, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holding4",
|
|
name: "Holding Pen #4",
|
|
short: ansi!("<bgblack><red>H4<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 0, y: 1, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holding5",
|
|
name: "Holding Pen #5",
|
|
short: ansi!("<bgblack><red>H5<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 1, y: 1, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holding6",
|
|
name: "Holding Pen #6",
|
|
short: ansi!("<bgblack><red>H6<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 2, y: 1, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holding7",
|
|
name: "Holding Pen #7",
|
|
short: ansi!("<bgblack><red>H7<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 3, y: 1, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holding8",
|
|
name: "Holding Pen #8",
|
|
short: ansi!("<bgblack><red>H8<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 0, y: 2, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holding9",
|
|
name: "Holding Pen #9",
|
|
short: ansi!("<bgblack><red>H9<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 1, y: 2, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holdinga",
|
|
name: "Holding Pen A",
|
|
short: ansi!("<bgblack><red>HA<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 2, y: 2, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
Room {
|
|
zone: "special",
|
|
code: "holdingb",
|
|
name: "Holding Pen B",
|
|
short: ansi!("<bgblack><red>HB<reset>"),
|
|
description: holding_desc,
|
|
description_less_explicit: None,
|
|
grid_coords: GridCoords { x: 3, y: 2, z: -1 },
|
|
exits: vec![],
|
|
..Default::default()
|
|
},
|
|
]
|
|
}
|