InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Vorpal Sword".to_string(),weight: Some(4.0),description: Some("A blade that severs heads with a single swing.".to_string()),tags: HashMap::from([("type".to_string(),"weapon".to_string()),("rarity".to_string(),"legendary".to_string()),]),}),},
InventoryEntry{quantity: 3,item: InventoryItem::Custom(CustomInventoryItem{name: "Potion of Healing".to_string(),weight: Some(0.5),description: Some("A vial of red liquid that restores vitality.".to_string()),tags: HashMap::from([("type".to_string(),"potion".to_string()),("rarity".to_string(),"common".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Cloak of Elvenkind".to_string(),weight: Some(1.0),description: Some("A cloak that blends into shadows.".to_string()),tags: HashMap::from([("type".to_string(),"wondrous".to_string()),("rarity".to_string(),"uncommon".to_string()),]),}),},
InventoryEntry{quantity: 2,item: InventoryItem::Custom(CustomInventoryItem{name: "Bag of Holding".to_string(),weight: Some(15.0),description: Some("A small bag with vast internal space.".to_string()),tags: HashMap::from([("type".to_string(),"wondrous".to_string()),("rarity".to_string(),"uncommon".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Mithril Chainmail".to_string(),weight: Some(20.0),description: Some("Lightweight armor that gleams like silver.".to_string()),tags: HashMap::from([("type".to_string(),"armor".to_string()),("rarity".to_string(),"rare".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Wand of Fireballs".to_string(),weight: Some(0.2),description: Some("A wand that unleashes fiery explosions.".to_string()),tags: HashMap::from([("type".to_string(),"wand".to_string()),("rarity".to_string(),"rare".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Ring of Invisibility".to_string(),weight: Some(0.1),description: Some("Grants the wearer invisibility.".to_string()),tags: HashMap::from([("type".to_string(),"ring".to_string()),("rarity".to_string(),"legendary".to_string()),]),}),},
InventoryEntry{quantity: 2,item: InventoryItem::Custom(CustomInventoryItem{name: "Boots of Speed".to_string(),weight: Some(1.5),description: Some("Boots that enhance the wearer's speed.".to_string()),tags: HashMap::from([("type".to_string(),"wondrous".to_string()),("rarity".to_string(),"rare".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Dagger of Venom".to_string(),weight: Some(1.0),description: Some("A dagger coated with deadly poison.".to_string()),tags: HashMap::from([("type".to_string(),"weapon".to_string()),("rarity".to_string(),"rare".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Staff of Power".to_string(),weight: Some(5.0),description: Some("A staff pulsing with arcane might.".to_string()),tags: HashMap::from([("type".to_string(),"staff".to_string()),("rarity".to_string(),"very rare".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Amulet of Health".to_string(),weight: Some(0.3),description: Some("Boosts the wearer's vitality.".to_string()),tags: HashMap::from([("type".to_string(),"wondrous".to_string()),("rarity".to_string(),"rare".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Flame Tongue".to_string(),weight: Some(3.0),description: Some("A sword that ignites on command.".to_string()),tags: HashMap::from([("type".to_string(),"weapon".to_string()),("rarity".to_string(),"rare".to_string()),]),}),},
InventoryEntry{quantity: 5,item: InventoryItem::Custom(CustomInventoryItem{name: "Arrow of Slaying".to_string(),weight: Some(0.1),description: Some("An arrow designed to kill a specific foe.".to_string()),tags: HashMap::from([("type".to_string(),"ammunition".to_string()),("rarity".to_string(),"very rare".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Cloak of Displacement".to_string(),weight: Some(1.0),description: Some("Makes the wearer hard to hit.".to_string()),tags: HashMap::from([("type".to_string(),"wondrous".to_string()),("rarity".to_string(),"rare".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Helm of Teleportation".to_string(),weight: Some(3.0),description: Some("Allows teleportation to known locations.".to_string()),tags: HashMap::from([("type".to_string(),"wondrous".to_string()),("rarity".to_string(),"rare".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Gauntlets of Ogre Power".to_string(),weight: Some(2.0),description: Some("Grants the strength of an ogre.".to_string()),tags: HashMap::from([("type".to_string(),"wondrous".to_string()),("rarity".to_string(),"uncommon".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Robe of the Archmagi".to_string(),weight: Some(1.0),description: Some("Enhances a wizard's spellcasting.".to_string()),tags: HashMap::from([("type".to_string(),"wondrous".to_string()),("rarity".to_string(),"legendary".to_string()),]),}),},
InventoryEntry{quantity: 1,item: InventoryItem::Custom(CustomInventoryItem{name: "Horn of Blasting".to_string(),weight: Some(2.0),description: Some("Emits a destructive sonic blast.".to_string()),tags: HashMap::from([("type".to_string(),"wondrous".to_string()),("rarity".to_string(),"rare".to_string()),]),}),},
contacts.insert("Sylvara the Druid".to_string(),Contact{name: "Sylvara the Druid".to_string(),image: None,alias: None,status: Some(ContactStatus::Alive),location: Some("High Forest".to_string()),notes: Some("Protects the woods.".to_string())});
contacts.insert("Raul the Barkeep".to_string(),Contact{name: "Raul the Barkeep".to_string(),image: None,alias: None,status: Some(ContactStatus::Alive),location: Some("Daggerford".to_string()),notes: Some("Hears local gossip.".to_string())});
// 5 Contacts (10%)
contacts.insert("Valthor the Fence".to_string(),Contact{name: "Valthor the Fence".to_string(),image: None,alias: None,status: Some(ContactStatus::Alive),location: Some("Baldur's Gate".to_string()),notes: Some("Buys stolen goods.".to_string())});
contacts.insert("Zyra the Alchemist".to_string(),Contact{name: "Zyra the Alchemist".to_string(),image: None,alias: None,status: Some(ContactStatus::Alive),location: Some("Waterdeep".to_string()),notes: Some("Sells potions.".to_string())});
contacts.insert("Kren the Smuggler".to_string(),Contact{name: "Kren the Smuggler".to_string(),image: None,alias: None,status: Some(ContactStatus::Alive),location: Some("Luskan".to_string()),notes: Some("Moves contraband.".to_string())});
contacts.insert("Mira the Scribe".to_string(),Contact{name: "Mira the Scribe".to_string(),image: None,alias: None,status: Some(ContactStatus::Alive),location: Some("Candlekeep".to_string()),notes: Some("Deciphers texts.".to_string())});
contacts.insert("Thok the Armorer".to_string(),Contact{name: "Thok the Armorer".to_string(),image: None,alias: None,status: Some(ContactStatus::Alive),location: Some("Neverwinter".to_string()),notes: Some("Crafts fine armor.".to_string())});
contacts.insert("Vecna".to_string(),Contact{name: "Vecna".to_string(),image: None,alias: None,status: Some(ContactStatus::Alive),location: None,notes: Some("Lich god of secrets.".to_string())});
Note{content: "Rumors of dragon in Evermoors; need fire resistance.".to_string(),date_ingame: NaiveDate::from_ymd_opt(1481,5,12).unwrap(),date_real: NaiveDateTime::parse_from_str("2025-09-10 17:25:00","%Y-%m-%d %H:%M:%S").unwrap(),tags: HashSet::from_iter(vec!["Evermoors".to_string()])},