Updated readme

This commit is contained in:
2026-05-22 23:24:57 +03:00
parent dfc4cf28cf
commit a378cfd3db
2 changed files with 55 additions and 38 deletions
+54 -37
View File
@@ -88,16 +88,16 @@ Triggered by leaving the apartment. Snapshots current equipment, attributes, and
- The player can freely re-enter the apartment to safely end the session at any time.
### 4.3 Session end (safe)
Player returns home. All carried items persist. Rewards from completed commissions are finalized. Embarrassment resets toward baseline. Energy partially restored (full restore requires sleep).
Player returns home. All carried items persist. Rewards from completed commissions are finalized. Embarrassment resets toward baseline.
### 4.4 Session end (loss)
Triggered by any of the four loss conditions. On loss:
- The player is teleported home (or to a fail-state location — TBD).
- **All currently equipped clothing is forcibly dropped** at the loss location.
- **A bag currently placed in the world** (not carried) is lost along with its contents.
- **Unequipped clothing already lying on the ground anywhere** is lost.
- Reputation penalty (TBD magnitude).
- If lost to police: `wanted` flag set, requires action to clear (see §10.3).
- **Unequipped clothing already lying on the ground anywhere** can be lost with some amount of probability, if session ended due to low energy player goes to sleep and all clothing is lost. If player goes to sleep after some clothing is left outside it is also lost. Sleep = lost clothing that was left outside.
- If reported to police but managed to end session safely gets `wanted` tag. Players need to rip **wanted posters** in the city to get rid of the `wanted` tag. `Wanted` tag spawns police every day from the start of the session.
- If caught by police during pursuit get money penalty. If not enough money skips some days depending on lost money.
> **Implementation note:** session loss must be a clearly defined transactional state. All "what gets lost" logic should live in a single SessionLossResolver to keep this deterministic and debuggable.
@@ -138,7 +138,7 @@ Each path has a level (e.g., 110). Level gates clothing, missions, and attrib
- Items in the world are AActors. Items in containers are owned by the container's inventory component but retain identity.
- Saving and loading must preserve item identity, position, and per-instance state.
### 6.2 Item categories
### 6.2 Carriable item categories
- **Clothing** (§6.3)
- **Bags** (§6.4)
- **Phone** (one — special, §9)
@@ -158,64 +158,76 @@ Attributes per clothing instance:
- `isRestrictive` — bool. If true, restricts hand use; requires NPC to remove.
- `containerSlots` — optional inventory (e.g., pants pocket for phone).
#### 6.3.1 Coverage resolution
#### 6.3.1 Container slots
Container slot allows player to carry items there.
- `size`: S, M, L - Size of the container slot
- `count`: Count of the container slots
#### 6.3.2 Coverage resolution
For each body part `b`:
- Find the set of equipped garments covering `b`.
- Effective coverage of `b` = `max(effectiveCoverage of garments covering b)` where `effectiveCoverage = isUnderwear ? coverage/2 : coverage`.
- If a non-underwear garment covers `b`, underwear coverage of `b` is ignored.
- Effective coverage of `b` = `min(sum(effectiveCoverage of garments covering b), 100%)` where `effectiveCoverage = isUnderwear ? coverage/2 : coverage`.
- Body part is "exposed" if effective coverage = 0.
- Lower total coverage → faster embarrassment gain when observed (§7.1).
#### 6.3.2 Equipping & unequipping
#### 6.3.3 Equipping & unequipping
- Equip/unequip anywhere in the world via the quick action menu.
- Unequipped clothing becomes a world AActor at the player's location.
- Clothing on the ground can be picked up when the player is in range.
#### 6.3.3 Theft
- Clothing left unattended (no player nearby, not in a bag) for X minutes (TBD) is at risk of being stolen by an NPC.
- Clothing inside a bag (even if the bag is on the ground) is safer but the **bag itself** can be lost if the player loses the session while the bag is placed in the world.
#### 6.3.4 Theft
- Clothing left unattended (no player nearby, not in a bag) for X(1) minutes (TBD) is at risk of being stolen by an NPC. Risk is capped at X%.
- Clothing inside a bag (even if the bag is on the ground) can't be stolen for X(3) amount of minutes
- After X amount of minutes passed probability for stealing increases over time. Probability starts increasing only after player is away. When player enters safe zone probability and safe timer resets.
#### 6.3.4 Rip & tear
#### 6.3.5 Rip & tear
- Moving through bushes, against walls, or other rough collisions decrements `condition`.
- Damaged clothing renders visually torn and exposes additional body parts (coverage drops).
- Damage is irreversible. Damaged clothing cannot be repaired.
- When `condition` reaches 0, the item disappears.
- New clothing always starts at `condition = 1.0`.
#### 6.3.5 Exposing
#### 6.3.6 Exposing
- Some clothing (e.g., coat, pleated skirt) supports a per-garment expose action.
- Triggering expose temporarily reveals listed body parts without removing the garment.
- Blocked if another garment covers the same part (e.g., pants block coat's ass-expose).
- While exposed, the body part counts as fully uncovered for embarrassment math.
#### 6.3.6 Restrictive clothing
- Cuffs and similar items lock hand-dependent actions (using phone, picking up items, masturbating).
- Removal options (see §10.4.1):
- **Adult shop** — paid, reliable, fixed location.
- **Helper NPC** — free, rare random spawn, not reliable.
#### 6.3.7 Restrictive clothing
- Cuffs, restrain bars and similar items lock hand-dependent actions (using phone, picking up items, masturbating).
- Can be removed by having key and spending some time to remove it.
### 6.4 Bags
- Bag is an equippable item with its own inventory.
- Player can equip **one** bag at a time.
- Bag can be placed in the world (set down) — persists as an AActor.
- Default carry capacity without a bag: equipped clothing + one phone-in-hand.
- Bag lost if session ends in loss while the bag is placed in the world (not equipped).
- Bag lost as described in **6.3.4**
### 6.5 Item loss summary table
| Situation | Outcome |
|---|---|
| Session ends safely | All carried/equipped/placed items persist. |
| Session lost, item equipped | Item forcibly dropped at loss location. |
| Session lost, item in equipped bag | Item persists (bag is on you). |
| Session lost, bag placed in world | Bag and contents lost. |
| Session lost, clothing on ground (unattended) | Lost. |
| Clothing unattended too long, no loss | At risk of NPC theft. |
### 6.5 Inventory & Equipment
- Bag slot for 1 bag
- 1 Hand slot
- Each clothing has container slots for storing allowed items inside
- Each bag has also container slots
### 6.6 Consumables — Food
### 6.6 Item loss summary table
| Situation | Outcome |
|---|-------------------------------------------------|
| Session ends safely | All carried/equipped/placed items persist. |
| Session lost, item equipped | Item persists. |
| Session lost, item in equipped bag | Item persists (bag is on you). |
| Session lost, bag placed in world | Bag and contents can be lost due to theft risk. |
| Session lost, clothing on ground (unattended) | Can be lost due to theft risk. |
| Clothing unattended too long, no loss | At risk of NPC theft. |
### 6.7 Consumables — Food
- Restores energy.
- May grant timed buffs (e.g., ramen: +stamina regen for 3h in-game).
- Buffs are typed and stackable per design (specifics TBD).
- Some foods require cooking (ingredients from convenience store), some are pre-made (from cafe).
- Food is cooked via mini-games
- Slice ingredients via fruit ninja
- Stir ingredients via clicker(Mortal Kombat - Test your strength)
- Cook ingredients via Genshin Impact cooking minigame(DBD generator fix minigame)
---
@@ -239,6 +251,7 @@ All attributes update in real time. Indoor and outdoor behavior is identical —
### 7.2 Lust
- Increases passively in the background (rate TBD, possibly tied to coverage).
- Higher pulse increases lust gain rate.
- At maximum:
- Blurred peripheral vision.
- Player cannot tell whether NPCs are calling police or taking photos.
@@ -255,23 +268,26 @@ All attributes update in real time. Indoor and outdoor behavior is identical —
- Recovered during sleep at `energyRecoveryRate`.
- Hard floor at 0 → session lost.
- Max raised by gym training.
- Lowers max stamina (0% energy - 50% max stamina, 80-100% energy - 100% max stamina) after calculating food buffs.
### 7.4 Stamina
- Used for sprinting and other burst physical actions.
- Recovers at `staminaRecoveryRate` when not sprinting.
- Max raised by Slave-path leveling.
- Distinct from energy: stamina is short-term, energy is daily budget.
- Max stamina with buffs can be decreased by lower amounts of energy.
- Max stamina with food buffs but without energy debuffs can be increased by food buffs.
### 7.5 Recognition
- Each photo taken by a Paparazzi NPC and published increases recognition.
- Each photo taken by a Blogger NPC and published increases recognition.
- Higher recognition → faster embarrassment gain (NPCs recognize the player).
- Reducible by reporting articles on the city news site (PC, §11.1).
- Can be **bypassed** by hiding the face (mask, hat-and-glasses combo — TBD specifics).
### 7.6 Wanted
- Boolean. Set when caught by police or when triggered by specific commission failures.
- Affects police patrol density and aggression.
- Cleared by tearing down wanted posters in the city (§10.3).
- Boolean. Set when reported to police.
- Affects police patrol spawn.
- Cleared by tearing down wanted posters in the city (§10.3) or by being caught.
### 7.7 Reputation
- Earned by completing commissions; lost by failing or skipping them.
@@ -280,6 +296,8 @@ All attributes update in real time. Indoor and outdoor behavior is identical —
### 7.8 Followers & Money
- **Followers** — running total of forum followers. Used in subscriber-style follower-gain math when posting photos.
- Followers generate money each week.
- More followers means more money for completing commissions.
- **Money (Yen)** — earned from commissions, livestream donations, selling worn underwear. Spent on rent, clothing, food, gym, beauty salon.
### 7.9 Attribute leveling
@@ -289,12 +307,11 @@ Path XP unlocks the *ability* to upgrade attributes within that path's pool. Mon
## 8. Movement
States: `stand`, `walk`, `run`, `crouch`, `crouchWalk`, `crouchRun`.
States: `stand`, `walk`, `run`, `crouch`, `crouchWalk`.
Design implications:
- Crouching reduces NPC detection radius (TBD multipliers).
- Running drains stamina and energy faster but is required for escape.
- Crouch-run is a compromise state for traversing risky exposed areas.
Movement should be implemented as a state machine on the character with clear transitions. UE5's enhanced input + ALS-style or GASP-style animation graph is appropriate (Oleh has prior GASP/Motion Matching context).