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

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

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

вверх
вниз

Shadows of Old

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

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


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


Sundri | human

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

1

СУНДРИ/ВОРОН | SUNDRI/RAVEN
клирик Дьюны

https://i.postimg.cc/j5HWgN7D/ezgif.com-gif-maker(49).gifhttps://i.postimg.cc/HL78MFW4/ezgif.com-gif-maker(52).gif
George Blagden

33 | человек | Линдисфьялль

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

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

Внешность
►  Ростом 175 сантиметров;
►  Сложения сухого, жилистого;
►  Глаза: голубые;
►  Волосы: каштанового цвета, длиной ниже плеч. Довольно часто заплетает их, так как в дороге за заплетенными волосами нужно меньше ухода. Реже — завязывает кожаным ремешком в хвост.
Черты лица ясные, правильные.
Сундри не обладает яркой и выразительной мимикой лица, но его редкая улыбка — всегда тепла и застенчива.
На руках есть шрамы - последствия обучения алхимии, особенно на пальцах и кистях рук. Там что-то взорвалось, тут горячее схватил, здесь задел ядовитый сок растения. Частично эти шрамы перекрыты татуировками, которые делают всем клирикам Дьюны, которые закончили свое обучение.

Жизнь
• Когда и где родился Сундри - никому это неведомо, ясно только что в Линдисфьялле. Неизвестно не потому что это тайна, а потому что его подкинули в Храм Дьюны совсем малышом, ему было не больше трех лет. Видимо, родители (или просто отчаявшаяся мать) посчитали, что болезненный и тихий ребенок не выживет в суровом хозяйстве и станет обузой, или иное какое измышление вынудило их так поступить.
• Имя ему тоже дали в Храме Дьюны, и стал мальчик одним из тех, кого называли - детьми Милосердной. Не потому что Она имела к их появлению хоть какое-то отношение, а потому что жили они в доме Ее сызмальства, постигали мудрость Ее. Кто Она им, если не мать?
• В возрасте десяти лет, как и все дети Милосердной, начал обучаться сначала травничеству, а потом - став старше алхимии и целительству. Сундри был в меру талантлив, а потому без проблем особенных проблем получил звание клирика в двадцать пять лет.
• В 579 году воля Милосердной сводит Сундри с Уббе Бьорндаленом. Тот был ранен в стычке с скьелльцами, когда Бьорндалены защищали храмовые земли. Лечение было непростым, но можно было сказать, что это стало началом своеобразной дружбы Уббе и Сундри, уж насколько могли подружится тихий задумчивый клирик Дьюны и наследник Бьорндаленов.
• Иногда Сундри случалось бывать в Уппаре, там и состоялось его короткое и мимоходное знакомство с Ингве, младшим братом Уббе. Кто ж знал, что потом судьба так повернется.
• Клирики Дьюны не привязаны к своим Храмам, они путешествуют, смотрят на мир, несут заботу и сострадание Милосердной. Сундри путешествовал по Линдисфьяллу. Когда с торговцами, когда мог прибится к наемникам, иногда один. В Уппар и Олланд в основном заходил только, чтобы пополнить припасы, которые невозможно было добыть на месте.
• Сундри, в отличии от многих других клириков, довольно своеобразно толкует волю Дьюны. Он несет Ее милосердие не только лечением тела, и иногда духа через разговор. Иногда людям надо, чтобы их кто-то послушал и Сундри дает им возможность переложить на него часть их груза, потому что это тоже Ее милосердие. Но иногда милосердие Дьюны - это оборвать чужие мучения. Так бывает, что спасти человека невозможно, и все что его ждет - это долгая и мучительная смерть в агонии. Сундри обрывает такие жизни: кинжалом, ядом, - потому что это тоже Ее милосердие, чтобы не говорили.
• Прозвище "Ворон" получил после того, как выходил вороненка. Тот вырос, стал наполовину ручным и получил имя - Синдри. Многих в Храме эта мрачная птица пугала. Вороны - это спутники смерти. Но Сундри было комфортно со своим пернатым другом. Тот улетал иногда по каким-то своим вороновым делам, но всегда возвращался.
• 585 год застает Сундри в Храме Дьюны за который идут давно бои, территории его переходят туда-сюда. После очередного сражения, входе которого скьеллцы были отброшены, Сундри ушел из Храма вместе с обозом раненных. Лечил всех кого мог. Кому не мог помочь - даровал спокойную смерть, не окрашенную в мучения и боль. Так вместе с раненными он и оказался в Уппаре, где и узнал, что Олаф Бьорндален и его старший сын - погибли, а власть перешла к младшему сыну, Ингве, которого, наверное, никогда и не готовили к этой ноше.
• Сундри сам пришел на поклон к молодому князю, просто обозначил то, что Храм Дьюны поддерживает его род, не важно, кто сейчас владеет над землями Храма. Так клирик и оказался в поле зрения молодого князя - снова.

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

Дополнительная информация
► Не любит когда его трогают чужие и старается избегать лишних прикосновений к себе;
► Бывает очень брезглив для клирика в некоторых вопросах;
► Не употребляет алкоголь вообще. Очень быстро пьянеет, буквально с половины кружки. Пьяный Сундри — это мрачный Сундри, который способен на разные поступки, за некоторые потом бывает стыдно;
► Боится пауков и бабочек (но не мотыльков). Вида, конечно, не покажет, но внутри будет замирать от ужаса;
► Клириков в Храме учат сражаться, но это не их основной вид деятельности. Так, что для Сундри - это скорее самозащита (или защита того, кого он лечит), чем активное сражение в стене щитов. Основное оружие - лук, для самозащиты - кинжал;
► Верховой езде обучен, но для езды выбирает "тяжелых" тягловых коней, у них обычно спокойный норов.

