Шрифт в постах

Стиль оформления

Дополнительно

Размер элементов форума
вверх
вниз

Shadows of Old

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Shadows of Old » Анкетирование » Erna Bjornsdottir | human


Erna Bjornsdottir | human

Сообщений 1 страница 3 из 3

1

ЭРНА БЬЁРНСДОТТИР/ДЭГРУН | ERNA BJORNSDOTTIR/DAGRUN
дочь покойного ярла Старкхольма, разведчица Конунга и его левая рука

https://upforme.ru/uploads/001c/03/d9/282/983405.gif https://upforme.ru/uploads/001c/03/d9/282/234121.gif

Kelly Reilly

40 | человек | Скьелле

••••••••••••••••••••••••••••••••••••••••••••

Образ персонажа

Семья

Бьёрн Ингвальдсон - покойный отец, бывший ярл Старкхольма
Вивека Раудсдоттир - мать
Гуннар Бьёрнсон - старший брат, ныне ярл Старкхольма

Быть дочерью ярла западных островов Скьелле - почетная и для многих завидная роль. Не нуждаешься в том, чтобы добывать еду, не нужно работать с утра до вечера, даже обучаться военному делу разрешают. Но дочь есть дочь, она не может быть наследником ярла, в отличие от брата. Даже если Эрна с детства была любознательнее, целеустремленнее и находчивее Гуннара, она все равно была недостойна внимания отца, такого же, как её никудышный братец. Дочь была просто красивым украшением, которая должна была послушно выйти замуж и не перечить своему ярлу. Но даже так, успехи Эрны Бьёрн использовал для хвастовства перед подданными и перед соседствующими ярлами.

Благодаря любви отца бахвалиться, Эрна пользовалась этим, чтобы продолжать изучать мастерство борьбы, военные тактики и кое-что еще. В тайне от отца девушка все чаще и дальше уходила в лес, сначала просто охотиться и исследовать окрестности и подземные пещеры, находила сторонников среди соседских ярлов. И так год за годом, чтобы однажды забрать титул, который должен был отойти по праву ей - той, кто более достоин.

Однако, когда все было почти готово, на островах разгорелась вражда между племенами Скьелле, и план пришилось отложить. Бьёрн Ингвальдсон был тяжело ранен и управление перешло к его сыну и дочери, которые объединились ради защиты своих земель. Сила Гуннара и острый ум Эрны отбили нападавшие племена и убили одного из ярлов, особо агрессивно настроенных против Старкхольма. Расширили территорию, захватив холмы, принадлежащие ранее противнику. К тому времени действующий Конунг силой угомонил варварские племена, заставив заключить перемирие снова.

Отец пошел на поправку и вернулся к управлению землями, но как и всегда, он отметил только деяния Гуннара, чем знатно разозлил свою дочь. Тогда она покинула Старкхольм, отправившись на центральные острова, где стала советницей, а заодно и любовницей местного правителя, углубившись в политику и интриги. Эрна прожила так долгих десять лет, не стремясь становиться женой ярла или заводить от него детей, ведь все, что её интересовало, получить больше власти. Теперь её целью было попасть под крыло Конунга, доказать свою значимость человеку, который гораздо более могущественен и силен, чем её отец, не сумевший оценить потенциал воительницы.

Старый Конунг был больше похожим на отца, хоть и знал, что рыжеволосая женщина в течении десятилетия тайно руководила ярлом Хольхейма, но не считал достаточно значимой. Не считал, но держал неподалеку, опасаясь, что она захочет отомстить и поднять новый бунт среди ярлов. Какое-то время Эрна все еще пыталась добиться его расположения, а затем встретила Элейфа. Кто бы мог подумать, что этот амбициозный мужчина вынудит её последовать за ним, принять его своим истинным правителем и в дальнейшем помогать возвыситься. Эрна наблюдала за каждым шагом становления нового Конунга и устраняла для него заговорщиков. Стояла где-то в тени за спиной, докладывая все и обо всех.

Последовала даже в Линдисфьялль, когда Элейф решил отвоевать трон, по праву принадлежащий ему. В отличие от прежнего Конунга, новый больше ценил свою боевую подругу и даже позволял командовать отрядами, если того требовала необходимость. Только под его руководством подчиненные начали проявлять к ней должное уважение, хотя не все ярлы были довольны тем, что ими руководит баба.

Дополнительная информация

