* Moved migrations to beginning of server initialisation

* Added migrations for entity ID changes to existing tables
This commit is contained in:
Ben Wallis
2020-09-17 23:02:14 +00:00
committed by Joshua Yanovski
parent 3ce5a9d0e7
commit 712f2e9c97
442 changed files with 3666 additions and 2205 deletions

View File

@ -165,6 +165,26 @@ pub struct ItemConfig {
pub dodge_ability: Option<CharacterAbility>,
}
impl From<Item> for ItemConfig {
fn from(item: Item) -> Self {
if let ItemKind::Tool(tool) = &item.kind() {
let mut abilities = tool.get_abilities();
let mut ability_drain = abilities.drain(..);
return ItemConfig {
item,
ability1: ability_drain.next(),
ability2: ability_drain.next(),
ability3: ability_drain.next(),
block_ability: Some(CharacterAbility::BasicBlock),
dodge_ability: Some(CharacterAbility::Roll),
};
}
unimplemented!("ItemConfig is currently only supported for Tools")
}
}
#[derive(Arraygen, Clone, PartialEq, Default, Debug, Serialize, Deserialize)]
#[gen_array(pub fn get_armor: &Option<Item>)]
pub struct Loadout {
@ -204,7 +224,7 @@ impl Loadout {
.iter()
.flat_map(|armor| armor.as_ref())
.filter_map(|item| {
if let ItemKind::Armor(armor) = &item.kind {
if let ItemKind::Armor(armor) = &item.kind() {
Some(armor.get_protection())
} else {
None