Модель предметов по базе ремейка: узлы, деревья, знание
Протокол: - ItemData читает таблицу items/items.csv (218 предметов ремейка) и отдает числа: урон, дальность, темп, прочность, сколько ресурса за удар. - ItemType: поля rid, researchScrap, techTreeBench, techTreeScrap, techTreeParent, admin. Урон по частям тела делится как в ремейке: голова вдвое, руки и ноги четыре пятых. Число в исходнике главнее таблицы. - ItemRegistry: 218 предметов с рецептами, ценой исследования и веткой дерева. Новые вещи: salvage-тесак, бронедвери, гаражи, взрывчатка, компоненты, еда, мусор, верстаки и печи. - NodeType: узлы с запасом (дерево 500/750/1000, камень 750, металл 500, сера 200) и меткой: крестик на дереве до двух, горячая точка на руде до трех. - TechTree: ветки верстаков с предками, 125/250/500 скрапа. - Новые пакеты: Dig, BreakProgress, CraftStart, CraftUpdate, ResearchStart, ResearchUpdate, TechTreeUnlock, KnownRecipes, TechTreeState, ContainerOpen, ContainerTake, LearnBlueprint. Сервер: - Knowledge: что игрок знает - рецепты и открытые узлы деревьев. - Crafter: проверка рецепта, уровня верстака и ингредиентов; время крафта по формуле плана. - ResearchTable: предмет плюс скрап, десять секунд, предмет превращается в чертёж; чертёж изучается и открывает рецепт. - ResourceNode: запас, метка, последний удар отдает остаток. - JunkPile: две-четыре бочки (серая - скрап и мусор, синяя - компонент, красная - нефть и топливо) и ящик с едой; пустая мусорка исчезает через 60-180 секунд. - RoadNetwork: сетка дорог и кольцо, точки спавна мусорки; генератор кладет асфальт и ровняет дорогу по ширине. - Проверка досягаемости вынесена из changeBlock, игрок получил benchLevel. - Сессия отвечает на новые пакеты, при входе шлет известные рецепты и открытые узлы. Тесты: протокол 24 + 10, сервер 74 (было 57). Форк собирается чисто.
This commit is contained in:
@@ -971,12 +971,16 @@ rsx-client\scripts\run-game.ps1 # клиент
|
||||
|
||||
### 6.3 Что не сделано (по порядку)
|
||||
|
||||
1. **Шаг A** — добить: клиентский рендер своих предметов (хотбар и рука) и иконки
|
||||
из атласа; поля исследования в `ItemType`; `NodeType`; `TechTree`.
|
||||
2. **Шаг B** — `Dig`/`BreakProgress` в протоколе, состояние ломания на сервере,
|
||||
правила инструмента, тег `admin`, 4 клиентских патча.
|
||||
3. **Шаг C** — узлы (дерево/камень/металл/сера) с метками, дороги, мусорка,
|
||||
крафт и исследование (стол + тех-дерево), постройка по сокетам.
|
||||
1. **Шаг A** — сделано: поля исследования и дерева в `ItemType`, числа из таблицы
|
||||
ремейка (`ItemData`), `NodeType`, `TechTree`, 218 предметов в реестре.
|
||||
Не сделано: **клиентский рендер своих предметов** (хотбар и рука) и иконки из атласа.
|
||||
2. **Шаг B** — сделано: `Dig`/`BreakProgress` в протоколе, проверка досягаемости
|
||||
на сервере, тег `admin` в типах предметов. Не сделано: узлы в мире (шаг C),
|
||||
трещины на клиенте, 4 клиентских патча.
|
||||
3. **Шаг C** — сделано: `ResourceNode` (HP, запас, метка), `JunkPile` (бутылки,
|
||||
ящик с едой, таймер исчезновения), `RoadNetwork` + дороги в генераторе
|
||||
(сетка и кольцо, ровная по ширине). Не сделано: мусорка в мире (спавн и
|
||||
респавн у дороги), станции крафта (верстак в мире), постройка по сокетам.
|
||||
4. **Шаг D** — конфиг, мир 4000×4000 один раз, барьер.
|
||||
5. **Шаг E** — транспорт на NIO.
|
||||
6. **Шаг F** — DistantView.
|
||||
|
||||
Reference in New Issue
Block a user