diff --git a/media/attribution.js b/media/attribution.js index 7989a663..d829eb27 100644 --- a/media/attribution.js +++ b/media/attribution.js @@ -5535,6 +5535,19 @@ const attributionData = { "fidchell" ] }, + { + prefix: "./media/characters/frifna/", + files: [ + { name: "anthro.svg", source: "https://fidverse.fandom.com/wiki/Frifna" }, + { name: "feral.svg", source: "https://fidverse.fandom.com/wiki/Frifna" }, + ], + authors: [ + "fidchell" + ], + owners: [ + "fidchell" + ] + }, //characters { prefix: "./media/landmarks/", diff --git a/media/characters/frifna/anthro.svg b/media/characters/frifna/anthro.svg new file mode 100644 index 00000000..04d268d7 --- /dev/null +++ b/media/characters/frifna/anthro.svg @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/characters/frifna/feral.svg b/media/characters/frifna/feral.svg new file mode 100644 index 00000000..9eed402a --- /dev/null +++ b/media/characters/frifna/feral.svg @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/presets/characters.js b/presets/characters.js index 14b3924c..652232ce 100644 --- a/presets/characters.js +++ b/presets/characters.js @@ -13933,6 +13933,38 @@ characterMakers["Grottos"] = () => { ) }; +characterMakers["Frifna"] = () => { + return makeCharacter( + "Frifna", + "Fidchell", + { + anthro: { + height: math.unit(9 + 6/12, "feet"), + weight: math.unit(298, "lb"), + name: "Anthro", + image: { + source: "./media/characters/frifna/anthro.svg", + extra: 282/269 * (1 / (1 - 0.015)), + bottom: 0.015 + } + }, + feral: { + height: math.unit(16 + 2/12, "feet"), + weight: math.unit(624, "lb"), + name: "Feral", + image: { + source: "./media/characters/frifna/feral.svg" + } + }, + }, + [ + { + name: "Normal", + height: math.unit(9 + 6/12, "feet") + }, + ] + ) +}; //characters function makeCharacters() { diff --git a/presets/scenes.js b/presets/scenes.js index a595ebb8..50c8858a 100644 --- a/presets/scenes.js +++ b/presets/scenes.js @@ -78,15 +78,17 @@ function makeOwnerScene(owner) { } } -function makeOwnerSceneViews(owner) { +function makeOwnerSceneViews(owners) { 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; + owners.flatMap(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 => { @@ -143,7 +145,7 @@ scenes["Neopuc"] = () => { } scenes["Fidverse"] = () => { - makeOwnerSceneViews("fidchell")(); + makeOwnerSceneViews(["fidchell", "cam"])(); document.querySelector("#entity-" + (entityIndex-1)).dataset.x = 0.5; document.querySelector("#entity-" + (entityIndex-2)).dataset.x = 0.25; document.querySelector("#entity-" + (entityIndex-3)).dataset.x = 0.75;