This commit is contained in:
Lucas 2023-01-03 13:32:03 +01:00
parent 3ed8ccac1d
commit f3d2ca9ef0
25 changed files with 570 additions and 35 deletions

View file

@ -8,5 +8,6 @@
"obsidian-outliner",
"obsidian-projects",
"fantasy-calendar",
"rpg-manager"
"rpg-manager",
"obsidian-banners"
]

View file

@ -108,7 +108,7 @@
"fields": [
{
"field": 1,
"checked": false,
"checked": true,
"required": false
},
{

View file

@ -1390,8 +1390,55 @@ var Index = class {
}
};
// node_modules/uuid/dist/esm-browser/rng.js
var getRandomValues;
var rnds8 = new Uint8Array(16);
function rng() {
if (!getRandomValues) {
getRandomValues = typeof crypto !== "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
if (!getRandomValues) {
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
}
}
return getRandomValues(rnds8);
}
// node_modules/uuid/dist/esm-browser/stringify.js
var byteToHex = [];
for (let i = 0; i < 256; ++i) {
byteToHex.push((i + 256).toString(16).slice(1));
}
function unsafeStringify(arr, offset2 = 0) {
return (byteToHex[arr[offset2 + 0]] + byteToHex[arr[offset2 + 1]] + byteToHex[arr[offset2 + 2]] + byteToHex[arr[offset2 + 3]] + "-" + byteToHex[arr[offset2 + 4]] + byteToHex[arr[offset2 + 5]] + "-" + byteToHex[arr[offset2 + 6]] + byteToHex[arr[offset2 + 7]] + "-" + byteToHex[arr[offset2 + 8]] + byteToHex[arr[offset2 + 9]] + "-" + byteToHex[arr[offset2 + 10]] + byteToHex[arr[offset2 + 11]] + byteToHex[arr[offset2 + 12]] + byteToHex[arr[offset2 + 13]] + byteToHex[arr[offset2 + 14]] + byteToHex[arr[offset2 + 15]]).toLowerCase();
}
// node_modules/uuid/dist/esm-browser/native.js
var randomUUID = typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
var native_default = {
randomUUID
};
// node_modules/uuid/dist/esm-browser/v4.js
function v4(options, buf, offset2) {
if (native_default.randomUUID && !buf && !options) {
return native_default.randomUUID();
}
options = options || {};
const rnds = options.random || (options.rng || rng)();
rnds[6] = rnds[6] & 15 | 64;
rnds[8] = rnds[8] & 63 | 128;
if (buf) {
offset2 = offset2 || 0;
for (let i = 0; i < 16; ++i) {
buf[offset2 + i] = rnds[i];
}
return buf;
}
return unsafeStringify(rnds);
}
var v4_default = v4;
// src/services/indexService/IndexService.ts
var import_crypto = require("crypto");
var IndexService = class extends AbstractService {
create(type, id, campaignId, parentId, positionInParent, campaignSettings) {
const response = new Index(this.api, type, id, campaignId, parentId);
@ -1406,7 +1453,7 @@ var IndexService = class extends AbstractService {
return response;
}
createUUID() {
return (0, import_crypto.randomUUID)();
return v4_default();
}
};
@ -1962,7 +2009,7 @@ var CodeblockImageWorker = class {
return __async(this, null, function* () {
if (domain.codeblock.data === void 0)
domain.codeblock.data = {};
if (domain.codeblock.data.images === void 0)
if (domain.codeblock.data.images == void 0)
domain.codeblock.data.images = [];
let found;
for (let index = 0; index < domain.codeblock.data.images.length; index++) {
@ -5686,7 +5733,7 @@ var GalleryAddRemoteModalView = class extends AbstractConfirmationGalleryModalVi
this._addButtonEl.addEventListener("click", () => {
const imageEl = new Image();
for (let index = 0; index < this.model.images.length; index++) {
if (this._urlEl.value.toLowerCase() === this.model.images[index].src.toLowerCase()) {
if (this._urlEl.value === this.model.images[index].src) {
this._errorEl.style.display = "";
this._errorEl.textContent = "The URL to the image is invalid.";
return;
@ -5698,7 +5745,7 @@ var GalleryAddRemoteModalView = class extends AbstractConfirmationGalleryModalVi
return;
};
imageEl.onload = (evt) => {
this.api.service(CodeblockService).addOrUpdateImage(this._urlEl.value.toLowerCase(), "").then((image) => {
this.api.service(CodeblockService).addOrUpdateImage(this._urlEl.value, "").then((image) => {
if (image !== void 0) {
this.selectedImage = image;
this.confirmationOverlayEl.style.display = "block";
@ -12536,12 +12583,11 @@ var AbtStageElement = class extends AbstractElement {
// src/managers/viewsManager/elements/ParentSwitcherSelectorElement.ts
var import_obsidian31 = require("obsidian");
var import_crypto2 = require("crypto");
var ParentSwitcherSelectorElement = class extends AbstractElement {
constructor(api) {
super(api);
this.api = api;
this._id = (0, import_crypto2.randomUUID)();
this._id = v4_default();
}
render(data, containerEl) {
let selectedModel = void 0;
@ -16582,7 +16628,6 @@ var FantasyCalendarDatePicker = class {
};
// src/services/fantasyCalendarService/views/elements/FantasyCalendarElement.ts
var import_crypto3 = require("crypto");
var FantasyCalendarElement = class extends AbstractElement {
render(data, containerEl) {
var _a;
@ -16596,7 +16641,7 @@ var FantasyCalendarElement = class extends AbstractElement {
let dateValue = "";
if (data.values !== void 0 && data.values.date !== void 0 && data.model.campaign.fantasyCalendar !== void 0)
dateValue = this.api.service(FantasyCalendarService).getDay(data.values.date, data.model.campaign.fantasyCalendar).displayDate;
const id = (0, import_crypto3.randomUUID)();
const id = v4_default();
this._inputEl = contentEl.createEl("input", { cls: "rpg-manager-fantasy-calendar-picker-launcher " + id });
this._inputEl.type = "text";
this._inputEl.value = dateValue;
@ -19499,7 +19544,6 @@ var V3_0_to_3_1_worker = class extends AbstractDatabaseWorker {
// src/core/updater/workers/V3_1_to_3_4_worker.ts
var import_obsidian39 = require("obsidian");
var import_crypto4 = require("crypto");
var V3_1_to_3_4_worker = class extends AbstractDatabaseWorker {
get from() {
return "3.1";
@ -19540,7 +19584,7 @@ var V3_1_to_3_4_worker = class extends AbstractDatabaseWorker {
return __async(this, null, function* () {
const campaigns = this._elements.filter((component) => component.type === 1 /* Campaign */);
for (let index = 0; index < campaigns.length; index++) {
const id = (0, import_crypto4.randomUUID)();
const id = v4_default();
const newComponentId = {
type: campaigns[index].type,
campaignSettings: campaigns[index].campaignSettings,
@ -19625,7 +19669,7 @@ var V3_1_to_3_4_worker = class extends AbstractDatabaseWorker {
const newComponentId = {
type: adventures[index].type,
campaignSettings: adventures[index].campaignSettings,
id: (0, import_crypto4.randomUUID)(),
id: v4_default(),
campaignId: campaign.newIndex.campaignId,
parentId: campaign.newIndex.campaignId,
positionInParent: index + 1
@ -19654,7 +19698,7 @@ var V3_1_to_3_4_worker = class extends AbstractDatabaseWorker {
const newComponentId = {
type: acts[index].type,
campaignSettings: acts[index].campaignSettings,
id: (0, import_crypto4.randomUUID)(),
id: v4_default(),
campaignId: adventure.newIndex.campaignId,
parentId: adventure.newIndex.id,
positionInParent: index + 1
@ -19691,7 +19735,7 @@ var V3_1_to_3_4_worker = class extends AbstractDatabaseWorker {
const newComponentId = {
type: scenes[index].type,
campaignSettings: scenes[index].campaignSettings,
id: (0, import_crypto4.randomUUID)(),
id: v4_default(),
campaignId: act.newIndex.campaignId,
parentId: act.newIndex.id,
positionInParent: index + 1
@ -19719,7 +19763,7 @@ var V3_1_to_3_4_worker = class extends AbstractDatabaseWorker {
const newComponentId = {
type: sessions[index].type,
campaignSettings: sessions[index].campaignSettings,
id: (0, import_crypto4.randomUUID)(),
id: v4_default(),
campaignId: campaign.newIndex.campaignId,
parentId: campaign.newIndex.campaignId,
positionInParent: index + 1
@ -19737,7 +19781,7 @@ var V3_1_to_3_4_worker = class extends AbstractDatabaseWorker {
const newComponentId = {
type: elements[index].type,
campaignSettings: elements[index].campaignSettings,
id: (0, import_crypto4.randomUUID)(),
id: v4_default(),
campaignId: campaign.newIndex.campaignId,
parentId: campaign.newIndex.campaignId,
positionInParent: 1

View file

@ -1,7 +1,7 @@
{
"id": "rpg-manager",
"name": "RPG Manager",
"version": "3.4.4",
"version": "3.4.5",
"minAppVersion": "0.15.0",
"description": "A plugin to manage your Tabletop Role Playing Game campaigns for Obsidian.",
"author": "Carlo Nicora <carlo@carlonicora.com>",

View file

@ -2,6 +2,8 @@
---
alias: []
tags: []
banner: "https://cdnb.artstation.com/p/assets/images/images/017/547/695/large/marc-simonetti-img-20190424-170658-527.jpg?1556439881"
banner_y: 0.572
---
```RpgManagerData
plot:
@ -26,9 +28,7 @@ data:
currentAdventureId: "a33850ae-09d0-4e9d-ae95-384b4064fbaf"
currentActId: "2d839255-b86f-493e-86cb-149dd5b2a537"
currentSessionId:
images:
- path: "https://cdnb.artstation.com/p/assets/images/images/017/547/695/large/marc-simonetti-img-20190424-170658-527.jpg?1556439881"
caption: ""
images: []
```
```RpgManager
models:
@ -57,7 +57,7 @@ models:
npcs:
relationship: "hierarchy"
factions:
relationship: "hierarchy"
relationship: "hierarchy"
```
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###

View file

@ -2,6 +2,8 @@
alias: []
tags: []
chapter: 1
banner: "https://i.pinimg.com/564x/8e/4b/e7/8e4be7ea21c920ea8f7b9fb75eaf389a.jpg"
banner_y: 0.388
---
```RpgManagerData
plot:
@ -61,14 +63,12 @@ parentId: "a33850ae-09d0-4e9d-ae95-384b4064fbaf"
id: "2d839255-b86f-493e-86cb-149dd5b2a537"
positionInParent: 1
```
[[Léproserie de Sheena|]]
[[Manoir d'Althéa|]]
[[Althéa Temperenza|]]
[[Boite d'Allumette de l'Hydre Cristalline|]]
[[La Lettre préventive|]]
[[Lunarion Agnadelle|]]
[[Verndrimund|]]
[[Erulissen|]]
[[Althéa Temperenza|]]
[[Gustavio|]]
[[La Lettre préventive|]]
[[Boite d'Allumette de l'Hydre Cristalline|]]
[[Derlynn Boyau-Gravier|]]

View file

@ -3,6 +3,8 @@ alias: []
tags:
- ch1
banner: "https://2.bp.blogspot.com/-1vrilRVfQLA/VvpxzuDnE0I/AAAAAAAAavI/966Kg7f8v9Mfm29TrdZxdfb_mUiEJ7Kdg/s1600/rebellion_1300px_by-andy-walsh.jpg"
banner_y: 0.384
---
```RpgManagerData
plot:
@ -21,8 +23,11 @@ plot:
return:
change:
data:
synopsis:
synopsis: "Les joueurs sont engagés par [[Althéa Temperenza]], une députée populaire parmi le peuple, fraichement réélue à L'Assemblée de la Cité Franche. Sauvée d'une tentative d'assassinat, elle engagera les joueurs pour retrouver l'auteur de ce méfait. Apres avoir exposé au grand jour les méfait de [[Lunarion Agnadelle]], elle prendra sa place dans la Main"
complete: false
images:
- path: "https://2.bp.blogspot.com/-1vrilRVfQLA/VvpxzuDnE0I/AAAAAAAAavI/966Kg7f8v9Mfm29TrdZxdfb_mUiEJ7Kdg/s1600/rebellion_1300px_by-andy-walsh.jpg"
caption: ""
```
```RpgManager
models:
@ -31,7 +36,14 @@ models:
---
### Adventure Notes
-
Les joueurs sont engagés par [[Althéa Temperenza]], une députée populaire parmi le peuple, fraichement réélue à L'Assemblée de la Cité Franche. Elle soupçonne quelques bourgeois de fomenter un tentative d'assassinat et engage les joueurs pour la protéger. Les joueurs doivent trouver
Les joueurs auront donc plusieurs missions :
- Enquêter sur le commanditaire de l'Assassinat
- Trouver et révéler les actions du/des commanditaires
- Faire élire Althéa au conseil de la Main
- Cette nouvelle pourrait briser l'équilibre précaire de L'Assemblée et Althéa en récolterait les lauriers. La nouvelle de la chute de l'empire Kadméïde en Cyrillane se répandra et les réfugiées afflueront dans la capitale de la République. Dans un contexte de crise institutionnelle, Althéa sera propulsée Absolue (dans un tonnerre d'applaudissement 😉 ).
---
```RpgManager
models:

View file

@ -27,7 +27,7 @@ Les joueurs sont engagés par [[Althéa|Althéa Temperanza]], une députée popu
Les joueurs auront donc plusieurs missions :
- Enquêter sur le commanditaire de l'Assassinat
- Trouver et révéler les actions du/des commanditaires
- Faire élire [[Althéa]] au conseil de [[Conseil de la Ville|la Main]]
- Faire élire [[Althéa]] au conseil de [[La Main]]
Cette nouvelle pourrait briser l'équilibre précaire de [[L'Assemblée]] et [[Althéa]] en récolterait les lauriers. La nouvelle de la chute de l'empire Kadméïde en [[Cyrillane]] se répandra et les réfugiées afflueront dans la capitale de la République. Dans un contexte de crise institutionnelle, [[Althéa]] sera propulsée *[[L'Assemblée#Les pleins pouvoirs|Absolue]]* (dans un tonnerre d'applaudissement 😉 ).
### [[Chapitre 2 - Mensonges]]

View file

@ -1,6 +1,8 @@
---
alias: [Tulius]
tags: []
banner: "https://www.worldanvil.com/media/cache/cover/uploads/images/9d04c7625f3f0515c8abcab226215353.png"
banner_y: 0.548
---
```RpgManagerData
data:

View file

@ -0,0 +1,32 @@
---
alias: []
tags: []
---
```RpgManagerData
data:
synopsis:
complete: false
```
```RpgManager
models:
header: true
lists:
pcs:
npcs:
locations:
subplots:
```
---
### Faction Details
-
---
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 1024
campaignSettings: 0
id: "2336e4e4-b8f6-4ccb-8465-a63b23444285"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```

View file

@ -0,0 +1,32 @@
---
alias: []
tags: []
---
```RpgManagerData
data:
synopsis:
complete: false
```
```RpgManager
models:
header: true
lists:
pcs:
npcs:
locations:
subplots:
```
---
### Faction Details
-
---
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 1024
campaignSettings: 0
id: "71ec1286-b674-40aa-99f4-96dda2ffcfc3"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```

56
Factions/La Main.md Normal file
View file

@ -0,0 +1,56 @@
---
alias: ["Conseil de la ville"]
tags: []
---
```RpgManagerData
data:
synopsis: "5 membres de [[L'Assemblée]], élus pour une période de 6 ans ; ils choisissent leur équipe dassistants. \n"
complete: false
relationships:
- type: "bidirectional"
path: "NonPlayerCharacters/Lunarion Agnadelle.md"
description: "Membre depuis 8ans (deuxième mandat), il succède a son père."
- type: "child"
path: "Factions/LAssemblée.md"
description:
- type: "bidirectional"
path: "Locations/Grand Palais.md"
description:
```
```RpgManager
models:
header: true
lists:
pcs:
npcs:
locations:
subplots:
```
---
### Faction Details
Installés en permanence dans les bâtiments officiels, les membres sont les premiers avertis en cas de problème. Ils gèrent les affaires courantes et préparent lessentiel de lordre du jour de [[lAssemblée]].
Le dernier vote pour le conseil a eu lieu l'année dernière
### Membres actuels
- [[Lunarion Agnadelle]], depuis 8ans (deuxième mandat), il succède a son père.
- [[Malvina Ceréel]], la matriarche halfeline de la famille Ceréel, entame sa 13e année (3eme mandat) et ne compte pas partir.
- [[Artistophane Ipato]] l'héritier de la famille Ipato est dans son premier mandat, et c'est la première fois qu'une famille Cyrillane arrive au conseil de la main.
- [[Zerka Valtor]] une naine haut placée dans l'institution de la Steinbank.
- Le [[Baron de l'Éther]], un gnome qui possède la majorité des transports de la villes. Compagnie de barques, [[néfélytres]] et [[boursoufleuses]]. Il siège au conseil du [[Quartier de l'éolienne]]
---
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 1024
campaignSettings: 0
id: "38edaba0-c820-47b0-b098-0585bc21fa7c"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```
[[Lunarion Agnadelle|]]
[[LAssemblée|]]
[[Grand Palais|]]
[[République|]]

View file

@ -0,0 +1,45 @@
---
alias: []
tags: []
banner: "![[L'assemblée.jpg]]"
banner_y: 0.524
---
```RpgManagerData
data:
synopsis: "L'Assemblée est le principal organe décisionnaire de la République. "
complete: false
```
```RpgManager
models:
header: true
lists:
pcs:
npcs:
locations:
subplots:
```
---
111 Citoyens tirés au sort tous les six ans peuvent voter les loi, déclarer la guerre, voter la paix, saisir un conseil pour demander une intervention ou faire office de tribunal en derniers recours.
Les débats sont souvent public, rarement à huis-clos. Ils peuvent nommer des délégués pour mener une enquête
### Le pouvoir a tout prix
Bien que les membres de lAssemblée soient théoriquement tirés au sort, une règle permet à un citoyen dont les activités sont trop prenantes de céder sa charge à une personne de son choix. Cette clause a dérivé avec le temps en un marché de la représentation comprenant un volet légal (simple vente au plus offrant) et un volet illégal (tel le chantage pour inciter un représentant à céder sa charge, ou dautres pressions et menaces). Il arrive aussi quun citoyen désigné par le sort donne gratuitement son mandat à un citoyen quil estime plus compétent que lui.  
À cause de ce système, le pouvoir est généralement continuellement entre les mains des mêmes groupes, des mêmes familles, aboutissant progressivement à donner une saveur doligarchie à la République. Le sans-gêne de certains puissants, sûrs de leur impunité, est source de tensions croissantes et alimente les discours extrémistes de prédicateurs qui rêvent de « libérer » les habitants des tyrans, de la même manière quen [[Cyrillanne]]. 
Conscients des déviances des institutions, des citoyens de toutes conditions réclament des réformes, mais lAssemblée peut-elle se réformer elle-même alors que tant de ses membres auraient à y perdre ?
### Les pleins pouvoirs  
En cas de crise et de péril imminent pour la République, lAssemblée peut voter les pleins pouvoirs à un magistrat unique appelé *lAbsolu*. Il dirigera durant un an, avec une liberté complète et le contrôle de toutes les forces armées. Cette institution na pratiquement jamais servi au cours de la République. Son abolition a souvent été demandée, mais jamais votée. Ses défenseurs assurent que si la [[Cyrillanne]] avait pu mettre en place un Absolu, jamais elle ne se serait effondrée comme à présent
---
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 1024
campaignSettings: 0
id: "350f09c8-2387-4b1e-84cf-aec22a7677a2"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```

69
Factions/République.md Normal file
View file

@ -0,0 +1,69 @@
---
alias: []
tags: []
banner_icon: 🏛️
banner: "![[L'assemblée.jpg]]"
banner_y: 0.128
---
```RpgManagerData
data:
synopsis:
complete: false
relationships:
- type: "child"
path: "Factions/Conseil des Stratèges.md"
description:
- type: "child"
path: "Factions/LAssemblée.md"
description:
- type: "child"
path: "Factions/Conseils des Dragons.md"
description:
- type: "child"
path: "Factions/La Main.md"
description:
```
```RpgManager
models:
header: true
lists:
pcs:
npcs:
locations:
subplots:
factions:
```
---
### Faction Details
Si la Cité Franche sest imposée comme une puissance marchande incontournable, cest le résultat dune volonté sans faille, sappuyant sur un mélange de persévérance et dopportunisme. En 331 ans, la République sest attachée à tisser des relations fortes avec de nombreuses civilisations, installant des comptoirs et nouant des accords protecteurs de ses intérêts. Une politique de neutralité affichée dans les conflits locaux a amené notre territoire à être un lieu de rencontre où les agents de peuples ennemis peuvent mener une diplomatie de lombre aboutissant parfois à des traités de paix providentiels. Néanmoins, toutes les ambassades et délégations voyagent avec des espions qui agissent par eux-mêmes ou bien font la richesse des guildes de voleurs chargées de faire leur sale boulot : vol, chantage, enlèvement, assassinat. Par le passé déjà, le destin de peuples lointains sest joué entre les murs de notre ville, et tout indique que ce rôle darrière-cour des intrigues nest pas près de cesser.
### Histoire
Lempire de Tamerakh fut divisé en provinces, chacune contrôlée par un gouverneur nommé par le conquérant en personne. Au moment de lascension divine, les personnages les plus importants de tout lempire avaient été conviés à sa capitale, dans lest du vieux Kaan. Daprès la légende, aucun nen revint et ils moururent tous, comme sa population, et tous les prisonniers de guerre réduits à lesclavage. Un tel carnage défit tout ce que nous pouvons imaginer. Il ne demeura dans les provinces impériales que les subalternes, et quelques gouverneurs assez prudents pour se faire porter pâle et envoyer leurs seconds à leur place. La Resgrande Riporte faisait partie de la province de Barruna qui couvre approximativement le territoire terrestre actuellement sous le contrôle de la Cité Franche, mais la décision avait été prise de placer la capitale à Malachaï, dans les [[Reliefs de Histe]].
#### Le royaume de Barruna
Après la chute de lempire de Tamerakh, le Barruna devint un royaume et le gouverneur se proclama roi. Il régna une vingtaine dannée, mais échoua à assurer la stabilité de sa dynastie dans le temps. Son successeur fut renversé par la cheffe de la résistance, Sheena la halfeline. Elle fondit un nouveau royaume, dont la capitale était la Resgrande Riporte. Ce nouveau royaume prit le nom de Ouestrie une traduction transparente du terme kaani Barruna ! Il na pas su sétablir dans la durée, mais les grands principes qui ont présidé à sa création ont en revanche marqué lhistoire. Liberté, force dâme, esprit dinitiative, égalité, mérité : nous avons là les germes de la République à venir. Cette royauté était dailleurs élective. Ses dirigeants hélas manquaient de sens stratégique. La Cyrillane su en tirer profit.
#### Les Drae
Une habile politique matrimoniale et dalliance, couplée à une politique de puissance à long terme leur permirent de prendre le contrôle du royaume de Ouestrie. Une dynastie de souverains vassaux mi-ouestriens, mi-cyrillans, les Drae, régna pendant lessentiel de la période précédant linstauration de la République.
Pratiquement tous les vestiges royaux que vous pourriez croiser datent de cette époque. De même, les familles qui affichent aujourdhui encore un titre de noblesse, lont acquis sous les Drae. 
La Resgrande Riporte a considérablement grandi sous leur règne, pour prendre peu à peu le visage que vous lui connaissez. Ils ont inauguré la cathédrale de Flore et Givreuse et le grand sanctuaire de Forgeron. Labandon de la vieille nécropole au profit du Cimetière de la Plaine est également de leur fait ; linstallation de la Steinbank aussi. En dépit de forces indéniables, le royaume souffrait de défauts qui précipitèrent sa perte. Les familles guildiennes en particulier étaient insatisfaites de la politique fiscale imposée indirectement par le trône cyrillan. La révolution à venir se nourrissait à la fois du ressentiment dêtre un pays vassal, de la pression économique, du souvenir des idéaux ayant mené à renverser le royaume de Barruna, et de la relative faiblesse de la Cyrillane alors prise dans une tentative malheureuse de conquérir le royaume de Ghardat. 
Lultime facteur déclenchant fut un concours de circonstances, une suite daccidents et de décès tragiques qui menèrent sur le trône Alexis III, un jeune souverain généreux, mais qui mesurait mal la succession dévénements quil allait déclencher. Soucieux du bien-être de son peuple, il décida de plaider sa cause auprès de lempereur, en se rendant en personne à Kratéïra avec une délégation guildienne. 
Il existe plusieurs versions, contradictoires, des événements. Toujours est-il quAlexis III Drae mourut au cours du voyage de maladie ou dun empoisonnement , et que certains guildiens furent arrêtés et exécutés pour sédition. Pour lanecdote, la guilde despeciel, qui contrôle le commerce des épices, et la guilde des alchimistes sont encore soupçonnées par certains davoir assassiné alors le souverain pour provoquer une révolte contre la Cyrillane et obtenir lindépendance. La population assemblée dans lancien palais vota solennellement pour létablissement de la République. Une époque venait de sachever.
---
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 1024
campaignSettings: 0
id: "24d99f46-7010-41c4-9362-8c55ece4cdce"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```
[[Conseil des Stratèges|]]
[[LAssemblée|]]
[[Conseils des Dragons|]]
[[La Main|]]

View file

@ -1,5 +1,5 @@
---
alias: []
alias: ["Resgrande Riporte"]
tags: []
type: Cité
status: Done
@ -13,6 +13,16 @@ data:
images:
- path: "Illustrations/Logo/Embleme de la Cité Franche.png"
caption: ""
relationships:
- type: "child"
path: "Locations/Terrasse du Palais.md"
description:
- type: "child"
path: "Locations/Quartier du Vieux Port.md"
description:
- type: "child"
path: "Locations/Quartier de la Forge.md"
description:
```
```RpgManager
models:
@ -50,3 +60,6 @@ campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```
[[Terrasse du Palais|]]
[[Quartier du Vieux Port|]]
[[Quartier de la Forge|]]

View file

@ -8,6 +8,10 @@ data:
synopsis:
complete: false
address:
relationships:
- type: "child"
path: "Locations/Ouestrie.md"
description:
```
```RpgManager
models:
@ -39,3 +43,4 @@ campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```
[[Ouestrie|]]

40
Locations/Cyrillanne.md Normal file
View file

@ -0,0 +1,40 @@
---
alias: []
tags: []
---
```RpgManagerData
data:
synopsis:
complete: false
address:
```
```RpgManager
models:
header: true
lists:
pcs:
npcs:
events:
clues:
locations:
- relationship: "parent"
title: "Inside"
- relationship: "child"
title: "Contains"
- relationship:
title: "Related Locations"
```
---
### Location Details
-
---
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 128
campaignSettings: 0
id: "c71042c0-2cc2-4e43-a8c9-f6d584c7877b"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```

40
Locations/Grand Palais.md Normal file
View file

@ -0,0 +1,40 @@
---
alias: ["Ancien Palais","Palais"]
tags: []
---
```RpgManagerData
data:
synopsis:
complete: false
address:
```
```RpgManager
models:
header: true
lists:
pcs:
npcs:
events:
clues:
locations:
- relationship: "parent"
title: "Inside"
- relationship: "child"
title: "Contains"
- relationship:
title: "Related Locations"
```
---
### Location Details
-
---
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 128
campaignSettings: 0
id: "24c70dc1-9df1-41b4-b4dc-01f008c5770c"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```

40
Locations/Kratéïra.md Normal file
View file

@ -0,0 +1,40 @@
---
alias: []
tags: []
---
```RpgManagerData
data:
synopsis:
complete: false
address:
```
```RpgManager
models:
header: true
lists:
pcs:
npcs:
events:
clues:
locations:
- relationship: "parent"
title: "Inside"
- relationship: "child"
title: "Contains"
- relationship:
title: "Related Locations"
```
---
### Location Details
-
---
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 128
campaignSettings: 0
id: "f70a7d1c-7b2c-4f47-8396-d7b4f3c871d0"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```

View file

@ -1,5 +1,5 @@
---
alias: []
alias: ["Territoires de la République"]
tags: []
type: Pays
status: Done
@ -10,6 +10,13 @@ data:
synopsis: "Territoires appartenant à la République de la [[Cité Franche]]"
complete: false
address:
relationships:
- type: "child"
path: "Locations/Reliefs de Histe.md"
description:
- type: "child"
path: "Locations/Cité Franche.md"
description:
```
```RpgManager
models:
@ -41,3 +48,5 @@ campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```
[[Reliefs de Histe|]]
[[Cité Franche|]]

View file

@ -0,0 +1,41 @@
---
alias: []
tags: []
found-in: [[Ouestrie]]
---
```RpgManagerData
data:
synopsis:
complete: false
address:
```
```RpgManager
models:
header: true
lists:
pcs:
npcs:
events:
clues:
locations:
- relationship: "parent"
title: "Inside"
- relationship: "child"
title: "Contains"
- relationship:
title: "Related Locations"
```
---
### Location Details
-
---
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 128
campaignSettings: 0
id: "f0ac0e8b-3b8e-4a70-957e-9bb826ab1357"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```

View file

@ -9,6 +9,13 @@ data:
synopsis:
complete: false
address:
relationships:
- type: "child"
path: "Locations/Grand Palais.md"
description:
- type: "child"
path: "Locations/Manoir d'Althéa.md"
description:
```
```RpgManager
models:
@ -40,3 +47,5 @@ campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```
[[Grand Palais|]]
[[Manoir d'Althéa|]]

View file

@ -10,7 +10,7 @@ data:
synopsis: "Une politicienne qui a le soutien populaire, et la principale commanditaire des personnages"
death:
dob:
goals: "- Se faire élire en tant qu'Absolue\n- Installer des nids chancreux dans le Taudis d'Asoif"
goals: "- Acceder au [[La Main|Conseil de la ville]]\n- Se faire élire en tant qu'Absolue\n- Installer des nids chancreux dans le Taudis d'Asoif"
pronoun:
complete: false
images:
@ -56,7 +56,7 @@ campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```
[[Manoir d'Althéa|]]

View file

@ -7,7 +7,7 @@ class: Politique
---
```RpgManagerData
data:
synopsis: "Lunarion est l'héritier de l'ancienne famille Agnadelle, des nobles d'avant la République\n \nLunarion est membre de [[Conseil de la Ville|la Main]] depuis 8 ans et un membre éminent du conseil des guildes. "
synopsis: "Lunarion est l'héritier de l'ancienne famille Agnadelle, des nobles d'avant la République\n \nLunarion est membre de [[La Main]] depuis 8 ans et un membre éminent du conseil des guildes. "
death:
dob:
goals: "- Tuer [[Althéa Temperenza|Althéa]]\n- Choisir lequel de ses trois fils héritera. \n- Absorber la compagnie Temperenza"

View file

@ -0,0 +1,45 @@
---
alias: []
tags: []
race: halfelin
---
```RpgManagerData
data:
synopsis:
death:
dob:
goals:
pronoun:
complete: false
```
```RpgManager
models:
header: true
lists:
subplots:
pcs:
relationship: "unidirectional"
npcs:
relationship: "unidirectional"
factions:
locations:
events:
clues:
```
---
### Non Player Character Notes
-
### Non Player Character Story
-
---
```RpgManagerID
### DO NOT EDIT MANUALLY IF NOT INSTRUCTED TO DO SO ###
type: 64
campaignSettings: 0
id: "c7e8c576-4cd5-4579-b06f-3e4e48e5b253"
campaignId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
parentId: "160d7ffd-1d69-4848-b5e5-443eb5992dea"
positionInParent: 0
```