diff --git a/werewolves/img/apprentice.svg b/werewolves/img/apprentice.svg
new file mode 100644
index 0000000..ce83ee9
--- /dev/null
+++ b/werewolves/img/apprentice.svg
@@ -0,0 +1,93 @@
+
+
+
+
diff --git a/werewolves/img/arcanist.svg b/werewolves/img/arcanist.svg
new file mode 100644
index 0000000..0072419
--- /dev/null
+++ b/werewolves/img/arcanist.svg
@@ -0,0 +1,244 @@
+
+
+
+
diff --git a/werewolves/img/beholder.svg b/werewolves/img/beholder.svg
new file mode 100644
index 0000000..00c3441
--- /dev/null
+++ b/werewolves/img/beholder.svg
@@ -0,0 +1,93 @@
+
+
+
+
diff --git a/werewolves/img/elder.svg b/werewolves/img/elder.svg
new file mode 100644
index 0000000..c73eec3
--- /dev/null
+++ b/werewolves/img/elder.svg
@@ -0,0 +1,218 @@
+
+
+
+
diff --git a/werewolves/img/heart.svg b/werewolves/img/heart.svg
index 39effc2..3793fd8 100644
--- a/werewolves/img/heart.svg
+++ b/werewolves/img/heart.svg
@@ -2,9 +2,9 @@
+ transform="translate(-14.125194,-27.595579)" />
diff --git a/werewolves/img/scapegoat.svg b/werewolves/img/scapegoat.svg
index d2e1fc7..bd49296 100644
--- a/werewolves/img/scapegoat.svg
+++ b/werewolves/img/scapegoat.svg
@@ -2,9 +2,9 @@
+ style="fill:#6b65ff;fill-opacity:0.901197;stroke:#05009e;stroke-width:0.661;stroke-dasharray:none;stroke-opacity:1"
+ d="m 4.8512978,164.587 c -0.006,0.0619 -1.574466,16.33979 -0.360701,22.78207 1.118918,5.93888 7.5196952,11.32363 7.2693242,13.90044 -1.315571,12.29009 4.666937,14.58151 11.327474,22.74745 4.44235,3.40984 1.748274,10.34937 5.140254,9.86452 2.132,-0.30475 0.68242,-3.69534 1.30638,-4.01113 0.96346,-0.48761 0.906162,-0.30316 1.208712,0.90537 0.16213,1.91232 -0.261724,3.48859 1.406116,3.3104 2.75286,-0.29411 1.433523,-2.40746 1.639693,-4.79144 0.380196,-0.0845 0.440732,-0.0612 0.448552,-0.0563 h 5.16e-4 5.17e-4 l 5.17e-4,-5.2e-4 c 0.011,-0.006 0.07972,-0.025 0.448035,0.0568 0.20617,2.38398 -1.113167,4.49733 1.639693,4.79144 1.66784,0.17819 1.243985,-1.39808 1.406115,-3.3104 0.30255,-1.20853 0.245252,-1.39298 1.208712,-0.90537 0.62396,0.31579 -0.82562,3.70638 1.30638,4.01113 3.39198,0.48485 0.697905,-6.45468 5.140255,-9.86452 6.660537,-8.16594 12.643045,-10.45736 11.327474,-22.74745 -0.250371,-2.57681 6.150409,-7.96156 7.269324,-13.90044 1.21447,-6.44598 -0.357038,-22.73876 -0.361218,-22.78207 -1.22374,2.2493 -4.89321,20.52768 -12.072649,25.27649 -5.697887,4.31136 -17.377299,5.29548 -17.377299,5.29548 -6.311171,0.0296 -12.005471,-1.80477 -17.250039,-5.29548 C 9.7440908,185.11472 6.0750918,166.83668 4.8513028,164.58698 Z m 18.8205572,35.70015 c 3.51769,-0.0177 5.108051,2.49515 5.471501,3.52795 2.31327,5.55922 -1.864976,7.28272 -5.869926,7.12824 -3.49992,0.49438 -6.292069,0.25355 -6.712769,-5.0648 -0.05005,-1.66043 1.545046,-4.80782 5.483386,-5.41725 0.58324,-0.11752 1.125278,-0.17162 1.627808,-0.17414 z m 21.131527,0 c 0.50253,0.003 1.044567,0.0566 1.627807,0.17414 3.93834,0.60943 5.533437,3.75682 5.483387,5.41725 -0.4207,5.31835 -3.212849,5.55918 -6.712769,5.0648 -4.00495,0.15448 -8.183196,-1.56902 -5.869926,-7.12824 0.36345,-1.0328 1.953811,-3.54565 5.471501,-3.52795 z m -10.661365,14.72313 h 0.190686 c 1.002355,0.2034 1.370965,1.9696 2.822567,3.86694 1.38429,2.50156 -0.823801,3.48209 -2.048971,2.41536 -0.781777,-0.62611 -0.869157,-0.65369 -0.869197,-0.65371 -4e-5,2e-5 -0.08742,0.0276 -0.869198,0.65371 -1.22517,1.06673 -3.433261,0.0862 -2.048971,-2.41536 1.451602,-1.89734 1.820729,-3.66354 2.823084,-3.86694 z"
+ sodipodi:nodetypes="csccsscsccccccscssccscccccccccccccccccccccscccc"
+ inkscape:export-filename="../../src/werewolves/werewolves/img/scapegoat.svg"
+ inkscape:export-xdpi="900.08"
+ inkscape:export-ydpi="900.08" />
diff --git a/werewolves/img/seer.svg b/werewolves/img/seer.svg
index 17b248d..57246a0 100644
--- a/werewolves/img/seer.svg
+++ b/werewolves/img/seer.svg
@@ -2,9 +2,9 @@
+ transform="translate(-319.0875,-227.52108)">
diff --git a/werewolves/img/shapeshifter.svg b/werewolves/img/shapeshifter.svg
new file mode 100644
index 0000000..2dc20df
--- /dev/null
+++ b/werewolves/img/shapeshifter.svg
@@ -0,0 +1,79 @@
+
+
+
+
diff --git a/werewolves/img/vindicator.svg b/werewolves/img/vindicator.svg
new file mode 100644
index 0000000..e379880
--- /dev/null
+++ b/werewolves/img/vindicator.svg
@@ -0,0 +1,74 @@
+
+
+
+
diff --git a/werewolves/index.scss b/werewolves/index.scss
index e5709e1..b06957f 100644
--- a/werewolves/index.scss
+++ b/werewolves/index.scss
@@ -109,9 +109,7 @@ $error_shadow_color_2: hsla(0, 95%, 61%, 0.7);
$error_filter: drop-shadow(5px 5px 0 $error_shadow_color) drop-shadow(5px 5px 0 $error_shadow_color_2);
-nav.debug-nav {
-
-
+nav.host-nav {
position: sticky;
backdrop-filter: brightness(70%);
display: flex;
@@ -142,15 +140,7 @@ nav.debug-nav {
}
}
-.player-list {
- padding-bottom: 20px;
- display: flex;
-
- gap: 10px;
- justify-items: center;
- justify-content: space-evenly;
-}
-
+.player-list,
.targets {
display: flex;
flex-direction: row;
@@ -161,9 +151,6 @@ nav.debug-nav {
justify-content: space-evenly;
&>* {
- // min-width: 15vw;
- // min-height: 12vh;
- // font-size: 3em;
flex-grow: 1;
}
}
@@ -1098,6 +1085,19 @@ input {
.add-role {
color: white;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ align-items: center;
+ gap: 10px;
+ font-size: 1.5rem;
+
+ cursor: pointer;
+}
+
+.icon-role-add {
+ height: 48px;
+ width: 48px;
}
@@ -1113,6 +1113,10 @@ input {
&.faint {
border: 1px solid $village_border_faint;
background-color: $village_color_faint;
+
+ &:hover {
+ background-color: $village_border_faint;
+ }
}
}
@@ -1128,6 +1132,10 @@ input {
&.faint {
border: 1px solid $wolves_border_faint;
background-color: $wolves_color_faint;
+
+ &:hover {
+ background-color: $wolves_border_faint;
+ }
}
}
@@ -1143,6 +1151,10 @@ input {
&.faint {
border: 1px solid $intel_border_faint;
background-color: $intel_color_faint;
+
+ &:hover {
+ background-color: $intel_border_faint;
+ }
}
}
@@ -1158,6 +1170,10 @@ input {
&.faint {
border: 1px solid $defensive_border_faint;
background-color: $defensive_color_faint;
+
+ &:hover {
+ background-color: $defensive_border_faint;
+ }
}
}
@@ -1173,6 +1189,10 @@ input {
&.faint {
border: 1px solid $offensive_border_faint;
background-color: $offensive_color_faint;
+
+ &:hover {
+ background-color: $offensive_border_faint;
+ }
}
}
@@ -1188,6 +1208,10 @@ input {
&.faint {
border: 1px solid $starts_as_villager_border_faint;
background-color: $starts_as_villager_color_faint;
+
+ &:hover {
+ background-color: $starts_as_villager_border_faint;
+ }
}
}
@@ -1230,6 +1254,7 @@ input {
}
.setup-screen {
+ margin-top: 2%;
font-size: 1rem;
.setup {
diff --git a/werewolves/src/components/icon.rs b/werewolves/src/components/icon.rs
index 71b1489..7864ff9 100644
--- a/werewolves/src/components/icon.rs
+++ b/werewolves/src/components/icon.rs
@@ -46,6 +46,13 @@ decl_icon!(
Pyremaster: "/img/pyremaster.svg",
Sword: "/img/sword.svg",
Roleblock: "/img/roleblock.svg",
+ Beholder: "/img/beholder.svg",
+ LoneWolf: "/img/lone-wolf.svg",
+ Vindicator: "/img/vindicator.svg",
+ Apprentice: "/img/apprentice.svg",
+ Elder: "/img/elder.svg",
+ Shapeshifter: "/img/shapeshifter.svg",
+ Arcanist: "/img/arcanist.svg",
);
impl IconSource {
@@ -62,6 +69,7 @@ impl IconSource {
pub enum IconType {
List,
Small,
+ RoleAdd,
Informational,
#[default]
RoleCheck,
@@ -72,6 +80,7 @@ impl IconType {
match self {
IconType::List => "icon-in-list",
IconType::Small => "icon",
+ IconType::RoleAdd => "icon-role-add",
IconType::Informational => "icon-info",
IconType::RoleCheck => "check-icon",
}
@@ -134,21 +143,21 @@ impl AssociatedIcon for Powerful {
impl PartialAssociatedIcon for RoleTitle {
fn icon(&self) -> Option {
Some(match self {
- RoleTitle::Arcanist
- | RoleTitle::Adjudicator
- | RoleTitle::Beholder
+ RoleTitle::Adjudicator
| RoleTitle::MasonLeader
| RoleTitle::BlackKnight
| RoleTitle::Weightlifter
- | RoleTitle::Apprentice
- | RoleTitle::Elder
| RoleTitle::Insomniac
| RoleTitle::AlphaWolf
- | RoleTitle::DireWolf
- | RoleTitle::Shapeshifter
- | RoleTitle::LoneWolf
- | RoleTitle::Villager => return None,
+ | RoleTitle::DireWolf => return None,
+ RoleTitle::Arcanist => IconSource::Arcanist,
+ RoleTitle::Shapeshifter => IconSource::Shapeshifter,
+ RoleTitle::Elder => IconSource::Elder,
+ RoleTitle::Apprentice => IconSource::Apprentice,
+ RoleTitle::LoneWolf => IconSource::LoneWolf,
+ RoleTitle::Villager => IconSource::Village,
+ RoleTitle::Beholder => IconSource::Beholder,
RoleTitle::Werewolf => IconSource::Wolves,
RoleTitle::Militia => IconSource::Sword,
RoleTitle::PyreMaster => IconSource::Pyremaster,
@@ -162,7 +171,8 @@ impl PartialAssociatedIcon for RoleTitle {
RoleTitle::Empath => IconSource::Heart,
RoleTitle::Seer => IconSource::Seer,
RoleTitle::Guardian => IconSource::ShieldAndSword,
- RoleTitle::Vindicator | RoleTitle::Protector => IconSource::Shield,
+ RoleTitle::Protector => IconSource::Shield,
+ RoleTitle::Vindicator => IconSource::Vindicator,
})
}
}