Files

173 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Pf2e Data Scrapper
Программа обработки данных для игры Pathfinder 2e для создания БД для дальнейшего использования на сайте локализации Pf2e.
## Начало работы
- Склонируйте репозиторий и войдите в папку `Pf2eDataScrapper`.
- Создайте файл `.env` и добавьте в него содержимое из файла `.env.example`. Измените содержащиеся поля:
- `DATA_DIR` - путь к папке для распаковки репозиториев обрабатываемых данных;
- `OUTPUT_DIR` - путь к месту сохранения схем;
- `DATABASE_CONNECTION` - строка подключения к БД (только PostreSQL);
- `MAX_THREADS` - максимальное количество потоков при параллельной обработке.
- Перейдите а папку `Pf2eModel` (`cd ../Pf2eModel`) и запустите `dotnet ef database update` для создания структуры БД в командной строке. Если необходимо обновить структуру после изменения модели - используйте скрипт `RebuildDatabase.bat`.
- Запустите проект `Pf2eDataScrapper` для парсинга информации.
## Роли и документация проектов
- [`Pf2eModel`](Documentation/Pf2eModel/index.md) - общая ORM-структура модели.
- [`Pf2eDataScrapper`](Documentation/Pf2eDataScrapper/index.md) - загрузчик и обработчик данных.
По ссылкам можно увидеть полную документацию классов.
# Публичная версия БД
Последняя проверенная версия БД развёрнута на моём личном сервере:
- Хост: `teswa.ru`
- Порт: `5432`
- Пользователь: `pf2e`
- Пароль: `pf2e`
Этот доступ read-only (т.е. доступны только SELECT).
Рекомендуемый запрос к БД для получения сущности (например, действия):
```sql
SELECT
E.*,
A.*
FROM actions AS A
INNER JOIN entities AS E ON A.id = E.id;
```
# Прогресс создания обработчиков
## Aonprd (Архивы Нефиса)
### Общее (15 из 36)
- [x] action.yaml
- [x] ancestry.yaml
- [x] archetype.yaml
- [x] background.yaml
- [x] class.yaml
- [ ] creature-ability.yaml
- [ ] deviant-ability-classification.yaml
- [x] heritage.yaml
- [ ] kingdom-event.yaml
- [ ] kingdom-structure.yaml
- [x] language.yaml
- [ ] mythic-calling.yaml
- [ ] plane.yaml
- [ ] relic.yaml
- [x] ritual.yaml
- [ ] skill-general-action.yaml
- [x] skill.yaml
- [x] source.yaml
- [x] spell.yaml
- [ ] tradition.yaml
- [x] trait.yaml
- [ ] warfare-army.yaml
- [ ] warfare-tactic.yaml
- [ ] weather-hazard.yaml
**Состояния**
- [ ] condition.yaml
- [ ] curse.yaml
- [ ] disease.yaml
**Тексты**
- [ ] article.yaml
- [ ] category-page.yaml
- [x] rules.yaml
- [ ] sidebar.yaml
**Боги**
- [ ] deity.yaml
- [ ] deity-category.yaml
- [ ] domain.yaml
**Фиты**
- [x] feat.yaml
- [ ] class-feature.yaml
### Подклассы (1 из 29)
- [ ] research-field.yaml (Alchemist)
- [x] apparition.yaml (Animist)
- [ ] practice.yaml (Animist)
- [ ] instinct.yaml (Barbarian)
- [ ] muse.yaml (Bard)
- [ ] cause.yaml (Champion)
- [ ] tenet.yaml (Champion)
- [ ] doctrine.yaml (Cleric)
- [ ] druidic-order.yaml (Druid)
- [ ] methodology.yaml (Investigator)
- [ ] element.yaml (Kineticist)
- [ ] hybrid-study.yaml (Magus)
- [ ] mystery.yaml (Oracle)
- [ ] conscious-mind.yaml (Psychic)
- [ ] subconscious-mind.yaml (Psychic)
- [ ] hunters-edge.yaml (Ranger)
- [ ] racket.yaml (Rogue)
- [ ] bloodline.yaml (Sorcerer)
- [ ] style.yaml (Swashbuckler)
- [ ] implement.yaml (Thaumaturge)
- [ ] lesson.yaml (Witch)
- [ ] patron.yaml (Witch)
- [ ] arcane-school.yaml (Wizard)
- [ ] arcane-thesis.yaml (Wizard)
- [ ] way.yaml (Gunslinger)
- [ ] innovation.yaml (Innovator)
- [ ] ikon.yaml (Exemplar)
- [ ] epithet.yaml (Exemplar)
- [ ] hellknight-order.yaml
- [ ] eidolon.yaml
### Бестиарий (0 из 10)
- [ ] animal-companion-advanced.yaml
- [ ] animal-companion-specialization.yaml
- [ ] animal-companion-unique.yaml
- [ ] animal-companion.yaml
- [ ] creature-adjustment.yaml
- [ ] creature-family.yaml
- [ ] creature-theme-template.yaml
- [ ] creature.yaml
- [ ] familiar-ability.yaml
- [ ] familiar-specific.yaml
### Экипировка (0 из 11)
- [ ] armor-group.yaml
- [ ] armor.yaml
- [ ] campsite-meal.yaml
- [ ] equipment-bonus.yaml
- [ ] equipment-sub.yaml
- [ ] equipment.yaml
- [ ] set-relic.yaml
- [ ] shield.yaml
- [ ] siege-weapon.yaml
- [ ] vehicle.yaml
- [ ] weapon.yaml
- [ ] weapon-sub.yaml
- [ ] hazard.yaml
### Под вопросом (0 из 2)
- [ ] class-kit.yaml
- [ ] class-sample.yaml
### Что не дополучено с Архивов
- Ссылка наследий (`heritage`) на родословные (`ancestry`).
# TODO
- Добавление экипировки
- Добавление бестиария