Coder Social home page Coder Social logo

sklarsa / ktrules Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ktmanager/legacy-ktrules

0.0 1.0 0.0 486 KB

Kill Team rules, captured in json/jsonnet format for use in the KTManagerApp

License: GNU General Public License v3.0

Python 0.58% Jsonnet 99.02% Shell 0.41%

ktrules's Introduction

Kill Team Manager Rules

This repo holds the rules that Kill Team Manager uses to power its list-building capabilities.

Overview

Originally the database was managed in a literal sqlite database and new rules were added by manually editing the database and then shipping out the database artifact with the app. This has been replaced with a new JSON import based system. Because of this, you may find duplicates or unused entries in the JSON from the original db import.

Version Numbers

KT Rules uses semantic versioning: major.minor.patch

Major Version Change: Whenever the format of the rules changes such that changes to the app are required, the major version will bump.

Minor Version Change: When there are official changes to the rules, FAQ, new Teams, etc. the minor version will be bumped (eg: the Kill Team Annual, adding a new team, etc.)

Patch Version Change: Whenever there are minor bug fixes, wording changes, translation fixes, etc. the patch version will bump.

Data Model

TODO: describe the data model

Working Together

Join us on our official Discord : https://discord.gg/G9myjRx We are there to discuss the project and anwser all your technical (or non technical) questions.

Testing/Deploying

You can test your rules changes locally in rules tool

Locally via RulesTool

To test locally, you can use your checkout of github.com/KTManager/KTManagerApp to build RulesTool, and then call it against the folder. KTManagerApp includes an rt.sh script that does the basics here, but if you want to do it manually:

# if you haven't already:
cd KTRules

# build the rules
./build.py clean release

# import them to your local rules db
cd ../KTManagerApp
dotnet run --project KillTeam.RulesTool -- import -r ../KTRules/out

# then run rules tool to see the results, replace 'GK' with the id of your kill team of choice (mine is grey knights!)
dotnet run --project KillTeam.RulesTool -- cost GK

# or to see a particular unit, faction id then model id
dotnet run --project KillTeam.RulesTool -- cost GK GKTE

# or to see all models for a faction
dotnet run --project KillTeam.RulesTool -- cost GK --all

Deploying to KTManagerApp

When you're ready to apply changes to KTManagerApp, make sure that version.txt is correct (see version number above) and checked in, then:

# build the rules
./build.py clean release

# copy them to KTManagerApp
cp -r out/* ../KTManagerApp/SharedAssets/Rules

# fix up the line endings
find KillTeam/SharedAssets/Rules -type f -print0 | xargs -0 unix2dos

Then package up those changes to a commit on KTManagerApp.

ktrules's People

Contributors

bnorus avatar devjonny avatar invice avatar jakemco avatar lacombet avatar tilteffect avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.