• Владеет стрельбой из лука и фехтованием;
• Обучена верховой езде;
• Любит охоту и войну;
• Хороша в разведке и шпионаже, умеет быть юркой и незаметной;
• Знает диалекты Линдисфьялля и последние годы обучалась вальдийскому, ведь это язык её Конунга;
• Безгранично предана Элейфу, ведь он единственный оценил её способности, даже если для того, чтобы использовать;
• Сохранила довольно хорошие отношения с братом, который стал ярлом Старкхольма, поэтому Гуннар всегда поддерживает Элейфа;
• Довольно мстительна с теми, кто ей пренебрегает, злопамятна и память у нее хорошая.

Планы игру, пожелания по сюжетам и игровые табу

• Повоевать, померзнуть на севере, захватить парочку деревень в Линдисфьялле. Помочь Конунгу завоевать законный трон.
• Черноту чернотную, кишки, изнасилования, все такое.

Что делать с вашим персонажем в случае ухода с проекта

• Можно забрать как нпс, передать другому или убить.

Пример поста

Целых две недели... Значит он был в таком состоянии две недели и Виалль до сих пор ничего не знала? А если бы сегодня так и не пришел, то когда бы соизволил ей сообщить о своей болезни? Когда сможет избавиться от нее? А если не сможет... Если бы эта болезнь, не дайте боги, рано или поздно убила её мужа? О таком было страшно думать, но почему-то сотни вариантов развития событий тут же начали выстраиваться в голове ан Аргайл. И лучше от этого не становилось. Уже давно графиня перестала относиться к Каладану исключительно как к средству достижения целей, хотя, глупая клятва на крови, которую девушка потребовала, никогда не исчезнет. Таламар дернул её за язык, требовать заключение клятвы...

— Болит?

Виалль осторожно протянула ладони к руке мужа, которую тот уже тщательно упаковал в перчатку, во избежание несчастных случаев. Протянула, и остановила в нескольких сантиметрах от поверхности кожи, поглаживая воздух вокруг. Она не знала, можно ли прикасаться, но просто игнорировать тоже не получалось. А еще... Бесило с каким спокойствием мужчина продолжает расписывать свои умения, словно для него это ранение ничего не значит. Девушка нахмурилась, но ничего не ответила, лишь зыркнула на Каладана раздраженным взглядом из-под длинных ресниц очень говорящим взглядом: "Исправь это". Увы, приказы у нее выходили лучше, чем просьбы, а еще приказной тон защищал её от излишней чувственности, которую могли счесть за слабость юной графини.

— Раз это игры богов — то пусть их Избранные и расхлебывают кашу, которую те заварили, — фыркнула лисица и, откинувшись на спинку стула, скрестила руки на груди. Если это не приносило выгоды — подлежало полному искоренению. Возможно, стоило сжечь очаг точно так же, как использованные мужем бинты. — Что, совсем никак не получится использовать? Даже для слухов?..

Хотя с последним следовало действовать гораздо осмотрительнее и продумывать тщательно. Еще одну проблему в копилку Маравинов стоило закидывать так, чтобы следы не указывали на род ан Аргайлов. А еще лучше, если бы в ходе слухов, Виалль оказалась бедной жертвой — юная графиня под гнетом тираничной власти. Нужно было продумать историю хорошенько, прежде чем пытаться использовать.

Значит этот чародей — Гаррет — был большой проблемой. Муж определенно, хоть и имел на него планы, но как полностью обезвредить его не знал. По крайне мере, пробуждения Чужака теперь не произойдет на территории её земель и Кайр Тарн может спать спокойно какое-то время. Насколько это возможно, учитывая шастающих умертвий, заразной плесени и.. кажется, доходили слухи с соседних земель о драконах? Теперь к ним прибавилось еще древнее божество, с которым невозможно справиться. Виалль тяжело вздохнула и взяла в руки бокал легкого фруктового вина, отпила несколько глотков, поставила фужер назад.

— Риан ан Эльтайн. Я думаю, ты уже в курсе, что он приходил ко мне. Последний из рода ан Эльтайнов. Он лично просил меня за твоего пленника и обещал обеспечить безопасность в Кайр Тарне. Еще я отправила с ним Брэнуэлла, чтобы проследил.

Про голову братца Лианы, обещанную в подарок, девушка пока умолчала. Пока было не известно, как скоро Риан выполнит свое обещание... И выполнит ли. Она, конечно, доверилась ему, но не на сто процентов. Действия говорят за личность гораздо больше, чем слова. Если же слова не подтвердятся действиями, чтож, тогда у Виалль появится еще один недруг, и уж она найдет способ напомнить вампиру о том, что бывает, когда обещания доверчивым леди нарушаются.

