{"id":24150807,"url":"https://github.com/maxfleur/lightcombatmanager","last_synced_at":"2026-03-17T11:34:33.040Z","repository":{"id":65421876,"uuid":"295432326","full_name":"MaxFleur/LightCombatManager","owner":"MaxFleur","description":"A small, lightweight cross-platform combat manager for d20-based role-playing games, based on Qt.","archived":false,"fork":false,"pushed_at":"2025-04-19T12:09:53.000Z","size":1405,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-09-19T18:57:53.620Z","etag":null,"topics":["catch2","cmake","cpp","cpp20","dnd","dnd35","dnd5e","dungeons-and-dragons","linux","macos","pathfinder","pathfinder2e","qt","qt5","qt6","starfinder","uncrustify","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaxFleur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-09-14T13:56:08.000Z","updated_at":"2025-04-19T11:48:45.000Z","dependencies_parsed_at":"2023-02-15T16:25:51.682Z","dependency_job_id":"c6b0043b-6387-4f41-a116-059b3bfcee4d","html_url":"https://github.com/MaxFleur/LightCombatManager","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/MaxFleur/LightCombatManager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxFleur%2FLightCombatManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxFleur%2FLightCombatManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxFleur%2FLightCombatManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxFleur%2FLightCombatManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaxFleur","download_url":"https://codeload.github.com/MaxFleur/LightCombatManager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxFleur%2FLightCombatManager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30622764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T11:26:08.186Z","status":"ssl_error","status_checked_at":"2026-03-17T11:24:37.311Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["catch2","cmake","cpp","cpp20","dnd","dnd35","dnd5e","dungeons-and-dragons","linux","macos","pathfinder","pathfinder2e","qt","qt5","qt6","starfinder","uncrustify","windows"],"created_at":"2025-01-12T09:12:44.619Z","updated_at":"2026-03-17T11:34:33.012Z","avatar_url":"https://github.com/MaxFleur.png","language":"C++","readme":"\u003cdiv align=\"center\"\u003e\n\n   ![License badge](https://img.shields.io/badge/License-GPLv3-blue.svg)\n   ![C++ badge](https://img.shields.io/badge/C++-20-blue.svg)\n   ![CI MacOS badge](https://github.com/MaxFleur/LightCombatManager/actions/workflows/run-mac.yml/badge.svg?event=push)\n   ![CI Ubuntu badge](https://github.com/MaxFleur/LightCombatManager/actions/workflows/run-ubuntu.yml/badge.svg?event=push)\n   ![CI Windows badge](https://github.com/MaxFleur/LightCombatManager/actions/workflows/run-windows.yml/badge.svg?event=push)\n   ![Tag badge](https://img.shields.io/badge/Release-v3.1.0-blue.svg)\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"480\" height=\"360\" src=\"https://github.com/MaxFleur/LightCombatManager/assets/15110943/9e2a420e-c890-4868-b6cd-9512f2aae2ec\"\u003e\n\u003c/p\u003e\n\n# LightCombatManager\n\n### A small, lightweight cross-platform combat manager for d20-based role-playing games, based on Qt.\n\n![overall](https://github.com/user-attachments/assets/b8141a35-754b-460d-8cca-db51add3207a)\n\nWith LightCombatManager (or just **LCM**), you can easily manage a combat for a d20-based RPG. The table supports all sorts of combat-based operations, such as reordering rows when a character moves their initiative, removing or adding ruleset-defined status effects to one or multiple characters or subsequent addition of characters who just joined the combat. Undoing and logging changes are also supported!\n\n![char_editor](https://github.com/user-attachments/assets/353a4b5a-6e27-4fad-94b7-17d8256a4929)\n\nLCM provides an intuitive character editor, where characters with initiative value and modifier, a health point counter and additional information can be easily created.\\\nIf the game ends, but the current combat is not finished yet, you can save it on the PC. Characters can also be stored as templates for later usage.\n\n### Supported rulesets\n\nLCM currently supports the following rulesets:\n* D\u0026D 3.0E\n* D\u0026D 3.5E\n* D\u0026D 5E\n* Pathfinder 1E\n* Pathfinder 2E\n* Starfinder\n\nSupport for more d20-based rulesets might be added in the future.\n\n# Tools \u0026 Installation\nLCM is written in C++20. The following frameworks are used for development:\n* [Qt6](https://www.qt.io/) for the user interface as well as table storage and loading.\n   * Note that for the correct displaying of svg files, the Qt SVG plugin is needed.\n* [Catch2 v2 or v3](https://github.com/catchorg/Catch2) for Unit testing ([Catch2 license](https://github.com/catchorg/Catch2/blob/devel/LICENSE.txt)).\n* [Uncrustify](https://github.com/uncrustify/uncrustify) for code formatting.\n* CMake as build system.\n\nThe following commands will install all necessary requirements at once:\n### Ubuntu:\n`sudo apt install qt6-base-dev libqt6svg6 libqt6svg6-dev catch2 uncrustify cmake`\n### Arch Linux:\n`sudo pacman -S qt6-base qt6-svg catch2 uncrustify cmake`\n### MacOS:\n`brew install qt@6 catch2 uncrustify cmake`\n\nFor Windows, installers for Qt, CMake and Catch2 are available. Make sure to install the Qt SVG plugin as well!\\\nAlternatively, if you want to run the application without any additional installing, just download the binaries provided with the latest release.\n\n## Build on Linux/MacOS\n\n1. Clone this repository and `cd` into it.\n2. `mkdir build \u0026\u0026 cd build`\n3. On MacOS: Hit `cmake -DCMAKE_PREFIX_PATH=\"$(brew --prefix qt@6)\"`, on Linux: Hit `cmake ..`\n4. `make`\n5. Start the application with `./src/LightCombatManager`.\n\n## Build on Windows\n\nThe following description is focused on building the application with `cmake`, MSVC 2019 and Visual Studio 2022.\n\n1. Clone this repository and `cd` into it using `git cmd`.\n2. `mkdir build \u0026\u0026 cd build`\n3. Set the CMake Prefix Path for Qt inside the `CMakeLists.txt`. Example: `set(CMAKE_PREFIX_PATH \"C:\\\\Qt\\\\5.15.2\\\\msvc2019_64\\\\\")` for Qt 5.15 and msvc compiler.\n4. Hit `cmake.exe -G “Visual Studio 17 2022” -A x64 ..` This will create an sln-file.\n5. Open the sln file using Visual Studio. Build the application in Debug- or Release-Mode.\n6. Inside the build-file, a file named `Debug` or `Release` should have been created. Navigate to this folder and then to the `src` subdirectory.\n7. The exe-file for the application should be found here. To successfully run the exe, make sure that the directory contains the corresponding qt dll files as well. The final built application dir for Qt6 should look as follows:\n```\n├── platforms\n|   ├── qwindows.dll\n├── imageformats\n|   ├── qsvg.dll\n├── LightCombatManager.exe\n├── Qt6Core.dll\n├── Qt6Gui.dll\n├── Qt6Svg.dll\n├── Qt6Widgets.dll\n```\nThe dll files can be found under the Qt installation path under `/bin` and `/plugins`.\n\n# License\nUntil Version 2.1.0, LCM used the [MIT license](https://www.mit.edu/~amini/LICENSE.md). Since Version 2.2.0, LCM uses [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.txt).\n\n# Feedback and Contribution\n\nLCM is still in active development and constantly gets more features and improvements. If there is a ruleset you wish to be supported or another feature you want to be included, feel free to open a new issue for discussion!\\\nThe `master` branch provides the most recent stable version. If you want to get the bleeding edge version with all recent updates and features, checkout the `dev_staging` branch.\n\n## Developer information\n\nIf you want to contribute code, please format it using the provided `uncrustify.cfg` before opening a pull request. On Linux or MacOS for example, you can format all modified or new code with one single line:\n```\nfind . \\( -name \"*.cpp\" -o -name \"*.hpp\" \\) -exec uncrustify -c uncrustify.cfg --replace --no-backup {} +\n```\n\nThe repository always contains branches for the current and last major release for better bug traceability. As `dev_staging` is the branch constantly being developed on, make sure to select it as target branch for Pull Requests.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxfleur%2Flightcombatmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxfleur%2Flightcombatmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxfleur%2Flightcombatmanager/lists"}