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

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

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

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

Shadows of Old

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

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


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


Aelian Kang | human

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

1

ЭЛИАН КАН [КАН ЧЖАОЮАНЬ] | AELIAN KANG [KANG ZHAOYUAN]
Сияющий Церкви Гвенны в Илосе

https://upforme.ru/uploads/001c/03/d9/161/493611.png
han dong

47 лет | человек | Рионна

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

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

Родственники:

Отец – Кан Цзиньхэ, человек. Торговец тканями, переселенец из Аньхая. Умер от старости два года назад.
Мать – Кан Жуйфэй, человек. Бывшая вышивальщица, сейчас хозяйка вышивальной мастерской «Золотая игла» в Илосе. Жива, 69 лет.
Младший брат – Кан Фуань, он же Фионн Кан. Владелец семейной лавки по продаже тканей. Жив, 42 года.

Культ Чжаолу – Той, Что Освещает Путь – всегда был в Аньхае небольшим, но очень сплочённым. Ей молились путешественники, торговцы и учёные, наблюдавшие за звёздами. Молился ей и купец Кан Цзиньхэ, увозивший семью из Аньхая в Рионну, подальше от владений жестокого князя У. Наместник, обложивший свои земли непосильным налогом, приказывал солдатам громить лавки и силой забирать товары, если их владельцы не могли заплатить за княжескую «защиту».

Путь был долгим и трудным. Жена Цзиньхэ, беременная их первенцем, плохо переносила тяготы дороги. Тогда мужчина дал богине обет: если Чжаолу позволит им добраться до Рионны невредимыми, он отдаст ей в услужение своё дитя.
Чжаолу, она же Гвенна, оказалась милостива. Мальчик, здоровый и крепкий, родился уже в Илосе. Отец дал ему два имени: аньхайское, Чжаоюань, в честь божества и рионнийское, Элиан. До десяти лет мальчика воспитывали дома: он бойко болтал на двух языках и помогал отцу в лавке тканей, которую Цзиньхэ открыл в Илосе. Родители воспитали его очень преданным Гвенне, и мальчик с нетерпением ждал, когда сможет стать адептом её Церкви.

Начало было многообещающим. Но потом что-то пошло не так. Элиан стал адептом в святилище Илоса, как и должен был. Учился, как и должен был. Но свет веры постепенно гас, а на его месте разгорался огонь тщеславия. Чем больше его хвалили за ум и прилежность, тем больше он становился зависим от похвалы. Чем выше он поднимался в иерархии Церкви, тем большего ему хотелось – влияния, внимания, привилегий.
Обаятельный и дружелюбный, юноша был на хорошем счету у наставников и большей части соучеников. Меньшая часть хотела хорошенько надавать ему тумаков в тёмном углу, чтобы не задавался, потому что звезду Элиан словил немаленькую.

Он всегда был очень стабилен в своём стремлении к власти. Умел угодить тем, кто принимал решения, научился хорошо чувствовать людей и никогда не стеснялся этим пользоваться. Воспитанному в честности и скромности, Элиану потребовалось некоторое усилие, чтобы переступить через эти барьеры – раз солгать, раз предать, раз использовать. Дальше стало легче. Чем ближе он становился к статусу Сияющего, тем меньше света оставалось в нём самом.

Уже будучи старшим жрецом, Элиан стал пользоваться покровительством Сияющей Хафизы, бывшей в то время главой Храма в Илосе. Однако пожилая дама никак не могла определиться, кому отдать предпочтение – Элиану или своей ученице Надии. Она умерла, так и не назначив преемника, и Элиан, зная, что ему придётся соревноваться с Надией за главенство над Храмом Илоса, «помог» общественности определиться с выбором. К тому времени с Надией у него сложились очень нежные отношения: Элиан называл её «дорогой сестрой», она же, очевидно, была в него влюблена.

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

Под управлением Сияющего Элиана влияние Церкви Гвенны в Илосе стало медленно, но неуклонно расти. Управленцем он оказался неплохим – дотошным, амбициозным, умеющим планировать наперёд. Увы, всё это было не ради любви к богине, а ради любви к власти. Храм Илоса, в котором уже давно не было ни одного чудотворца, особой популярностью в Рионне не пользовался, и Элиан взялся сделать его снова великим – чтобы, разумеется, стать ещё более важной шишкой.

