Coder Social home page Coder Social logo

lvisintini / imperial-assault-data Goto Github PK

View Code? Open in Web Editor NEW
17.0 6.0 6.0 402.87 MB

An easy-to-use collection of data and images from the Imperial Assault Game by Fantasy Flight Games.

License: MIT License

Python 100.00%
imperial-assault game star-wars fantasy-flight-games

imperial-assault-data's Introduction

Imperial Assault Data

An easy-to-use collection of data and images from the Imperial Assault game by Fantasy Flight Games.

What you can find inside

In the data directory you will find all the data for the game in JSON formatted files. The data structure loosely mimics that of a relational database.

For example, with the .data/source-contents.json file you can determine the contents of a particular product by filtering the entries by source_id.

You can find an example on how to do this in the ./examples folder, along with other examples.

All entries have an associated image (or 2) that you can find inside the ./images/large (for high resolution images) and the ./images/small folder (for low resolution images).

The images rotated and aligned so that they are not askew, and they all have consistent sizes (check the Image Sizes section for more on this).

Usage

There are several ways you could include this in your project.

git submodule add https://github.com/lvisintini/imperial-assault-data.git
  • By downloading the release zip files. All releases for this project include 2 builds
    • one with the low-res images and,
    • one with the high-res images.

I do not know what would be the best way to distribute these assets, as they are meant to be cross platform.

I this regard, the project is open to suggestions

Bugs / Issues / Suggestions

Please open a ticket on Github.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request ๐ŸŽ‰

When adding images please use TinyPNG to reduce their file size as much as possible without affecting image quality.

If you want to contribute to the project and you know how to program in python, you may be interesting on setting up a development environment, although this is optional.

git clone [email protected]:lvisintini/imperial-assault-data.git
cd ./imperial-assault-data
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6
sudo apt install python3.6-dev virtualwrapper
mkvirtualenv --python=/usr/bin/python3.6 imperial-assault-data
pip install -r requirements.txt

py.test

Testing

Each change in the dataset is checked against a multitude of test that are meant to preserve the integrity of the data. This is done automatically for each code change on this repo.

Alternatively, you can also run the test suit yourself by setting up your environment and running py.test

Versioning

This project uses SemVer. Given a MAJOR.MINOR.PATCH version number, we will increment the:

  • MAJOR version when existing content is changed in such a way that it can break consumers of the data
  • MINOR version when new content is added in a backwards-compatible manner, or existing content is changed in a backwards-compatible manner
  • PATCH version when fixing mistakes in existing content

Contributors

The initial load of images and data was put together by scraping http://cards.boardwars.eu/, I do not know this guys personally, but I'm grateful to them for putting together such a great source of data.

Image sizes

What follows is a list of all the image types and their sizes for large and small.

Large Small
Source 300x300 300x300
Standard 476x740 301x470
Mini 424x657 293x454
Mini (Flipped) 657x424 454x293
Hero Sheet 1490x1186 650x515

The table bellow shows you the expected sizes for all the different images included in this data set.

Source Standard Mini Mini (Flipped) Hero Sheet Any
sources.image โœ”
skirmish-maps.image โœ”
agenda-cards.image โœ”
command-cards.image โœ”
condition-cards.image โœ”
deployment-cards.image โœ”
heroes.healthy โœ”
heroes.wounded โœ”
hero-class-cards.image โœ”
imperial-class-cards.image โœ”
supply-cards.image โœ”
story-mission-cards.image โœ”
side-mission-cards.image โœ”
reward-cards.image โœ”
companion-cards.image โœ”
upgrade-cards.image โœ”
threat-mission-cards.image โœ”
form-cards.image โœ”
card-backs.image(agenda-decks) โœ”
card-backs.image(command-cards) โœ”
card-backs.image(companion-cards) โœ”
card-backs.image(condition-cards) โœ”
card-backs.image(deployment-cards) โœ”
card-backs.image(imperial-classes) โœ”
card-backs.image(heroes) โœ”
card-backs.image(upgrade-cards) โœ”
card-backs.image(reward-cards) โœ”
card-backs.image(supply-cards) โœ”
card-backs.image(side-mission-cards) โœ”
card-backs.image(story-mission-cards) โœ”
card-backs.image(threat-mission-cards) โœ”
card-backs.image(form-cards) โœ”

Disclaimer

This project is not produced, endorsed, supported, or affiliated with Fantasy Flight Games.

The copyrightable portions of Star Wars: Imperial Assault and its expansions are ยฉ 2014 - 2018 Fantasy Flight Publishing, Inc. Star Wars, and the characters, items, events and places therein are trademarks or registered trademarks of Lucas Film Limited and are used, under license, by Fantasy Flight Games.

All Rights Reserved to their respective owners.

imperial-assault-data's People

Contributors

lvisintini avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

imperial-assault-data's Issues

Support iaspecname Canoncial Names

I'm looking at using the imperial-assault-data files within XStreamer and a possible Android application. One thing that would help is the ability to reference the data in the deployment cards and the command cards, by the iaspecName. This will allow for easy reference for the iaspecname format that XStreamer and TableTop admiral support. The Canonical name is pretty straight forward, and is documented here:

https://github.com/kingargyle/iaskirmish-data/wiki/Canonical-Names

Having this would allow exporting of data from Tabletop admiral, importing the squad into XStreamer (or vassal if it supports it), and then referencing it via the specname to the deployment and command card data you have created.

More test coverage

  • Check all foreign key in the data are not broken
  • Check "id" values do not skip a number in the integer sequence
  • Check all ids are unique
  • Check there are no broken image file paths
  • Check all non-unique deployment cards have a "description" value equal to null
  • Checks for consistency related to the attributes "unique", "reinforce_cost" and "deployment_group" for deployment cards
  • Checks for consistency related to the attributes "reinforce_cost" and "deployment_group" for deployment cards
  • Check all "Skirmish Upgrade" deployment cards include "Skirmish" and only that value for "modes" property.
  • Check all "Feat"-type hero class cards have a "traits" set to null
  • Check all "Feat"-type reward cards have a "traits" set to null

Missing images and types in Agenda cards

Typo

[Heart of the Empire] Field Commander: Unyielding Dedication
[Jabba's Realm] Guild Hunters: Abandon Contract

Missing

[Hondo Ohnaka Villain Pack] Ohnaka Gang: Final Offer
[Hondo Ohnaka Villain Pack] Ohnaka Gang: Missing Treasure
[Hondo Ohnaka Villain Pack] Ohnaka Gang: The Pirate's Ploy
[Thrawn Villain Pack] The Art of War: Piece By Piece
[Thrawn Villain Pack] The Art of War: The Admiral's Grip
[Thrawn Villain Pack] The Art of War: Three Steps Ahead
[Tyrants of Lothal] War of Attrition: Acceptable Margins
[Tyrants of Lothal] War of Attrition: Costly Victory
[Tyrants of Lothal] War of Attrition: Selfless Devotion
[Tyrants of Lothal] Weapons Division: Gas Canisters
[Tyrants of Lothal] Weapons Division: Ongoing Research
[Tyrants of Lothal] Weapons Division: Prototypes

Surge abilities, special abilities and passive abilities in deployment cards

Hi, would you be open to adding at least surge abilities to deployment cards? I'm writing a skirmish calculator (something like: Han vs Vader go run a monte carlo simulation of 5000 attacks). It would benefit from having at least surge abilities into the data model. I will then take into account passives and special abilities too. If you want I can help with the job of adding such information in your model. I believe it's pointless to make my own data model and then aggregate it with your at runtime using same IDs. Let me know! Thanks!

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.