Files
h-school/src/HSchool.Server/mods/core/maps/default.jsonc
T
Leonid Pershin 5eabc90d53
ci / server (push) Failing after 3m43s
ci / client (push) Successful in 15s
Enhance school day structure and decision-making for lunch breaks
- Updated `ai.md` to clarify the mechanics of hunger restoration and the importance of lunch breaks in the school schedule.
- Revised `schedule.md` to detail the new lunch break structure, allowing for separate sittings for different grade levels.
- Enhanced `Decision.cs` and `DecisionPlanner.cs` to incorporate logic for lunch breaks, ensuring that students only leave lessons during their designated lunch windows.
- Updated `DayFrameDef` and related classes to support multiple lunch breaks and validate their configurations.
- Adjusted tests to validate the new decision-making logic regarding lunch breaks and hunger management, ensuring robust functionality.
- Improved localization strings to reflect changes in the school day structure and lunch functionalities.
2026-08-19 23:17:16 +03:00

231 lines
6.5 KiB
JSON

{
// Two-storey school plus a gym. Eleven homerooms, labelled as room numbers — class names
// live on the roster and change every 1 September.
"territory": { "id": "yard", "def": "SchoolYard" },
"buildings": [
{ "id": "main", "def": "MainBuilding" },
{ "id": "gym", "def": "GymBuilding" },
],
"floors": [
{ "id": "floor-1", "def": "StandardFloor", "building": "main", "label": "1" },
{ "id": "floor-2", "def": "StandardFloor", "building": "main", "label": "2" },
{ "id": "gym-floor", "def": "StandardFloor", "building": "gym" },
],
"rooms": [
{ "id": "porch", "def": "EntranceHall", "building": "main", "floor": "floor-1" },
{ "id": "corridor-1", "def": "Corridor", "building": "main", "floor": "floor-1", "label": "1" },
{ "id": "stairs-1", "def": "Stairwell", "building": "main", "floor": "floor-1", "label": "1" },
{
"id": "principals-office",
"def": "PrincipalsOffice",
"building": "main",
"floor": "floor-1",
"slots": [
{ "key": "directorChair", "thing": "DirectorsChair" },
{ "key": "desk", "thing": "Desk" },
{ "key": "guestChair", "thing": "Chair", "count": 2 },
],
},
{
"id": "secretary-office",
"def": "SecretaryOffice",
"building": "main",
"floor": "floor-1",
"slots": [
{ "key": "desk", "thing": "Desk" },
{ "key": "chair", "thing": "Chair" },
],
},
{
"id": "teachers-room",
"def": "TeachersRoom",
"building": "main",
"floor": "floor-1",
"slots": [
{ "key": "table", "thing": "DiningTable" },
{ "key": "chairs", "thing": "Chair", "count": 6 },
],
},
{
"id": "classroom-101",
"def": "Classroom",
"building": "main",
"floor": "floor-1",
"label": "101",
"seats": 16,
},
{
"id": "classroom-102",
"def": "Classroom",
"building": "main",
"floor": "floor-1",
"label": "102",
"seats": 16,
},
{
"id": "classroom-103",
"def": "Classroom",
"building": "main",
"floor": "floor-1",
"label": "103",
"seats": 16,
},
{
"id": "classroom-104",
"def": "Classroom",
"building": "main",
"floor": "floor-1",
"label": "104",
"seats": 16,
},
{
"id": "cafeteria",
"def": "Cafeteria",
"building": "main",
"floor": "floor-1",
"slots": [
{ "key": "counter", "thing": "DiningTable" },
{ "key": "seats", "thing": "Chair", "count": 112 },
],
},
{ "id": "restroom-1", "def": "Restroom", "building": "main", "floor": "floor-1", "label": "1" },
{
"id": "medical-office",
"def": "MedicalOffice",
"building": "main",
"floor": "floor-1",
"slots": [
{ "key": "couch", "thing": "MedicalCouch" },
{ "key": "desk", "thing": "Desk" },
],
},
{ "id": "corridor-2", "def": "Corridor", "building": "main", "floor": "floor-2", "label": "2" },
{ "id": "stairs-2", "def": "Stairwell", "building": "main", "floor": "floor-2", "label": "2" },
{
"id": "classroom-201",
"def": "Classroom",
"building": "main",
"floor": "floor-2",
"label": "201",
"seats": 16,
},
{
"id": "classroom-202",
"def": "Classroom",
"building": "main",
"floor": "floor-2",
"label": "202",
"seats": 16,
},
{
"id": "classroom-203",
"def": "Classroom",
"building": "main",
"floor": "floor-2",
"label": "203",
"seats": 16,
},
{
"id": "classroom-204",
"def": "Classroom",
"building": "main",
"floor": "floor-2",
"label": "204",
"seats": 16,
},
{
"id": "classroom-205",
"def": "Classroom",
"building": "main",
"floor": "floor-2",
"label": "205",
"seats": 16,
},
{
"id": "classroom-206",
"def": "Classroom",
"building": "main",
"floor": "floor-2",
"label": "206",
"seats": 16,
},
{
"id": "classroom-207",
"def": "Classroom",
"building": "main",
"floor": "floor-2",
"label": "207",
"seats": 16,
},
{
"id": "library",
"def": "Library",
"building": "main",
"floor": "floor-2",
"slots": [
{ "key": "desk", "thing": "Desk" },
{ "key": "shelves", "thing": "Bookshelf", "count": 4 },
],
},
{
"id": "computer-lab",
"def": "ComputerLab",
"building": "main",
"floor": "floor-2",
"slots": [
{ "key": "teacherDesk", "thing": "Desk" },
{ "key": "teacherChair", "thing": "Chair" },
{ "key": "computers", "thing": "Computer", "count": 12 },
],
},
{ "id": "restroom-2", "def": "Restroom", "building": "main", "floor": "floor-2", "label": "2" },
{
"id": "gym-hall",
"def": "GymHall",
"building": "gym",
"floor": "gym-floor",
"slots": [
{ "key": "benches", "thing": "Bench", "count": 4 },
],
},
{
"id": "changing-room",
"def": "ChangingRoom",
"building": "gym",
"floor": "gym-floor",
"slots": [
{ "key": "lockers", "thing": "Locker", "count": 12 },
],
},
],
"links": [
{ "a": "yard", "b": "porch" },
{ "a": "porch", "b": "corridor-1" },
{ "a": "corridor-1", "b": "stairs-1" },
{ "a": "corridor-1", "b": "principals-office" },
{ "a": "corridor-1", "b": "secretary-office" },
{ "a": "corridor-1", "b": "teachers-room" },
{ "a": "corridor-1", "b": "classroom-101" },
{ "a": "corridor-1", "b": "classroom-102" },
{ "a": "corridor-1", "b": "classroom-103" },
{ "a": "corridor-1", "b": "classroom-104" },
{ "a": "corridor-1", "b": "cafeteria" },
{ "a": "corridor-1", "b": "restroom-1" },
{ "a": "corridor-1", "b": "medical-office" },
{ "a": "stairs-1", "b": "stairs-2" },
{ "a": "stairs-2", "b": "corridor-2" },
{ "a": "corridor-2", "b": "classroom-201" },
{ "a": "corridor-2", "b": "classroom-202" },
{ "a": "corridor-2", "b": "classroom-203" },
{ "a": "corridor-2", "b": "classroom-204" },
{ "a": "corridor-2", "b": "classroom-205" },
{ "a": "corridor-2", "b": "classroom-206" },
{ "a": "corridor-2", "b": "classroom-207" },
{ "a": "corridor-2", "b": "library" },
{ "a": "corridor-2", "b": "computer-lab" },
{ "a": "corridor-2", "b": "restroom-2" },
{ "a": "yard", "b": "gym-hall" },
{ "a": "gym-hall", "b": "changing-room" },
],
}