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

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

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

вверх
вниз

Shadows of Old

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

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


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


Noelle Hagioran | human

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

1

Ноэлль Хагиоран | Noelle Hagioran
,Бывшая жена Киригана Веламара, дочь номарха Хагиоран, Наблюдатель при Совете номархов

https://i.postimg.cc/MGLt2YnM/zagruzeno-1-1.jpg
Deepika Padukone

38 | Человек | Рионна

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

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

- Сначала ее учили быть красивой, танцевать, услаждая взор, петь, радуя слух, поддерживать светскую беседу, дарить взгляды, от которых мужчин бросало то в жар, то в холод, премудростям постельных утех и секретам человеческих слабостей. Такова участь всех женщин дома Хагиоран – не важно, сколь способна ты и умна, как и то, чего ты желаешь на самом деле. Рожденная в семье номарха обязана служить целям семьи, таков неписанный закон, в котором нет места прихотям. Однако, кое-что полезное Ноэлль все же вынесла из толков илошийских матрон – зуд в штанах действительно делает мужчин сговорчивее. Впоследствии оказалось, что это знание, на поверку, окажется самым эффективным.
- Вместе с тем, ее обучали магии, что отняло у нее десять лет жизни. Номарх Хагиоран не хотел отдавать дочь в Башню, ибо это могло помешать будущему замужеству, однако и терять магический потенциал дочери было не слишком рационально, поэтому пользуясь связями, он устроил для Ноэлль обучение на дому, с лучшими наставниками, которые только могли найтись в Илосе. В магии Ноэлль обнаружила свою страсть – тонкие энергетические плетения завораживали ее разум, а подчинение их будоражило почти также, как манипуляции мужскими душами. Особенно она оказалась способна к магии иллюзий – кружево миражей выходило из под ее рук также просто, как на лице возникала притворная улыбка. Не так уж сложно обмануть других с помощью магии, когда это прекрасно удается и без ее помощи. В этом заключалось второе, накрепко усвоенное правило – кто ты есть на самом деле не имеет никакого значения, важно лишь то, чем ты кажешься.
- Когда пришло время выполнить свой долг, Ноэлль уже была во всеоружии.  Семье нужен был политический союз с иларийской аристократией, и жребий был брошен. Кириган стал ее проклятьем, но не потому, что находил любовниц с завидной регулярностью, в любом ином случае достойной восхваления, и не потому, что был куда более паршивым отцом для их дочери, чем мужем. Великая шутка судьбы – из всех мужчин, желавших ее, она отдала предпочтение тому, кто так и не смог ее полюбить. Все те уроки, что умудренные опытом илошийские матроны вколачивали Ноэлль в голову, работали на ком угодно, кроме него. Не добиться взаимности - фиаско, позор, с которым ей предстояло жить, куда больший, чем бесконечные бастарды - что бы кто не говорил, дети не были виноваты в том, что у их отца не хватило духу поставить точку в их повествовании до того момента, когда роман превратился в пошлую писанину. Ее стойкости было достаточно, чтобы закрывать глаза на измены пока он был осторожен, но, когда в доме появились сыновья, а следом за ним, их, упивающиеся собственной победой, матери - у Ноэлль взыграла гордость. То, что когда-то было любовью обратилось в презрение. Она попросила развода, сделала это громко, некрасиво, с отважностью уставшей женщины, прекрасно понимая последствия – никому не интересно то, что ты чувствуешь, а казаться отныне обиженной, брошенной женщиной не такая уж радужная перспектива.
- Ноэлль вернулась в Илос, и тот не был рад ее возвращению. Отец, номарх Хагиоран, член Звездного круга, имевший репутацию жестокого человека с неизменно теплой улыбкой на лице, считал дочерей разменной монетой, а вряд ли монета имеет права голоса или хотя бы возможность его подать, если ее долг перед семьей так и не был уплачен – талантливая дочь Ноэлль, которую можно было бы использовать в личных целях осталась с отцом. Впрочем, предприимчивый номарх не удержал бы свое положение не умея приспосабливаться – постельный талант дочери, пропадавший без дела долгое время, отныне должен был стать ее следующей расплатой – Башня звездочетов приняла Ноэлль в новой роли, которую она исполняла, опираясь на давно усвоенные правила – зуд в штанах делает мужчин покладистыми и, если правильно дергать за ниточки, можно добиться своих целей, не прибегая к маранию рук. Связей отца вполне хватило, для того, чтобы сделать Ноэлль наблюдателем от Башни звездочетов при Совете номархов, однако, достопочтимый Хагиоран все же кое в чем просчитался - послушная кукла, коей Ноэлль была до замужества давно умерла под гнетом обстоятельств и невыплаканных слез. И что именно задумала женщина, умеющая одинаково нежно улыбаться и друзьям и недругам, накрепко сокрыто от чужих глаз непроницаемой маской притворной любезности.

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

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

Планы игру, пожелания по сюжетам и игровые табу
- Играю вообще все, что играется, но меня неизменно бросает в какие-то сложные интриги, скандалы, кровавые распри, даже если на заре эпизода планировалась банальная романтическая прогулка. Не обессудьте, если что.

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

