add magic item images, some wpm creatures
3
src/assets/fragments/bestiary/golems/immunities.md
Normal file
@@ -0,0 +1,3 @@
|
||||
- Immune to damage from non-magical weapons.
|
||||
- Immune to mind reading / altering spells and spell-like effects, (ex: charm, fear, hold, sleep).
|
||||
- No need to eat, drink, breathe, or sleep.
|
@@ -1,7 +1,4 @@
|
||||
### Dagger Properties
|
||||
|
||||
- **Light**: May be used in offhand when [dual-wielding](/rules/combat.html#dual-wielding).
|
||||
- **Thrown**: May be used as ranged weapon
|
||||
- Short range: 10' max
|
||||
- Medium range: 20' max
|
||||
- Long range: 30' max
|
||||
- **Thrown**: May be thrown and used as a ranged weapon (10' / 20' / 30').
|
||||
|
@@ -1,5 +1,5 @@
|
||||
### Longsword Properties
|
||||
|
||||
- **Versatile**: At start of combat round, if offhand is free, may choose to have sword deal 1d10 base damage that round while gaining the following properties:
|
||||
- **Versatile**: At start of combat round, if offhand is free, may choose to have sword deal 1d10 base damage for that round while gaining the following properties:
|
||||
- **Slow**: Always attacks last in a round.
|
||||
- **Two-handed**: Requires two hands to use.
|
||||
|
6
src/assets/fragments/weapons/trident-properties.md
Normal file
@@ -0,0 +1,6 @@
|
||||
### Trident Properties
|
||||
|
||||
- **Thrown**: May be thrown and used as a ranged weapon (10' / 20' / 30').
|
||||
- **Versatile**: At start of combat round, if offhand is free, may choose to have trident deal 1d8 base damage for that round while gaining the following properties:
|
||||
- **Slow**: Always attacks last in a round.
|
||||
- **Two-handed**: Requires two hands to use.
|
6
src/assets/fragments/weapons/warhammer-properties.md
Normal file
@@ -0,0 +1,6 @@
|
||||
### Warhammer Properties
|
||||
|
||||
- **Blunt**: No cutting edge, may be wielded by a cleric.
|
||||
- **Versatile**: At start of combat round, if offhand is free, may choose to have hammer deal 1d8 base damage for that round while gaining the following properties:
|
||||
- **Slow**: Always attacks last in a round.
|
||||
- **Two-handed**: Requires two hands to use.
|
BIN
src/assets/images/magic-items/cape-of-muuntehbahnk.jpg
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
src/assets/images/magic-items/mirror-of-telepresence-1.jpg
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
src/assets/images/magic-items/mirror-of-telepresence-2.jpg
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
src/assets/images/magic-items/stone-of-blinding.jpg
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
src/assets/images/magic-items/wand-of-desparking.jpg
Normal file
After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 122 KiB |
@@ -47,6 +47,7 @@ export default (() => {
|
||||
});
|
||||
}
|
||||
|
||||
// put url in DuckDuckGo search on 404 page
|
||||
if (document.documentElement.className.indexOf('is404') > -1) {
|
||||
document.getElementById('searchQuery').value =
|
||||
window.location.pathname
|
||||
@@ -54,12 +55,67 @@ export default (() => {
|
||||
.replace(/\//g, ' ');
|
||||
}
|
||||
|
||||
// Add site to DuckDuckGo search
|
||||
document
|
||||
.getElementById('searchForm')
|
||||
.addEventListener('submit', (e) => {
|
||||
document.getElementById('searchQuery').value +=
|
||||
' site:' + window.location.hostname;
|
||||
});
|
||||
|
||||
// Add shadow to toolDetails that have extra content
|
||||
// I know - ALL OF THIS CODE just for that little effect
|
||||
const details = document.querySelectorAll('.toolDetails'),
|
||||
setBottomShadow = (detail) => {
|
||||
const {
|
||||
clientHeight = 0,
|
||||
offsetHeight = 0,
|
||||
scrollHeight = 0,
|
||||
scrollTop = 0,
|
||||
} = detail ?? {},
|
||||
currentScroll =
|
||||
scrollTop / (scrollHeight - offsetHeight);
|
||||
|
||||
if (clientHeight === scrollHeight) return;
|
||||
|
||||
detail.style.boxShadow = `rgba(0, 0, 0, 0.35) 0px -${
|
||||
50 * (1 - currentScroll)
|
||||
}px 36px -28px inset`;
|
||||
};
|
||||
|
||||
let isWaiting;
|
||||
const throttle = (callback, time) => {
|
||||
if (isWaiting) return;
|
||||
isWaiting = true;
|
||||
setTimeout(() => {
|
||||
callback();
|
||||
isWaiting = false;
|
||||
}, time);
|
||||
};
|
||||
|
||||
window.addEventListener(
|
||||
'resize',
|
||||
() =>
|
||||
throttle(
|
||||
() =>
|
||||
details.forEach((detail) =>
|
||||
setBottomShadow(detail)
|
||||
),
|
||||
250
|
||||
),
|
||||
{ passive: true }
|
||||
);
|
||||
|
||||
details.forEach((detail) => {
|
||||
detail.addEventListener(
|
||||
'scroll',
|
||||
() => throttle(() => setBottomShadow(detail), 250),
|
||||
{ passive: true }
|
||||
);
|
||||
setBottomShadow(detail);
|
||||
});
|
||||
|
||||
details.forEach((detail) => setBottomShadow(detail));
|
||||
}, 1);
|
||||
});
|
||||
})();
|
||||
|
@@ -344,14 +344,6 @@ table th {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.headlessTableWrapper thead {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nonHumanClassTableWrapper table thead tr:last-child {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dividedTableWrapper {
|
||||
display: block;
|
||||
margin: 1rem 0;
|
||||
@@ -382,6 +374,23 @@ table th {
|
||||
max-width: 90%;
|
||||
}
|
||||
|
||||
details.gm-notes {
|
||||
border: 1px dashed #885c68;
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
||||
details.gm-notes summary {
|
||||
margin-left: -1rem;
|
||||
}
|
||||
|
||||
details.gm-notes ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.headlessTableWrapper thead {
|
||||
display: none;
|
||||
}
|
||||
|
||||
a.hiddenLink {
|
||||
border-bottom: transparent;
|
||||
color: #fadbb0;
|
||||
@@ -529,7 +538,47 @@ a.licenseLink:hover {
|
||||
top: 1rem;
|
||||
}
|
||||
|
||||
.menubar {
|
||||
.menubar {/**
|
||||
* Scrolling shadows by @kizmarh and @leaverou
|
||||
* Only works in browsers supporting background-attachment: local; & CSS gradients
|
||||
* Degrades gracefully
|
||||
*/
|
||||
|
||||
html {
|
||||
background: white;
|
||||
font: 120% sans-serif;
|
||||
}
|
||||
|
||||
.scrollbox {
|
||||
overflow: auto;
|
||||
width: 200px;
|
||||
max-height: 200px;
|
||||
margin: 50px auto;
|
||||
|
||||
background:
|
||||
/* Shadow covers */
|
||||
linear-gradient(white 30%, rgba(255,255,255,0)),
|
||||
linear-gradient(rgba(255,255,255,0), white 70%) 0 100%,
|
||||
|
||||
/* Shadows */
|
||||
radial-gradient(50% 0, farthest-side, rgba(0,0,0,.2), rgba(0,0,0,0)),
|
||||
radial-gradient(50% 100%,farthest-side, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
|
||||
background:
|
||||
/* Shadow covers */
|
||||
linear-gradient(white 30%, rgba(255,255,255,0)),
|
||||
linear-gradient(rgba(255,255,255,0), white 70%) 0 100%,
|
||||
|
||||
/* Shadows */
|
||||
radial-gradient(farthest-side at 50% 0, rgba(0,0,0,.2), rgba(0,0,0,0)),
|
||||
radial-gradient(farthest-side at 50% 100%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
|
||||
background-repeat: no-repeat;
|
||||
background-color: white;
|
||||
background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
|
||||
|
||||
/* Opera doesn't support this in the shorthand */
|
||||
background-attachment: local, local, scroll, scroll;
|
||||
}
|
||||
|
||||
background: #282c32;
|
||||
display: static;
|
||||
max-height: 1px;
|
||||
@@ -742,6 +791,10 @@ a.licenseLink:hover {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.nonHumanClassTableWrapper table thead tr:last-child {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.page {
|
||||
background: #372734;
|
||||
background: rgba(55, 39, 52, 0.9);
|
||||
@@ -1073,12 +1126,14 @@ a.pageTitle-sublink {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
.toolDetails {
|
||||
border: 1px dashed;
|
||||
display: none;
|
||||
margin-bottom: 4%;
|
||||
overflow-y: auto;
|
||||
padding: 0 2rem;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@@ -1114,6 +1169,14 @@ a.pageTitle-sublink {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.bottomShadow {
|
||||
box-shadow: rgba(0, 0, 0, 0.35) 0px -50px 36px -28px inset;
|
||||
}
|
||||
|
||||
.topShadow {
|
||||
box-shadow: rgba(0, 0, 0, 0.35) 0px 50px 36px 28px inset;
|
||||
}
|
||||
|
||||
.zineIssue-wrapper .table-of-contents {
|
||||
display: none;
|
||||
}
|
||||
|