diff --git a/macrovision.js b/macrovision.js index 4fac4b66..745ea5c5 100644 --- a/macrovision.js +++ b/macrovision.js @@ -1353,7 +1353,7 @@ const fitModes = { } } -function fitWorld(manual=false) { +function fitWorld(manual=false, factor=1.1) { const fitMode = fitModes[config.autoFitMode] let max = fitMode.start @@ -1377,7 +1377,7 @@ function fitWorld(manual=false) { if (manual) altHeld = true; - setWorldHeight(config.height, math.multiply(max, 1.1)); + setWorldHeight(config.height, math.multiply(max, factor)); if (manual) altHeld = false; } diff --git a/media/attribution.js b/media/attribution.js index d92b18ea..9322e17f 100644 --- a/media/attribution.js +++ b/media/attribution.js @@ -5205,6 +5205,18 @@ const attributionData = { "fidchell" ] }, + { + prefix: "./media/characters/fleur/", + files: [ + { name: "front.svg", source: "https://fidverse.fandom.com/wiki/Fleur" } + ], + authors: [ + "fidchell" + ], + owners: [ + "fidchell" + ] + }, //characters { prefix: "./media/landmarks/", diff --git a/media/characters/fleur/front.svg b/media/characters/fleur/front.svg new file mode 100644 index 00000000..7b7457c9 --- /dev/null +++ b/media/characters/fleur/front.svg @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/presets/characters.js b/presets/characters.js index 85a36742..8ab7b116 100644 --- a/presets/characters.js +++ b/presets/characters.js @@ -13177,6 +13177,32 @@ characterMakers["Malgam"] = () => { ] ) }; + +characterMakers["Fleur"] = () => { + return makeCharacter( + "Fleur", + "Fidchell", + { + front: { + height: math.unit(5 + 11/12, "feet"), + weight: math.unit(188, "lb"), + name: "Front", + image: { + source: "./media/characters/fleur/front.svg", + extra: 309/283 * (1 / (1 - 0.007)), + bottom: 0.007 + } + }, + }, + [ + { + name: "Normal", + height: math.unit(5 + 11/12, "feet") + }, + ] + ) +}; + //characters function makeCharacters() { diff --git a/presets/scenes.js b/presets/scenes.js index 4ecc320a..d1a848f4 100644 --- a/presets/scenes.js +++ b/presets/scenes.js @@ -78,6 +78,35 @@ function makeOwnerScene(owner) { } } +function makeOwnerSceneViews(owner) { + return () => { + availableEntities["characters"].filter(x => { + const entity = x.constructor(); + const owners = ownersOf(entity.views[entity.view].image.source); + if (owners) + return owners.indexOf(owner) != -1; + else + return false; + }).map(maker => { + return maker.constructor(); + }).flatMap(entity => { + return Object.keys(entity.views).map(view => { + console.log(entity) + const newEnt = availableEntitiesByName[entity.identifier].constructor(); + newEnt.view = view; + return newEnt; + }); + }).sort((e1, e2) => { + return e1.sizes[e1.sizes.length - 1].height.toNumber() - e2.sizes[e2.sizes.length - 1].height.toNumber() + }).forEach(entity => { + displayEntity(entity, entity.view, 0, 1); + }); + + arrangeEntities(getSortedEntities()); + fitWorld(true, 2); + } +} + scenes["Kurri"] = () => { availableEntities["characters"].filter(x => { const entity = x.constructor(); @@ -113,4 +142,4 @@ scenes["Neopuc"] = () => { fitWorld(true); } -scenes["Fidverse"] = makeOwnerScene("fidchell"); \ No newline at end of file +scenes["Fidverse"] = makeOwnerSceneViews("fidchell"); \ No newline at end of file