mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2025-12-25 18:22:42 +00:00
Merge branch 'master' of https://github.com/naturalcrit/homebrewery into experimental-development
This commit is contained in:
@@ -14,6 +14,9 @@ const NotificationPopup = require('./notificationPopup/notificationPopup.jsx');
|
||||
const Frame = require('react-frame-component').default;
|
||||
const dedent = require('dedent-tabs').default;
|
||||
|
||||
const DOMPurify = require('dompurify');
|
||||
const purifyConfig = { FORCE_BODY: true, SANITIZE_DOM: false };
|
||||
|
||||
const Themes = require('themes/themes.json');
|
||||
|
||||
const PAGE_HEIGHT = 1056;
|
||||
@@ -33,8 +36,9 @@ const BrewPage = (props)=>{
|
||||
index : 0,
|
||||
...props
|
||||
};
|
||||
const cleanText = DOMPurify.sanitize(props.contents, purifyConfig);
|
||||
return <div className={props.className} id={`p${props.index + 1}`} >
|
||||
<div className='columnWrapper' dangerouslySetInnerHTML={{ __html: props.contents }} />
|
||||
<div className='columnWrapper' dangerouslySetInnerHTML={{ __html: cleanText }} />
|
||||
</div>;
|
||||
};
|
||||
|
||||
@@ -102,13 +106,6 @@ const BrewRenderer = (props)=>{
|
||||
return false;
|
||||
};
|
||||
|
||||
const sanitizeScriptTags = (content)=>{
|
||||
return content
|
||||
?.replace(/<script/ig, '<script')
|
||||
.replace(/<\/script>/ig, '</script>')
|
||||
|| '';
|
||||
};
|
||||
|
||||
const renderPageInfo = ()=>{
|
||||
return <div className='pageInfo' ref={mainRef}>
|
||||
<div>
|
||||
@@ -128,19 +125,18 @@ const BrewRenderer = (props)=>{
|
||||
|
||||
const renderStyle = ()=>{
|
||||
if(!props.style) return;
|
||||
const cleanStyle = sanitizeScriptTags(props.style);
|
||||
const cleanStyle = DOMPurify.sanitize(props.style, purifyConfig);
|
||||
//return <div style={{ display: 'none' }} dangerouslySetInnerHTML={{ __html: `<style>@layer styleTab {\n${sanitizeScriptTags(props.style)}\n} </style>` }} />;
|
||||
return <div style={{ display: 'none' }} dangerouslySetInnerHTML={{ __html: `<style> ${cleanStyle} </style>` }} />;
|
||||
};
|
||||
|
||||
const renderPage = (pageText, index)=>{
|
||||
let cleanPageText = sanitizeScriptTags(pageText);
|
||||
if(props.renderer == 'legacy') {
|
||||
const html = MarkdownLegacy.render(cleanPageText);
|
||||
const html = MarkdownLegacy.render(pageText);
|
||||
return <BrewPage className='page phb' index={index} key={index} contents={html} />;
|
||||
} else {
|
||||
cleanPageText += `\n\n \n\\column\n `; //Artificial column break at page end to emulate column-fill:auto (until `wide` is used, when column-fill:balance will reappear)
|
||||
const html = Markdown.render(cleanPageText, index);
|
||||
pageText += `\n\n \n\\column\n `; //Artificial column break at page end to emulate column-fill:auto (until `wide` is used, when column-fill:balance will reappear)
|
||||
const html = Markdown.render(pageText, index);
|
||||
return <BrewPage className='page' index={index} key={index} contents={html} />;
|
||||
}
|
||||
};
|
||||
@@ -211,11 +207,11 @@ const BrewRenderer = (props)=>{
|
||||
<RenderWarnings />
|
||||
<NotificationPopup />
|
||||
</div>
|
||||
<link href={`/themes/${rendererPath}/Blank/style.css`} type="text/css" rel='stylesheet'/>
|
||||
<link href={`/themes/${rendererPath}/Blank/style.css`} type='text/css' rel='stylesheet'/>
|
||||
{baseThemePath &&
|
||||
<link href={`/themes/${rendererPath}/${baseThemePath}/style.css`} type="text/css" rel='stylesheet'/>
|
||||
<link href={`/themes/${rendererPath}/${baseThemePath}/style.css`} type='text/css' rel='stylesheet'/>
|
||||
}
|
||||
<link href={`/themes/${rendererPath}/${themePath}/style.css`} type="text/css" rel='stylesheet'/>
|
||||
<link href={`/themes/${rendererPath}/${themePath}/style.css`} type='text/css' rel='stylesheet'/>
|
||||
|
||||
{/* Apply CSS from Style tab and render pages from Markdown tab */}
|
||||
{state.isMounted
|
||||
|
||||
30282
package-lock.json
generated
30282
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -93,6 +93,7 @@
|
||||
"cookie-parser": "^1.4.6",
|
||||
"create-react-class": "^15.7.0",
|
||||
"dedent-tabs": "^0.10.3",
|
||||
"dompurify": "^3.1.1",
|
||||
"expr-eval": "^2.0.2",
|
||||
"express": "^4.19.2",
|
||||
"express-async-handler": "^1.2.0",
|
||||
|
||||
@@ -171,7 +171,7 @@ module.exports = {
|
||||
**Condition Immunities** :: ${genList(['groggy', 'swagged', 'weak-kneed', 'buzzed', 'groovy', 'melancholy', 'drunk'], 3)}
|
||||
**Senses** :: darkvision 60 ft., passive Perception ${_.random(3, 20)}
|
||||
**Languages** :: ${genList(['Common', 'Pottymouth', 'Gibberish', 'Latin', 'Jive'], 2)}
|
||||
**Challenge** :: ${_.random(0, 15)} (${_.random(10, 10000)} XP)
|
||||
**Challenge** :: ${_.random(0, 15)} (${_.random(10, 10000)} XP) {{bonus **Proficiency Bonus** +${_.random(2, 6)}}}
|
||||
___
|
||||
${_.times(_.random(genLines, genLines + 2), function(){return genAbilities();}).join('\n:\n')}
|
||||
:
|
||||
|
||||
@@ -354,6 +354,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
.bonus {
|
||||
float: right;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
// Monster Ability table
|
||||
hr + table:first-of-type {
|
||||
margin : 0;
|
||||
|
||||
@@ -105,6 +105,7 @@ const elderberryInn = {
|
||||
'ei_action1' : 'ei action-1',
|
||||
'ei_alter_self' : 'ei alter-self',
|
||||
'ei_alter_self2' : 'ei alter-self-2',
|
||||
'ei_magic_beans' : 'ei magic-beans',
|
||||
'ei_animal_friendship' : 'ei animal-friendship',
|
||||
'ei_animate_dead' : 'ei animate-dead',
|
||||
'ei_animate_objects' : 'ei animate-objects',
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
font-style : normal;
|
||||
font-weight : normal;
|
||||
src : url('../../../fonts/iconFonts/elderberryInn.woff2');
|
||||
}
|
||||
}
|
||||
|
||||
.ei {
|
||||
display : inline-block;
|
||||
@@ -16,116 +16,118 @@
|
||||
-webkit-font-smoothing : antialiased;
|
||||
text-rendering : auto;
|
||||
|
||||
&.book::before { content : '\E900'; }
|
||||
&.screen::before { content : '\E901'; }
|
||||
&.book::before { content : '\E900'; }
|
||||
&.screen::before { content : '\E901'; }
|
||||
|
||||
/* Spell levels */
|
||||
&.spell-0::before { content : '\E902'; }
|
||||
&.spell-1::before { content : '\E903'; }
|
||||
&.spell-2::before { content : '\E904'; }
|
||||
&.spell-3::before { content : '\E905'; }
|
||||
&.spell-4::before { content : '\E906'; }
|
||||
&.spell-5::before { content : '\E907'; }
|
||||
&.spell-6::before { content : '\E908'; }
|
||||
&.spell-7::before { content : '\E909'; }
|
||||
&.spell-8::before { content : '\E90A'; }
|
||||
&.spell-0::before { content : '\E902'; }
|
||||
&.spell-1::before { content : '\E903'; }
|
||||
&.spell-2::before { content : '\E904'; }
|
||||
&.spell-3::before { content : '\E905'; }
|
||||
&.spell-4::before { content : '\E906'; }
|
||||
&.spell-5::before { content : '\E907'; }
|
||||
&.spell-6::before { content : '\E908'; }
|
||||
&.spell-7::before { content : '\E909'; }
|
||||
&.spell-8::before { content : '\E90A'; }
|
||||
&.spell-9::before { content : '\E90B'; }
|
||||
|
||||
/* Damage types */
|
||||
&.acid::before { content : '\E90C'; }
|
||||
&.bludgeoning::before { content : '\E90D'; }
|
||||
&.cold::before { content : '\E90E'; }
|
||||
&.fire::before { content : '\E90F'; }
|
||||
&.force::before { content : '\E910'; }
|
||||
&.lightning::before { content : '\E911'; }
|
||||
&.necrotic::before { content : '\E912'; }
|
||||
&.piercing::before { content : '\E913'; }
|
||||
&.poison::before { content : '\E914'; }
|
||||
&.psychic::before { content : '\E915'; }
|
||||
&.radiant::before { content : '\E916'; }
|
||||
&.slashing::before { content : '\E917'; }
|
||||
&.acid::before { content : '\E90C'; }
|
||||
&.bludgeoning::before { content : '\E90D'; }
|
||||
&.cold::before { content : '\E90E'; }
|
||||
&.fire::before { content : '\E90F'; }
|
||||
&.force::before { content : '\E910'; }
|
||||
&.lightning::before { content : '\E911'; }
|
||||
&.necrotic::before { content : '\E912'; }
|
||||
&.piercing::before { content : '\E913'; }
|
||||
&.poison::before { content : '\E914'; }
|
||||
&.psychic::before { content : '\E915'; }
|
||||
&.radiant::before { content : '\E916'; }
|
||||
&.slashing::before { content : '\E917'; }
|
||||
&.thunder::before { content : '\E918'; }
|
||||
|
||||
/* DnD Conditions */
|
||||
&.blinded::before { content : '\E919'; }
|
||||
&.charmed::before { content : '\E91A'; }
|
||||
&.deafened::before { content : '\E91B'; }
|
||||
&.exhaust-1::before { content : '\E91C'; }
|
||||
&.exhaust-2::before { content : '\E91D'; }
|
||||
&.exhaust-3::before { content : '\E91E'; }
|
||||
&.exhaust-4::before { content : '\E91F'; }
|
||||
&.exhaust-5::before { content : '\E920'; }
|
||||
&.exhaust-6::before { content : '\E921'; }
|
||||
&.frightened::before { content : '\E922'; }
|
||||
&.grappled::before { content : '\E923'; }
|
||||
&.incapacitated::before { content : '\E924'; }
|
||||
&.invisible::before { content : '\E926'; }
|
||||
&.paralyzed::before { content : '\E927'; }
|
||||
&.petrified::before { content : '\E928'; }
|
||||
&.poisoned::before { content : '\E929'; }
|
||||
&.prone::before { content : '\E92A'; }
|
||||
&.restrained::before { content : '\E92B'; }
|
||||
&.stunned::before { content : '\E92C'; }
|
||||
&.blinded::before { content : '\E919'; }
|
||||
&.charmed::before { content : '\E91A'; }
|
||||
&.deafened::before { content : '\E91B'; }
|
||||
&.exhaust-1::before { content : '\E91C'; }
|
||||
&.exhaust-2::before { content : '\E91D'; }
|
||||
&.exhaust-3::before { content : '\E91E'; }
|
||||
&.exhaust-4::before { content : '\E91F'; }
|
||||
&.exhaust-5::before { content : '\E920'; }
|
||||
&.exhaust-6::before { content : '\E921'; }
|
||||
&.frightened::before { content : '\E922'; }
|
||||
&.grappled::before { content : '\E923'; }
|
||||
&.incapacitated::before { content : '\E924'; }
|
||||
&.unconscious::before { content : '\E925'; }
|
||||
&.invisible::before { content : '\E926'; }
|
||||
&.paralyzed::before { content : '\E927'; }
|
||||
&.petrified::before { content : '\E928'; }
|
||||
&.poisoned::before { content : '\E929'; }
|
||||
&.prone::before { content : '\E92A'; }
|
||||
&.restrained::before { content : '\E92B'; }
|
||||
&.stunned::before { content : '\E92C'; }
|
||||
|
||||
|
||||
/* Character Classes and Features */
|
||||
&.barbarian-rage::before { content : '\E92D'; }
|
||||
&.barbarian-reckless-attack::before { content : '\E92E'; }
|
||||
&.bardic-inspiration::before { content : '\E92F'; }
|
||||
&.cleric-channel-divinity::before { content : '\E930'; }
|
||||
&.druid-wild-shape::before { content : '\E931'; }
|
||||
&.fighter-action-surge::before { content : '\E932'; }
|
||||
&.fighter-second-wind::before { content : '\E933'; }
|
||||
&.barbarian-rage::before { content : '\E92D'; }
|
||||
&.barbarian-reckless-attack::before { content : '\E92E'; }
|
||||
&.bardic-inspiration::before { content : '\E92F'; }
|
||||
&.cleric-channel-divinity::before { content : '\E930'; }
|
||||
&.druid-wild-shape::before { content : '\E931'; }
|
||||
&.fighter-action-surge::before { content : '\E932'; }
|
||||
&.fighter-second-wind::before { content : '\E933'; }
|
||||
&.monk-flurry-blows::before { content : '\E934'; }
|
||||
&.monk-patient-defense::before { content : '\E935'; }
|
||||
&.monk-step-of-the-wind::before { content : '\E936'; }
|
||||
&.monk-step-of-the-wind-2::before { content : '\E937'; }
|
||||
&.monk-patient-defense::before { content : '\E935'; }
|
||||
&.monk-step-of-the-wind::before { content : '\E936'; }
|
||||
&.monk-step-of-the-wind-2::before { content : '\E937'; }
|
||||
&.monk-step-of-the-wind-3::before { content : '\E938'; }
|
||||
&.monk-stunning-strike::before { content : '\E939'; }
|
||||
&.monk-stunning-strike-2::before { content : '\E939'; }
|
||||
&.paladin-divine-smite::before { content : '\E93B'; }
|
||||
&.paladin-lay-on-hands::before { content : '\E93C'; }
|
||||
&.barbarian-abilities::before { content : '\E93D'; }
|
||||
&.barbarian::before { content : '\E93E'; }
|
||||
&.bard-abilities::before { content : '\E93F'; }
|
||||
&.bard::before { content : '\E940'; }
|
||||
&.cleric-abilities::before { content : '\E941'; }
|
||||
&.cleric::before { content : '\E942'; }
|
||||
&.druid-abilities::before { content : '\E943'; }
|
||||
&.druid::before { content : '\E944'; }
|
||||
&.fighter-abilities::before { content : '\E945'; }
|
||||
&.fighter::before { content : '\E946'; }
|
||||
&.monk-abilities::before { content : '\E947'; }
|
||||
&.monk::before { content : '\E948'; }
|
||||
&.paladin-abilities::before { content : '\E949'; }
|
||||
&.paladin::before { content : '\E94A'; }
|
||||
&.ranger-abilities::before { content : '\E94B'; }
|
||||
&.ranger::before { content : '\E94C'; }
|
||||
&.rogue-abilities::before { content : '\E94D'; }
|
||||
&.rogue::before { content : '\E94E'; }
|
||||
&.sorcerer-abilities::before { content : '\E94F'; }
|
||||
&.sorcerer::before { content : '\E950'; }
|
||||
&.warlock-abilities::before { content : '\E951'; }
|
||||
&.warlock::before { content : '\E952'; }
|
||||
&.wizard-abilities::before { content : '\E953'; }
|
||||
&.monk-stunning-strike-2::before { content : '\E93A'; }
|
||||
&.paladin-divine-smite::before { content : '\E93B'; }
|
||||
&.paladin-lay-on-hands::before { content : '\E93C'; }
|
||||
&.barbarian-abilities::before { content : '\E93D'; }
|
||||
&.barbarian::before { content : '\E93E'; }
|
||||
&.bard-abilities::before { content : '\E93F'; }
|
||||
&.bard::before { content : '\E940'; }
|
||||
&.cleric-abilities::before { content : '\E941'; }
|
||||
&.cleric::before { content : '\E942'; }
|
||||
&.druid-abilities::before { content : '\E943'; }
|
||||
&.druid::before { content : '\E944'; }
|
||||
&.fighter-abilities::before { content : '\E945'; }
|
||||
&.fighter::before { content : '\E946'; }
|
||||
&.monk-abilities::before { content : '\E947'; }
|
||||
&.monk::before { content : '\E948'; }
|
||||
&.paladin-abilities::before { content : '\E949'; }
|
||||
&.paladin::before { content : '\E94A'; }
|
||||
&.ranger-abilities::before { content : '\E94B'; }
|
||||
&.ranger::before { content : '\E94C'; }
|
||||
&.rogue-abilities::before { content : '\E94D'; }
|
||||
&.rogue::before { content : '\E94E'; }
|
||||
&.sorcerer-abilities::before { content : '\E94F'; }
|
||||
&.sorcerer::before { content : '\E950'; }
|
||||
&.warlock-abilities::before { content : '\E951'; }
|
||||
&.warlock::before { content : '\E952'; }
|
||||
&.wizard-abilities::before { content : '\E953'; }
|
||||
&.wizard::before { content : '\E954'; }
|
||||
|
||||
/* Types of actions */
|
||||
&.movement::before { content : '\E955'; }
|
||||
&.action::before { content : '\E956'; }
|
||||
&.bonus-action::before { content : '\E957'; }
|
||||
&.reaction::before { content : '\E958'; }
|
||||
&.movement::before { content : '\E955'; }
|
||||
&.action::before { content : '\E956'; }
|
||||
&.bonus-action::before { content : '\E957'; }
|
||||
&.reaction::before { content : '\E958'; }
|
||||
|
||||
/* SRD Spells */
|
||||
&.acid-arrow::before { content : '\E959'; }
|
||||
&.action-1::before { content : '\E95A'; }
|
||||
&.alter-self::before { content : '\E95B'; }
|
||||
&.alter-self-2::before { content : '\E95C'; }
|
||||
&.animal-friendship::before { content : '\E95E'; }
|
||||
&.animate-dead::before { content : '\E95F'; }
|
||||
&.animate-objects::before { content : '\E960'; }
|
||||
&.animate-objects-2::before { content : '\E961'; }
|
||||
&.bane::before { content : '\E962'; }
|
||||
&.acid-arrow::before { content : '\E959'; }
|
||||
&.action-1::before { content : '\E95A'; }
|
||||
&.alter-self::before { content : '\E95B'; }
|
||||
&.alter-self-2::before { content : '\E95C'; }
|
||||
&.magic-beans::before { content : '\E95D'; }
|
||||
&.animal-friendship::before { content : '\E95E'; }
|
||||
&.animate-dead::before { content : '\E95F'; }
|
||||
&.animate-objects::before { content : '\E960'; }
|
||||
&.animate-objects-2::before { content : '\E961'; }
|
||||
&.bane::before { content : '\E962'; }
|
||||
&.bless::before { content : '\E963'; }
|
||||
&.blur::before { content : '\E964'; }
|
||||
&.bonus::before { content : '\E965'; }
|
||||
@@ -157,66 +159,66 @@
|
||||
&.faerie-fire2::before { content : '\E97F'; }
|
||||
&.feather-fall::before { content : '\E980'; }
|
||||
&.find-familiar::before { content : '\E981'; }
|
||||
&.finger-of-death::before { content : '\E982'; }
|
||||
&.fireball::before { content : '\E983'; }
|
||||
&.floating-disk::before { content : '\E984'; }
|
||||
&.fly::before { content : '\E985'; }
|
||||
&.fog-cloud::before { content : '\E986'; }
|
||||
&.gaseous-form::before { content : '\E987'; }
|
||||
&.gaseous-form2::before { content : '\E988'; }
|
||||
&.gentle-repose::before { content : '\E989'; }
|
||||
&.gentle-repose2::before { content : '\E98A'; }
|
||||
&.globe-of-invulnerability::before { content : '\E98B'; }
|
||||
&.guiding-bolt::before { content : '\E98C'; }
|
||||
&.healing-word::before { content : '\E98D'; }
|
||||
&.heat-metal::before { content : '\E98E'; }
|
||||
&.hellish-rebuke::before { content : '\E98F'; }
|
||||
&.heroes-feast::before { content : '\E990'; }
|
||||
&.heroism::before { content : '\E991'; }
|
||||
&.hideous-laughter::before { content : '\E992'; }
|
||||
&.identify::before { content : '\E993'; }
|
||||
&.illusory-script::before { content : '\E994'; }
|
||||
&.inflict-wounds::before { content : '\E995'; }
|
||||
&.light::before { content : '\E996'; }
|
||||
&.longstrider::before { content : '\E997'; }
|
||||
&.mage-armor::before { content : '\E998'; }
|
||||
&.mage-hand::before { content : '\E999'; }
|
||||
&.magic-missile::before { content : '\E99A'; }
|
||||
&.mass-cure-wounds::before { content : '\E99B'; }
|
||||
&.mass-healing-word::before { content : '\E99C'; }
|
||||
&.Mending::before { content : '\E99D'; }
|
||||
&.message::before { content : '\E99E'; }
|
||||
&.Minor-illusion::before { content : '\E99F'; }
|
||||
&.movement1::before { content : '\E9A0'; }
|
||||
&.polymorph::before { content : '\E9A1'; }
|
||||
&.power-word-kill::before { content : '\E9A2'; }
|
||||
&.power-word-stun::before { content : '\E9A3'; }
|
||||
&.prayer-of-healing::before { content : '\E9A4'; }
|
||||
&.prestidigitation::before { content : '\E9A5'; }
|
||||
&.protection-from-evil-and-good::before { content : '\E9A6'; }
|
||||
&.raise-dead::before { content : '\E9A7'; }
|
||||
&.raise-dead2::before { content : '\E9A8'; }
|
||||
&.reaction1::before { content : '\E9A9'; }
|
||||
&.resurrection::before { content : '\E9AA'; }
|
||||
&.resurrection2::before { content : '\E9AB'; }
|
||||
&.revivify::before { content : '\E9AC'; }
|
||||
&.revivify2::before { content : '\E9AD'; }
|
||||
&.sacred-flame::before { content : '\E9AE'; }
|
||||
&.sanctuary::before { content : '\E9AF'; }
|
||||
&.scorching-ray::before { content : '\E9B0'; }
|
||||
&.sending::before { content : '\E9B1'; }
|
||||
&.shatter::before { content : '\E9B2'; }
|
||||
&.shield::before { content : '\E9B3'; }
|
||||
&.silent-image::before { content : '\E9B4'; }
|
||||
&.sleep::before { content : '\E9B5'; }
|
||||
&.speak-with-animals::before { content : '\E9B6'; }
|
||||
&.telekinesis::before { content : '\E9B7'; }
|
||||
&.true-strike::before { content : '\E9B8'; }
|
||||
&.vicious-mockery::before { content : '\E9B9'; }
|
||||
&.wall-of-fire::before { content : '\E9BA'; }
|
||||
&.wall-of-force::before { content : '\E9BB'; }
|
||||
&.wall-of-ice::before { content : '\E9BC'; }
|
||||
&.wall-of-stone::before { content : '\E9BD'; }
|
||||
&.wall-of-thorns::before { content : '\E9BE'; }
|
||||
&.wish::before { content : '\E9BF'; }
|
||||
&.finger-of-death::before { content : '\E982'; }
|
||||
&.fireball::before { content : '\E983'; }
|
||||
&.floating-disk::before { content : '\E984'; }
|
||||
&.fly::before { content : '\E985'; }
|
||||
&.fog-cloud::before { content : '\E986'; }
|
||||
&.gaseous-form::before { content : '\E987'; }
|
||||
&.gaseous-form2::before { content : '\E988'; }
|
||||
&.gentle-repose::before { content : '\E989'; }
|
||||
&.gentle-repose2::before { content : '\E98A'; }
|
||||
&.globe-of-invulnerability::before { content : '\E98B'; }
|
||||
&.guiding-bolt::before { content : '\E98C'; }
|
||||
&.healing-word::before { content : '\E98D'; }
|
||||
&.heat-metal::before { content : '\E98E'; }
|
||||
&.hellish-rebuke::before { content : '\E98F'; }
|
||||
&.heroes-feast::before { content : '\E990'; }
|
||||
&.heroism::before { content : '\E991'; }
|
||||
&.hideous-laughter::before { content : '\E992'; }
|
||||
&.identify::before { content : '\E993'; }
|
||||
&.illusory-script::before { content : '\E994'; }
|
||||
&.inflict-wounds::before { content : '\E995'; }
|
||||
&.light::before { content : '\E996'; }
|
||||
&.longstrider::before { content : '\E997'; }
|
||||
&.mage-armor::before { content : '\E998'; }
|
||||
&.mage-hand::before { content : '\E999'; }
|
||||
&.magic-missile::before { content : '\E99A'; }
|
||||
&.mass-cure-wounds::before { content : '\E99B'; }
|
||||
&.mass-healing-word::before { content : '\E99C'; }
|
||||
&.Mending::before { content : '\E99D'; }
|
||||
&.message::before { content : '\E99E'; }
|
||||
&.Minor-illusion::before { content : '\E99F'; }
|
||||
&.movement1::before { content : '\E9A0'; }
|
||||
&.polymorph::before { content : '\E9A1'; }
|
||||
&.power-word-kill::before { content : '\E9A2'; }
|
||||
&.power-word-stun::before { content : '\E9A3'; }
|
||||
&.prayer-of-healing::before { content : '\E9A4'; }
|
||||
&.prestidigitation::before { content : '\E9A5'; }
|
||||
&.protection-from-evil-and-good::before { content : '\E9A6'; }
|
||||
&.raise-dead::before { content : '\E9A7'; }
|
||||
&.raise-dead2::before { content : '\E9A8'; }
|
||||
&.reaction1::before { content : '\E9A9'; }
|
||||
&.resurrection::before { content : '\E9AA'; }
|
||||
&.resurrection2::before { content : '\E9AB'; }
|
||||
&.revivify::before { content : '\E9AC'; }
|
||||
&.revivify2::before { content : '\E9AD'; }
|
||||
&.sacred-flame::before { content : '\E9AE'; }
|
||||
&.sanctuary::before { content : '\E9AF'; }
|
||||
&.scorching-ray::before { content : '\E9B0'; }
|
||||
&.sending::before { content : '\E9B1'; }
|
||||
&.shatter::before { content : '\E9B2'; }
|
||||
&.shield::before { content : '\E9B3'; }
|
||||
&.silent-image::before { content : '\E9B4'; }
|
||||
&.sleep::before { content : '\E9B5'; }
|
||||
&.speak-with-animals::before { content : '\E9B6'; }
|
||||
&.telekinesis::before { content : '\E9B7'; }
|
||||
&.true-strike::before { content : '\E9B8'; }
|
||||
&.vicious-mockery::before { content : '\E9B9'; }
|
||||
&.wall-of-fire::before { content : '\E9BA'; }
|
||||
&.wall-of-force::before { content : '\E9BB'; }
|
||||
&.wall-of-ice::before { content : '\E9BC'; }
|
||||
&.wall-of-stone::before { content : '\E9BD'; }
|
||||
&.wall-of-thorns::before { content : '\E9BE'; }
|
||||
&.wish::before { content : '\E9BF'; }
|
||||
}
|
||||
Reference in New Issue
Block a user