forked from blasthavers/blastmud
Add more NPCs + announce moves to room.
This commit is contained in:
parent
c5c78763a2
commit
cf8ceb1351
@ -15,6 +15,7 @@ mod regular_tasks;
|
|||||||
mod models;
|
mod models;
|
||||||
mod static_content;
|
mod static_content;
|
||||||
mod language;
|
mod language;
|
||||||
|
mod services;
|
||||||
|
|
||||||
pub type DResult<T> = Result<T, Box<dyn Error + Send + Sync>>;
|
pub type DResult<T> = Result<T, Box<dyn Error + Send + Sync>>;
|
||||||
|
|
||||||
|
@ -5,15 +5,44 @@ use super::{
|
|||||||
};
|
};
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use crate::{
|
use crate::{
|
||||||
|
DResult,
|
||||||
regular_tasks::queued_command::{
|
regular_tasks::queued_command::{
|
||||||
QueueCommandHandler,
|
QueueCommandHandler,
|
||||||
QueueCommand,
|
QueueCommand,
|
||||||
queue_command
|
queue_command
|
||||||
},
|
},
|
||||||
static_content::room::{self, Direction, ExitType}
|
static_content::room::{self, Direction, ExitType},
|
||||||
|
db::DBTrans,
|
||||||
|
models::item::Item,
|
||||||
|
services::broadcast_to_room,
|
||||||
};
|
};
|
||||||
use std::time;
|
use std::time;
|
||||||
|
|
||||||
|
pub async fn announce_move(trans: &DBTrans, character: &Item, leaving: &Item, arriving: &Item) -> DResult<()> {
|
||||||
|
let msg_leaving_exp = format!("{} departs towards {}\n", &character.display, &leaving.display);
|
||||||
|
let msg_leaving_nonexp = format!("{} departs towards {}\n",
|
||||||
|
character.display_less_explicit
|
||||||
|
.as_ref()
|
||||||
|
.unwrap_or(&character.display),
|
||||||
|
arriving.display_less_explicit
|
||||||
|
.as_ref()
|
||||||
|
.unwrap_or(&arriving.display));
|
||||||
|
broadcast_to_room(trans, &format!("{}/{}", &leaving.item_type, &leaving.item_code),
|
||||||
|
None, &msg_leaving_exp, Some(&msg_leaving_nonexp)).await?;
|
||||||
|
|
||||||
|
let msg_arriving_exp = format!("{} arrives from {}\n", &character.display, &leaving.display);
|
||||||
|
let msg_arriving_nonexp = format!("{} arrives from {}\n",
|
||||||
|
character.display_less_explicit
|
||||||
|
.as_ref()
|
||||||
|
.unwrap_or(&character.display),
|
||||||
|
leaving.display_less_explicit
|
||||||
|
.as_ref()
|
||||||
|
.unwrap_or(&leaving.display));
|
||||||
|
broadcast_to_room(trans, &format!("{}/{}", &arriving.item_type, &arriving.item_code),
|
||||||
|
None, &msg_arriving_exp, Some(&msg_arriving_nonexp)).await?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
pub struct QueueHandler;
|
pub struct QueueHandler;
|
||||||
#[async_trait]
|
#[async_trait]
|
||||||
impl QueueCommandHandler for QueueHandler {
|
impl QueueCommandHandler for QueueHandler {
|
||||||
@ -40,7 +69,6 @@ impl QueueCommandHandler for QueueHandler {
|
|||||||
let exit = room.exits.iter().find(|ex| ex.direction == *direction)
|
let exit = room.exits.iter().find(|ex| ex.direction == *direction)
|
||||||
.ok_or_else(|| UserError("There is nothing in that direction".to_owned()))?;
|
.ok_or_else(|| UserError("There is nothing in that direction".to_owned()))?;
|
||||||
|
|
||||||
// Ideally we would queue if we were already moving rather than insta-move.
|
|
||||||
match exit.exit_type {
|
match exit.exit_type {
|
||||||
ExitType::Free => {}
|
ExitType::Free => {}
|
||||||
ExitType::Blocked(blocker) => {
|
ExitType::Blocked(blocker) => {
|
||||||
@ -55,7 +83,16 @@ impl QueueCommandHandler for QueueHandler {
|
|||||||
let mut new_player_item = (*player_item).clone();
|
let mut new_player_item = (*player_item).clone();
|
||||||
new_player_item.location = format!("{}/{}", "room", new_room.code);
|
new_player_item.location = format!("{}/{}", "room", new_room.code);
|
||||||
ctx.trans.save_item_model(&new_player_item).await?;
|
ctx.trans.save_item_model(&new_player_item).await?;
|
||||||
|
|
||||||
|
|
||||||
look::VERB.handle(ctx, "look", "").await?;
|
look::VERB.handle(ctx, "look", "").await?;
|
||||||
|
|
||||||
|
if let Some(old_room_item) = ctx.trans.find_item_by_type_code("room", room.code).await? {
|
||||||
|
if let Some(new_room_item) = ctx.trans.find_item_by_type_code("room", new_room.code).await? {
|
||||||
|
announce_move(&ctx.trans, &new_player_item, &old_room_item, &new_room_item).await?;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
use super::{VerbContext, UserVerb, UserVerbRef, UResult, UserError,
|
use super::{VerbContext, UserVerb, UserVerbRef, UResult, UserError,
|
||||||
user_error,
|
user_error,
|
||||||
get_player_item_or_fail, is_likely_explicit};
|
get_player_item_or_fail, is_likely_explicit};
|
||||||
use crate::models::item::{Item, ItemFlag};
|
use crate::{
|
||||||
use crate::db::DBTrans;
|
models::item::{Item, ItemFlag},
|
||||||
|
services::broadcast_to_room,
|
||||||
|
db::DBTrans
|
||||||
|
};
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use ansi::{ignore_special_characters, ansi};
|
use ansi::{ignore_special_characters, ansi};
|
||||||
|
|
||||||
@ -21,21 +24,24 @@ pub async fn say_to_room<'l>(
|
|||||||
user_error("Your wristpad vibrates and flashes up an error - apparently it has \
|
user_error("Your wristpad vibrates and flashes up an error - apparently it has \
|
||||||
been programmed to block your voice from working here.".to_owned())?
|
been programmed to block your voice from working here.".to_owned())?
|
||||||
}
|
}
|
||||||
for item in trans.find_items_by_location(location).await? {
|
let msg_exp = format!(
|
||||||
if item.item_type != "player" {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if let Some((session, session_dat)) = trans.find_session_for_player(&item.item_code).await? {
|
|
||||||
if session_dat.less_explicit_mode && is_explicit && from_item.item_code != item.item_code {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
trans.queue_for_session(&session, Some(&format!(
|
|
||||||
ansi!("<yellow>{} says: <reset><bold>\"{}\"<reset>\n"),
|
ansi!("<yellow>{} says: <reset><bold>\"{}\"<reset>\n"),
|
||||||
from_item.display_for_session(&session_dat),
|
from_item.display,
|
||||||
say_what
|
say_what
|
||||||
))).await?;
|
);
|
||||||
}
|
let msg_lessexp = format!(
|
||||||
}
|
ansi!("<yellow>{} says: <reset><bold>\"{}\"<reset>\n"),
|
||||||
|
from_item.display_less_explicit.as_ref().unwrap_or(&from_item.display),
|
||||||
|
say_what
|
||||||
|
);
|
||||||
|
|
||||||
|
broadcast_to_room(
|
||||||
|
trans,
|
||||||
|
location,
|
||||||
|
Some(from_item),
|
||||||
|
&msg_exp,
|
||||||
|
if is_explicit { None } else { Some(&msg_lessexp) }
|
||||||
|
).await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
24
blastmud_game/src/services.rs
Normal file
24
blastmud_game/src/services.rs
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
use crate::{
|
||||||
|
models::item::Item,
|
||||||
|
db::DBTrans,
|
||||||
|
DResult
|
||||||
|
};
|
||||||
|
pub async fn broadcast_to_room(trans: &DBTrans, location: &str, from_item: Option<&Item>,
|
||||||
|
message_explicit_ok: &str, message_nonexplicit: Option<&str>) -> DResult<()> {
|
||||||
|
for item in trans.find_items_by_location(location).await? {
|
||||||
|
if item.item_type != "player" {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if let Some((session, session_dat)) = trans.find_session_for_player(&item.item_code).await? {
|
||||||
|
if session_dat.less_explicit_mode && Some(&item.item_code) != from_item.map(|i| &i.item_code) {
|
||||||
|
if let Some(msg) = message_nonexplicit {
|
||||||
|
trans.queue_for_session(&session, Some(msg)).await?;
|
||||||
|
}
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
trans.queue_for_session(&session, Some(message_explicit_ok)).await?;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
use super::{StaticItem, StaticTask};
|
use super::{StaticItem, StaticTask};
|
||||||
use crate::models::{
|
use crate::models::{
|
||||||
item::Item,
|
item::{Item, Pronouns},
|
||||||
task::{Task, TaskMeta, TaskRecurrence, TaskDetails}
|
task::{Task, TaskMeta, TaskRecurrence, TaskDetails}
|
||||||
};
|
};
|
||||||
use once_cell::sync::OnceCell;
|
use once_cell::sync::OnceCell;
|
||||||
@ -48,7 +48,7 @@ pub struct NPCSayInfo {
|
|||||||
pub struct NPC {
|
pub struct NPC {
|
||||||
pub code: &'static str,
|
pub code: &'static str,
|
||||||
pub name: &'static str,
|
pub name: &'static str,
|
||||||
pub proper_noun: bool,
|
pub pronouns: Pronouns,
|
||||||
pub description: &'static str,
|
pub description: &'static str,
|
||||||
pub spawn_location: &'static str,
|
pub spawn_location: &'static str,
|
||||||
pub message_handler: Option<&'static (dyn NPCMessageHandler + Sync + Send)>,
|
pub message_handler: Option<&'static (dyn NPCMessageHandler + Sync + Send)>,
|
||||||
@ -60,7 +60,7 @@ impl Default for NPC {
|
|||||||
Self {
|
Self {
|
||||||
code: "DEFAULT",
|
code: "DEFAULT",
|
||||||
name: "default",
|
name: "default",
|
||||||
proper_noun: true,
|
pronouns: Pronouns::default_animate(),
|
||||||
description: "default",
|
description: "default",
|
||||||
spawn_location: "default",
|
spawn_location: "default",
|
||||||
message_handler: None,
|
message_handler: None,
|
||||||
@ -120,6 +120,7 @@ pub fn npc_static_items() -> Box<dyn Iterator<Item = StaticItem>> {
|
|||||||
details: Some(c.description.to_owned()),
|
details: Some(c.description.to_owned()),
|
||||||
location: c.spawn_location.to_owned(),
|
location: c.spawn_location.to_owned(),
|
||||||
is_static: true,
|
is_static: true,
|
||||||
|
pronouns: c.pronouns.clone(),
|
||||||
..Item::default()
|
..Item::default()
|
||||||
})
|
})
|
||||||
}))
|
}))
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
use super::NPC;
|
use super::NPC;
|
||||||
|
use crate::models::item::Pronouns;
|
||||||
|
|
||||||
pub fn npc_list() -> Vec<NPC> {
|
pub fn npc_list() -> Vec<NPC> {
|
||||||
vec!(
|
vec!(
|
||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_1",
|
code: "melbs_dog_1",
|
||||||
name: "feral black dog",
|
name: "feral black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_elizabethst_collinsst",
|
spawn_location: "room/melbs_elizabethst_collinsst",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -13,7 +14,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_2",
|
code: "melbs_dog_2",
|
||||||
name: "howling black dog",
|
name: "howling black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_collinsst_100",
|
spawn_location: "room/melbs_collinsst_100",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -21,7 +22,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_3",
|
code: "melbs_dog_3",
|
||||||
name: "ferocious white dog",
|
name: "ferocious white dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_elizabethst_lonsdalest",
|
spawn_location: "room/melbs_elizabethst_lonsdalest",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -29,7 +30,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_4",
|
code: "melbs_dog_4",
|
||||||
name: "mangy grey dog",
|
name: "mangy grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_collinsst_160",
|
spawn_location: "room/melbs_collinsst_160",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -37,7 +38,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_5",
|
code: "melbs_dog_5",
|
||||||
name: "howling grey dog",
|
name: "howling grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_lonsdalest_100",
|
spawn_location: "room/melbs_lonsdalest_100",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -45,7 +46,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_6",
|
code: "melbs_dog_6",
|
||||||
name: "reeking black dog",
|
name: "reeking black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_lonsdalest_120",
|
spawn_location: "room/melbs_lonsdalest_120",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -53,7 +54,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_7",
|
code: "melbs_dog_7",
|
||||||
name: "growling grey dog",
|
name: "growling grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_williamsst_20",
|
spawn_location: "room/melbs_williamsst_20",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -61,7 +62,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_8",
|
code: "melbs_dog_8",
|
||||||
name: "mangy black dog",
|
name: "mangy black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_bourkest_120",
|
spawn_location: "room/melbs_bourkest_120",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -69,7 +70,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_9",
|
code: "melbs_dog_9",
|
||||||
name: "howling black dog",
|
name: "howling black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_collinsst_100",
|
spawn_location: "room/melbs_collinsst_100",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -77,7 +78,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_10",
|
code: "melbs_dog_10",
|
||||||
name: "howling brown dog",
|
name: "howling brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_flindersst_130",
|
spawn_location: "room/melbs_flindersst_130",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -85,7 +86,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_11",
|
code: "melbs_dog_11",
|
||||||
name: "ferocious black dog",
|
name: "ferocious black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_flindersst_100",
|
spawn_location: "room/melbs_flindersst_100",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -93,7 +94,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_12",
|
code: "melbs_dog_12",
|
||||||
name: "mangy grey dog",
|
name: "mangy grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_elizabethst_90",
|
spawn_location: "room/melbs_elizabethst_90",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -101,7 +102,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_13",
|
code: "melbs_dog_13",
|
||||||
name: "reeking light brown dog",
|
name: "reeking light brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_lonsdalest_140",
|
spawn_location: "room/melbs_lonsdalest_140",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -109,7 +110,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_14",
|
code: "melbs_dog_14",
|
||||||
name: "smelly black dog",
|
name: "smelly black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_queenst_20",
|
spawn_location: "room/melbs_queenst_20",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -117,7 +118,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_15",
|
code: "melbs_dog_15",
|
||||||
name: "growling light brown dog",
|
name: "growling light brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_elizabethst_10",
|
spawn_location: "room/melbs_elizabethst_10",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -125,7 +126,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_16",
|
code: "melbs_dog_16",
|
||||||
name: "howling brown dog",
|
name: "howling brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_swanstonst_flindersst",
|
spawn_location: "room/melbs_swanstonst_flindersst",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -133,7 +134,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_17",
|
code: "melbs_dog_17",
|
||||||
name: "feral brown dog",
|
name: "feral brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_kingst_latrobest",
|
spawn_location: "room/melbs_kingst_latrobest",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -141,7 +142,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_18",
|
code: "melbs_dog_18",
|
||||||
name: "smelly grey dog",
|
name: "smelly grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_kingst_40",
|
spawn_location: "room/melbs_kingst_40",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -149,7 +150,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_19",
|
code: "melbs_dog_19",
|
||||||
name: "feral black dog",
|
name: "feral black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_elizabethst_60",
|
spawn_location: "room/melbs_elizabethst_60",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -157,7 +158,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_20",
|
code: "melbs_dog_20",
|
||||||
name: "smelly white dog",
|
name: "smelly white dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_swanstonst_120",
|
spawn_location: "room/melbs_swanstonst_120",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -165,7 +166,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_21",
|
code: "melbs_dog_21",
|
||||||
name: "growling white dog",
|
name: "growling white dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_elizabethst_90",
|
spawn_location: "room/melbs_elizabethst_90",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -173,7 +174,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_22",
|
code: "melbs_dog_22",
|
||||||
name: "feral light brown dog",
|
name: "feral light brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_lonsdalest_150",
|
spawn_location: "room/melbs_lonsdalest_150",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -181,7 +182,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_23",
|
code: "melbs_dog_23",
|
||||||
name: "mangy grey dog",
|
name: "mangy grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_lonsdalest_150",
|
spawn_location: "room/melbs_lonsdalest_150",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -189,7 +190,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_24",
|
code: "melbs_dog_24",
|
||||||
name: "reeking grey dog",
|
name: "reeking grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_elizabethst_100",
|
spawn_location: "room/melbs_elizabethst_100",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -197,7 +198,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_25",
|
code: "melbs_dog_25",
|
||||||
name: "smelly grey dog",
|
name: "smelly grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_bourkest_180",
|
spawn_location: "room/melbs_bourkest_180",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -205,7 +206,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_26",
|
code: "melbs_dog_26",
|
||||||
name: "growling light brown dog",
|
name: "growling light brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_queenst_100",
|
spawn_location: "room/melbs_queenst_100",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -213,7 +214,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_27",
|
code: "melbs_dog_27",
|
||||||
name: "feral light brown dog",
|
name: "feral light brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_queenst_10",
|
spawn_location: "room/melbs_queenst_10",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -221,7 +222,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_28",
|
code: "melbs_dog_28",
|
||||||
name: "feral grey dog",
|
name: "feral grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_lonsdalest_160",
|
spawn_location: "room/melbs_lonsdalest_160",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -229,7 +230,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_29",
|
code: "melbs_dog_29",
|
||||||
name: "reeking brown dog",
|
name: "reeking brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_bourkest_110",
|
spawn_location: "room/melbs_bourkest_110",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -237,7 +238,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_30",
|
code: "melbs_dog_30",
|
||||||
name: "howling grey dog",
|
name: "howling grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_queenst_80",
|
spawn_location: "room/melbs_queenst_80",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -245,7 +246,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_31",
|
code: "melbs_dog_31",
|
||||||
name: "howling brown dog",
|
name: "howling brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_bourkest_160",
|
spawn_location: "room/melbs_bourkest_160",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -253,7 +254,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_32",
|
code: "melbs_dog_32",
|
||||||
name: "feral black dog",
|
name: "feral black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_swanstonst_collinsst",
|
spawn_location: "room/melbs_swanstonst_collinsst",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -261,7 +262,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_33",
|
code: "melbs_dog_33",
|
||||||
name: "reeking brown dog",
|
name: "reeking brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_kingst_flinderst",
|
spawn_location: "room/melbs_kingst_flinderst",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -269,7 +270,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_34",
|
code: "melbs_dog_34",
|
||||||
name: "reeking white dog",
|
name: "reeking white dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_elizabethst_100",
|
spawn_location: "room/melbs_elizabethst_100",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -277,7 +278,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_35",
|
code: "melbs_dog_35",
|
||||||
name: "growling light brown dog",
|
name: "growling light brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_queenst_110",
|
spawn_location: "room/melbs_queenst_110",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -285,7 +286,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_36",
|
code: "melbs_dog_36",
|
||||||
name: "reeking black dog",
|
name: "reeking black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_williamsst_90",
|
spawn_location: "room/melbs_williamsst_90",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -293,7 +294,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_37",
|
code: "melbs_dog_37",
|
||||||
name: "growling black dog",
|
name: "growling black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_latrobesst_200",
|
spawn_location: "room/melbs_latrobesst_200",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -301,7 +302,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_38",
|
code: "melbs_dog_38",
|
||||||
name: "feral black dog",
|
name: "feral black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_queenst_90",
|
spawn_location: "room/melbs_queenst_90",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -309,7 +310,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_39",
|
code: "melbs_dog_39",
|
||||||
name: "mangy black dog",
|
name: "mangy black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_queenst_40",
|
spawn_location: "room/melbs_queenst_40",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -317,7 +318,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_40",
|
code: "melbs_dog_40",
|
||||||
name: "growling white dog",
|
name: "growling white dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_williamsst_40",
|
spawn_location: "room/melbs_williamsst_40",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -325,7 +326,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_41",
|
code: "melbs_dog_41",
|
||||||
name: "reeking grey dog",
|
name: "reeking grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_queenst_latrobest",
|
spawn_location: "room/melbs_queenst_latrobest",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -333,7 +334,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_42",
|
code: "melbs_dog_42",
|
||||||
name: "mangy grey dog",
|
name: "mangy grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_flindersst_210",
|
spawn_location: "room/melbs_flindersst_210",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -341,7 +342,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_43",
|
code: "melbs_dog_43",
|
||||||
name: "ferocious brown dog",
|
name: "ferocious brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_kingst_latrobest",
|
spawn_location: "room/melbs_kingst_latrobest",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -349,7 +350,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_44",
|
code: "melbs_dog_44",
|
||||||
name: "ferocious light brown dog",
|
name: "ferocious light brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_collinsst_120",
|
spawn_location: "room/melbs_collinsst_120",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -357,7 +358,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_45",
|
code: "melbs_dog_45",
|
||||||
name: "ferocious light brown dog",
|
name: "ferocious light brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_swanstonst_lonsdalest",
|
spawn_location: "room/melbs_swanstonst_lonsdalest",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -365,7 +366,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_46",
|
code: "melbs_dog_46",
|
||||||
name: "smelly grey dog",
|
name: "smelly grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_williamsst_30",
|
spawn_location: "room/melbs_williamsst_30",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -373,7 +374,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_47",
|
code: "melbs_dog_47",
|
||||||
name: "growling grey dog",
|
name: "growling grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_lonsdalest_100",
|
spawn_location: "room/melbs_lonsdalest_100",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -381,7 +382,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_48",
|
code: "melbs_dog_48",
|
||||||
name: "ferocious brown dog",
|
name: "ferocious brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_latrobest_210",
|
spawn_location: "room/melbs_latrobest_210",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -389,7 +390,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_49",
|
code: "melbs_dog_49",
|
||||||
name: "reeking brown dog",
|
name: "reeking brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_latrobest_140",
|
spawn_location: "room/melbs_latrobest_140",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -397,7 +398,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_50",
|
code: "melbs_dog_50",
|
||||||
name: "howling grey dog",
|
name: "howling grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_swanstonst_110",
|
spawn_location: "room/melbs_swanstonst_110",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -405,7 +406,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_51",
|
code: "melbs_dog_51",
|
||||||
name: "howling black dog",
|
name: "howling black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_elizabethst_flindersst",
|
spawn_location: "room/melbs_elizabethst_flindersst",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -413,7 +414,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_52",
|
code: "melbs_dog_52",
|
||||||
name: "growling light brown dog",
|
name: "growling light brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_flindersst_120",
|
spawn_location: "room/melbs_flindersst_120",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -421,7 +422,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_53",
|
code: "melbs_dog_53",
|
||||||
name: "ferocious black dog",
|
name: "ferocious black dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_queenst_110",
|
spawn_location: "room/melbs_queenst_110",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -429,7 +430,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_54",
|
code: "melbs_dog_54",
|
||||||
name: "growling grey dog",
|
name: "growling grey dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_flindersst_210",
|
spawn_location: "room/melbs_flindersst_210",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -437,7 +438,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_55",
|
code: "melbs_dog_55",
|
||||||
name: "reeking brown dog",
|
name: "reeking brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_williamsst_60",
|
spawn_location: "room/melbs_williamsst_60",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -445,7 +446,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_56",
|
code: "melbs_dog_56",
|
||||||
name: "ferocious white dog",
|
name: "ferocious white dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_queenst_lonsdalest",
|
spawn_location: "room/melbs_queenst_lonsdalest",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -453,7 +454,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_57",
|
code: "melbs_dog_57",
|
||||||
name: "smelly brown dog",
|
name: "smelly brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_swanstonst_lonsdalest",
|
spawn_location: "room/melbs_swanstonst_lonsdalest",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -461,7 +462,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_58",
|
code: "melbs_dog_58",
|
||||||
name: "mangy white dog",
|
name: "mangy white dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_williamsst_bourkest",
|
spawn_location: "room/melbs_williamsst_bourkest",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -469,7 +470,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_59",
|
code: "melbs_dog_59",
|
||||||
name: "mangy brown dog",
|
name: "mangy brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_latrobest_170",
|
spawn_location: "room/melbs_latrobest_170",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -477,7 +478,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
NPC {
|
NPC {
|
||||||
code: "melbs_dog_60",
|
code: "melbs_dog_60",
|
||||||
name: "growling brown dog",
|
name: "growling brown dog",
|
||||||
proper_noun: false,
|
pronouns: Pronouns { is_proper: false, ..Pronouns::default_inanimate() },
|
||||||
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
description: "A malnourished looking dog. Its skeleton is visible through its thin and patchy fur. It smells terrible, and certainly doesn't look tame.",
|
||||||
spawn_location: "room/melbs_williamsst_110",
|
spawn_location: "room/melbs_williamsst_110",
|
||||||
..Default::default()
|
..Default::default()
|
||||||
|
Loading…
Reference in New Issue
Block a user