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/people/touch.h raw
#ifndef PEOPLE_TOUCH_H
#define PEOPLE_TOUCH_H
/*
* Taking hold of somebody (a hand reaching out: E / Q, see hands.h) - where,
* and what it means between the two. A hand, an arm, a shoulder, the back:
* friendly, if they like you well enough; the head: closer; the waist, a
* leg: closeness; the chest, the bottom, between the legs: only if there's
* real love between you. Unwelcome they pull away and say so - on the
* intimate places it's harassment, and the people round may step in (how
* likely: the whole place's awareness, World.aware: game_touch.c).
*
* How somebody feels about you: Object.like (friendship) and Object.love
* (drawn to you); between two others it's strangers, but for couples.
*/
#include "world/world.h"
enum { TOUCH_HAND, TOUCH_ARM, TOUCH_SHOULDER, TOUCH_BACK, TOUCH_HEAD, TOUCH_WAIST, TOUCH_LEG,
TOUCH_CHEST, TOUCH_BUTT, TOUCH_GROIN, TOUCH_PARTS };
/* What a touch did: welcome, put up with (a bit much, said so), unwelcome (pulled away), harassment. */
enum { TOUCHED_WELCOME, TOUCHED_TOLERATED, TOUCHED_UNWELCOME, TOUCHED_HARASSED };
/* Where on whom a joint (and the hand at it) is: TOUCH_*. Intimate: a leg, the chest, the bottom, between the legs
(unwelcome there: harassment; the waist is closeness, unwelcome is all). */
int Touch_part(const Object *whom, int joint, Vec3 hand);
const char *Touch_partName(int part);
bool Touch_intimate(int part);
/* How they feel about by: friendship and love (you: like, love; others: strangers, couples). */
void Touch_feelings(const Object *whom, const Object *by, float *like, float *love);
/* Taken hold of there by by: their answer (TOUCHED_*), said, and what it does to how they feel. */
int Touch_react(World *world, Object *whom, Object *by, int part);
/* A kind touch (calming, a hand on the shoulder): how they take it - true if it helps. */
bool Touch_calm(World *world, Object *whom, Object *by, int part);
#endif /* PEOPLE_TOUCH_H */