Отредактировано Erna Bjornsdottir (2026-01-12 23:35:51)

Подпись автора

Идалия, Виалль

+8

2

Вы приняты, добро пожаловать!

Коды для заполнения (следующим сообщением в теме анкеты):
Заполните поля во вкладках "Основа", "Профиль", "Плашка", "Фон" и нажмите на кнопку "Скопировать код" ниже, чтобы скопировать заполненные шаблоны.

[html]
<script>
// --------- FILL BACKGROUNDS ------------

function labelBg(className, nameCategory, src) {
    return `<label class="${className}"><input type="radio" name="${nameCategory}" id="${src}" onchange="updateProfilePreview()"><img src="${src}" loading="lazy"> </label>`;
}

function fillBgs(bgs) {
    document.getElementById('bgContainer').innerHTML = bgs
        .map(bg => labelBg("profileBgLabel", "profileBg", bg)).join('');
}

// --------- FILL STRIPES ------------

function labelStripe(className, nameCategory, src) {
    return `<label class="${className}"><input type="radio" name="${nameCategory}" id="${src}" onchange="updateProfilePreview()"><img src="${src}"> </label>`;
}

function fillStripes(stripes) {
    document.getElementById('stripeContainer').innerHTML = stripes
        .map(stripe => labelStripe("profileStripeLabel", "profileStripe", stripe)).join('');
}

// --------- USER DATA ------------

let userLatinName = '';
let userProfileUrl = '';
let userApplicationFormUrl = '';

window.addEventListener("message", (event) => {
    if (!event.origin.match(/oldshadows\.rusff\.me$/)) return;
    if (event.data.eventName != 'profileFillingResponce') return;
    userLatinName = event.data.userLatinName;
    userProfileUrl = event.data.userProfileUrl;
    userApplicationFormUrl = event.data.userApplicationFormUrl;
    fillStripes(event.data.stripes);
    fillBgs(event.data.backgrounds);
});

window.addEventListener("message", (event) => {
    if (!event.origin.match(/oldshadows\.rusff\.me$/)) return;
    if (event.data.eventName != 'fontChange') return;
    $('.post-content p, .post-content div').css('font-size', event.data.fontSize + 'px');
});

const sendProfileRequest = () => {
    window.parent.postMessage({ eventName: 'profileFillingRequest' }, "*");
};
sendProfileRequest();
const intervalId = setInterval(sendProfileRequest, 1000);
window.addEventListener("message", (event) => {
    if (!event.origin.match(/oldshadows\.rusff\.me$/)) return;
    if (event.data.eventName === 'profileFillingResponce') {
        clearInterval(intervalId);
    }
});

function copyResults() {
    let copyContent = '';
   
    // -- форма внешности --
    const actorName = document.getElementById('actor').value;
    if (actorName) {
        const actorForm = `${actorName} — ${String.fromCharCode(91)}url=${userProfileUrl}${String.fromCharCode(93)}${userLatinName}${String.fromCharCode(91)}/url${String.fromCharCode(93)}`;
        copyContent += `Форма внешности: 
${String.fromCharCode(91)}code${String.fromCharCode(93)}${actorForm}${String.fromCharCode(91)}/code${String.fromCharCode(93)}`;
    }

    // -- форма заполнения профиля --
    const cyrillicName = document.getElementById('cyrillicName').value;
    if (cyrillicName) {
        const profileDescrName = document.getElementById('mainDescr').value;
        let profileForm = `<a href='${userApplicationFormUrl}'>${cyrillicName}</a>, ${profileDescrName}`;
       
        if (document.getElementById('hrAdd').checked) {
            profileForm += '<hr>';
        } else {
            profileForm += '<br>';
        }
       
        const profileAdd = document.getElementById('addDescr').value;
        const profileAddNotFilled = profileAdd == '' || profileAdd == `любое описание на ваш вкус <a href='ссылка на анкету персонажа'>имя на кириллице</a>`;
        if (!profileAddNotFilled) {
            profileForm += profileAdd;
        }
       
        copyContent += `\n\nФорма профиля:
${String.fromCharCode(91)}code${String.fromCharCode(93)}${profileForm}${String.fromCharCode(91)}/code${String.fromCharCode(93)}\n\n`;
    }

    // -- форма плашки --
    const stripeForm = Array.from(document.getElementsByName('profileStripe'))
        .filter(element => element.checked)
        .map(element => element.id)
        .join('');

    if (stripeForm) {
        copyContent += `Плашка:
${String.fromCharCode(91)}img${String.fromCharCode(93)}${stripeForm}${String.fromCharCode(91)}/img${String.fromCharCode(93)}\n\n`;
    }

        // -- форма фона --
    const bgForm = Array.from(document.getElementsByName('profileBg'))
        .filter(element => element.checked)
        .map(element => element.id)
        .join('');

    if (bgForm) {
        copyContent += `Фон:
${String.fromCharCode(91)}img${String.fromCharCode(93)}${bgForm}${String.fromCharCode(91)}/img${String.fromCharCode(93)}\n\n`;
    }

    // -- форма списка ролей --
    const listsDescription = document.getElementById('listsDescription').value;
    if (cyrillicName && listsDescription) {
        const listsForm = `${String.fromCharCode(91)}url=${userProfileUrl}${String.fromCharCode(93)}${cyrillicName}${String.fromCharCode(91)}/url${String.fromCharCode(93)} — ${listsDescription}`;
        copyContent += `Список ролей:
${String.fromCharCode(91)}code${String.fromCharCode(93)}${listsForm}${String.fromCharCode(91)}/code${String.fromCharCode(93)}\n\n`;
    }

    window.parent.postMessage({
        eventName: 'profileCopyInfoRequest',
        copyData: copyContent.trim() // Удаляем лишние переносы в конце
    }, "*");
};

