Giter Site home page Giter Site logo

puzzlemod's Introduction

PuzzleMod

About

PuzzleMod is a mod for Slay the Spire that implements a "puzzle" mode. In this mode, each floor of the Spire is an independent puzzle with its own cards, relics, potion, etc., which must be solved in order to progress.

Installing

PuzzleMod is available on Github or Steam workshop.

Steam Workshop

Subscribe to this Steam Workshop project:

Github Releases

Head to the Releases page and download the latest version of PuzzleMod.jar. This should then be placed in the mods folder of your Slay the Spire installation directory (if you are using Steam, you can find this by right-clicking the game, and navigating to "Manage", then selecting "Browse Local Files").

Running

To use the mod, you must launch Slay the Spire with mods enabled, then ensure that "PuzzleMod" is selected in the mod configuation dialog.

Building

The mod can be built locally using Maven. There are some steps you must following first, though, for this to work.

Install Slay The Spire on Steam

The only supported build configuration requires you to have Slay the Spire installed through Steam. This should work on both Windows and Linux, though this has not been heavily tested.

Install Steam Workshop Dependencies

You should install Mod the Spire, BaseMod, and StSLib through Steam Workshop. This is done by "subscribing" to the respective pages of these tools:

Setting up a settings.xml file for Maven

This tells Maven where to find all of the local Slay the Spire Jar files. My settings.xml file looks like this. This file should be placed in the appropriate location for your system. Typically, this is inside a folder named .m2 in your home directory (/home/username/.m2 on Linux, C:\Users\UserName\.m2 on Windows). Read this link for more information on settings.xml.

You will likely need to update the sample XML file to suit your local system. The critical thing is that the following variables are set:

  • sts-home: Should be set to the location of your Slay the Spire installation (typically a folder named SlayTheSpire somewhere in the local Steam folder.)
  • sts-jar: Should be set to the path of your Slay the Spire jar distribution, a.k.a. desktop-1.0.jar. This should be in sts-home.
  • basemod-jar: Should be set to the path of your local BaseMod jar file (BaseMod.jar). This should be somewhere within Steam\steamapps\workshop\content.
  • stslib-jar: Should be set to the path of your local StSLib jar file (StSLib.jar.jar). This should be somewhere within Steam\steamapps\workshop\content.
  • mts-jar: Should be set to the path of your local Mod the Spire jar file (ModTheSpire.jar). This also should be somewhere under Steam\steamapps\workshop\content.

Build the Mod

After downloading the source, the mod can be built using:

  • mvn clean install

This should be run from the root of the repository. Assuming your settings.xml file is configured properly, this should compile the source and copy the mod jar file to the appropriate folder in your Spire installation.

If you just wish to build the source, without installing, you can run:

  • mvn clean package

Custom Puzzles

Check out the wiki (https://github.com/will-snavely/PuzzleMod/wiki) for information about creating custom puzzles.

puzzlemod's People

Contributors

will-snavely avatar

Stargazers

 avatar REME avatar freya avatar Ernest French avatar  avatar

Watchers

 avatar

puzzlemod's Issues

Add support for "starting stance" to the puzzle file

A puzzle should be able to start off a player in a given stance (Calm, Wrath, etc). Currently, this is not possible.

This will require adding a field to the puzzle file, and adding code to apply the stance when the room loads.

Support switching puzzle files in game (Backend)

One idea:
Define the concept of a Puzzle directory, somewhere in the Spire game directory.
Puzzle files must be placed into this directory to be seen by the mod.
To implement this, we probably need:

  1. Mod configuration setting to point to the location of the puzzle directory. Default location of mods/puzzlemod/puzzles, or something.
  2. Minor tweaks to the puzzle loading logic to support this new idea.

Friendlier crashes

Maybe load into a room and tell the player something went wrong, instead of just hard crashing.

Support switching puzzle files in game (Frontend)

Users need a way to load a different puzzle file at runtime.

Initial idea: add a widget in the "Mod Settings" section of the game, to support choosing a different puzzle.
Probably will load possible puzzles from a "Puzzle Directory" (see #2)

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.