From 64137687a203753513d9ab995437b33d8651c71b Mon Sep 17 00:00:00 2001 From: Tony Date: Sat, 18 Jan 2020 15:42:36 -0800 Subject: [PATCH 01/25] css top margin fixed --- public/index.css | 6 ++++- public/index.html | 35 ++++++++++++++++-------------- src/App.tsx | 27 +++++++++++------------ src/components/ChoiceButton.tsx | 4 ++-- src/components/GamePlayConsole.tsx | 2 +- 5 files changed, 40 insertions(+), 34 deletions(-) diff --git a/public/index.css b/public/index.css index a3d425f..855ffc1 100644 --- a/public/index.css +++ b/public/index.css @@ -78,7 +78,7 @@ body { border-image-width: 2; } -.nes-btn { +.btn { margin: 10px; padding: 3px 4px; } @@ -128,6 +128,10 @@ body { margin-right: 10px; } +.acceptance-letter { + border: 1px solid black; +} + .stat { display: block; height: 20px; diff --git a/public/index.html b/public/index.html index 820966b..da582d4 100644 --- a/public/index.html +++ b/public/index.html @@ -1,20 +1,23 @@ - - - - - UBC Simulator 2 - - - + + + + + UBC Simulator 2 - - - - -
- - - + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index d25ca3d..5f2d2dd 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,10 +1,10 @@ import React from "react"; -import {IEvent, IChoice} from "./events/core"; +import { IEvent, IChoice } from "./events/core"; import LandingEvent from "./events/LandingEvent"; import PickFacultyEvent from "./events/PickFacultyEvent"; import BoomerGregorEvent from "./events/BoomerGregorEvent"; -import {CuteGirlEvent} from "./events/CuteGirlEvent"; +import { CuteGirlEvent } from "./events/CuteGirlEvent"; import FratPartyEvent from "./events/FratPartyEvent"; import PlayerStats from "./trackers/PlayerStats"; @@ -15,7 +15,7 @@ import GamePlayConsole from "./components/GamePlayConsole"; import Choices from "./components/Choices"; // tslint:disable-next-line:no-empty-interface -export interface IProps {} +export interface IProps { } export interface IState { week: number; @@ -24,7 +24,7 @@ export interface IState { eventTracker: EventTracker; } -export default class App extends React.Component { +export default class App extends React.Component { private name: string; constructor(props: IProps) { @@ -75,19 +75,18 @@ export default class App extends React.Component { let currentEvent: IEvent = this.state.currentEvent; return (
-
+
- -

diff --git a/src/components/ChoiceButton.tsx b/src/components/ChoiceButton.tsx index bdd2ec7..356987f 100644 --- a/src/components/ChoiceButton.tsx +++ b/src/components/ChoiceButton.tsx @@ -1,6 +1,6 @@ import React from "react"; -import {IChoice} from "./../events/core"; +import { IChoice } from "./../events/core"; interface IProps { choice: IChoice; @@ -10,7 +10,7 @@ interface IProps { export default function ChoiceButton(props: IProps) { return (

- - Blank Faculty Logo + + Blank Faculty Logo - + {/* TODO: need to discuss how process should be defined */} {/* and make the progress bar meaningful. */} -
From 495983cee8ed619790b54e897e5b5c6eea7db872 Mon Sep 17 00:00:00 2001 From: Tony Date: Sat, 1 Feb 2020 15:45:16 -0800 Subject: [PATCH 04/25] Added new font based on nes css --- public/index.css | 31 ++++++++++++++++++++++++ public/kongtext.ttf | Bin 0 -> 10280 bytes src/components/choices/ChoiceButton.tsx | 2 +- 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 public/kongtext.ttf diff --git a/public/index.css b/public/index.css index 44de046..05eaaad 100644 --- a/public/index.css +++ b/public/index.css @@ -2,6 +2,22 @@ body { font-family: "VT323", monospace; background: #fff; } +/* +@font-face { + font-family: 'kongtext'; + src: url('kongtext.eot'); + src: url('kongtext.eot?#iefix') format('embedded-opentype'), + url('kongtext.woff') format('woff'), + url('kongtext.ttf') format('truetype'), + url('kongtext.svg#svgFontName') format('svg'); +} + +body { + font-size: 9px; + letter-spacing: 0em; + font-family: "kongtext"; + background: #fff; +} */ #root { height: 100%; @@ -115,6 +131,20 @@ body { user-select: none; } +.btn-animation { + color: #fff; + background-color: #000077; + box-shadow: 2px 3px #999; +} + +.btn-animation:hover {background-color: #000055} + +.btn-animation:active { + background-color: #000077; + box-shadow: 2px 2px #666; + transform: translateY(1px); +} + .web-work-blue { background-color: #000077; color: #fff; @@ -168,6 +198,7 @@ body { .acceptance-letter { border: 1px solid black; padding-top: 30px; + padding: 10px; } .stat { diff --git a/public/kongtext.ttf b/public/kongtext.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5e4d65fd1e059a159342d62f86c374da152df7f5 GIT binary patch literal 10280 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 props.makeChoice(props.choice)} > {props.choice.answer()} From 2720d15a6b798d7335c0bbe0444f979c4c59d16e Mon Sep 17 00:00:00 2001 From: Tony Date: Sat, 7 Mar 2020 11:39:41 -0800 Subject: [PATCH 05/25] resolved merge conflict --- src/App.tsx | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 4b88f13..1710e65 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,14 +1,6 @@ import React from "react"; import { IEvent, IChoice } from "./events/core"; -<<<<<<< HEAD -import LandingEvent from "./events/LandingEvent"; -import PickFacultyEvent from "./events/PickFacultyEvent"; -import BoomerGregorEvent from "./events/BoomerGregorEvent"; -import { CuteGirlEvent } from "./events/CuteGirlEvent"; -import FratPartyEvent from "./events/FratPartyEvent"; -======= ->>>>>>> master import PlayerStats from "./trackers/PlayerStats"; import EventTracker from "./trackers/EventTracker"; @@ -63,10 +55,10 @@ export default class App extends React.Component { makeChoice = (choice: IChoice) => { this.state.playerStats.applyStatChanges(choice.statChanges, choice.dlogo); - - if (choice.followUp !== ""){ - this.state.eventTracker.queueFollowUpEvent(this.eventManager.get(choice.followUp)); - } + + if (choice.followUp !== "") { + this.state.eventTracker.queueFollowUpEvent(this.eventManager.get(choice.followUp)); + } let nextEvent = this.state.eventTracker.getNextEvent(); @@ -90,22 +82,13 @@ export default class App extends React.Component { week={this.state.week} name={this.name} /> -<<<<<<< HEAD -
-
>>>>>> master >

From a6f45b194b9f99f3b31c2aead2277f16b35dfa8b Mon Sep 17 00:00:00 2001 From: Tony Date: Sat, 7 Mar 2020 15:35:09 -0800 Subject: [PATCH 06/25] styled border box --- public/index.css | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/public/index.css b/public/index.css index 05eaaad..78dfbed 100644 --- a/public/index.css +++ b/public/index.css @@ -36,7 +36,7 @@ body { #game-container { height: 667px; width: 350px; - background: white; + background: #FFFDC1;; padding: 30px; margin: 0; } @@ -84,9 +84,18 @@ body { } #bottom-menu { - border: 1px solid black; + border: 2px solid #e6e6e6; + background-color: #f6f6f6; + padding: 5px; + z-index: 1; + position: relative; +} + +.container-border { + background: white; + border: 3px solid #0B1164; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.33); - border-radius: 15px; + border-radius: 10px; padding: 5px; } @@ -197,6 +206,7 @@ body { .acceptance-letter { border: 1px solid black; + background: white; padding-top: 30px; padding: 10px; } From aec238e6f433f73404c43eaa26ea0d7c3fff2709 Mon Sep 17 00:00:00 2001 From: Tony Date: Sat, 14 Mar 2020 14:30:45 -0700 Subject: [PATCH 07/25] Change background to blank --- public/index.css | 1 - 1 file changed, 1 deletion(-) diff --git a/public/index.css b/public/index.css index 78dfbed..40fc81c 100644 --- a/public/index.css +++ b/public/index.css @@ -36,7 +36,6 @@ body { #game-container { height: 667px; width: 350px; - background: #FFFDC1;; padding: 30px; margin: 0; } From f075e8b5281eea0ef9e702a1f75975bfd6cf897a Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Tue, 17 Mar 2020 23:47:02 -0700 Subject: [PATCH 08/25] Update CSS + Font hopefully this doesn't cause any conflicts on android again --- public/index.css | 115 +++++++++++++++++----------------------------- public/index.html | 2 +- 2 files changed, 44 insertions(+), 73 deletions(-) diff --git a/public/index.css b/public/index.css index 9fc5b26..89322b1 100644 --- a/public/index.css +++ b/public/index.css @@ -1,23 +1,10 @@ -body { - font-family: "VT323", monospace; - background: #fff; -} -/* -@font-face { - font-family: 'kongtext'; - src: url('kongtext.eot'); - src: url('kongtext.eot?#iefix') format('embedded-opentype'), - url('kongtext.woff') format('woff'), - url('kongtext.ttf') format('truetype'), - url('kongtext.svg#svgFontName') format('svg'); -} - body { font-size: 9px; - letter-spacing: 0em; - font-family: "kongtext"; + letter-spacing: normal; + line-height: 1.6; + font-family: 'Press Start 2P', cursive; background: #fff; -} */ +} #root { height: 100%; @@ -90,14 +77,6 @@ body { position: relative; } -.container-border { - background: white; - border: 3px solid #0B1164; - box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.33); - border-radius: 10px; - padding: 5px; -} - #faculty-badge { height: 60px; width: 60px; @@ -110,52 +89,30 @@ body { } .nes-container { - border-width: 2px; -} - -.nes-container.is-rounded { - border-image-width: 2; + border: 3px solid #0B1164; + background: white; + border-width: 4px; + padding: 2px; } -.btn { - display: inline-block; - overflow-wrap: normal; +.nes-btn { + color: #fff; + background-color: rgb(36, 44, 163); margin-bottom: 10px; - font-weight: 400; - text-align: center; - white-space: normal; - vertical-align: middle; - -ms-touch-action: manipulation; - touch-action: manipulation; - background-image: none; - border: 1px solid transparent; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - border-radius: 5px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } -.btn-animation { - color: #fff; - background-color: #000077; - box-shadow: 2px 3px #999; +.nes-btn::after { + box-shadow: inset -4px -4px #0B1164; } -.btn-animation:hover {background-color: #000055} - -.btn-animation:active { - background-color: #000077; - box-shadow: 2px 2px #666; - transform: translateY(1px); +.nes-btn:hover { + color: #fff; + text-decoration: none; + background-color: rgb(34, 42, 153); } -.web-work-blue { - background-color: #000077; - color: #fff; +.nes-btn:hover::after { + box-shadow: inset -6px -6px #0B1164; } .row { @@ -227,20 +184,34 @@ body { width: 100% } -.greenIn{ - animation: greenIn 1s; +.greenIn { + animation: greenIn 1s; } -.redIn{ - animation: redIn 1s; +.redIn { + animation: redIn 1s; } -@keyframes greenIn{ - 0%{ color: green; font-size: 20px; } - 100%{ color: #000; font-size: 16px; } +@keyframes greenIn { + 0% { + color: green; + font-size: 20px; + } + + 100% { + color: #000; + font-size: 16px; + } } -@keyframes redIn{ - 0%{ color: red; font-size: 20px; } - 100%{ color: #000; font-size: 16px; } +@keyframes redIn { + 0% { + color: red; + font-size: 20px; + } + + 100% { + color: #000; + font-size: 16px; + } } \ No newline at end of file diff --git a/public/index.html b/public/index.html index da582d4..afa94af 100644 --- a/public/index.html +++ b/public/index.html @@ -12,7 +12,7 @@ - + From 0ed2a35d63c9b5b5b23a7e295a7ada39bce5c88e Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Tue, 17 Mar 2020 23:47:39 -0700 Subject: [PATCH 09/25] Added hasInnerFill attribute to the events So that we can hide the inner fill for some events --- src/App.tsx | 7 +- src/components/choices/ChoiceButton.tsx | 7 +- src/events.json | 115 ++++++++++++------------ src/events/core.ts | 1 + src/trackers/EventTracker.ts | 11 +-- 5 files changed, 74 insertions(+), 67 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 18e4fcf..fd7c636 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -117,6 +117,7 @@ export default class App extends React.Component { "imgPath": "", "choices": [], "hasBottomBoxBorder": false, + "hasInnerFill": false, "gamePlayMode": GamePlayMode.Minigame }; @@ -164,9 +165,9 @@ export default class App extends React.Component { />

-
+

{currentEvent.prompt}

@@ -178,7 +179,7 @@ export default class App extends React.Component {
-
+
); } } diff --git a/src/components/choices/ChoiceButton.tsx b/src/components/choices/ChoiceButton.tsx index 794cccf..f5bdd81 100644 --- a/src/components/choices/ChoiceButton.tsx +++ b/src/components/choices/ChoiceButton.tsx @@ -9,11 +9,12 @@ interface IProps { export default function ChoiceButton(props: IProps) { return ( - ); -} +} \ No newline at end of file diff --git a/src/events.json b/src/events.json index 66f102e..387495d 100644 --- a/src/events.json +++ b/src/events.json @@ -1,113 +1,112 @@ { - "BoomerGregorEvent": - { + "BoomerGregorEvent": { "prompt": "Dr. Gregor tells the class to start studying for CPSC 110 early!", "imgPath": "Gregor.png", "choices": [ "TrustNaturalRecursion", "OkBoomer" ], - "hasBottomBoxBorder" : false, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "Comics" }, - "CuteGirlEvent": - { + "CuteGirlEvent": { "prompt": "You see a cute girl in the Life Building, what do you do?", "imgPath": "abg_normal.png", "choices": [ "BuyTheTix", "ComplimentFilas" ], - "hasBottomBoxBorder" : false, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "Comics" }, - "CuteFilasEvent": - { + "CuteFilasEvent": { "prompt": "She takes out her AirPods.\n\"What did you say?\"", "imgPath": "abg_no_airpods.png", "choices": [ "RunAway", "ShowFilas" ], - "hasBottomBoxBorder" : false, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "Comics" }, - "CuteGirlTixEvent": - { + "CuteGirlTixEvent": { "prompt": "The cute girl from the Life Building asked if you got the VIP tickets for EDC. Did you?", "imgPath": "abg_sad.png", "choices": [ "OhYes", "Nope" ], - "hasBottomBoxBorder" : false, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "Comics" }, - "NoVIPTixEvent": - { + "NoVIPTixEvent": { "prompt": "The cute girl from the Life Building doesn't like you anymore because you're poor ):", "imgPath": "abg_sad.png", "choices": [ "StalkInstagram" ], - "hasBottomBoxBorder" : false, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "Comics" }, - "HasBoyfriendEvent": - { + "HasBoyfriendEvent": { "prompt": "The cute girl from the Life Building just posted a photo of her and her boyfriend at EDC.", "imgPath": "abg_boyfriend.png", "choices": [ "FiveverAlone" ], - "hasBottomBoxBorder" : false, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "Comics" }, - "FratPartyEvent": - { + "FratPartyEvent": { "prompt": "You have been asked to go to a toga party! Are you going to go?", "imgPath": "", "choices": [ "GrossFrats", "YayBedsheets" ], - "hasBottomBoxBorder" : false, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "Comics" - }, - "SquirrelEvent": - { - "prompt": "You have a lecture across campus but there are squirrels in the way!", - "imgPath": "", - "choices": [ - "UseWheels", - "SquirrelPictures" - ], - "hasBottomBoxBorder": false, - "gamePlayMode": "Comics" - }, - "MidtermEvent": - { - "prompt": "This midterm has an essay component ;_;", - "imgPath": "", - "choices": [ - "GiveUpMidterm", - "LoremIpsum" - ], - "hasBottomBoxBorder": false, - "gamePlayMode": "Comics" - }, - "LandingEvent": - { + }, + "SquirrelEvent": { + "prompt": "You have a lecture across campus but there are squirrels in the way!", + "imgPath": "", + "choices": [ + "UseWheels", + "SquirrelPictures" + ], + "hasBottomBoxBorder": true, + "hasInnerFill": true, + "gamePlayMode": "Comics" + }, + "MidtermEvent": { + "prompt": "This midterm has an essay component ;_;", + "imgPath": "", + "choices": [ + "GiveUpMidterm", + "LoremIpsum" + ], + "hasBottomBoxBorder": true, + "hasInnerFill": true, + "gamePlayMode": "Comics" + }, + "LandingEvent": { "prompt": "This is going to be the best 4 years of my life!", "imgPath": "", "choices": [ "Start" ], - "hasBottomBoxBorder" : true, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "AcceptanceLetter" }, - "PickFacultyEvent": - { + "PickFacultyEvent": { "prompt": "Choose your faculty!", "imgPath": "", "choices": [ @@ -119,15 +118,16 @@ "LFS", "Science" ], - "hasBottomBoxBorder" : false, + "hasBottomBoxBorder": false, + "hasInnerFill": false, "gamePlayMode": "Hide" }, - "NoMoreEventsEvent": - { + "NoMoreEventsEvent": { "prompt": "Oops! No more events!", "imgPath": "", "choices": [], - "hasBottomBoxBorder" : true, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "Hide" }, "PickResidenceEvent": { @@ -139,20 +139,23 @@ "OrchardCommons" ], "hasBottomBoxBorder": false, + "hasInnerFill": false, "gamePlayMode": "Hide" }, "WinEvent": { "prompt": "You win! You have survived!", "imgPath": "", "choices": [], - "hasBottomBoxBorder": false, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "GameOver" }, "LoseEvent": { "prompt": "Game over. You lose.", "imgPath": "", "choices": [], - "hasBottomBoxBorder": false, + "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": "GameOver" } -} +} \ No newline at end of file diff --git a/src/events/core.ts b/src/events/core.ts index 8d2b13d..6679c02 100644 --- a/src/events/core.ts +++ b/src/events/core.ts @@ -11,6 +11,7 @@ export interface IEvent { choices: string[]; gamePlayMode: string; hasBottomBoxBorder: boolean; + hasInnerFill: boolean; } export interface IChoice { diff --git a/src/trackers/EventTracker.ts b/src/trackers/EventTracker.ts index 29acd38..a93709e 100644 --- a/src/trackers/EventTracker.ts +++ b/src/trackers/EventTracker.ts @@ -16,12 +16,12 @@ export default class EventTracker { public removeMobiles(cm: ChoicesManager) { this.pool = this.pool.filter(evt => - evt.choices.map(cm.get.bind(cm)) - .every(c => c.minigame === "")); + evt.choices.map(cm.get.bind(cm)) + .every(c => c.minigame === "")); for (let i = 0; i < this.seasonal.length; ++i) { this.seasonal[i] = this.seasonal[i].filter(evt => - evt.choices.map(cm.get.bind(cm)) - .every(c => c.minigame === "")); + evt.choices.map(cm.get.bind(cm)) + .every(c => c.minigame === "")); } } @@ -35,7 +35,7 @@ export default class EventTracker { // 0 to 11 const month = (Math.floor(week / 4) + 8) % 12; if (this.pool.length > 0 && - (r > this.SEASONAL_CHANCE || this.seasonal[month].length === 0)) { + (r > this.SEASONAL_CHANCE || this.seasonal[month].length === 0)) { // If we roll a normal pool or if there are no seasonal events then // use the normal pool (given that there are still things in the // normal pool) @@ -55,6 +55,7 @@ export default class EventTracker { "imgPath": "", "choices": [], "hasBottomBoxBorder": true, + "hasInnerFill": true, "gamePlayMode": GamePlayMode.Hide }; } From f41db1ce75c5e23eba1e95534bb23fc74d24f44d Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Tue, 17 Mar 2020 23:54:26 -0700 Subject: [PATCH 10/25] Update animation css tightened it up a little --- public/index.css | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/public/index.css b/public/index.css index 89322b1..3339974 100644 --- a/public/index.css +++ b/public/index.css @@ -185,33 +185,43 @@ body { } .greenIn { - animation: greenIn 1s; + animation: greenIn 0.5s; } .redIn { - animation: redIn 1s; + animation: redIn 0.5s; } @keyframes greenIn { 0% { color: green; - font-size: 20px; + font-size: 10px; + } + + 85% { + color: green; + font-size: 9px; } 100% { color: #000; - font-size: 16px; + font-size: 9px; } } @keyframes redIn { 0% { color: red; - font-size: 20px; + font-size: 10px; + } + + 85% { + color: red; + font-size: 9px; } 100% { color: #000; - font-size: 16px; + font-size: 9px; } } \ No newline at end of file From bb600b7ee9d8222c31740f4aa2e0d30dd753cc54 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Wed, 18 Mar 2020 00:06:32 -0700 Subject: [PATCH 11/25] Changed the font size --- public/index.css | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/public/index.css b/public/index.css index 3339974..5825c9b 100644 --- a/public/index.css +++ b/public/index.css @@ -1,5 +1,5 @@ body { - font-size: 9px; + font-size: 8px; letter-spacing: normal; line-height: 1.6; font-family: 'Press Start 2P', cursive; @@ -185,43 +185,53 @@ body { } .greenIn { - animation: greenIn 0.5s; + animation: greenIn 0.4s; } .redIn { - animation: redIn 0.5s; + animation: redIn 0.4s; } @keyframes greenIn { 0% { - color: green; + color: #94CB4B; font-size: 10px; } + 20% { + color: #94CB4B; + font-size: 8px; + } + 85% { - color: green; - font-size: 9px; + color: #94CB4B; + font-size: 8px; } 100% { color: #000; - font-size: 9px; + font-size: 8px; } } @keyframes redIn { 0% { - color: red; + color: #ce372b; font-size: 10px; } + 20% { + color: #ce372b; + font-size: 8px; + } + 85% { - color: red; - font-size: 9px; + color: #ce372b; + font-size: 8px; } 100% { color: #000; - font-size: 9px; + font-size: 8px; } } \ No newline at end of file From 416cf177271087419ceaa05b7117187efbb6809e Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Wed, 18 Mar 2020 00:11:53 -0700 Subject: [PATCH 12/25] update button css --- public/index.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/index.css b/public/index.css index 5825c9b..d35ccf6 100644 --- a/public/index.css +++ b/public/index.css @@ -115,6 +115,10 @@ body { box-shadow: inset -6px -6px #0B1164; } +.nes-btn:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px #0B1164; +} + .row { display: block; } From 30be035b1b70f6febdcd35bf14caa57093701551 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Wed, 18 Mar 2020 00:19:05 -0700 Subject: [PATCH 13/25] container css update --- public/index.css | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/public/index.css b/public/index.css index d35ccf6..ca2edf3 100644 --- a/public/index.css +++ b/public/index.css @@ -89,10 +89,11 @@ body { } .nes-container { - border: 3px solid #0B1164; + border: 1px solid black; background: white; - border-width: 4px; - padding: 2px; + border-width: 2px; + padding: 4px; + background-color: #0B1164; } .nes-btn { From db56cbc1ea85d0ef21a91b51e2b9e14e4fbe0449 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Wed, 18 Mar 2020 00:20:15 -0700 Subject: [PATCH 14/25] Update index.css --- public/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/index.css b/public/index.css index ca2edf3..b9d5bce 100644 --- a/public/index.css +++ b/public/index.css @@ -70,7 +70,7 @@ body { } #bottom-menu { - border: 2px solid #e6e6e6; + border: 4px solid #e6e6e6; background-color: #f6f6f6; padding: 5px; z-index: 1; From cf6a71e9410b0ace7b57c162b4b9b15da712d8b9 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Sat, 21 Mar 2020 00:09:19 -0700 Subject: [PATCH 15/25] Screen scaling --- public/index.css | 26 ++++++++++++++++++++++++-- src/App.tsx | 23 +++++++++++++++++++++-- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/public/index.css b/public/index.css index b9d5bce..c86efdc 100644 --- a/public/index.css +++ b/public/index.css @@ -6,6 +6,10 @@ body { background: #fff; } +p { + color: #000 !important; +} + #root { height: 100%; } @@ -28,8 +32,8 @@ body { } #player-stat-box { - margin-top: 35px; - height: 85px; + margin-top: 30px; + height: 90px; } #gameplay-container { @@ -96,6 +100,12 @@ body { background-color: #0B1164; } +.nes-container.has-box-shadow { + -webkit-box-shadow: 11px 11px 14px -8px rgba(128, 128, 128, 1); + -moz-box-shadow: 11px 11px 14px -8px rgba(128, 128, 128, 1); + box-shadow: 11px 11px 14px -8px rgba(128, 128, 128, 1); +} + .nes-btn { color: #fff; background-color: rgb(36, 44, 163); @@ -120,6 +130,10 @@ body { box-shadow: inset 4px 4px #0B1164; } +.is-gold { + background-color: rgb(228, 203, 153); +} + .row { display: block; } @@ -165,6 +179,14 @@ body { margin-right: 10px; } +.padding-top-7 { + padding-top: 7px; +} + +.this-margin-bottom-5 { + margin-bottom: 5px; +} + .acceptance-letter { border: 1px solid black; background: white; diff --git a/src/App.tsx b/src/App.tsx index fd7c636..5bc29d8 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -149,9 +149,28 @@ export default class App extends React.Component { render() { let currentEvent: IEvent = this.state.currentEvent; + + // some screen resizing things... + const height = 667; + const width = 350; + let scale = (Math.min( + window.innerHeight / height, + window.innerWidth / width + )); + scale = Math.floor(scale) >= 1 ? Math.floor(scale) : 1; + + let topMargin = (window.innerHeight - 667) / 2; + topMargin = topMargin > 0 ? topMargin : 0; + + var style = { + marginTop: topMargin + 'px', + transform: 'scale(' + scale + ')', + }; + + return ( -
-
+
+
Date: Sat, 21 Mar 2020 00:09:24 -0700 Subject: [PATCH 16/25] Delete kongtext.ttf --- public/kongtext.ttf | Bin 10280 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 public/kongtext.ttf diff --git a/public/kongtext.ttf b/public/kongtext.ttf deleted file mode 100644 index 5e4d65fd1e059a159342d62f86c374da152df7f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10280 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 Date: Sat, 21 Mar 2020 00:09:46 -0700 Subject: [PATCH 17/25] Bunch of other small tweaks to style --- src/components/hud/Hud.tsx | 2 +- src/components/hud/NameIndicator.tsx | 2 +- src/components/hud/TimeIndicator.tsx | 2 +- src/components/hud/scores/Scores.tsx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/hud/Hud.tsx b/src/components/hud/Hud.tsx index db0f866..47a6da5 100644 --- a/src/components/hud/Hud.tsx +++ b/src/components/hud/Hud.tsx @@ -22,7 +22,7 @@ export default function Hud(props: IProps) {
- Blank Faculty Logo + Blank Faculty Logo diff --git a/src/components/hud/NameIndicator.tsx b/src/components/hud/NameIndicator.tsx index 3df8707..a3d5e87 100644 --- a/src/components/hud/NameIndicator.tsx +++ b/src/components/hud/NameIndicator.tsx @@ -5,5 +5,5 @@ interface IProps { } export default function NameIndicator(props: IProps) { - return Name: {props.name}; + return Name: {props.name}; } diff --git a/src/components/hud/TimeIndicator.tsx b/src/components/hud/TimeIndicator.tsx index d5a1991..ed62eea 100644 --- a/src/components/hud/TimeIndicator.tsx +++ b/src/components/hud/TimeIndicator.tsx @@ -5,5 +5,5 @@ interface IProps { } export default function TimeIndicator(props: IProps) { - return Week: {props.week}; + return Week: {props.week}; } \ No newline at end of file diff --git a/src/components/hud/scores/Scores.tsx b/src/components/hud/scores/Scores.tsx index 233938a..b8bcef2 100644 --- a/src/components/hud/scores/Scores.tsx +++ b/src/components/hud/scores/Scores.tsx @@ -15,7 +15,7 @@ export default function Scores(props: IProps) { let scoreChangedAnimation: string[] = playerStats.getScoreAnimation(); return ( -
+
Date: Sat, 21 Mar 2020 00:22:40 -0700 Subject: [PATCH 18/25] change from gold to ubc light blue --- public/index.css | 7 ++++--- src/App.tsx | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/public/index.css b/public/index.css index c86efdc..609e89d 100644 --- a/public/index.css +++ b/public/index.css @@ -29,6 +29,7 @@ p { width: 350px; padding: 30px; margin: 0; + border: 3px solid #002145; } #player-stat-box { @@ -93,7 +94,7 @@ p { } .nes-container { - border: 1px solid black; + border: 3px solid black; background: white; border-width: 2px; padding: 4px; @@ -130,8 +131,8 @@ p { box-shadow: inset 4px 4px #0B1164; } -.is-gold { - background-color: rgb(228, 203, 153); +.is-ubc-alt-blue { + background-color: #97D4E9; } .row { diff --git a/src/App.tsx b/src/App.tsx index 5bc29d8..f455155 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -170,7 +170,7 @@ export default class App extends React.Component { return (
-
+
Date: Sat, 21 Mar 2020 11:22:43 -0700 Subject: [PATCH 19/25] fixed linting error --- src/App.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index f455155..f9ddfd2 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -163,8 +163,8 @@ export default class App extends React.Component { topMargin = topMargin > 0 ? topMargin : 0; var style = { - marginTop: topMargin + 'px', - transform: 'scale(' + scale + ')', + marginTop: topMargin + "px", + transform: "scale(" + scale + ")", }; From 7d6460957d50801135c5c2b20b30bc85d9cace1f Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Sat, 21 Mar 2020 11:36:20 -0700 Subject: [PATCH 20/25] Added instructions to the game --- .../gamePlayConsole/GamePlayConsole.tsx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/components/gamePlayConsole/GamePlayConsole.tsx b/src/components/gamePlayConsole/GamePlayConsole.tsx index 219b42a..f2cdb2b 100644 --- a/src/components/gamePlayConsole/GamePlayConsole.tsx +++ b/src/components/gamePlayConsole/GamePlayConsole.tsx @@ -15,11 +15,12 @@ const generateAcceptanceLetter = () => { return (
-

Dear, Enter Name -

-

Congratulations!
Please accept this offer of admission to UBC.

+

Dear, Enter Name

+

Congratulations!
+ Please accept this offer of admission to UBC.


+

Survive the school year by balancing your social life, grades, and sleep!

); }; @@ -53,7 +54,7 @@ const generateMiniGame = (minigame: IMinigame, finishMinigame: Function) => { return (
@@ -61,16 +62,13 @@ const generateMiniGame = (minigame: IMinigame, finishMinigame: Function) => { }; const generateConsole = (props: IProps) => { - if (props.mode === GamePlayMode.AcceptanceLetter) - { + if (props.mode === GamePlayMode.AcceptanceLetter) { return generateAcceptanceLetter(); } - else if (props.mode === GamePlayMode.Minigame) - { + else if (props.mode === GamePlayMode.Minigame) { return generateMiniGame(props.minigame, props.finishMinigame); } - else - { + else { return generateComic(props.imgPath); } }; From c45e6bcbbd561ae359254d4283af677aec491add Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Sat, 21 Mar 2020 11:37:49 -0700 Subject: [PATCH 21/25] Change toga event prompt since it fs up the button style --- src/events.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/events.json b/src/events.json index 387495d..7beb710 100644 --- a/src/events.json +++ b/src/events.json @@ -64,7 +64,7 @@ "gamePlayMode": "Comics" }, "FratPartyEvent": { - "prompt": "You have been asked to go to a toga party! Are you going to go?", + "prompt": "You are invited to a toga party! Are you going to go?", "imgPath": "", "choices": [ "GrossFrats", From 4ea06db41d7d5af1510d4e081b0638b1b22ada37 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Sat, 21 Mar 2020 17:32:50 -0700 Subject: [PATCH 22/25] Change the font back to the old one because I am indecisisve I think the font is a bit more readable on web and mobile --- public/index.css | 27 +++++++++++++-------------- public/index.html | 2 +- src/App.tsx | 1 - src/components/hud/scores/Scores.tsx | 2 +- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/public/index.css b/public/index.css index 609e89d..8c47c1f 100644 --- a/public/index.css +++ b/public/index.css @@ -1,9 +1,6 @@ body { - font-size: 8px; - letter-spacing: normal; - line-height: 1.6; - font-family: 'Press Start 2P', cursive; - background: #fff; + font-size: 16px; + font-family: 'VT323', monospace; } p { @@ -27,7 +24,7 @@ p { #game-container { height: 667px; width: 350px; - padding: 30px; + padding: 15px 30px; margin: 0; border: 3px solid #002145; } @@ -110,6 +107,7 @@ p { .nes-btn { color: #fff; background-color: rgb(36, 44, 163); + padding: 0px 4px; margin-bottom: 10px; } @@ -189,6 +187,7 @@ p { } .acceptance-letter { + height: auto !important; border: 1px solid black; background: white; padding-top: 30px; @@ -223,43 +222,43 @@ p { @keyframes greenIn { 0% { color: #94CB4B; - font-size: 10px; + font-size: 20px; } 20% { color: #94CB4B; - font-size: 8px; + font-size: 16px; } 85% { color: #94CB4B; - font-size: 8px; + font-size: 16px; } 100% { color: #000; - font-size: 8px; + font-size: 16px; } } @keyframes redIn { 0% { color: #ce372b; - font-size: 10px; + font-size: 20px; } 20% { color: #ce372b; - font-size: 8px; + font-size: 16px; } 85% { color: #ce372b; - font-size: 8px; + font-size: 16px; } 100% { color: #000; - font-size: 8px; + font-size: 16px; } } \ No newline at end of file diff --git a/public/index.html b/public/index.html index afa94af..da582d4 100644 --- a/public/index.html +++ b/public/index.html @@ -12,7 +12,7 @@ - + diff --git a/src/App.tsx b/src/App.tsx index f85b967..67fcdea 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -167,7 +167,6 @@ export default class App extends React.Component { transform: "scale(" + scale + ")", }; - return (
diff --git a/src/components/hud/scores/Scores.tsx b/src/components/hud/scores/Scores.tsx index b8bcef2..233938a 100644 --- a/src/components/hud/scores/Scores.tsx +++ b/src/components/hud/scores/Scores.tsx @@ -15,7 +15,7 @@ export default function Scores(props: IProps) { let scoreChangedAnimation: string[] = playerStats.getScoreAnimation(); return ( -
+
Date: Sun, 22 Mar 2020 00:01:28 -0700 Subject: [PATCH 23/25] committing the background images --- public/colourway1.png | Bin 0 -> 26024 bytes public/colourway2.png | Bin 0 -> 33710 bytes public/colourway3.png | Bin 0 -> 25451 bytes public/index.css | 5 ++++- 4 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 public/colourway1.png create mode 100644 public/colourway2.png create mode 100644 public/colourway3.png diff --git a/public/colourway1.png b/public/colourway1.png new file mode 100644 index 0000000000000000000000000000000000000000..99bc5a30ca8f2243eb2c28a4d9a9e4c4c9432c38 GIT binary patch literal 26024 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 J;)7>?`d`i5(2W29 literal 0 HcmV?d00001 diff --git a/public/colourway2.png b/public/colourway2.png new file mode 100644 index 0000000000000000000000000000000000000000..a4cd00ac41b60bfac064403ae89a2cb936918e51 GIT binary patch literal 33710 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 TYzaB~pna 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 literal 0 HcmV?d00001 diff --git a/public/colourway3.png b/public/colourway3.png new file mode 100644 index 0000000000000000000000000000000000000000..89f67ba481cb0600d019dccb9cee64849f02c82e GIT binary patch literal 25451 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 Mr>mdKI;Vst0C>Yt_y7O^ literal 0 HcmV?d00001 diff --git a/public/index.css b/public/index.css index 8c47c1f..7266031 100644 --- a/public/index.css +++ b/public/index.css @@ -1,6 +1,9 @@ body { font-size: 16px; font-family: 'VT323', monospace; + background-image: url(colourway1.png); + /* background-image: url(colourway2.png); */ + /* background-image: url(colourway3.png); */ } p { @@ -130,7 +133,7 @@ p { } .is-ubc-alt-blue { - background-color: #97D4E9; + background-color: #ffe587; } .row { From d389e1d7799ce159c4637d2db5cb37425f7b205e Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Sat, 28 Mar 2020 02:15:15 -0700 Subject: [PATCH 24/25] added button colours - passing in style through json - added styles in css --- public/index.css | 259 ++++++++++++++++- src/choices.json | 357 ++++++++++++------------ src/components/choices/ChoiceButton.tsx | 2 +- src/events/core.ts | 1 + 4 files changed, 436 insertions(+), 183 deletions(-) diff --git a/public/index.css b/public/index.css index 7266031..b8a0e43 100644 --- a/public/index.css +++ b/public/index.css @@ -107,29 +107,278 @@ p { box-shadow: 11px 11px 14px -8px rgba(128, 128, 128, 1); } +/* Main */ +:root { + --btn-main-colour: #242CA3; + --btn-shadow-colour: #0B1164; + --btn-hover-colour: #222a99; + + --btn-arts-main-colour: #674d94; + --btn-arts-shadow-colour: #522E91; + --btn-arts-hover-colour: #62419c; + + --btn-apsc-main-colour: #c42135; + --btn-apsc-shadow-colour: #B20E22; + --btn-apsc-hover-colour: #b81f32; + + --btn-comm-main-colour: #a3a3a3; + --btn-comm-shadow-colour: #8D8D8D; + --btn-comm-hover-colour: #9c9c9c; + + --btn-fore-main-colour: #315e00; + --btn-fore-shadow-colour: #162A00; + --btn-fore-hover-colour: #2a4f01; + + --btn-kin-main-colour: #2d912d; + --btn-kin-shadow-colour: #1e7d1e; + --btn-kin-hover-colour: #228B22; + + --btn-lfs-main-colour: #2e2e2e; + --btn-lfs-shadow-colour: #1f1f1f; + --btn-lfs-hover-colour: #242424; + + --btn-scie-main-colour: #3498DB; + --btn-scie-shadow-colour: #2a7eb8; + --btn-scie-hover-colour: #3091d1; + + --btn-vanier-main-colour: #4287F5; + --btn-vanier-shadow-colour: #326bc7; + --btn-vanier-hover-colour: #3f81eb; + + --btn-totem-main-colour: #F26E40; + --btn-totem-shadow-colour: #d95223; + --btn-totem-hover-colour: #eb6536; + + --btn-orchard-main-colour: #FFCC00; + --btn-orchard-shadow-colour: #e0b400; + --btn-orchard-hover-colour: #fac902; +} + .nes-btn { color: #fff; - background-color: rgb(36, 44, 163); + background-color: var(--btn-main-colour); padding: 0px 4px; margin-bottom: 10px; } +.nes-btn.arts { + background-color: var(--btn-arts-main-colour); +} + +.nes-btn.apsc { + background-color: var(--btn-apsc-main-colour); +} + +.nes-btn.comm { + background-color: var(--btn-comm-main-colour); +} + +.nes-btn.fore { + background-color: var(--btn-fore-main-colour); +} + +.nes-btn.kin { + background-color: var(--btn-kin-main-colour); +} + +.nes-btn.lfs { + background-color: var(--btn-lfs-main-colour); +} + +.nes-btn.scie { + background-color: var(--btn-scie-main-colour); +} + +.nes-btn.totem { + background-color: var(--btn-totem-main-colour); +} + +.nes-btn.vanier { + background-color: var(--btn-vanier-main-colour); +} + +.nes-btn.orchard { + color: #000; + background-color: var(--btn-orchard-main-colour); +} + .nes-btn::after { - box-shadow: inset -4px -4px #0B1164; + box-shadow: inset -4px -4px var(--btn-shadow-colour); +} + +.nes-btn.arts::after { + box-shadow: inset -4px -4px var(--btn-arts-shadow-colour); +} + +.nes-btn.apsc::after { + box-shadow: inset -4px -4px var(--btn-apsc-shadow-colour); +} + +.nes-btn.comm::after { + box-shadow: inset -4px -4px var(--btn-comm-shadow-colour); +} + +.nes-btn.fore::after { + box-shadow: inset -4px -4px var(--btn-fore-shadow-colour); +} + +.nes-btn.kin::after { + box-shadow: inset -4px -4px var(--btn-kin-shadow-colour); +} + +.nes-btn.lfs::after { + box-shadow: inset -4px -4px var(--btn-lfs-shadow-colour); +} + +.nes-btn.scie::after { + box-shadow: inset -4px -4px var(--btn-scie-shadow-colour); +} + +.nes-btn.totem::after { + box-shadow: inset -4px -4px var(--btn-totem-shadow-colour); +} + +.nes-btn.vanier::after { + box-shadow: inset -4px -4px var(--btn-vanier-shadow-colour); +} + +.nes-btn.orchard::after { + box-shadow: inset -4px -4px var(--btn-orchard-shadow-colour); } .nes-btn:hover { color: #fff; text-decoration: none; - background-color: rgb(34, 42, 153); + background-color: var(--btn-hover-colour); +} + +.nes-btn.arts:hover { + background-color: var(--btn-arts-hover-colour); +} + +.nes-btn.apsc:hover { + background-color: var(--btn-apsc-hover-colour); +} + +.nes-btn.comm:hover { + background-color: var(--btn-comm-hover-colour); +} + +.nes-btn.fore:hover { + background-color: var(--btn-fore-hover-colour); +} + +.nes-btn.kin:hover { + background-color: var(--btn-kin-hover-colour); +} + +.nes-btn.lfs:hover { + background-color: var(--btn-lfs-hover-colour); +} + +.nes-btn.scie:hover { + background-color: var(--btn-scie-hover-colour); +} + +.nes-btn.totem:hover { + background-color: var(--btn-totem-hover-colour); +} + +.nes-btn.vanier:hover { + background-color: var(--btn-vanier-hover-colour); +} + +.nes-btn.orchard:hover { + color: #000; + background-color: var(--btn-orchard-hover-colour); } .nes-btn:hover::after { - box-shadow: inset -6px -6px #0B1164; + box-shadow: inset -5px -5px var(--btn-shadow-colour); +} + +.nes-btn.arts:hover::after { + box-shadow: inset -5px -5px var(--btn-arts-shadow-colour); +} + +.nes-btn.apsc:hover::after { + box-shadow: inset -5px -5px var(--btn-apsc-shadow-colour); +} + +.nes-btn.comm:hover::after { + box-shadow: inset -5px -5px var(--btn-comm-shadow-colour); +} + +.nes-btn.fore:hover::after { + box-shadow: inset -5px -5px var(--btn-fore-shadow-colour); +} + +.nes-btn.kin:hover::after { + box-shadow: inset -5px -5px var(--btn-kin-shadow-colour); +} + +.nes-btn.lfs:hover::after { + box-shadow: inset -5px -5px var(--btn-lfs-shadow-colour); +} + +.nes-btn.scie:hover::after { + box-shadow: inset -5px -5px var(--btn-scie-shadow-colour); +} + +.nes-btn.totem:hover::after { + box-shadow: inset -5px -5px var(--btn-totem-shadow-colour); +} + +.nes-btn.vanier:hover::after { + box-shadow: inset -5px -5px var(--btn-vanier-shadow-colour); +} + +.nes-btn.orchard:hover::after { + box-shadow: inset -5px -5px var(--btn-orchard-shadow-colour); } .nes-btn:active:not(.is-disabled)::after { - box-shadow: inset 4px 4px #0B1164; + box-shadow: inset 4px 4px var(--btn-shadow-colour); +} + +.nes-btn.arts:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px var(--btn-arts-shadow-colour); +} + +.nes-btn.apsc:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px var(--btn-apsc-shadow-colour); +} + +.nes-btn.comm:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px var(--btn-comm-shadow-colour); +} + +.nes-btn.fore:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px var(--btn-fore-shadow-colour); +} + +.nes-btn.kin:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px var(--btn-kin-shadow-colour); +} + +.nes-btn.lfs:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px var(--btn-lfs-shadow-colour); +} + +.nes-btn.scie:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px var(--btn-scie-shadow-colour); +} + +.nes-btn.totem:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px var(--btn-totem-shadow-colour); +} + +.nes-btn.vanier:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px var(--btn-vanier-shadow-colour); +} + +.nes-btn.orchard:active:not(.is-disabled)::after { + box-shadow: inset 4px 4px var(--btn-orchard-shadow-colour); } .is-ubc-alt-blue { diff --git a/src/choices.json b/src/choices.json index 69f057d..e5d1e5f 100644 --- a/src/choices.json +++ b/src/choices.json @@ -1,195 +1,198 @@ { - "TrustNaturalRecursion": - { - "answer":"Trust the natural recursion", - "followUp":"", - "statChanges":[10, 0.5, -15], - "minigame": "" - }, - "OkBoomer": - { - "answer":"Ok, Boomer", - "followUp":"", - "statChanges":[60, -0.02, -8], - "minigame": "" - }, - "FiveverAlone": - { - "answer":"5ever alone", - "followUp":"", - "statChanges":[-50, -1.5, -15], - "minigame": "" - }, - "RunAway": - { - "answer":"meep merp. run away", - "followUp":"", - "statChanges":[-25, 0, -15], - "minigame": "" - }, - "ShowFilas": - { - "answer":"Show her your Filas", - "followUp":"", - "statChanges":[35, 0.5, 0], - "minigame": "" - }, - "BuyTheTix": - { - "answer":"Buy her EDC (Electronic Daisy Carnival) tickets", - "followUp":"CuteGirlTixEvent", - "statChanges":[5, -0.01, 0], - "minigame": "" - }, - "ComplimentFilas": - { - "answer":"Compliment her Filas", - "followUp":"CuteFilasEvent", - "statChanges":[1, 0, 0], - "minigame": "" - }, - "StalkInstagram": - { - "answer":"Stalk her on Instagram", - "followUp":"", - "statChanges":[-50, -1.5, -35], - "minigame": "" - }, - "OhYes": - { - "answer":"OH YES", - "followUp":"HasBoyfriendEvent", - "statChanges":[20, -0.02, -3], - "minigame": "" - }, - "Nope": - { - "answer":"no...", - "followUp":"NoVIPTixEvent", - "statChanges":[-5, 0, 0], - "minigame": "" - }, - "GrossFrats": - { - "answer":"Ew! Frats are gross!", - "followUp":"", - "statChanges":[-20, 0.5, 5], - "minigame": "" - }, - "YayBedsheets": - { - "answer":"I love wearing my bedsheets!", - "followUp":"", - "statChanges":[40, -1.0, -50], - "minigame": "" - }, - "GiveUpMidterm": - { - "answer":"*walks out*", - "followUp":"", - "statChanges":[0, -1.0, 0], - "minigame": "" - }, - "LoremIpsum": - { - "answer":"Stop thinking start writing", - "followUp":"", - "statChanges":[0, 2, 0], - "minigame": "EssayWrite" - }, - "UseWheels": - { - "answer":"*Puts on helmet*", - "followUp":"", - "statChanges":[10, 0.5, 0], - "minigame": "SquirrelJump" - }, - "SquirrelPictures": - { - "answer":"I gotta get pictures!", - "followUp":"", - "statChanges":[20, -0.5, 0], - "minigame": "" - }, - "Start": - { - "answer":"Accept Offer", - "followUp":"", - "statChanges":[0, 0, 0], - "minigame": "" - }, - "Arts": - { - "answer":"Arts", - "followUp":"", - "statChanges":[50, 2.0, 100], - "minigame": "", - "dlogo": "ARTS.png" - }, - "ApScience": - { - "answer":"Applied Science", - "followUp":"", - "statChanges":[0, 4.0, 100], - "minigame": "", - "dlogo": "APSC.png" - }, - "Science": - { - "answer":"Science", - "followUp":"", - "statChanges":[50, 3.0, 100], - "minigame": "", - "dlogo": "SCIE.png" - }, - "Forestry": - { - "answer":"Forestry", - "followUp":"", - "statChanges":[100, 2.0, 100], - "minigame": "", - "dlogo": "FORE.png" - }, - "Commerce": - { - "answer":"Commerce", - "followUp":"", - "statChanges":[100, 2.0, 100], - "minigame": "", - "dlogo": "COMM.png" - }, - "Kinesiology": - { - "answer":"Kinesiology", - "followUp":"", - "statChanges":[100, 2.0, 100], - "minigame": "", - "dlogo": "KIN.png" - }, - "LFS": - { - "answer":"Land and Food Systems", - "followUp":"", - "statChanges":[100, 2.0, 100], - "minigame": "", - "dlogo": "LFS.png" + "TrustNaturalRecursion": { + "answer": "Trust the natural recursion", + "followUp": "", + "statChanges": [10, 0.5, -15], + "minigame": "", + "btnStyle": "" + }, + "OkBoomer": { + "answer": "Ok, Boomer", + "followUp": "", + "statChanges": [60, -0.02, -8], + "minigame": "", + "btnStyle": "" + }, + "FiveverAlone": { + "answer": "5ever alone", + "followUp": "", + "statChanges": [-50, -1.5, -15], + "minigame": "", + "btnStyle": "" + }, + "RunAway": { + "answer": "meep merp. run away", + "followUp": "", + "statChanges": [-25, 0, -15], + "minigame": "", + "btnStyle": "" + }, + "ShowFilas": { + "answer": "Show her your Filas", + "followUp": "", + "statChanges": [35, 0.5, 0], + "minigame": "", + "btnStyle": "" + }, + "BuyTheTix": { + "answer": "Buy her EDC (Electronic Daisy Carnival) tickets", + "followUp": "CuteGirlTixEvent", + "statChanges": [5, -0.01, 0], + "minigame": "", + "btnStyle": "" + }, + "ComplimentFilas": { + "answer": "Compliment her Filas", + "followUp": "CuteFilasEvent", + "statChanges": [1, 0, 0], + "minigame": "", + "btnStyle": "" + }, + "StalkInstagram": { + "answer": "Stalk her on Instagram", + "followUp": "", + "statChanges": [-50, -1.5, -35], + "minigame": "", + "btnStyle": "" + }, + "OhYes": { + "answer": "OH YES", + "followUp": "HasBoyfriendEvent", + "statChanges": [20, -0.02, -3], + "minigame": "", + "btnStyle": "" + }, + "Nope": { + "answer": "no...", + "followUp": "NoVIPTixEvent", + "statChanges": [-5, 0, 0], + "minigame": "", + "btnStyle": "" + }, + "GrossFrats": { + "answer": "Ew! Frats are gross!", + "followUp": "", + "statChanges": [-20, 0.5, 5], + "minigame": "", + "btnStyle": "" + }, + "YayBedsheets": { + "answer": "I love wearing my bedsheets!", + "followUp": "", + "statChanges": [40, -1.0, -50], + "minigame": "", + "btnStyle": "" + }, + "GiveUpMidterm": { + "answer": "*walks out*", + "followUp": "", + "statChanges": [0, -1.0, 0], + "minigame": "", + "btnStyle": "" + }, + "LoremIpsum": { + "answer": "Stop thinking start writing", + "followUp": "", + "statChanges": [0, 2, 0], + "minigame": "EssayWrite", + "btnStyle": "" + }, + "UseWheels": { + "answer": "*Puts on helmet*", + "followUp": "", + "statChanges": [10, 0.5, 0], + "minigame": "SquirrelJump", + "btnStyle": "" + }, + "SquirrelPictures": { + "answer": "I gotta get pictures!", + "followUp": "", + "statChanges": [20, -0.5, 0], + "minigame": "", + "btnStyle": "" + }, + "Start": { + "answer": "Accept Offer", + "followUp": "", + "statChanges": [0, 0, 0], + "minigame": "", + "btnStyle": "" + }, + "Arts": { + "answer": "Arts", + "followUp": "", + "statChanges": [50, 2.0, 100], + "minigame": "", + "dlogo": "ARTS.png", + "btnStyle": "arts" + }, + "ApScience": { + "answer": "Applied Science", + "followUp": "", + "statChanges": [0, 4.0, 100], + "minigame": "", + "dlogo": "APSC.png", + "btnStyle": "apsc" + }, + "Science": { + "answer": "Science", + "followUp": "", + "statChanges": [50, 3.0, 100], + "minigame": "", + "dlogo": "SCIE.png", + "btnStyle": "scie" + }, + "Forestry": { + "answer": "Forestry", + "followUp": "", + "statChanges": [100, 2.0, 100], + "minigame": "", + "dlogo": "FORE.png", + "btnStyle": "fore" + }, + "Commerce": { + "answer": "Commerce", + "followUp": "", + "statChanges": [100, 2.0, 100], + "minigame": "", + "dlogo": "COMM.png", + "btnStyle": "comm" + }, + "Kinesiology": { + "answer": "Kinesiology", + "followUp": "", + "statChanges": [100, 2.0, 100], + "minigame": "", + "dlogo": "KIN.png", + "btnStyle": "kin" + }, + "LFS": { + "answer": "Land and Food Systems", + "followUp": "", + "statChanges": [100, 2.0, 100], + "minigame": "", + "dlogo": "LFS.png", + "btnStyle": "lfs" }, "TotemPark": { "answer": "Totem Park", "followUp": "", "statChanges": [0, 0, 0], - "minigame": "" + "minigame": "", + "btnStyle": "totem" }, "PlaceVanier": { "answer": "Place Vanier", "followUp": "", "statChanges": [0, 0, 0], - "minigame": "" + "minigame": "", + "btnStyle": "vanier" }, "OrchardCommons": { "answer": "Orchard Commons", "followUp": "", "statChanges": [0, 0, 0], - "minigame": "" + "minigame": "", + "btnStyle": "orchard" } } \ No newline at end of file diff --git a/src/components/choices/ChoiceButton.tsx b/src/components/choices/ChoiceButton.tsx index f5bdd81..fb939a5 100644 --- a/src/components/choices/ChoiceButton.tsx +++ b/src/components/choices/ChoiceButton.tsx @@ -11,7 +11,7 @@ export default function ChoiceButton(props: IProps) { return (