- Отдаю на откуп администрации. Торжественно обещаю не вонять.

Пример поста

[indent] Тонкая струйка крови течет по подбородку, зубы впиваются в нижнюю губу, может даже шрам останется, но Ноэлль не может разжать челюсть – кажется, стоит ей хоть немного расслабить мышцы, и маска лживой покорности треснет. А этого никак нельзя допустить – даже в одиночестве, в четырех стенах, дочь дома Хагиоран не позволит себе выть от печали. Мерзавец забрал у нее двадцать лет жизни. Мерзавец отнял у нее гордость. И этого снова мало.
[indent] Она мечется, не обращая внимания на то, что на белом платье уже красуются алые пятна. Ноэлль подобна тигрице в клетке, что потеряла детеныша. Ее дочь, ее дитя, взращённое со всей возможной любовью, по прихоти отца остается в Иларии. Нет, он это делает не только из политической выгоды, мерзавец лишает ее дочери для того, чтобы сделать ей больнее.
[indent] Она подходит к распахнутому настежь окну, силясь рассмотреть в закатных сумерках хоть малейший знак от высших сил. Если будет птица – значит, ей стоит послать в бездну бывшего мужа, если мимо пройдет человек – проще его убить. Но Гвенна молчит, как делает всегда, ее голос – удел избранных, и Ноэлль, как обычно, не внесли в этот список.
[indent] Она продолжает стоять, ожидая сама непойми чего. Прав был отец – нужно было терпеть и дальше. Закрыть глаза, моля богиню о скорой смерти Киригана, ведь если бы он сгинул от руки врагов, коих у него было достаточно, все стало бы куда проще. Быть вдовой почетно. Быть дурой – никогда.
[indent] В дверь кто-то стучит, делая это слишком осторожно для непрошенного визитера. Дочь дома Хагиоран принимает подобающий вид, все еще не обращая внимания на кровавую дорожку, спустившуюся уже по шее к груди.
[indent] - Войдите.
[indent] В спальню, в которой она долгие годы коротала одинокие вечера, покуда муж развлекался с другими, вошла сморщенная старуха со злыми глазами и крючковатыми, изъеденными артритом, пальцами.
[indent] - Госпожа, все готово, можем отправляться.
[indent] Если бы все, действительно, было так, Ноэлль убралась бы отсюда с легким сердцем, но Фэйра здесь и прощание уже состоялось, отцовская рука на дочернем плече выглядела нелепо, словно он боялся, что девочка, ее покорное дитя, посмеет пойти супротив его воли. Пусть оставит своим шлюхам рассуждения о поддержке и проснувшихся родительских чувствах – мерзавец боится Ноэлль, она это чувствует, пусть и утверждает обратное – за столько лет он так и не научился читать книгу ее души, впрочем, даже не пытался. Еще один пункт в списке его супружеской несостоятельности – он даже не стремился сделать вид, что ему хоть сколько то есть до нее дело.
[indent] Ноэлль бросает последний взгляд на комнату, так и не ставшую ей домом, на вид из окна, так и не подаривший ее успокоение. С мерзавцем у нее была защита, теперь же – она одна против всех. Отец Ноэлль не помощник, братья – стервятники, отцовская копия в миниатюре. «Дочери дома должны быть полезны» - талдычат они, вторя интонации патриарха семейства, упуская из виду, что фраза незакончена и самая ее важная часть отдается на откуп фантазии. Вернувшись в Илос, Ноэлль обязательно будет полезна. Себе. Остальные как-нибудь сами справятся, ее долг давно уплачен, чтобы они там не думали в своих лысеющих головах.
[indent] - Отправляемся, - решительный шаг, старуха, приехавшая когда-то вместе с юной госпожой, останавливает ее в дверях, вытирая рукавом кровавый след на лице. Она делает это медленно, тщательно, так, словно утирает лицо испачкавшегося ребенка, пристально вглядываясь подслеповатыми глазами в засохшую линию на подбородке. И только тогда, в этой дурной позе, Ноэлль понимает насколько сильно горит губа, и что хуже, сколько много скопилось в ее груди боли душевной, на которую она сейчас не имеет никакого права, потому, что Хагиораны не плачут об упущенном, они ищут новые возможности.
[indent] - Хватит, - она отворачивается, глядя на порог, что манит ее неизвестностью. Что бы ее не ожидало в будущем, Ноэлль не сдастся без боя. Она заберет Фэйру, и если звезды будут благосклонны к Киригану, хотя не понятно, за что ему такая привилегия, Ноэлль может даже забудет о его существовании до конца своих дней. Но это будет после, да и то не факт, ибо звезды непредсказуемы. А пока ей нужно уехать.
[indent] Гордо подняв голову, дочь дома Хагиоран вышла из спальни. И чтобы не происходило у нее на душе в этот момент, окружающие видели лишь ее теплую, привычную улыбку на лице.

Отредактировано Noelle Velamar (2025-12-11 17:34:31)

+5

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


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


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