Когда внезапно погибла Верховная жрица Лиэнн, Элиан увидел шанс возвыситься ещё больше. Благодаря образу благожелательного и порядочного человека перспективы у него были весьма неплохие. Дополнительную поддержку он получил от Сияющего Айя Венты, которому наобещал всяких благ, если тот поддержит его кандидатуру на Совете. Единственная проблема была в том, что Элиан любил альянсы, но делиться со сторонниками – нет. Сияющего из Айя Венты, добейся Элиан успеха, вероятно, ждала бы судьба Надии. Полный надежд, Элиан прибыл в Иларию на Совет, ещё не зная, что Гвенна ещё преподнесёт ему пару сюрпризов – и не обязательно приятных.

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

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

Что делать с вашим персонажем в случае ухода с проекта
Персонаж по заявке Идалии, оставляю ей на откуп.

Пример поста

Сияющий Илоса прибыл в Иларию несколько раньше, чем предполагали собравшиеся на совете жрецы. Однако Скучная Бухта встретила аньхайца таким приступом мигрени, что Элиан не то что интриговать, говорить почти не мог. Явившийся лекарь пустил страдальцу кровь, и томная бледность Сияющего сделалась мертвецкой. Когда Надия поднесла ему зеркало, Элиан, лежавший пластом на вышитых подушках, только оттолкнул руку старшей жрицы.
— О Гвенна, дай мне сил, — поморщился он, старательно втирая в виски душистые масла. Сутки спустя он уже кое-как начал соображать, но показаться в приличном обществе всё ещё не смел. Недомогания вроде этого лишали его душевного равновесия: он видел в них призрак приближающейся старости и немощи, и от навязчивых мыслей становилось только хуже. Почтенные Филиам и Гэриан могли сколько угодно изливать яд на окружающих, но они были всего лишь спесивыми стариками, постепенно теряющими цепкость разума. Элиан не хотел стать таким, как они. Что угодно, только не это.

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

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

Разумеется, собрание уже шло полным ходом, и взглянуть на прервавшую его делегацию обернулись все присутствующие. Элиан сразу оттянул все взгляды на себя, обозначив приветствие лёгким наклоном головы. Притаившаяся под сводами черепа головная боль предупреждающе куснула виски, и Сияющий Илоса тут же выпрямился, впрочем, не теряя элегантности.
— Приветствую, ослепительные, — произнёс аньхаец, занимая одно из двух оставшихся свободных мест. По левую руку от него оказался Сияющий Филиам, по правую — Сиюящая Айя Трикалы со своей свитой. Стража отошла на пару шагов, зато Надия встала сразу за спиной главы делегации. — Нижайше прошу простить меня за опоздание, дела Храма заставили меня задержаться.

Тёмные глаза окинули присутствующих внимательным взглядом. Две старые жабы из Мадара и Тарима были аньхайцу мало интересны, от Идалии он примерно понимал, чего ожидать, а вот Сияющего Сорена он был рад видеть примерно никогда. Вероятно, последнее было взаимно. Бледный молодой человек рядом с Сореном был Элиану незнаком, что заставило его насторожиться. Инстинкты опытного интригана подсказывали, что с иларийской делегацией надо быть внимательнее. Зато Сияющая Феба встретила его взгляд спокойной улыбкой, и Элиан чуть кивнул в ответ.

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

Отредактировано Aelian Kang (2026-03-11 02:19:04)

+10

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

ХРОНОЛОГИЯ

Волею Гвенны [10.09.577]

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

In this castle of glass [25.10.585]

Илария, Скучная бухта, главный храм Гвенны
Сияющие собираются на совет после смерти бывшей Верховной жрицы.

Куда ведет шелковый путь [28.10.585]
Илария, Скучная бухта, главный храм Гвенны
На Сияющего Элиана прямо в храме нападает таинственный убийца. Отважный сир Алексиус спешит на помощь.

Отредактировано Aelian Kang (2026-01-29 14:42:03)

+2


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