РЕННАЛА РИНН/ ПЕВЧАЯ | RENNALA WRYNN/SONGBIRD
магичка
mylene farmer34 года | человек | Селлия
••••••••••••••••••••••••••••••••••••••••••••
Образ персонажа
• Внешность •
• Рост около 180 сантиметров.
• Волосы огненного рыжего цвета. Кожа светлая, с заметной россыпью веснушек на щеках, плечах и спине. Глаза карего цвета. У Ренналы очень подвижная мимика, привычку гримасничать у неё так и не смогли извести. У нее, как говорят, в народе - лисьи черты лица. Особенно это отмечают, когда Реннала начинает улыбаться. Считается красивой женщиной, но многие признают эту красоту - своеобразной.
• Сложения худощавого, но женщина скорее жилистая, чем просто тощая.• Жизнь •
• Реннала Ринн родилась в ночь с 30 на 31 число десятого месяца 551 года. Матерью Ренналы была единственная дочка купца, который торговал тканями, а отцом - один из графов Селлии. Брак графа был сугубо политическим - в котором родились двое наследников, и верность супругов друг другу была скорее делом политическим, чем любовным. Поэтому мать Ренналы была официальной конкубиной графа, подарившей ему - троих дочерей, самой старшей из которых была - Реннала.
• Ворин Ринн, дед Ренналы, принял внучку (и её сестер) и все они носят его - фамилию. Ему, конечно, не нравилось положение его дочери и тот "статус", который получили его внучки, но сам он мало, что мог сделать. Несмотря на то, что семья Ринн была довольно известна в Селлии засчет торговых связей.
• Отец Ренналы не часто их посещал, после рождения самой младшей из дочерей (все сестры практически погодки). Поэтому Реннале сложно было судить о том насколько он их любил или они просто были для него продуктом связи с женщиной, которая привлекла его внимание. Однако, граф денег на содержание любовницы и дочерей не жалел. Впрочем, даже если бы он и не выплачивал им содержание - они бы не бедствовали.
• Талантлива в магии, денег на её обучение этому искусству не жалели. Из неё вышла отменная стихийная магичка (и, конечно же, стихию Реннала выбрала под свои рыжие волосы - огненную), также она преуспела в изучении иллюзии и в ограждении (плоти). За спиной у Ренналы часто говорили, что её магические успехи - это дар от предка-айре. Однако, самой женщине это кажется сомнительным, так как в роду её матери айре не водилось никогда, да и судя по генеалогическому древу отцовского рода тоже. Впрочем, женщина никогда не исключала того, что то древо могло быть подделкой. Политические игры людей - всегда одинаковы.
• Отношения с законными детьми отца - никакие. Реннала прекрасно понимает, что наследницей отца ей не стать, поэтому старается стать больше известной чародейкой. Она несколько раз видела братьев в детстве, и потом еще с десяток раз столкнулась с ними, достигнув определенной известности как чародейка.
• Ходят слухи, что попытка отца выдать Ренналу удачно замуж - оказалось неудачной только потому что чародейка отравила будущего супруга. Но доподлинно - никому не известно так ли это на самом деле. Сама Реннала лишь поводит плечом, когда слышит эти слухи и домыслы.
• На Рубеже оказалась добровольно-принудительно. Реннала прекрасно понимает необходимость происходящего, но ей не нравится то КАК это происходит. "Из меня снова делают вещь", - так однажды она попыталась объяснить своё отношение к этому сбору. Однако, она больше склонна считать что это дело полезное, чем бесполезное.• Характер •
У Ренналы очень лёгкий характер. Она смешлива, порой бывает жестоко насмешлива. У неё есть некоторые принципы, которых она придерживается, иначе по её словам: "Если все люди будут беспринципны, то мир закончится раньше, чем нам хочется этого". Например, она не будет добивать уже поверженного противника, особенно, если борьба шла в социальном плане. Реннала в должной мере сострадательна и добра, и не будет использовать человеческое горе для поднятия собственного статуса.
Её странный социальный статус - ребёнок, признанной любовницы, дал ей возможность увидеть мир, наверное, в полном её разнообразии.
Реннала всегда готова пошутить, поддержать, утешить, обнять. Но как однажды сказал её наставник, люди очень часто не замечают, как плачет ночами - та, что идет по жизни смеясь. С Ренналой легко подружится, но эта легкость не означает, что сразу же можно стать близким другом. Таких у женщины немного и каждым она ужасно дорожит. Это те люди, которые не пытались использовать её (она признает только обоюдное использование) или обмануть.
Родных и близких Реннала любит безмерно, готова всё ради них сделать, пройти через любые испытания, лишь бы с семьей всё было в порядке. Так же она не способна принести то, что (и тех, кто) ей дорог в жертву чему угодно и кому угодно. Она умеет ценить то, что у неё есть.
Обычно к интригам Реннала не склонна, но может в них поучаствовать, если суть/цель интриг совпадает тем, что нужно чародейке. Но большую часть своей жизни она умудрялась этого избегать, находя свой собственный путь для получения желаемого.
Однако, несмотря на общую легкость характера, он у Ренналы достаточно взрывной. Она может долго казаться ехидной, выверенной, спокойной, а потом - бах! - взрыв, крик, в вас летит посуда, возможно стул, но это кратковременная вспышка гнева, после она успокаивается и снова держит лицо. Большую часть времени Реннала кажется немного надменной и всезнающей, и если она позволяет видеть такие вот свои вспышки злости и гнева - это говорит о близости.Дополнительная информация
• Прозвище "Певчая" получила за красивый голос. Реннала действительно хорошо поет, её приятно слушать.
• Пахнет липовым цветом и мелиссой. Не только потому что любит эти ароматы, но и потому что довольно часто пьет этот травяной настой.
• Реннала осмотрительна, внимательная к деталям, особенно к тем, что прописываются на бумаге. Это то, что привил ей - дедушка.
• Разбирается в тканях и любит жить красиво.
• Умеет вышивать и любит вышивать. Вышивка помогает успокоить ей нервы и сосредоточиться на важных делах.
• Её платья всегда изысканы, довольно часто соответствуют моде двора. Реннала в одежде предпочитает бордовые и темно-красные цвета. При необходимости не гнушается носить мужскую одежду.
• Рост позволяет Реннале порой смотреть на людей сверху вниз, и она находит это забавным.
• Хорошо сидит в седле. В ближнем бою - бесполезна.
• Может представляться именами - Ренна, Ренни, Рен. Пару раз использовала и имя - Нала.Планы игру, пожелания по сюжетам и игровые табу
• Залезть в дела эйдинские, поддерживать и любить свою женщину, приключаться!
• Изнасилование, подробные пытки и прочие такие вещи. Остальное обсуждаемо (политику можно играть, только если скажете кого сжечь надо будет)Что делать с вашим персонажем в случае ухода с проекта
• можно использовать, можно выставить на акцию
Пример постаЭто была… удивительно спокойная ночь. Обычно, после приёма настойки латука Сундри — страдал всем своим естеством, потому что… ну, забота о себе всегда была делом одиночным, до которого он старался не допускать людей, и уж тем более — не спать с ними в самом обыденном смысле. Сон с кем-то рядом казался клирику делом очень… интимным. По сути, он доверял своё бессознательное тело, кому-то… кого возможно плохо знал, ибо ночь всегда открывала в людях в большей степени — только худшее.
Обычно за ночь он просыпался несколько раз, потому что озноб и холод идущие из глубины собственного тела — доканывали до изнеможения и была необходимость срочно собрать всё самое тёплое вокруг себя.
Обычно всё тело — болело. Не как при болезни, а как от глубокой и тяжёлой усталости. Это была цена за использование латука, да и не только — травмы сказывались.
Обычно Сундри чувствовал себя отвратительно, но…
… не этим утром.
Ему в кои-то веке было — тепло. Не удушающе жарко или чрезмерно прохладно, а — тепло. Нормально тепло. Ему было комфортно, можно даже сказать уютно, так как голова покоилась на удивительно отличной подушке — в меру жесткой, в меру мягкой.
Когда он засыпал, то чувствовал чужие прикосновения к спине, которые не вызывали желания извернуться и отпихнуть куда подальше. Сначала, пока ещё мог бороться со сном, Сундри подумал, что не сделал это потому что… ну, глупо как-то, сам же предложил, но уже перед сползанием в сон почему-то мелькнула мысль о том, что это как-то… правильно? Но сон начался раньше, чем клирик смог осознать всю абсурдность этой мысли.
Сейчас же Сундри находилась на границе между сном и бодрствованием, и выползать из этого уютного состояния он — не торопился. Наоборот, инстинктивно нашел носом самое теплое место и вжался в него. Пахло немного лесом, немного диким зверем и чем-то металлическим, но эти запахи не тревожили, а наоборот успокаивали, словно тихо шептали о том, что здесь и сейчас — безопасно, никто не угрожает, можно размазать по источнику тепла и комфортно, поправить сползавший с плеча плащ и дремать дальше.
Вокруг было — тихо. Не пугающе тихо, как бывает, например, в вымирающих деревнях, откуда почти все уехали, лишь последние упрямые старики доживают свой век, а — спокойно. Откуда-то глухо доносились звуки леса, но Сундри, который часто ночевал под открытым небом, уже давно научился различать, те что несли опасность и те что — нет.
Он ткнулся носом сильнее в источник тепла, для надежности обхватывая его рукой, чтобы точно никуда не делся. Вслух бы Сундри никогда не сознался, но он любил жизнь в дороге, ещё и потому что необязательно было вставать слишком рано. В храме — всегда было дело для каждого и вставать приходилось вместе со всеми, потому что не было такого, что если старший и взрослый, то можешь спать сколько вдумается. Нет, вставали с первыми петухами, а это, как правило, было задолго до рассвета. А в дороге… можно было позволить себе немного побыть лежебокой. Долго, правда, почивать на лавке совесть не позволяла, но всё равно — не с первыми лучами солнца встать было. И это было по своему прекрасно.
Сундри довольно вздохнул, пытаясь накрыться плащом по самые уши. Ему было тепло, хорошо, он ощущал тяжесть чего-то поперек своего тела, но это его не раздражало, а совершенно наоборот!…
«Такие вот мелочи и делают нашу жизнь по настоящему счастливой», — мысль была сонной, откровенно детской, а потому — очень… уютной, вызывающей улыбку.
Rennala Wrynn | human
Сообщений 1 страница 2 из 2
Поделиться12026-04-16 08:31:22
Поделиться22026-04-16 18:12:08
Вы приняты, добро пожаловать!
Коды для заполнения (следующим сообщением в теме анкеты):
Заполните поля во вкладках "Основа", "Профиль", "Плашка", "Фон" и нажмите на кнопку "Скопировать код" ниже, чтобы скопировать заполненные шаблоны.
[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}`;
const profileAdd = document.getElementById('addDescr').value;
const profileAddNotFilled = profileAdd == '' || profileAdd == `любое описание на ваш вкус <a href='ссылка на анкету персонажа'>имя на кириллице</a>`;
if (document.getElementById('hrAdd').checked) {
profileForm += '<hr>';
} else if (!profileAddNotFilled) {
profileForm += '<br>';
}
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}`;
const profileAdd = document.getElementById('addDescr').value;
const profileAddNotFilled = profileAdd == '' || profileAdd == `любое описание на ваш вкус <a href='ссылка на анкету персонажа'>имя на кириллице</a>`;
if (document.getElementById('hrAdd').checked) {
profileForm += '<hr>';
} else if (!profileAddNotFilled) {
profileForm += '<br>';
}
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;
const style = event.data.style === 'system'
? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')
: event.data.style;
$("body").attr("class", style);
});window.parent.postMessage({ eventName: 'askStyle' }, "*");
</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]









