Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • PantyNabber/fc-pregmod
  • pregmodfan/fc-pregmod
  • Alice.Grant/fc-pregmod
  • powerfful/fc-pregmod
  • elstumpo/fc-pregmod
  • Y/fc-pregmod
  • floer/fc-pregmod
  • oidocrop/fc-pregmod
  • hawk5005/fc-pregmod
  • nn/fc-pregmod
  • latios298/fc-pregmod
  • brpregmodfan/fc-pregmod
  • SomeoneTookMyUserName/fc-pregmod
  • 000-250-006/fc-pregmod
  • rewrica/fc-pregmod
  • Stuffedgame/fc-pregmod
  • wisepants314/fc-pregmod
  • fcanon/fc-pregmod
  • randomanon1/pregmod-mod-cyberfurry
  • teddy.buckland/fc-pregmod
  • farsinian_591b7a2d8b49d/fc-pregmod
  • FCShotadev/fc-pregmod
  • uselessartifact/fc-pregmod
  • irina_90/fc-pregmod
  • thaumx/fc-pregmod
  • MouseOfLight/fc-pregmod
  • empresssela/fc-pregmod
  • MasterAaran/fc-pregmod
  • ishy/fc-pregmod
  • psychofox/fc-pregmod
  • shadomancer/fc-pregmod
  • tycrakgg/fc-pregmod
  • azktaawc/fc-pregmod
  • andonno07/fc-pregmod
  • Onithyr/fc-pregmod
  • redneck987.jl/fc-pregmod
  • Farseeker/fc-pregmod
  • milliarc/fc-pregmod
  • BeefimusMaximus/fc-pregmod
  • magicknight79/fc-pregmod
  • hexall90/fc-pregmod
  • cantworkforever/fc-pregmod
  • jc052005/fc-pregmod
  • klorpa/fc-pregmod
  • doku/fc-pregmod
  • samhradh/fc-pregmod
  • scientist/fc-pregmod
  • albania420/fc-pregmod
  • Editoranon/fc-pregmod
  • Anony/fc-pregmod
  • deimios666/fc-pregmod
  • IvoHoe/fc-pregmod
  • bitty/fc-pregmod
  • RealAnon1800/fc-pregmod
  • brankirk/fc-pregmod
  • Amygdalan/fc-pregmod
  • DankWolf/fc-pregmod
  • Supot1951/fc-pregmod
  • bcy603/fc-pregmod
  • pwfxjpuv/fc-pregmod
  • ThreadAnon/fc-pregmod
  • Anon1800/fc-pregmod
  • Echoart/fc-pregmod
  • Dingotush/fc-pregmod
  • anonman/fc-pregmod
  • Arkerthan/fc-pregmod
  • svornost/fc-pregmod
  • wierdwierdos/fc-pregmod
  • wetwareAnon/fc-pregmod
  • QuartzHat/fc-pregmod
  • IchthysdeKilt/fc-pregmod
  • AnonAnonFC/fc-pregmod
  • Alexsis/fc-pregmod
  • LoyalTreeWP/fc-pregmod
  • aerialace/fc-pregmod
  • NurseryAnon/fc-pregmod
  • drakeashordcataclysm/fc-pregmod
  • AshVaris/fc-pregmod
  • purely0nothing/fc-pregmod
  • alex2011/fc-pregmod
  • Lindontree/fc-pregmod
  • FCaa/fc-pregmod
  • TR-8R/fc-pregmod
  • Jones/fc-pregmod
  • brr99/fc-pregmod
  • WriteAnon101/fc-pregmod
  • Drosil/fc-pregmod
  • Bob1221/fc-pregmod
  • vas/fc-pregmod
  • gitgud.user.937/fc-pregmod
  • D-K/fc-pregmod
  • AnonDev/fc-pregmod
  • madman23456/fc-pregmod
  • InarusLynx/fc-pregmod
  • Sonofrevvan/fc-pregmod
  • Randoisrando/fc-pregmod
  • cheez94/fc-pregmod
  • dldldl/fc-pregmod
  • alice321/fc-pregmod
  • Alexei91/fc-pregmod
  • darkcy/fc-pregmod
  • MapleMAD/fc-pregmod
  • pillarofsalt/fc-pregmod
  • vultureangels/fc-pregmod
  • kernel/fc-pregmod
  • nooneman/fc-pregmod
  • deepmurk/fc-pregmod
  • uglybead/fc-pregmod
  • lemongrab/fc-pregmod
  • temperence-chan/fc-pregmod
  • hcommenter/fc-pregmod
  • SpedeMemerson/fc-pregmod
  • qwijqwsf/fc-pregmod
  • BuDClow/fc-pregmod
  • HiveBro/fc-pregmod
  • shoku/fc-pregmod
  • ezsh/fc-pregmod
  • Blank/fc-pregmod
  • randoralcissian/fc-pregmod
  • benito92/fc-pregmod
  • balakart/fc-pregmod
  • wedonotsaw/fc-pregmod
  • Cayleth/fc-pregmod
  • Khip/fc-pregmod
  • Zfair/fc-pregmod
  • promethium/fc-pregmod
  • scyne/fc-pregmod
  • ZZC/fc-pregmod
  • SilverJanine/fc-pregmod
  • joxosix654email-9.co/fc-pregmod
  • Littlefootlittleguy/fc-pregmod
  • FelipeBA/fc-pregmod
  • bigtiddygothbf/fc-pregmod
  • Qotsafan/fc-pregmod
  • Zachpocalypse/fc-pregmod
  • milkanon66/fc-pregmod
  • GreGGoZZ/fc-pregmod
  • drsnarf86/fc-pregmod
  • valen102938/fc-pregmod
  • pregspammer/fc-pregmod
  • ponderin94/fc-pregmod
  • nook/fc-pregmod
  • carnifex34/fc-pregmod-mod-carni
  • SyntheticHigh/fc-pregmod
  • bob112211/fc-pregmod
  • amomynous0/fc-pregmod
  • oxone/fc-pregmod
  • MaxEuwe/fc-pregmod
  • nekoanon/fc-pregmod
  • preglocke/fc-pregmod
  • valen10293847/fc-pregmod
  • 2hu4u/fc-pregmod
  • mayibrad/fc-pregmod
  • Screm/fc-pregmod
  • Ansopedi/fc-pregmod
  • mrchaosbones/fc-pregmod
  • putrid/fc-pregmod
  • Kinnerman/fc-pregmod
  • gungrave1155/fc-pregmod
  • prndev/fc-pregmod
  • weresmilodon/fc-pregmod
  • auxxigobin/fc-pregmod
  • alice-chan/fc-pregmod
  • wigglie/fc-pregmod
  • jrliltfgb/fc-pregmod
  • Lord.alek.shade/fc-pregmod
  • truetailthesquire/fc-pregmod
  • lowercasedonkey/fc-pregmod
  • alice-chan9/fc-pregmod
  • eroglyphics/fc-pregmod
  • taliyent/fc-pregmod
  • zenzombie90/fc-pregmod
  • kjarik/fc-pregmod
  • wriggler/fc-pregmod
  • midnightblue/fc-pregmod
  • faraen/fc-pregmod
  • sigurd.cole/fc-pregmod
  • FCbuganon/fc-pregmod
  • kidkinster/fc-pregmod
  • Kar_Dragon/fc-pregmod
  • Zhafier/fc-pregmod
  • crcaretti/fc-pregmod
  • anond/fc-pregmod
  • tempmania/fc-pregmod
  • Dhanze/fc-pregmod
  • EstaUnCachucha/fc-pregmod
  • oniAnon/fc-pregmod
  • plebian/fc-pregmod
  • maxd569/fc-pregmod
  • Levarn/fc-pregmod
  • pumpkinspice/fc-pregmod
  • GammaXai/fc-pregmod
  • DanBackslide/fc-pregmod
  • i107760/fc-pregmod
  • Absimiliard/fc-pregmod
  • AmbrosiaCheesecake/fc-pregmod
  • fuguer/fc-pregmod
  • Azurel/fc-pregmod
  • Fake_Dev/fc-pregmod
  • ddongsanda/fc-pregmod
  • Combine456/fc-pregmod
  • UnwrappedGodiva/fc-pregmod
  • toyRuberDucky/fc-pregmod
  • zmobie/fc-pregmod
  • chuongk/fc-pregmod
  • BigWalnuts/fc-pregmod
  • Birdstrike/fc-pregmod
  • r3d/fc-pregmod
  • mawspa/fc-pregmod
  • sushila/fc-pregmod
  • DeathShip/fc-pregmod
  • eggrollsandwich/fc-pregmod
  • krayken/fc-pregmod
  • Reman/fc-pregmod
  • dwiafgts/fc-pregmod
  • jort93/fc-pregmod
  • teruterubouzu/fc-pregmod
  • flut/fc-pregmod
  • john-normal/fc-pregmod
  • Jonathan2405/fc-pregmod
  • Tyrgalon/fc-pregmod
  • NovX/fc-pregmod
  • Star1/fc-pregmod
  • Transhumanist01/fc-pregmod
  • m1017242/fc-pregmod
  • Rizal98798/fc-pregmod
  • jamezu369/fc-pregmod
  • thisisawittyname/fc-pregmod
  • KnightBoulegard/fc-pregmod
  • jblack/fc-pregmod
  • Souldrainr/fc-pregmod
  • torbjornhub/fc-pregmod
  • turnop/fc-pregmod
  • breadedpigeon/fc-pregmod
  • fire.maker/fc-pregmod
  • Inahaze/fc-pregmod
  • Waerjak/fc-pregmod
  • Trashman1138/fc-pregmod
  • supanintendo/fc-pregmod
  • _no0neman/fc-pregmod
  • Weslo/fc-pregmod
  • qw89/fc-pregmod
  • EvilDruid/fc-pregmod
  • dt25/fc-pregmod
  • Raou/fc-pregmod
  • DDouFu/fc-pregmod
  • Mauno/fc-pregmod
  • PandemoniumPenguin/fc-pregmod
  • AngelPuppet/fc-pregmod
  • DasUser79/fc-pregmod
  • Keaeag3s/fc-pregmod
  • HazeHazeHaze/fc-pregmod
  • hpotato/fc-pregmod
  • owouchthatbloodyhurt/fc-pregmod
  • v7Silent/fc-pregmod
  • nickylass/fc-pregmod
  • ThePrimer/fc-pregmod
  • PineCone/fc-pregmod
  • bruhmomentum17/fc-pregmod
  • CheatDude/fc-pregmod
  • synnove/fc-pregmod
  • en_bees/fc-pregmod
  • seronis/fc-pregmod
  • Nepidinepnep/fc-pregmod
  • Titanninja/fc-pregmod
  • Elohiem/fc-pregmod
  • cocoajazz/fc-pregmod
  • tfwncagf/fc-pregmod
  • ChunkyMonke/fc-pregmod
  • Dracoman671/fc-pregmod
  • jgl/fc-pregmod
  • Inev/fc-pregmod
  • jbige/fc-pregmod
  • MonsterMate/fc-pregmod
  • Konstantin6961/fc-pregmod
  • darth_ashi/fc-pregmod
  • shinx/fc-pregmod
  • Anu/fc-pregmod
  • Greytide/fc-pregmod
  • Bonafidemetal/fc-pregmod
  • Peje/fc-pregmod
  • Hexfy98/fc-pregmod
  • TooSlow/fc-pregmod
  • SoGu/fc-pregmod
  • CloudyCoffee/fc-pregmod
  • Welptard/fc-pregmod
  • Ploc/fc-pregmod-ploc
  • rain-/fc-pregmod
  • Pecanus/fc-pregmod
  • Jhortrax/fc-pregmod
  • valleytwo/fc-pregmod
  • QCmd/fc-pregmod
  • kung-wada/fc-pregmod
  • LolGaye/fc-pregmod
  • Exspiravit1/fc-pregmod
  • jadeddog/fc-pregmod
  • buster-scruggs/fs-antebellum-revivalism
  • policia123/fc-pregmod
  • evrgentesee/fc-pregmod
  • rko127/fc-pregmod
  • ExcalGrip12/fc-pregmod
  • BlackAion/fc-pregmod
  • Boss2020/fc-pregmod
  • Lawled/fc-pregmod
  • shiro/fc-pregmod
  • Skavenkeri/fc-pregmod
  • PooPooDooDooHead/fc-pregmod
  • Dugee/fc-pregmod
  • Portal124/fc-pregmod-vore
  • Fekenol/fc-pregmod
  • elGuapo/fc-pregmod
  • KelioSteel/fc-pregmod
  • sldlddk/fc-pregmod
  • lumepanter/fc-pregmod
  • ryuhana/fc-pregmod
  • Nene1009yb/fc-pregmod
  • DontAskDontTell/fc-pregmod-extra-events
  • Dulgi/fc-pregmod
  • Jate/fc-pregmod
  • percy365/fc-pregmod
  • franklygeorge/fc-pregmod
  • Dragneel117/fc-pregmod
  • vl96/fc-pregmod
  • Gorlom/fc-economicmod
  • NotAlive/fc-pregmod
  • Heretek/fc-pregmod
  • joeshmo828282/fc-pregmod
  • deswes/fc-pregmod
  • Nanana21/fc-pregmod
  • Gbr6/fc-pregmod
  • RandomNecro/fc-pregmod
  • Trinidad/fc-pregmod
  • anonymousey/fc-pregmod
  • macaronideath/fc-pregmod
  • fcbleh/fc-pregmod
  • jk3000/fc-pregmod
  • Akane/fc-pregmod
  • TheBoi/fc-pregmod
  • Sheenariel/fc-pregmod
  • Metapod/multi-custom
  • Banyanael/fc-pregmod
  • frogge/fc-pregmod
  • idkkk12385/fc-pregmod
  • Mirarara/fc-pregmod
  • DeaDa/fc-pregmod-thedeal
  • CobraCommander/fc-pregmod
  • bicobus/fc-pregmod
  • CardcaptorRLH85/fc-pregmod
  • temp-ui-start/fc-pregmod
  • PresidentConvert/fc-pregmod
  • delizious/fc-pregmod
  • Ducati/fc-pregmod
  • DerangedLoner/fc-pregmod-development-fork
  • ProjectVictory/fc-pregmod
  • forecastle/fc-pregmod
  • Apathy/fc-pregmod
  • indf/fc-pregmod-dev
  • GavAndAlt/fc-pregmod
  • hagamablabla/fc-pregmod
  • Alaco/fc-pregmod
  • DCoded/fc-pregmod
  • LittlePlague/fc-pregmod
  • MissOnahole/fc-pregmod
  • ishy2317/fc-pregmod
  • nielkazama/fc-pregmod
  • Phobos/fc-pregmod
  • kraster/fc-pregmod
  • JasWS/fc-pregmod
  • FelixJS/fc-pregmod
  • NCherfaoui/fc-pregmod
  • MidnightMoose/fc-pregmod
  • jjjjjj/fc-pregmod
  • Cl0ver/fc-pregmod
  • Pythoniqus/fc-pregmod
  • JohnMolotov/fc-pregmod
  • anonymouspregmodder/fc-pregmod-anonymouspregmodder
  • Fanatey/fc-pregmod
  • Mizako/fc-pregmod
  • Nithhogg/fc-pregmod
  • Bluecoffee/fc-pregmod