document.getElementById('instructionResult').onclick = copyResults;

// --------- post user profile update ------------
function updateProfilePreview() {
    const cyrillicName = document.getElementById('cyrillicName').value ?? userLatinName;
    const profileDescrName = document.getElementById('mainDescr').value;
    let profileForm = `<a href='${userApplicationFormUrl}'>${cyrillicName}</a>, ${profileDescrName}`;
   
    if (document.getElementById('hrAdd').checked) {
        profileForm += '<hr>';
        } else {
            profileForm += '<br>';
        }   
    const profileAdd = document.getElementById('addDescr').value;
    const profileAddNotFilled = profileAdd == '' || profileAdd == `любое описание на ваш вкус <a href='ссылка на анкету персонажа'>имя на кириллице</a>`;
    if (!profileAddNotFilled) {
        profileForm += profileAdd;
    }

    const stripeForm = Array.from(document.getElementsByName('profileStripe'))
        .filter(element => element.checked)
        .map(element => element.id)
        .join('');

    const bgForm = Array.from(document.getElementsByName('profileBg'))
        .filter(element => element.checked)
        .map(element => element.id)
        .join('');

    window.parent.postMessage({
        eventName: 'profileDemo',
        profileDescr: profileForm,
        stripe: stripeForm,
        background: bgForm
    }, "*");
}

updateProfilePreview();

window.addEventListener("message", (event) => {
    if (!event.origin.match(/oldshadows\.rusff\.me$/)) return;
    if (event.data.eventName != 'fontChange') return;
    $('.post-content p, .post-content div').css('font-size', event.data.fontSize + 'px');
});

window.addEventListener("message", (event) => {
    if (!event.origin.match(/oldshadows\.rusff\.me$/)) return;
    if (event.data.eventName != 'styleChange') return;
    $("body").attr("class", event.data.style);
});
</script>

<div class="fillingForm">
<label class="fillingCategoryRadio"><input type="radio" id="main" name="fillingCategoryRadio" checked /> <span>Основа</span></label>
<label class="fillingCategoryRadio"><input type="radio" id="profileF" name="fillingCategoryRadio" /> <span>Профиль</span></label>
<label class="fillingCategoryRadio"><input type="radio" id="stripesF" name="fillingCategoryRadio" /> <span>Плашка</span></label>
<label class="fillingCategoryRadio"><input type="radio" id="bgsF" name="fillingCategoryRadio" /> <span>Фон</span></label>

<div class="instructionBlock mainInstruction">
<h2 class="instructionHeading">Основа</h2>
<label for="cyrillicName" class="labelDescr">Имя (кирилица):</label>
<input type="text" id="cyrillicName" name="cyrillicName" placeholder="кириллица" oninput="updateProfilePreview()">

<label for="actor" class="labelDescr">Внешность (латиница):</label>
<input type="text" id="actor" name="actor" placeholder="если не нужно, оставьте поле пустым">

<label for="listsDescription" class="labelDescr">Описание для списка ролей:</label>
<input type="text" id="listsDescription" name="listsDescription" placeholder="род деятельности, занятость">
</div>

<div class="instructionBlock profileInstruction">
<h2 class="instructionHeading">Описание в профиль</h2>
<label for="mainDescr" class="labelDescr">Описание в профиль:</label>
<input type="text" id="mainDescr" name="mainDescr" value="возраст, раса, род деятельности" oninput="updateProfilePreview()">

