diff options
| author | troido <troido@protonmail.com> | 2020-02-23 22:12:21 +0100 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-02-23 22:12:21 +0100 |
| commit | f422238d7aaae0ff1b2d560a71a99b0a881ad338 (patch) | |
| tree | c335cb8eee47d34953f7d4cd96c195958d223202 /src/components/mod.rs | |
| parent | 613952f918b8d72a3e397dc46be309b2320c6ad0 (diff) | |
players can get damage from traps
Diffstat (limited to 'src/components/mod.rs')
| -rw-r--r-- | src/components/mod.rs | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/components/mod.rs b/src/components/mod.rs index 8941abb..0c258dc 100644 --- a/src/components/mod.rs +++ b/src/components/mod.rs @@ -8,6 +8,7 @@ use specs::{ VecStorage, HashMapStorage, FlaggedStorage, + NullStorage, Component }; @@ -49,24 +50,28 @@ impl Component for Visible { #[derive(Component, Debug)] pub struct Controller(pub Control); -#[derive(Component, Debug, Clone)] +#[derive(Default, Component, Debug, Clone)] +#[storage(NullStorage)] pub struct Blocking; -#[derive(Component, Debug, Clone)] +#[derive(Default, Component, Debug, Clone)] +#[storage(NullStorage)] pub struct Floor; -#[derive(Component, Debug, Clone)] +#[derive(Default, Component, Debug, Clone)] +#[storage(NullStorage)] pub struct New; -#[derive(Component, Debug, Clone)] +#[derive(Default, Component, Debug, Clone)] +#[storage(NullStorage)] pub struct Removed; -#[derive(Component, Debug, Clone)] +#[derive(Default, Component, Debug, Clone)] pub struct Moved { pub from: Pos } -#[derive(Component, Debug, Clone)] +#[derive(Default, Component, Debug, Clone)] #[storage(HashMapStorage)] pub struct Player { pub id: PlayerId @@ -115,3 +120,15 @@ pub struct RoomExit { pub struct Attacked { pub attacks: Vec<Attack> } + + +#[derive(Default, Component, Debug, Clone)] +#[storage(NullStorage)] +pub struct Entered; + +#[derive(Component, Debug, Clone)] +#[storage(HashMapStorage)] +pub struct Trap{ + pub attack: Attack +} + |