Планы игру, пожелания по сюжетам и игровые табу
• Окопаюсь в Линдисфьялле, по мере возможностей и необходимости буду помогать молодому князю. Если князь захочет куда-то одолжить меня, вздохну, но пойду х) Позже придумаю какую-нибудь личную ветку для персонажа, но сначала надо заякориться х)
• Тактика, политика и стратегия - мимо меня, я - хлебушек. Пытки - тоже мимо меня (но могу попытаться вылечить последствия).

Что делать с вашим персонажем в случае ухода с проекта
• Если нужен будет клирик Дьюны - ради бога, пускай мальчик живет, я не жадный :3 Используйте его как нпс :3

Пример поста

Голос позвавший его по имени — уже больше был похож на тот, что привык слышать и слушать все эти годы он. Сердце дрогнуло: «Всему в природе нужно время» и всё же... Всяк дан не совсем правильно произносил тяжелое имя «Этельстан». Рагнар не был исключением, однако, даже здесь он отличался от всех. И если бы из всех людей мира, ему бы с завязанными глазами пришлось бы искать Рагнара по звуку голоса — не было никаких сомнений, что нашел бы. Так по имени звал его только он.
— Рагнар... — накрыть своей рукой — чужую. Чуть сжать пальцы — своими. Сильнее прижаться щекой. И плевать на запах крови исходящий от этих рук. Этельстана уже давно не мутило от него, как когда-то очень сильно давно. Ему явно что-то хотели сказать, но что — тут можно было только теряться в догадках. И не было у Этельстана сейчас никакого — правильного или верного ответа. Все его слова сейчас — лишь попытка успокоить старые страхи. — Всё что нужно делать дальше — жить. Сделанного не изменить никак, да, и, вряд ли бы, получилось… — это было сказано шепотом — тихим, ласковым — словно говорил с Сигурдом. Впрочем, что-то общее в отце и сыне сейчас действительно было: растерянность, потерянность, отстраненность, — всё-таки одна плоть и одна кровь.
«Что сказать дальше?» — мысль удерживала слова, которые готовы были сорваться с губ, словно боги (и бог) давали понять — не место ещё. Но совет просто жить дальше — звучал довольно жалко. Невольно почему-то вспомнилось: «Ты вернешься со мной или останешься со своим народом?» — и это воспоминание вызвало тихий вздох. Вот что, наверное, сквозило в тяжелом «Этельстан» и в сути вопроса, что был задан.
— А жизнь… явление хаотичное и непредсказуемое, — это прозвучало оторвано от вопроса, что бы ему задан, — чем-то похожее на реку. Однако, — чуть повернув голову, Этельстан коснулся губами внутренний стороны ладони — и плевать сколько на ней крови, грязи, да чего угодно, — я всегда буду рядом. Куда бы не вела нить плетения норн — я всегда буду искать возможность и способ вернуться к тебе. Я не буду говорить — сюда — но к тебе — всегда. Надо будет, — горький смешок всё-таки соскочил с губ англосакса. Он не был уверен, что его поймут, однако, достаточно было того, что он сам понимал что говорил, — за тобой и к тебе я босиком пойду через раскалённый Ад… — Этельстан немного помолчал, прежде чем продолжить, — А пока что — жить дальше. Столько дел, Рагнар, ты даже представить не можешь. Новые торговые соглашения, новые тяжбы, нужно будет решить вопросы с поставками провизии, принять новые фермы, да, и стоило бы начать подготовку к новым походам, а это будет не так просто как может показаться. Я буду помогать насколько хватит сил моих и моего разумения, но будь милосерден, — мягкий смех, как попытка отогнать смрад смерти и запах крови, — я не знаю всего об этом мире, но в кои-то веке меня это не слишком страшит. Легко и просто не будет, — и это Этельстан знал наверняка, — но разве жизнь не соткана так, что за горестями — всегда идёт радость, чтобы мы не забывали ради чего всё это?
И вот в этом моменте слова и закончились у него. Сказать-то, наверное, больше было и нечего. А раз говорить больше было нечего, то почему бы не выбрать вместо этого — действие?
Этельстан мягко качнулся вперёд, не отстраняясь от рагнаровой ладони, не желая терять её тепло, прижался своим лбом к чужому. Так и дыхание у них в должной мере стало общим — мир показался чуть приветливей, чем был до этого. «Возможно, — мелькнула мысль, — те тексты и не врали. У каждого есть своя половина. Возможно, мы обречены всегда искать то, что было когда-то отнято. И если это так и было, то свою я нашёл», — это не было новостью. Не было сокровенным открытием. Так было, наверное, с первого взгляда друг другу в глаза. Что-то когда-то не дало Рагнару убить обычного монаха, который хотел спасти писания. Что-то когда-то не дало Рагнару кому-то позволить убить монаха. Что-то когда-то не дало Этельстану сбежать, как только появилась возможность. Что-то когда-то толкнуло прыгнуть в воду за раненным Лодброком. Столько этого «чего-то»…
— Долгих лет жизни, моему конунгу, — тихим шепотом. — Я с тобой, min cyning, ealneg.

+7

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}"> </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  {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}

</style>
[/html]

0

3

Хронология
585 год
Где-то на краю земли [23.11.585] - ongoing

Отредактировано Sundri (2025-12-18 10:13:24)

+2


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


Рейтинг форумов | Создать форум бесплатно