380 results
Show changes
Commits on Source (101)
Showing
with 242 additions and 62 deletions
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
"esbenp.prettier-vscode", "esbenp.prettier-vscode",
"gruntfuggly.todo-tree", "gruntfuggly.todo-tree",
"wayou.vscode-todo-highlight", "wayou.vscode-todo-highlight",
"cyrusfirheir.twee3-language-tools" "cyrusfirheir.twee3-language-tools",
"gitlab.gitlab-workflow"
] ]
} }
\ No newline at end of file
...@@ -28,7 +28,7 @@ These tools are not required, but are suggested and will make working on FC easi ...@@ -28,7 +28,7 @@ These tools are not required, but are suggested and will make working on FC easi
4. Follow the install steps until you get to the `Welcome to FC development!...` menu and then select `Exit` 4. Follow the install steps until you get to the `Welcome to FC development!...` menu and then select `Exit`
5. Open the directory in your preferred editor/IDE 5. Open the directory in your preferred editor/IDE
**Make sure you have ESLint, TypeScript, and spell checking (preferably with cSpell compatiblity) support installed and enabled (if avaliable) in your preferred editor/IDE to catch formatting, type def, and spelling errors** **Make sure you have ESLint, TypeScript, and spell checking (preferably with cSpell compatibility) support installed and enabled (if available) in your preferred editor/IDE to catch formatting, type def, and spelling errors**
<details><summary>Recommended editor/IDE plugins/extensions</summary> <details><summary>Recommended editor/IDE plugins/extensions</summary>
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
"css": ["src/**/*.css"], "css": ["src/**/*.css"],
"twee": ["src/**/*.tw"], "twee": ["src/**/*.tw"],
"media": [ "media": [
"src/art/map",
"src/art/vector/layers/", "src/art/vector/layers/",
"src/art/vector_revamp/layers/" "src/art/vector_revamp/layers/"
] ]
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
"devTools/minify", "devTools/minify",
"devTools/tweeGo", "devTools/tweeGo",
"devTools/types/tippy", "devTools/types/tippy",
"js/001-lib/idb.js",
"js/003-data/arcologyNames.js", "js/003-data/arcologyNames.js",
"js/003-data/miscDataNames.js", "js/003-data/miscDataNames.js",
"js/003-data/poses.js", "js/003-data/poses.js",
...@@ -33,6 +34,7 @@ ...@@ -33,6 +34,7 @@
"src/npc/databases/dSlavesDatabase.js", "src/npc/databases/dSlavesDatabase.js",
"src/npc/databases/ddSlavesDatabase.js", "src/npc/databases/ddSlavesDatabase.js",
"src/npc/databases/cheatmodeDatabase.js", "src/npc/databases/cheatmodeDatabase.js",
"submodules",
"*.min.js", "*.min.js",
"*.json", "*.json",
"*.svg", "*.svg",
...@@ -221,6 +223,7 @@ ...@@ -221,6 +223,7 @@
"fanbase", "fanbase",
"façade", "façade",
"fcfa", "fcfa",
"fchost",
"fcnn", "fcnn",
"fctv", "fctv",
"felidae", "felidae",
...@@ -337,6 +340,7 @@ ...@@ -337,6 +340,7 @@
"preggos", "preggos",
"pregmod", "pregmod",
"prereqs", "prereqs",
"prising",
"progeria", "progeria",
"pudge", "pudge",
"qipao", "qipao",
...@@ -421,4 +425,4 @@ ...@@ -421,4 +425,4 @@
"xochiquetzal", "xochiquetzal",
"école" "école"
] ]
} }
\ No newline at end of file
:root { :root {
--background-default: #111;
--background-lighter: #1a1a1a;
--background-light: #222;
--background-highlight: #333;
--button-color: #252525; --button-color: #252525;
--button-border-color: #333333; --button-border-color: #333333;
--button-selected-color: #050505; --button-selected-color: #050505;
--button-hover-color: #414141; --button-hover-color: #414141;
--button-disabled-color: #1a1a1a; --button-disabled-color: var(--background-lighter);
--link-color: #68D; --link-color: #68D;
--link-hover-color: #8af; --link-hover-color: #8af;
--background-default: #111;
--background-light: #222;
} }
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
transition: opacity 300ms ease-in-out; transition: opacity 300ms ease-in-out;
} }
.spinner { .ai-spinner {
display: none; display: none;
position: absolute; position: absolute;
top: 50%; top: 50%;
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
object-fit: contain; object-fit: contain;
} }
.ai-art-container.refreshing .spinner { .ai-art-container.refreshing .ai-spinner {
display: block; display: block;
} }
...@@ -164,3 +164,44 @@ ...@@ -164,3 +164,44 @@
transform: translate(-50%, -50%) rotate(360deg); transform: translate(-50%, -50%) rotate(360deg);
} }
} }
.ai-queue-overlay {
position: fixed;
right: 0;
bottom: 0;
background-color: var(--background-lighter);
border-left: var(--button-border-color) 2px solid;
border-top: var(--button-border-color) 2px solid;
border-top-left-radius: 1em;
padding: 0.5em;
}
.ai-queue-overlay.hidden {
display: none;
}
.ai-queue-overlay .spinner {
display: inline-block;
width: 2.3em;
}
.ai-queue-overlay .spinner::after {
font-family: 'sc-icons';
content: "\f110";
position: absolute;
top: 50%;
left: 0.9em;
font-size: 25px;
animation: spin 3s linear infinite;
}
.ai-queue-overlay button {
font-family: 'sc-icons';
background-color: var(--button-color);
border: solid 2px var(--button-border-color);
}
.ai-queue-overlay button:hover {
background-color: var(--button-hover-color);
}
...@@ -131,7 +131,7 @@ ...@@ -131,7 +131,7 @@
/* generally between red and green, and a lot of other places */ /* generally between red and green, and a lot of other places */
.orange, .orange a, .stupid, .stupid a, .change.negative, .change.negative a, .defiant.careful, .defiant.careful a, .orange, .orange a, .stupid, .stupid a, .change.negative, .change.negative a, .defiant.careful, .defiant.careful a,
.ncs, .ncs a, .miscarriage, .miscarriage a, .hindrance.mid, .intro.question { .ncs, .ncs a, .miscarriage, .miscarriage a, .period, .period a, .hindrance.mid, .intro.question {
color: orange color: orange
} }
......
...@@ -38,14 +38,23 @@ button.accordion:hover:not(.empty) { ...@@ -38,14 +38,23 @@ button.accordion:hover:not(.empty) {
} }
/* open/close symbol */ /* open/close symbol */
button.accordion::before { button.accordion::before, h2.accordion::before {
font-family: "sc-icons"; font-family: "sc-icons";
content: "\f078";
}
button.accordion::before {
position: absolute; position: absolute;
left: 10px; left: 10px;
content: "\f078";
} }
button.accordion.closed::before { h2.accordion::before {
width: 1.3em;
display: inline-block;
padding-left: 0.2em;
}
button.accordion.closed::before, h2.accordion.closed::before {
content: "\f054"; content: "\f054";
} }
......
...@@ -122,6 +122,29 @@ div.options-group input.full-width { ...@@ -122,6 +122,29 @@ div.options-group input.full-width {
} }
} }
/* slider */
/* very static styling, won't work well on very small screens */
.slider-div {
display: flex;
gap: 1em;
}
.slider-div input[type="range"] {
width: 50%;
min-width: 12em;
}
.slider-div span {
width: 100%;
max-width: 8em;
align-self: center;
}
.slider-div span:first-child {
text-align: end;
}
/* other */ /* other */
.subHeading { .subHeading {
width: 85%; width: 85%;
......
.card { .card {
border: 2px solid #333333; border: 2px solid var(--button-border-color);
background-color: #1a1a1a; background-color: var(--background-lighter);
padding: 1em; padding: 1em;
margin-bottom: 1em; margin-bottom: 1em;
} }
...@@ -8,7 +8,8 @@ div.tab-bar button { ...@@ -8,7 +8,8 @@ div.tab-bar button {
float: left; float: left;
outline: none; outline: none;
cursor: pointer; cursor: pointer;
padding: 1ex 1ex; --base-padding: 1ex;
padding: var(--base-padding);
transition: 0.2s; transition: 0.2s;
font-size: large; font-size: large;
} }
...@@ -25,7 +26,7 @@ div.tab-bar button.card { ...@@ -25,7 +26,7 @@ div.tab-bar button.card {
} }
div.tab-bar button.card.active { div.tab-bar button.card.active {
background-color: #1a1a1a; background-color: var(--background-lighter);
} }
div.tab-bar button:hover { div.tab-bar button:hover {
...@@ -72,7 +73,7 @@ div.tab-bar a.active { ...@@ -72,7 +73,7 @@ div.tab-bar a.active {
.tab-content.card { .tab-content.card {
border-radius: 0 8px 8px 8px; border-radius: 0 8px 8px 8px;
background-color: #1a1a1a; background-color: var(--background-lighter);
border: 0; border: 0;
} }
......
...@@ -25,40 +25,42 @@ ...@@ -25,40 +25,42 @@
} }
.plus-button { button.plus-button {
background: rgba(0, 139, 0, 0.2); background: rgba(0, 139, 0, 0.2);
border-color: rgba(0, 139, 0, 0.3); border-color: rgba(0, 139, 0, 0.3);
} }
.minus-button { button.minus-button {
background: rgba(184, 0, 0, 0.2); background: rgba(184, 0, 0, 0.2);
border-color: rgba(184, 0, 0, 0.3); border-color: rgba(184, 0, 0, 0.3);
} }
.zero-button { button.zero-button {
background: rgba(0, 0, 255, 0.2); background: rgba(0, 0, 255, 0.2);
border-color: rgba(0, 0, 255, 0.3); border-color: rgba(0, 0, 255, 0.3);
} }
.set-button {
button.set-button {
background: rgba(255, 210, 0, 0.2); background: rgba(255, 210, 0, 0.2);
border-color: rgba(255, 210, 0, 0.3); border-color: rgba(255, 210, 0, 0.3);
} }
.plus-button:hover { button.plus-button:hover {
background: rgba(0, 139, 0, 0.4); background: rgba(0, 139, 0, 0.4);
border-color: rgba(0, 139, 0, 0.3); border-color: rgba(0, 139, 0, 0.3);
} }
.minus-button:hover { button.minus-button:hover {
background: rgba(184, 0, 0, 0.4); background: rgba(184, 0, 0, 0.4);
border-color: rgba(184, 0, 0, 0.3); border-color: rgba(184, 0, 0, 0.3);
} }
.zero-button:hover { button.zero-button:hover {
background: rgba(0, 0, 255, 0.4); background: rgba(0, 0, 255, 0.4);
border-color: rgba(0, 0, 255, 0.3); border-color: rgba(0, 0, 255, 0.3);
} }
.set-button:hover {
button.set-button:hover {
background: rgba(255, 210, 0, 0.4); background: rgba(255, 210, 0, 0.4);
border-color: rgba(255, 210, 0, 0.3); border-color: rgba(255, 210, 0, 0.3);
} }
...@@ -27,8 +27,8 @@ ...@@ -27,8 +27,8 @@
.rule-part { .rule-part {
display: inline-block; display: inline-block;
border-radius: 8px; border-radius: 8px;
border: 2px solid #333333; border: 2px solid var(--button-border-color);
background-color: #1a1a1a; background-color: var(--background-default);
padding: 4px; padding: 4px;
margin: 4px; margin: 4px;
} }
...@@ -50,8 +50,8 @@ ...@@ -50,8 +50,8 @@
.rule-drag-element { .rule-drag-element {
display: inline-block; display: inline-block;
background-image: repeating-linear-gradient(0, #1a1a1a, transparent 0.2em, transparent 0.2em, #1a1a1a 0.4em), background-image: repeating-linear-gradient(0, var(--background-lighter), transparent 0.2em, transparent 0.2em, var(--background-lighter) 0.4em),
repeating-linear-gradient(90deg, #1a1a1a, #777 0.2em, #777 0.2em, #1a1a1a 0.4em); repeating-linear-gradient(90deg, var(--background-lighter), #777 0.2em, #777 0.2em, var(--background-lighter) 0.4em);
width: 1.6em; width: 1.6em;
height: 2em; height: 2em;
vertical-align: middle; vertical-align: middle;
...@@ -132,10 +132,34 @@ ...@@ -132,10 +132,34 @@
content: "\f2ed"; content: "\f2ed";
} }
.condition-switch {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.condition-custom { .condition-custom {
width: 90%; width: 90%;
} }
.condition-assignment-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(11em, 1fr));
grid-column-gap: 0.5em;
}
.condition-assignment-grid span {
cursor: pointer;
}
.condition-row {
margin: 6px 0;
}
.condition-assignment {
margin-top: 1em;
margin-bottom: 1em;
}
/* Encyclopedia help entry */ /* Encyclopedia help entry */
.rule-help-table { .rule-help-table {
......
:where(.rajs-list-item) { .rajs-list-item {
display: inline-block; display: inline-block;
color: var(--link-color); color: var(--link-color);
margin-right: 1em; margin-right: 1em;
...@@ -31,26 +31,73 @@ ...@@ -31,26 +31,73 @@
margin: 0.25em; margin: 0.25em;
} }
.rajs .tab-content {
margin-top: -2px;
border: 2px solid var(--button-border-color);
background: var(--button-selected-color);
}
.rajs .tab-bar button {
position: relative;
z-index: 100;
transition: none;
}
.rajs .tab-bar .active {
border-bottom: none;
padding-bottom: calc(var(--base-padding) + 2px);
}
.rajs-box {
border: 2px solid var(--button-border-color);
background: var(--background-lighter);
padding: 0.5em;
margin-bottom: 1em;
}
.rajs-box h2 {
margin-top: 0;
}
.rajs-box h2.accordion {
margin-top: 0;
}
.rajs-box h2.accordion:hover {
text-decoration: underline;
}
.current-rule-name {
font-weight: bold;
font-size: 1.5em;
}
.rajs-rules { .rajs-rules {
display: grid; display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
gap: 0.5em; margin-top: 0.5em;
align-items: start; margin-bottom: 1em;
} }
.rajs-rules .rajs-list-item { .rajs-rules .rajs-list-item {
line-height: 1.5;
overflow-wrap: anywhere; overflow-wrap: anywhere;
margin: 0;
} }
.rajs-options { .rajs-rules .rajs-list-item.selected {
margin-top: 2em; color: lightgray;
} }
.rajs-section h1 { .rajs-rules .rajs-rules-inner {
border-bottom: 1px solid white; padding: 0 2px;
cursor: pointer; border: 1px solid #444;
margin: 2px;
display: inline-block;
width: stretch;
} }
.rajs-section h1:hover { .rajs-rules .rajs-rules-inner:hover {
text-decoration: underline; background-color: var(--background-highlight);
} }
...@@ -4,6 +4,7 @@ mcmonkeyprojects ...@@ -4,6 +4,7 @@ mcmonkeyprojects
orthodontal orthodontal
rgthree rgthree
SDXL SDXL
Svornost
swinir swinir
unapprovingly unapprovingly
uncircumcise uncircumcise
......
...@@ -170,6 +170,9 @@ declare namespace FC { ...@@ -170,6 +170,9 @@ declare namespace FC {
careerBonusNeeded?: HumanID[]; careerBonusNeeded?: HumanID[];
customLanguage?: string; customLanguage?: string;
/** track impreg actions made to slaves */
slaveIdsImpregnanted?: Set<number>
} }
export interface GameVariables extends DefaultGameStateVariables, ResetOnNGPVariables, export interface GameVariables extends DefaultGameStateVariables, ResetOnNGPVariables,
......
...@@ -92,8 +92,7 @@ App.PersonalAttention = {}; ...@@ -92,8 +92,7 @@ App.PersonalAttention = {};
/** /**
* The patching system that replaces the legacy BC. * The patching system that replaces the legacy BC.
* Its primary file and instructions are located at `/src/data/patches/patch.js`. * Its primary file and instructions are located at `/src/data/patches/patch.js`.
* @see App.Patch.Patches * See {@link App.Patch.Patches} and {@link App.Patch.applyAll}
* @see App.Patch.applyAll
*/ */
App.Patch = {}; App.Patch = {};
/** /**
...@@ -132,8 +131,7 @@ App.UI.View = {}; ...@@ -132,8 +131,7 @@ App.UI.View = {};
* While it is depreciated, it should not be removed or modifed as it is used as a patch in the new patching system. * While it is depreciated, it should not be removed or modifed as it is used as a patch in the new patching system.
* Its files are stored in `/src/data/backwardsCompatibility/`. * Its files are stored in `/src/data/backwardsCompatibility/`.
* @deprecated Replaced by `App.Patch.applyAll()`. * @deprecated Replaced by `App.Patch.applyAll()`.
* @see App.Patch * See {@link App.Patch} and {@link App.Patch.applyAll}
* @see App.Patch.applyAll
*/ */
App.Update = {}; App.Update = {};
App.Utils = {}; App.Utils = {};
...@@ -141,13 +139,13 @@ App.Utils.Math = {}; ...@@ -141,13 +139,13 @@ App.Utils.Math = {};
/** /**
* The validation system. This replaces the validation that was done in the legacy BC. * The validation system. This replaces the validation that was done in the legacy BC.
* Its primary file and instructions are located at `/src/data/verification/zVerify.js`. * Its primary file and instructions are located at `/src/data/verification/zVerify.js`.
* @see App.Verify.everything * See {@link App.Verify.everything}
*/ */
App.Verify = {}; App.Verify = {};
/** /**
* Storage for validation instructions. * Storage for validation instructions.
* These are functions that should be added to one or more instruction set(s) in `App.Verify.instructions`. * These are functions that should be added to one or more instruction set(s) in `App.Verify.instructions`.
* @see App.Verify.instructions * See {@link App.Verify.instructions}
*/ */
App.Verify.I = {}; App.Verify.I = {};
/** /**
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
...@@ -3,8 +3,7 @@ ...@@ -3,8 +3,7 @@
App.Data.defaultGameStateVariables = { App.Data.defaultGameStateVariables = {
/** /**
* This is used to hold data during passage transitions. * This is used to hold data during passage transitions.
* The contents of this object are reset near the end of `App.EndWeek.nextWeek()` right before autosaving happens * The contents of this object are reset near the end of {@link App.EndWeek.nextWeek}() right before autosaving happens
* @see App.EndWeek.nextWeek
* @type {FC.TransitionObject} * @type {FC.TransitionObject}
*/ */
temp: {}, temp: {},
...@@ -15,8 +14,7 @@ App.Data.defaultGameStateVariables = { ...@@ -15,8 +14,7 @@ App.Data.defaultGameStateVariables = {
/** /**
* Stores the traveled passages since the "Main" passage. * Stores the traveled passages since the "Main" passage.
* Gets reset by the main passage. * Gets reset by the main passage.
* @see lastPassage * See {@link lastPassage} and {@link App.Utils.passageHistoryCleanup}
* @see App.Utils.passageHistoryCleanup
* @type {string[]} * @type {string[]}
*/ */
passageHistory: [], passageHistory: [],
...@@ -27,7 +25,7 @@ App.Data.defaultGameStateVariables = { ...@@ -27,7 +25,7 @@ App.Data.defaultGameStateVariables = {
commitHash: "", commitHash: "",
/** /**
* @type {number} used for patching * @type {number} used for patching
* @see App.Patch.applyAll * See {@link App.Patch.applyAll}
*/ */
releaseID: 0, releaseID: 0,
...@@ -39,20 +37,17 @@ App.Data.defaultGameStateVariables = { ...@@ -39,20 +37,17 @@ App.Data.defaultGameStateVariables = {
/** /**
* @readonly * @readonly
* Each slave and the player gets a genepool record when they are created * Each slave and the player gets a genepool record when they are created
* The records stored here are missing default values! Use the `getGenePoolRecord()` function to retreive them * The records stored here are missing default values! Use the {@link getGenePoolRecord}() function to retrieve them
* Do not access this directly. Use `addToGenePool()` to add records * Do not access this directly. Use {@link addToGenePool}() to add records
* @see getGenePoolRecord
* @see addToGenePool
* @type {Readonly<{[key: string]: Readonly<Partial<FC.GenePoolRecord>>}>} * @type {Readonly<{[key: string]: Readonly<Partial<FC.GenePoolRecord>>}>}
*/ */
genePool: {}, genePool: {},
/** /**
* @readonly * @readonly
* @type {Readonly<FC.GenePoolRecord>} used by `getGenePoolRecord()` to fill in missing defaults * @type {Readonly<FC.GenePoolRecord>} used by {@link getGenePoolRecord}() to fill in missing defaults
* @see getGenePoolRecord * Also see {@link addToGenePool}
* @see addToGenePool
*/ */
genePoolDefaults: undefined, // new App.Entity.GenePoolRecord(); App.Entity.GenePoolRecord doesn't exist yet... genePoolDefaults: undefined,
/** @type {Record<FC.HumanID, FC.MissingParentRecord>} */ /** @type {Record<FC.HumanID, FC.MissingParentRecord>} */
missingTable: {}, missingTable: {},
detached: { detached: {
...@@ -285,6 +280,7 @@ App.Data.defaultGameStateVariables = { ...@@ -285,6 +280,7 @@ App.Data.defaultGameStateVariables = {
aiApiUrl: "http://localhost:7860", aiApiUrl: "http://localhost:7860",
aiAutoGen: true, aiAutoGen: true,
aiAutoGenFrequency: 10, aiAutoGenFrequency: 10,
aiQueueOverlay: 1,
aiUseRAForEvents: false, aiUseRAForEvents: false,
aiCfgScale: 5, aiCfgScale: 5,
aiTimeoutPerStep: 5, aiTimeoutPerStep: 5,
...@@ -421,6 +417,7 @@ App.Data.defaultGameStateVariables = { ...@@ -421,6 +417,7 @@ App.Data.defaultGameStateVariables = {
useSlaveListInPageJSNavigation: 0, useSlaveListInPageJSNavigation: 0,
useSlaveSummaryOverviewTab: 0, useSlaveSummaryOverviewTab: 0,
useSlaveSummaryTabs: 0, useSlaveSummaryTabs: 0,
useSlaveArcologyTab: 1,
useTabs: 0, useTabs: 0,
verboseDescriptions: 0, verboseDescriptions: 0,
verticalizeArcologyLinks: 0, verticalizeArcologyLinks: 0,
...@@ -525,6 +522,11 @@ App.Data.defaultGameStateVariables = { ...@@ -525,6 +522,11 @@ App.Data.defaultGameStateVariables = {
warned: false, warned: false,
} }
}, },
// Scenarios
scenarios: {
contraceptivesBan: 0,
}
}; };
// Corp data // Corp data
...@@ -655,7 +657,9 @@ App.Data.resetOnNGPlus = { ...@@ -655,7 +657,9 @@ App.Data.resetOnNGPlus = {
sexualOpenness: 0, sexualOpenness: 0,
bestialityOpenness: 0, bestialityOpenness: 0,
gumjobFetishism: 0, gumjobFetishism: 0,
gumjobFetishismSMR: 0 gumjobFetishismSMR: 0,
contraceptivesBan: 0
}, },
FCTV: { FCTV: {
...@@ -735,6 +739,7 @@ App.Data.resetOnNGPlus = { ...@@ -735,6 +739,7 @@ App.Data.resetOnNGPlus = {
econRate: 0, econRate: 0,
/** @type {FC.ArcologyState[]} */ /** @type {FC.ArcologyState[]} */
arcologies: [], arcologies: [],
/* These variables exist, so skill changes during the week will only influence prizes in the next week */
HackingSkillMultiplier: 0, HackingSkillMultiplier: 0,
upgradeMultiplierArcology: 0, upgradeMultiplierArcology: 0,
upgradeMultiplierMedicine: 0, upgradeMultiplierMedicine: 0,
...@@ -1111,6 +1116,7 @@ App.Data.resetOnNGPlus = { ...@@ -1111,6 +1116,7 @@ App.Data.resetOnNGPlus = {
smartVibes: 0, smartVibes: 0,
smartVaginalAttachments: 0, smartVaginalAttachments: 0,
smartStrapon: 0, smartStrapon: 0,
chastity: 1,
}, },
}, },
dairyPiping: 0, dairyPiping: 0,
...@@ -1130,6 +1136,8 @@ App.Data.resetOnNGPlus = { ...@@ -1130,6 +1136,8 @@ App.Data.resetOnNGPlus = {
bodyswapAnnounced: 0, bodyswapAnnounced: 0,
surnamesForbidden: 0, surnamesForbidden: 0,
menstruation: 0, menstruation: 0,
menstruationKnown: 0,
pregnancyKnown: 0,
FCNNstation: 0, FCNNstation: 0,
swanSong: 0, swanSong: 0,
failedElite: 0, failedElite: 0,
......
...@@ -637,6 +637,15 @@ App.Data.Policies.Selection = { ...@@ -637,6 +637,15 @@ App.Data.Policies.Selection = {
} }
} }
], ],
"policies.contraceptivesBan": [ // will change in the future with authority/favor rework
{
title: "Contraceptives Ban",
text: `will ban contraceptives from being sold.`,
activatedText: `contraceptives are no longer commercially available.`,
activatedNote: `Will greatly increase the prices of abortions and chastity devices. Try not to have any accidents!`, // This will be changed later once this is available outside the scenario start
hide: {button: 1, ifActivated: 0}, // Only appears under a specific scenario start
}
],
}, },
EducationPolicies: { EducationPolicies: {
"TSS.subsidize": [ "TSS.subsidize": [
......