<label for="hrAdd" class="hrAdd">
<input type="checkbox" id="hrAdd" name="hrAdd" onchange="updateProfilePreview()" />
<span>Добавить полосу между секциями</span>
</label>

<label for="addDescr" class="labelDescr">При желании можете добавить в профиль пару, красивую цитату, важного родственника, врага и тому подобное через это поле. Если не нужно, оставьте его пустым или не меняйте:</label>
<textarea id="addDescr" oninput="updateProfilePreview()" name="addDescr" rows="4">любое описание на ваш вкус <a href='ссылка на анкету персонажа'>имя на кириллице</a></textarea>
</div>

<div class="instructionBlock stripeInstruction">
<h2 class="instructionHeading">Плашки</h2>
<div id="stripeContainer"></div>
</div>

<div class="instructionBlock bgInstruction">
<h2 class="instructionHeading">Фоны</h2>
<div id="bgContainer"></div>
</div>

<div class="formButtons">
<input type="button" id="instructionResult" value="Скопировать код">
</div>
</div>

<style>
body { color: var(--text1); }

h2.instructionHeading {
    font-size: 16px;
    font-family: 'Palatino Linotype';
    font-weight: bold;
    letter-spacing: 1px;
}

.labelDescr {
    display: block;
    margin: 9px 0px 1px 0px;
}

.fillingForm { text-align: center; }

.instructionBlock {
    text-align: left;
    margin: 10px 0 !important;
    padding: 14px 14px 12px 14px !important;
    border: 1px solid var(--borders);
    background: var(--qBG);
    border-radius: 4px;
}

.instructionBlock input[type="text"] {
    width: calc(100% - 10px);
}

label.hrAdd {
    margin: 10px 0 0 0;
    display: block;
}

input#hrAdd  {
    accent-color: var(--darkpinkText);
}

label.fillingCategoryRadio {
    border-radius: 16px;
    border: 1px solid var(--borders);
    background: var(--beg300);
    padding: 2px 6px;
    display: inline-block;
    margin: 0px 4px 5px 0px;
}

.instructionBlock textarea {
    width: calc(100% - 10px);
    resize: vertical;
}

label.fillingCategoryRadio:has(input:checked) {
    background: var(--borders);
    color: var(--text1);
}

.fillingCategoryRadio input[type="radio"] {
    display: none;
}

label.fillingCategoryRadio {
    cursor: pointer;
}

.mainInstruction, .profileInstruction, .stripeInstruction, .bgInstruction { display: none; }
.fillingCategoryRadio:has(#main:checked) ~ .mainInstruction { display: block !important; }
.fillingCategoryRadio:has(#profileF:checked) ~ .profileInstruction { display: block !important; }
.fillingCategoryRadio:has(#stripesF:checked) ~ .stripeInstruction { display: block !important; }
.fillingCategoryRadio:has(#bgsF:checked) ~ .bgInstruction { display: block !important; }

.profileStripeLabel, .profileBgLabel {
    margin: 5px 5px;
    display: inline-block;
    width: 180px;
    border-radius: 5px;
    padding: 5px;
    background: rgb(255 255 255 / 17%);
}

.profileStripeLabel img, .profileBgLabel img { border-radius: 3px; }
.profileBgLabel img {
    width: 180px;
    height: 40px;
    object-fit: cover;
    object-position: top;
}

.profileStripeLabel input, .profileBgLabel input { display: none; }

.profileStripeLabel:has(input:checked), .profileBgLabel:has(input:checked) {
    background: rgb(0 0 0 / 12%);
}

div#stripeContainer, div#bgContainer  {
    align-items: baseline;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: flex-start;
    height: 190px;
    overflow-x: auto;
    overflow-y: hidden;
}

</style>
[/html]

0

3

23.05.575
лес Линдисфьялля

Цена милосердия для рыжей лисы — Сундри, Эрна
Раненную Эрну вылечил Сундри

15.07.584
базар в Уппаре

Ill see you again — Ингве, Эрна
Встреча с Ингве и разведка в Уппаре

11.12.585
Линдисфьялль, где-то в окресностях Уппапа

Кошки-мышки — Ниалл, Эрна
Стычка с Ниаллом

Отредактировано Erna Bjornsdottir (2026-01-18 15:41:08)

Подпись автора

Идалия, Виалль

+1


Вы здесь » Shadows of Old » Анкетирование » Erna Bjornsdottir | human