Entropie git · main
Entropie festival game; first steps
C 88.5% Markdown 9.1% GLSL 2.3%git clone https://git.christianimmanuel.de/games/Entropie.gitwget https://git.christianimmanuel.de/games/Entropie/archive/Entropie.tar.gzentropie/src/world/why.c raw
#include "world/why.h"
#include <string.h>
static const WhyInfo WHY[WHY_COUNT] = {
[WHY_URINELLA] = {
.title = "Free Urinellas",
.ask = "Why do festivals hand out Urinellas?",
.seen = "A woman peed standing up with a Urinella. Why would a festival hand those out?",
.knowers = { "Jana", "Julia", "Stella", "Doro" },
.answer = "The queues! With one I'm as quick as the guys - no squatting in the dark.",
.because = "Women wait far longer at festival toilets, and at night they squat in the dark bushes. "
"A Urinella lets them pee standing: quicker, safer, shorter queues for everybody.",
.option = "Yes - free Urinellas at every toilet (60 EUR)",
.raiser = "Stella",
.raise = "At the last festival there were free Urinellas everywhere. Anybody know why?",
.cost = 60,
},
[WHY_AWARENESS] = {
.title = "An awareness team",
.ask = "Why do festivals have an awareness team?",
.seen = "Somebody was down, out cold - and nobody noticed. Who looks out for people at a festival?",
.knowers = { "Stella", "Doro", "Julia", "Volkram" },
.answer = "Sober people on shift who look out for anyone not okay - drink, creeps, panic.",
.because = "Too much to drink, somebody getting too close, a bad trip, panic in a crowd: an awareness team "
"is sober people on shift, easy to find, who look out for anyone who isn't okay and help.",
.option = "Yes - an awareness team, the crew takes turns on shift",
.raiser = "Julia",
.raise = "Fusion has an awareness team. Do we need one too? Why do they have it?",
.cost = 0,
},
[WHY_SHIRT] = {
.title = "No shirt, no service",
.ask = "Why do some festivals say \"no shirt, no service\"?",
.seen = "Shirtless at work again. Some festival bars say \"no shirt, no service\" - why?",
.knowers = { "Jana", "Julia", "Kilian", "Stella" },
.answer = "Guys go shirtless anywhere, women can't without stares. It keeps it fair.",
.because = "Men walk about shirtless everywhere while women can't without being stared at - it makes "
"the place feel like theirs. No shirt, no service at the bars keeps it the same for everybody.",
.option = "Yes - no shirt, no service at our bars",
.raiser = "Kilian",
.raise = "Somebody told me: no shirt, no service at the bar. What's that about?",
.cost = 0,
},
};
const WhyInfo *Why_get(int k) { return &WHY[k < 0 ? 0 : k >= WHY_COUNT ? WHY_COUNT - 1 : k]; }
bool Why_knows(const Object *who, int k) {
if (!who || !who->is_character) return false;
for (int i = 0; i < 4; i++)
if (WHY[k].knowers[i] && !strcmp(who->name, WHY[k].knowers[i])) return true;
return false;
}
int Why_open(const World *world) {
for (int k = 0; k < WHY_COUNT; k++) if (world->why[k] == WHY_RAISED) return k;
return -1;
}