vault backup: 2023-04-03 22:35:25

This commit is contained in:
Lucas 2023-04-03 22:35:26 +02:00
parent 7fb519047b
commit c2e337ccf6
28 changed files with 38877 additions and 1017 deletions

3
.gitignore vendored
View file

@ -9,4 +9,5 @@
!.obsidian/themes/Encore/
!.obsidian/plugins/homepage/
!.obsidian/plugins/better-word-count/
!.obsidian/plugins/obsidian-style-settings
!.obsidian/plugins/obsidian-style-settings
!.obsidian/plugins/longform

View file

@ -15,5 +15,6 @@
"consistent-attachments-and-links",
"homepage",
"better-word-count",
"obsidian-style-settings"
"obsidian-style-settings",
"longform"
]

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
{
"id": "better-word-count",
"name": "Better Word Count",
"version": "0.9.4",
"version": "0.9.6",
"description": "Counts the words of selected text in the editor.",
"author": "Luke Leppan",
"authorUrl": "https://lukeleppan.com",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
{
"id": "fantasy-calendar",
"name": "Fantasy Calendar",
"version": "2.3.11",
"version": "3.0.0",
"minAppVersion": "0.12.10",
"author": "Jeremy Valentine",
"description": "Fantasy calendars in Obsidian!",

File diff suppressed because one or more lines are too long

View file

@ -1732,15 +1732,16 @@ var HomepageSettingTab = class extends import_obsidian2.PluginSettingTab {
const homepageDesc = `The name of the ${workspacesMode ? "workspace" : "note or canvas"} to open.`;
const homepage = workspacesMode ? "workspace" : "defaultNote";
if (this.plugin.settings.useMoment && !workspacesMode) {
let dateSetting = new import_obsidian2.Setting(this.containerEl).setName("Homepage format").setDesc("A valid Moment format specification determining the note or canvas to open.").addMomentFormat((text) => text.setDefaultFormat("YYYY-MM-DD").setValue(this.plugin.settings.momentFormat).onChange((value) => __async(this, null, function* () {
const dateSetting = new import_obsidian2.Setting(this.containerEl).setName("Homepage format");
dateSetting.descEl.innerHTML += `A valid Moment format specification determining the note or canvas to open.<br>
Surround words in <code style="padding:0">[brackets]</code> to include them;
see the <a href="https://momentjs.com/docs/#/displaying/format/" target="_blank" rel="noopener">
reference</a> for syntax details.<br> Currently, your specification will produce: `;
const sample = dateSetting.descEl.createEl("b", { attr: { class: "u-pop" } });
dateSetting.addMomentFormat((text) => text.setDefaultFormat("YYYY-MM-DD").setValue(this.plugin.settings.momentFormat).onChange((value) => __async(this, null, function* () {
this.plugin.settings.momentFormat = value;
yield this.plugin.saveSettings();
})));
dateSetting.descEl.createEl("br");
dateSetting.descEl.createEl("a", {
text: "Moment formatting info",
attr: { href: "https://momentjs.com/docs/#/displaying/format/" }
});
})).setSampleEl(sample));
} else {
new import_obsidian2.Setting(this.containerEl).setName("Homepage").setDesc(homepageDesc).addText((text) => {
new suggestor(this.app, text.inputEl);
@ -1882,6 +1883,7 @@ var Homepage = class extends import_obsidian3.Plugin {
return;
const state = view.getState();
const config = this.app.vault.config;
console.log(state.mode, state.source);
state.mode = config.defaultViewMode;
state.source = !config.livePreview;
yield view.leaf.setViewState({ type: "markdown", state });
@ -2019,7 +2021,7 @@ var Homepage = class extends import_obsidian3.Plugin {
return;
}
const state = view.getState();
if (this.settings.revertView) {
if (this.settings.revertView && this.loaded) {
this.lastView = new WeakRef(view);
}
if (this.settings.autoScroll) {

View file

@ -1,7 +1,7 @@
{
"id": "homepage",
"name": "Homepage",
"version": "2.8.1",
"version": "2.8.2",
"minAppVersion": "1.0",
"description": "Open a specified note, canvas, or workspace on startup.",
"author": "novov",

63
.obsidian/plugins/longform/data.json vendored Normal file
View file

@ -0,0 +1,63 @@
{
"version": 3,
"projects": {},
"selectedDraftVaultPath": "Projets/Absolue Nécessitée/Index.md",
"userScriptFolder": "Projets/Scripts",
"sessionStorage": "plugin-folder",
"sessions": [],
"showWordCountInStatusBar": false,
"startNewSessionEachDay": true,
"sessionGoal": 500,
"applyGoalTo": "project",
"notifyOnGoal": true,
"countDeletionsForGoal": false,
"keepSessionCount": 30,
"sessionFile": "longform-sessions.json",
"numberScenes": true,
"workflows": {
"Default Workflow": {
"name": "Default Workflow",
"description": "A starter workflow. Feel free to edit, rename, or delete it and create your own.",
"steps": [
{
"id": "strip-frontmatter",
"optionValues": {}
},
{
"id": "Projets/Scripts/replaceLinks.js",
"optionValues": {
"removeH1": true,
"removeFrontmatter": true
}
},
{
"id": "remove-links",
"optionValues": {
"remove-wikilinks": false,
"remove-external-links": true
}
},
{
"id": "prepend-title",
"optionValues": {
"format": "$3{#} $2 $1",
"separator": "\n\n"
}
},
{
"id": "concatenate-text",
"optionValues": {
"separator": "\\n\\n---\\n\\n"
}
},
{
"id": "write-to-note",
"optionValues": {
"target": "$1-manuscript.md",
"open-after": true
}
}
]
}
}
}

37341
.obsidian/plugins/longform/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
{
"id": "longform",
"name": "Longform",
"version": "2.0.3",
"minAppVersion": "1.0",
"description": "Write novels, screenplays, and other long projects in Obsidian.",
"author": "Kevin Barrett",
"authorUrl": "https://kevinbarrett.org",
"fundingUrl": "https://github.com/sponsors/kevboh",
"isDesktopOnly": false
}

View file

@ -0,0 +1 @@
[{"start":"2023-04-03T20:19:46.909Z","total":0,"drafts":{"Projets/Absolue Nécessitée/Index.md":{"total":0,"scenes":{"Chapitre 1 - Montée en puissance":0,"Diner chez Althéa":0,"Assassinat raté":0}}}},{"start":"2023-04-03T20:18:34.855Z","total":0,"drafts":{"Projets/Absolue Nécessitée/Index.md":{"total":0,"scenes":{}}}}]

18
.obsidian/plugins/longform/styles.css vendored Normal file
View file

@ -0,0 +1,18 @@
:root {
--longform-explorer-font-size: var(--font-ui-medium);
}
.longform-settings-user-steps {
padding-inline-start: 1em;
margin-block-start: 0;
margin-block-end: 0;
}
.longform-settings-user-step-name {
color: var(--text-normal);
}
.longform-settings-user-step-id {
margin-left: var(--size-4-2);
color: var(--text-muted);
}

View file

@ -389,6 +389,7 @@
"projectSizeLimit": 1000,
"frontmatter": {
"quoteStrings": "PLAIN"
}
},
"commands": []
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,9 @@
{
"id": "obsidian-projects",
"name": "Projects",
"version": "1.11.5",
"version": "1.13.0",
"minAppVersion": "1.0.0",
"description": "Project management for Obsidian.",
"description": "Plain text project planning.",
"author": "Marcus Olsson",
"authorUrl": "https://marcus.se.net",
"fundingUrl": "https://www.buymeacoffee.com/marcusolsson",

View file

@ -1 +1 @@
{"history":{"2023-03-01":{"words":845,"characters":1255,"sentences":0,"files":123,"totalWords":29296,"totalCharacters":231518,"totalSentences":821},"2023-03-02":{"words":39,"characters":281,"sentences":0,"files":123,"totalWords":29296,"totalCharacters":231518,"totalSentences":821},"2023-03-03":{"words":644,"characters":3897,"sentences":23,"files":123,"totalWords":29940,"totalCharacters":233149,"totalSentences":844},"2023-03-05":{"words":0,"characters":0,"sentences":0,"files":0,"totalWords":29940,"totalCharacters":233149,"totalSentences":844},"2023-03-06":{"words":0,"characters":0,"sentences":0,"files":0,"totalWords":29940,"totalCharacters":233149,"totalSentences":844},"2023-03-07":{"words":16,"characters":103,"sentences":0,"files":123,"totalWords":29956,"totalCharacters":233253,"totalSentences":844},"2023-03-08":{"words":6,"characters":47,"sentences":1,"files":123,"totalWords":29964,"totalCharacters":233304,"totalSentences":845},"2023-03-10":{"words":15,"characters":102,"sentences":0,"files":124,"totalWords":30010,"totalCharacters":233650,"totalSentences":846},"2023-03-14":{"words":68,"characters":445,"sentences":4,"files":126,"totalWords":30274,"totalCharacters":235667,"totalSentences":857},"2023-03-15":{"words":585,"characters":3851,"sentences":9,"files":129,"totalWords":30998,"totalCharacters":240608,"totalSentences":868},"2023-03-16":{"words":128,"characters":820,"sentences":7,"files":131,"totalWords":31352,"totalCharacters":245878,"totalSentences":877},"2023-03-18":{"words":30,"characters":208,"sentences":0,"files":132,"totalWords":31501,"totalCharacters":247094,"totalSentences":878},"2023-03-19":{"words":0,"characters":0,"sentences":0,"files":0,"totalWords":0,"totalCharacters":0,"totalSentences":0},"2023-03-22":{"words":2568,"characters":16916,"sentences":53,"files":133,"totalWords":34073,"totalCharacters":266611,"totalSentences":932},"2023-03-24":{"words":7,"characters":50,"sentences":0,"files":133,"totalWords":34085,"totalCharacters":264035,"totalSentences":932},"2023-03-30":{"words":156,"characters":955,"sentences":9,"files":135,"totalWords":34782,"totalCharacters":265893,"totalSentences":965},"2023-03-31":{"words":129,"characters":798,"sentences":7,"files":135,"totalWords":34911,"totalCharacters":269322,"totalSentences":972},"2023-04-03":{"words":0,"characters":0,"sentences":0,"files":0,"totalWords":0,"totalCharacters":0,"totalSentences":0}},"modifiedFiles":{}}
{"history":{"2023-03-01":{"words":845,"characters":1255,"sentences":0,"files":123,"totalWords":29296,"totalCharacters":231518,"totalSentences":821},"2023-03-02":{"words":39,"characters":281,"sentences":0,"files":123,"totalWords":29296,"totalCharacters":231518,"totalSentences":821},"2023-03-03":{"words":644,"characters":3897,"sentences":23,"files":123,"totalWords":29940,"totalCharacters":233149,"totalSentences":844},"2023-03-05":{"words":0,"characters":0,"sentences":0,"files":0,"totalWords":29940,"totalCharacters":233149,"totalSentences":844},"2023-03-06":{"words":0,"characters":0,"sentences":0,"files":0,"totalWords":29940,"totalCharacters":233149,"totalSentences":844},"2023-03-07":{"words":16,"characters":103,"sentences":0,"files":123,"totalWords":29956,"totalCharacters":233253,"totalSentences":844},"2023-03-08":{"words":6,"characters":47,"sentences":1,"files":123,"totalWords":29964,"totalCharacters":233304,"totalSentences":845},"2023-03-10":{"words":15,"characters":102,"sentences":0,"files":124,"totalWords":30010,"totalCharacters":233650,"totalSentences":846},"2023-03-14":{"words":68,"characters":445,"sentences":4,"files":126,"totalWords":30274,"totalCharacters":235667,"totalSentences":857},"2023-03-15":{"words":585,"characters":3851,"sentences":9,"files":129,"totalWords":30998,"totalCharacters":240608,"totalSentences":868},"2023-03-16":{"words":128,"characters":820,"sentences":7,"files":131,"totalWords":31352,"totalCharacters":245878,"totalSentences":877},"2023-03-18":{"words":30,"characters":208,"sentences":0,"files":132,"totalWords":31501,"totalCharacters":247094,"totalSentences":878},"2023-03-19":{"words":0,"characters":0,"sentences":0,"files":0,"totalWords":0,"totalCharacters":0,"totalSentences":0},"2023-03-22":{"words":2568,"characters":16916,"sentences":53,"files":133,"totalWords":34073,"totalCharacters":266611,"totalSentences":932},"2023-03-24":{"words":7,"characters":50,"sentences":0,"files":133,"totalWords":34085,"totalCharacters":264035,"totalSentences":932},"2023-03-30":{"words":156,"characters":955,"sentences":9,"files":135,"totalWords":34782,"totalCharacters":265893,"totalSentences":965},"2023-03-31":{"words":129,"characters":798,"sentences":7,"files":135,"totalWords":34911,"totalCharacters":269322,"totalSentences":972},"2023-04-03":{"words":2,"characters":11,"sentences":0,"files":141,"totalWords":35198,"totalCharacters":270614,"totalSentences":987,"totalFootnotes":3,"totalCitations":0,"totalPages":117.19999999999996,"footnotes":0,"citations":0,"pages":0}},"modifiedFiles":{"Aventures/Chapitre 1 - Révolution.md":{"words":{"initial":296,"current":295},"characters":{"initial":2374,"current":2369},"sentences":{"initial":8,"current":8},"footnotes":{"initial":0,"current":0},"citations":{"initial":0,"current":0},"pages":{"initial":1,"current":1}},"Projets/Absolue Nécessitée/Scenes/Diner chez Althéa.md":{"words":{"initial":0,"current":1},"characters":{"initial":1,"current":8},"sentences":{"initial":1,"current":1},"footnotes":{"initial":0,"current":0},"citations":{"initial":0,"current":0},"pages":{"initial":0,"current":0}},"Projets/Absolue Nécessitée/Scenes/Assassinat raté.md":{"words":{"initial":0,"current":1},"characters":{"initial":1,"current":5},"sentences":{"initial":1,"current":1},"footnotes":{"initial":0,"current":0},"citations":{"initial":0,"current":0},"pages":{"initial":0,"current":0}},"Scenes/Diner avec Althéa.md":{"words":{"initial":711,"current":642},"characters":{"initial":4765,"current":3875},"sentences":{"initial":25,"current":24},"footnotes":{"initial":0,"current":0},"citations":{"initial":0,"current":0},"pages":{"initial":2.4,"current":2.1}}}}

View file

@ -1,7 +1,5 @@
---
banner: "https://2.bp.blogspot.com/-1vrilRVfQLA/VvpxzuDnE0I/AAAAAAAAavI/966Kg7f8v9Mfm29TrdZxdfb_mUiEJ7Kdg/s1600/rebellion_1300px_by-andy-walsh.jpg"
---
---
alias: []
tags:
- ch1

View file

@ -0,0 +1,14 @@
# 1 Chapitre 1 - Montée en puissance
---
## 1.1 Diner chez Althéa
!Diner avec Althéa
---
## 1.2 Assassinat raté

View file

@ -0,0 +1,14 @@
---
longform:
format: scenes
title: Absolue Nécessitée
workflow: Default Workflow
sceneFolder: Scenes
scenes:
- Chapitre 1 - Montée en puissance
- - Diner chez Althéa
- Assassinat raté
ignoredFiles:
- manuscript
- undefined
---

View file

@ -0,0 +1 @@
![Diner avec Althéa](../../../Scenes/Diner%20avec%20Althéa.md)

View file

@ -0,0 +1,147 @@
module.exports = {
// object that describes the step and its configuration
description: {
// the name of your step
name: "Replace links",
// short description of what it does
description: "Replaces wikilinks with the linked content",
// array. valid options are "Scene", "Manuscript", "Join". "Join" must be the only member if present.
availableKinds: ["Scene"],
// array of step options, or an empty array if step has no options
options: [
// a boolean option follows as another example
{
id: "removeH1",
name: "Remove h1 of linked content",
description: "If checked, the h1 headers of the linked content will be removed.",
type: "Boolean",
default: true,
},
{
id: "removeFrontmatter",
name: "Remove frontmatter of linked content",
description: "If checked, the frontmatter of the linked content will be removed.",
type: "Boolean",
default: true,
},
],
},
/**
Function that is executed during compilation. It may be `async`.
Errors encountered during execution should be thrown and will
be handled by Longform.
@param input If the step is of kind Scene or Join (see context),
this will be *an array* containing elements of type:
{
path: string; // path to scene
name: string; // file name of scene
contents: string; // text contents of scene
metadata: CachedMetadata; // Obsidian metadata of scene
indentationLevel?: number; // The indent level (starting at zero) of the scene
}
where each element corresponds to a scene (and thus the step has access to all scenes at once in `input`).
If the step is of kind Manuscript (see context), this will be of type:
{
// text contents of manuscript
contents: string;
}
@param context The execution context of the step, including the step
kind and option values:
{
kind: string; // "Scene" | "Join" | "Manuscript"
optionValues: { [id: string]: unknown } // Map of option IDs to values
projectPath: string; // path in vault to compiling project
draft: Draft; // The Draft type describing your project
app: App; // Obsidian app
}
@note For an example of using `context` to determine the shape of `input`, see
https://github.com/kevboh/longform/blob/main/src/compile/steps/strip-frontmatter.ts
@returns If of kind "Scene" or "Manuscript", the same shape as `input`
with the appropriate changes made to `contents`. If of kind "Join",
the same shape as a "Manuscript" step input.
*/
compile
};
async function compile(input, context) {
const files = await getAllFiles(context.app);
console.info("All files: ", files);
return Promise.all(
input.map(async scene => ({
...scene,
contents: await replaceLinksWithContent(scene.contents, scene.metadata, context, files, 0)
}))
)
}
function getAllFiles(app) {
return app.vault.getFiles();
}
async function replaceLinksWithContent(content, metadata, context, files, deep) {
if (deep > 1) {
return content;
}
console.info("Current file: ", metadata, "deep: ", deep);
const allLinks = [...(metadata.links || []), ...(metadata.embeds || [])];
return allLinks.reduce(async (accProm, item) => {
const acc = await accProm;
const [linkedFile, linkedContent] = await getLinkedContent(item.link, context.app, files);
if (!linkedContent) {
return acc;
}
const linkedMetadata = getMetadata(linkedFile, context.app);
let contentArray = Array.from(linkedContent);
contentArray = removeFrontmatter(contentArray, linkedMetadata.frontmatter, context.optionValues);
contentArray = removeHeaders(contentArray, linkedMetadata.headings, context.optionValues)
const cleanedContent = contentArray.filter(val => val !== null)
.join("")
.trim();
const processedLinkedContent = await replaceLinksWithContent(cleanedContent, linkedMetadata, context, files, deep + 1)
return acc.replaceAll(item.original, processedLinkedContent)
}, Promise.resolve(content));
}
async function getLinkedContent(linkText, app, files) {
const file = files.find(file => file.basename === linkText);
return file
? [file, await app.vault.read(file)]
: [];
}
function getMetadata(file, app) {
return app.metadataCache.getFileCache(file)
}
function removeHeaders(content, headers, optionValues) {
if (optionValues.removeH1 && headers) {
return headers
.filter(header => header.level === 1)
.reduce((acc, header) => {
return removeFromTextArray(acc, header.position)
}, content)
} else {
return content;
}
}
function removeFrontmatter(content, frontmatter, optionValues) {
if (frontmatter && optionValues.removeFrontmatter) {
return removeFromTextArray(content, frontmatter.position);
} else {
return content;
}
}
function removeFromTextArray(text, position) {
return text.map((val, i) => i >= position.start.offset && i < position.end.offset ? null : val)
}

View file

@ -1,52 +1,52 @@
{
"nodes":[
{"type":"group","id":"bac06a276a73330f","x":-2014,"y":-4506,"width":2050,"height":3101,"label":"Enquete"},
{"type":"text","text":"#### [L'Arène](Locations/L'Arène.md)","id":"77d5dba97c4653f9","x":-1460,"y":-3593,"width":144,"height":54},
{"type":"text","text":"[La Petite Sirène](Locations/La%20Petite%20Sirène.md)","id":"487245560d15e160","x":-1877,"y":-3802,"width":250,"height":60},
{"type":"text","text":"Fleche empoisonnée","id":"125f5c73a54806d9","x":-3171,"y":-4537,"width":250,"height":60},
{"type":"text","text":"#### [Venin de Ver Pourpre](Objets/Venin%20de%20Ver%20Pourpre.md)","id":"cb7686443486f000","x":-3171,"y":-4273,"width":250,"height":94},
{"type":"text","text":"Etude du venin","id":"9f0116da3c0101c5","x":-3169,"y":-4379,"width":250,"height":60},
{"type":"file","file":"Illustrations/Portraits/Erulissen.png","id":"b8c84d482914db2d","x":-3451,"y":-3887,"width":315,"height":400,"color":"2"},
{"type":"text","text":"### [Aïpio](Factions/Aïpio.md)","id":"f689e7da734b41d9","x":-3419,"y":-4022,"width":250,"height":60},
{"type":"text","text":"### [Le Cercle de sel](Factions/Le%20Cercle%20de%20sel.md)","id":"5e350a7c7d9c461d","x":-3059,"y":-4022,"width":250,"height":60},
{"type":"text","text":"Dague empoisonnée","id":"084f3a2b66ca1b4b","x":-3561,"y":-4682,"width":250,"height":60},
{"type":"text","text":"Combat dans l'arène","id":"0d6c8bc7f3c68952","x":-1513,"y":-3482,"width":250,"height":60,"color":"4"},
{"type":"text","text":"Les conversations entre Lunarion et Lysandre","id":"621599fb2cd2b81c","x":-1522,"y":-2823,"width":250,"height":74},
{"type":"text","text":"TODO: Information utile (récompense)","id":"383582c81605638c","x":-2173,"y":-4693,"width":199,"height":76},
{"type":"text","text":"Boite d'Allumette de l'[Hydre Cristalline](Locations/Hydre%20Cristalline.md)","id":"1580c9a1abcdfede","x":-1746,"y":-4309,"width":250,"height":83},
{"type":"file","file":"Illustrations/Portraits/Althéa.png","id":"9885ce124ab774ce","x":-1000,"y":-4961,"width":249,"height":400},
{"type":"text","text":"##### Enquête sur Althéa\nDocuments révelant des incohérences sur son discours","id":"ecee4819946ec510","x":-869,"y":-2686,"width":250,"height":176,"color":"1"},
{"type":"text","text":"Chateau de Lunarion","id":"fd26dba1e8860ecc","x":-1522,"y":-2628,"width":250,"height":60},
{"type":"text","text":"##### Les lettres entre Lunarion et \"La Danseuse\"","id":"19ca4279126cddad","x":-1522,"y":-2510,"width":250,"height":116,"color":"1"},
{"type":"text","text":"Lunarion s'enfuit avec la complicité des joueurs, en échange d'informations cachées sur Althéa","id":"168d50a00f8e671d","x":-1082,"y":-1778,"width":250,"height":165},
{"type":"file","file":"Illustrations/Portraits/lunarion.jpg","id":"1b68c9c93d34e74c","x":-1243,"y":-2290,"width":206,"height":400},
{"type":"text","text":"#### Althéa est élue au [Conseil de la ville](Factions/La%20Main.md)","id":"4feee060245e3a8d","x":-1274,"y":-1272,"width":237,"height":118},
{"type":"text","text":"Elle envoie les joueurs en Cyrillane","id":"89d325540742cf98","x":-1283,"y":-1099,"width":250,"height":93},
{"type":"text","text":"Quartier du Vieux Port","id":"74c6540e049f3610","x":-1460,"y":-4309,"width":250,"height":50},
{"type":"text","text":"La Lettre de Mahira","id":"5069aabd4a13c1dc","x":-1125,"y":-4298,"width":250,"height":60},
{"type":"text","text":"Assassinat raté","id":"a3904ad29417095a","x":-1746,"y":-4961,"width":250,"height":60,"color":"4"},
{"type":"file","file":"Illustrations/Portraits/Derlynn Gravelgut.jpg","id":"2e6bcfd8b207dd70","x":-1729,"y":-4842,"width":216,"height":400},
{"type":"text","text":"Les conversations entre Lunarion et Lysandre","id":"621599fb2cd2b81c","x":-1522,"y":-2823,"width":250,"height":74},
{"type":"file","file":"Illustrations/Portraits/lunarion.jpg","id":"1b68c9c93d34e74c","x":-1243,"y":-2290,"width":206,"height":400},
{"type":"file","file":"PNJ/Mahira.md","id":"94cda37acc139dab","x":-1548,"y":-3342,"width":321,"height":400},
{"type":"text","text":"Lunarion est capturé et traduit en justice","id":"49c40b60ee3dc205","x":-1522,"y":-1778,"width":342,"height":83},
{"type":"text","text":"Accroches","id":"3aedf2b288b99311","x":1158,"y":-627,"width":176,"height":60,"color":"4"},
{"type":"text","text":"TODO: Information utile (récompense)","id":"383582c81605638c","x":-2173,"y":-4693,"width":199,"height":76},
{"type":"text","text":"","id":"7f4eff1c273961be","x":938,"y":-237,"width":250,"height":60},
{"type":"text","text":"### Les Prêtresses des Soeurs\nCertaines prêtresses des Soeurs préparent une expédition pour se rendre à [Kratéïra](Locations/Kratéïra.md)","id":"d4f6287077a14ec2","x":-417,"y":-480,"width":320,"height":243,"color":"4"},
{"type":"text","text":"# Aider les réfugié\nLes joueurs doivent se rendre a Vivépine pour aider les réfugié et la communauté locale a calmer les troubles","id":"6bffee0c04d42118","x":173,"y":-310,"width":337,"height":310},
{"type":"text","text":"#### Althéa devient Absolue\n","id":"80e21f0b4ae0985e","x":-866,"y":-1252,"width":250,"height":78},
{"type":"text","text":"Elle proclame le fichage des mages et unifie la garde vigente.","id":"39b5e4b46b31622f","x":-866,"y":-1069,"width":250,"height":125},
{"type":"text","text":"# Manoir d'Althéa","id":"9d7ed1c98dcd94a9","x":-1388,"y":-5303,"width":362,"height":70},
{"type":"text","text":"Combat dans l'arène","id":"0d6c8bc7f3c68952","x":-1513,"y":-3482,"width":250,"height":60,"color":"4"},
{"type":"text","text":"","id":"7f4eff1c273961be","x":938,"y":-237,"width":250,"height":60},
{"type":"text","text":"##### Quelques rapports sur les lépreux de Sheena","id":"d9979ad4882a0edd","x":-869,"y":-2452,"width":250,"height":119,"color":"1"},
{"type":"text","text":"Une place est vacante au conseil, Althéa la prend","id":"952d2e95eec491ec","x":-1080,"y":-1553,"width":250,"height":102},
{"type":"text","text":"Contrat entre Lunarion et Derlynn ","id":"9106654884bc782d","x":-1961,"y":-3566,"width":276,"height":99},
{"type":"file","file":"Illustrations/Portraits/Lysandre.png","id":"26583f64e922f598","x":-1922,"y":-2208,"width":300,"height":400},
{"type":"text","text":"#### CLIMAX \nAffrontement entre les joueurs et Mille-Visages, dans une Cité envahie par les ravageurs.","id":"cd209aa92b601e18","x":52,"y":-1052,"width":298,"height":208},
{"type":"text","text":"[Hydre Cristalline](Locations/Hydre%20Cristalline.md)","id":"20903fc794e64d28","x":-1871,"y":-4114,"width":250,"height":60},
{"type":"text","text":"Gardes","id":"cce4fba89332d69c","x":-1877,"y":-3970,"width":250,"height":60},
{"type":"text","text":"### Althéa\nAlthéa demande aux joueurs de jouer les ambassadeurs pour trouver une solution aux problèmes d'importation des grains, d'immigration et de commerce. \n\nElle ne fait pas appel a des ambassadeurs, car le but secret de la mission est surtout d'espionner ce qui se passe dans le pays, afin de savoir si la Cyrillanne prépare une guerre ou non.\n\n","id":"973e6ae9e09f0fe5","x":-417,"y":-207,"width":320,"height":466,"color":"4"},
{"type":"text","text":"","id":"af2cbe8025d8714f","x":260,"y":-1898,"width":250,"height":60},
{"type":"text","text":"#### Sauvetage de [Hrysanthéïs](PNJ/Hrysanthéïs.md)","id":"3822cb7518f31007","x":-333,"y":-1222,"width":369,"height":96},
{"type":"text","text":"#### [L'Arène](Locations/L'Arène.md)","id":"77d5dba97c4653f9","x":-1460,"y":-3593,"width":144,"height":54},
{"type":"text","text":"[La Petite Sirène](Locations/La%20Petite%20Sirène.md)","id":"487245560d15e160","x":-1877,"y":-3802,"width":250,"height":60},
{"type":"text","text":"### [Le Cercle de sel](Factions/Le%20Cercle%20de%20sel.md)","id":"5e350a7c7d9c461d","x":-3059,"y":-4022,"width":250,"height":60},
{"type":"text","text":"Contrat entre Lunarion et Derlynn ","id":"9106654884bc782d","x":-1961,"y":-3566,"width":276,"height":99},
{"type":"text","text":"Gardes","id":"cce4fba89332d69c","x":-1877,"y":-3970,"width":250,"height":60},
{"type":"text","text":"Quartier des épices","id":"2c552327b8764ac5","x":-635,"y":-3898,"width":250,"height":60},
{"type":"file","file":"PNJ/Les Jumeaux.md","id":"944c34000ed08be6","x":-1139,"y":-4054,"width":279,"height":371},
{"type":"text","text":"#### Althéa devient Absolue\n","id":"80e21f0b4ae0985e","x":-866,"y":-1252,"width":250,"height":78},
{"type":"text","text":"Elle proclame le fichage des mages et unifie la garde vigente.","id":"39b5e4b46b31622f","x":-866,"y":-1069,"width":250,"height":125},
{"type":"text","text":"Quartier du Vieux Port","id":"74c6540e049f3610","x":-1460,"y":-4309,"width":250,"height":50},
{"type":"text","text":"Boite d'Allumette de l'[Hydre Cristalline](Locations/Hydre%20Cristalline.md)","id":"1580c9a1abcdfede","x":-1746,"y":-4309,"width":250,"height":83},
{"type":"text","text":"# Manoir d'Althéa","id":"9d7ed1c98dcd94a9","x":-1388,"y":-5303,"width":362,"height":70},
{"type":"file","file":"Illustrations/Portraits/Althéa.png","id":"9885ce124ab774ce","x":-1000,"y":-4961,"width":249,"height":400},
{"type":"text","text":"La Lettre de Mahira","id":"5069aabd4a13c1dc","x":-1125,"y":-4298,"width":250,"height":60},
{"type":"text","text":"Assassinat raté","id":"a3904ad29417095a","x":-1746,"y":-4961,"width":250,"height":60,"color":"4"},
{"type":"file","file":"Illustrations/Portraits/Derlynn Gravelgut.jpg","id":"2e6bcfd8b207dd70","x":-1729,"y":-4842,"width":216,"height":400}
{"type":"file","file":"PNJ/Les Jumeaux.md","id":"944c34000ed08be6","x":-1139,"y":-4054,"width":279,"height":371}
],
"edges":[
{"id":"a373fdb3488f5002","fromNode":"6bffee0c04d42118","fromSide":"right","toNode":"7f4eff1c273961be","toSide":"left","label":"Permet De"},

View file

@ -1,27 +1,13 @@
---
alias: []
tags: []
synopsis: "[[Althéa Temperenza|Althéa]] invite les joueurs a diner, et leur propose un travail bien payé."
trigger: "Se rendre au [[Manoir d'Althéa]]"
sceneType: "encounter"
isActedUpon: "false"
storyCircleStage: "Need"
---
```RpgManagerData
data:
synopsis: "[[Althéa Temperenza|Althéa]] invite les joueurs a diner, et leur propose un travail bien payé."
complete: true
sessionId: 0
action:
trigger: "Se rendre au [[Manoir d'Althéa]]"
date:
sceneType: "encounter"
isActedUpon: false
duration: 0
durations: []
storyCircleStage: "Need"
```
```RpgManager
models:
header: true
```
---
### Scene Notes
Quand les PJ se rendent à l'invitation, lisez ou paraphez ceci :
> *Vous toquez a la porte d'une superbe demeure à colombages, qui ne dénote avec les autres maisons du quartier que part une petite tour qui s'élance sur la façade nord.
> Un melessë vous accueille, dans une tunique en cuir noire et brodée d'épi dorées, le visage fermé. Vous décelez aux oreilles une ascendance elfique, mais contrairement a la norme, celui ci arbore des traits déformé, cabossé, voir fondu par endroits. Avec ses gants blancs, il vous fait signe d'entrer et vous escorte jusqu'à un petit salon situé sur votre gauche.*
@ -41,33 +27,3 @@ Il sera plus loquace et répondra volontiers aux questions des PJ pendant le rep
Althéa, après le repas, montrera aux PJ leurs chambres, puis répondra à leurs questions. Une fois la conversation terminée, elle ira dans ses quartiers, laissant les aventuriers entre les mains de [[../PNJ/Gustavio]].
---
```RpgManager
models:
lists:
subplots:
relationship: "unidirectional"
musics:
relationship: "unidirectional"
pcs:
relationship: "unidirectional"
npcs:
relationship: "unidirectional"
factions:
relationship: "unidirectional"
clues:
relationship: "unidirectional"
locations:
relationship: "unidirectional"
events:
relationship: "unidirectional"
```
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 8
campaignSettings: 0
id: "3257923e-08dd-4a34-a5d5-9707014e858b"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "2d839255-b86f-493e-86cb-149dd5b2a537"
positionInParent: 2
```