1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31namespace Duets.Entities
module SituationTypes =
/// Situations that happen while on an airport/airplane.
type AirportSituation = Flying of Flight
/// Situations that happen while on a concert.
type ConcertSituation =
| Preparing of ConcertPreparationChecklist
| InConcert of OngoingConcert
/// Situations that happen while the character is travelling.
type TravelSituation =
| TravellingByCar of currentCarPosition: RoomCoordinates * car: Item
| TravellingByMetro
/// Defines all situations in which the character can be in.
type Situation =
/// Player is exploring the world in no specific situation.
| FreeRoam
/// Player is inside of an airport about to flight or flying.
| Airport of AirportSituation
/// Player is performing a concert.
| Concert of ConcertSituation
/// Playing a mini-game.
| PlayingMiniGame of MiniGameState
/// Player is in a conversation with an NPC.
| Socializing of SocializingState
/// Player is travelling in a vehicle.
| Travelling of TravelSituation