Fruity Mod for Slay The Spire
Fruity Mod for Slay The Spire adds an entirely new character class, The Seeker, and a new set of 75 cards for him to use. The Seeker is a purple colored combination mage/astronomer that uses power from the Astral Plane to cast his spells upon himself and his enemies.
The Seeker focuses on utilizing Ethereal cards and new cards in his deck that combine with the Ethereal keyword to make powerful effects. He also can gain strong ablities by debuffing himself or his enemies.
The Seeker is an entirely new playable character. He does not overwrite The Ironclad or The Silent. This mod makes no changes to the base game other than adding The Seeker.
Currently The Seeker is completely playable. We have art for all the cards but it is currently just color adjusted versions of base game assets until we can find an artists. We're still looking for an artist so if you want to do that make a Github Issue
so we can talk to you about it. Also we are well aware that The Seeker is not fully balanced yet. We are doing our best to balance him in line with The Ironclad and The Silent.
- Make necessary balance changes to The Seeker, fix any bugs discovered for the cards used by The Seeker and finish art for The Seeker
- Add some new relics to use as unlocks for The Seeker and add some new relics specific to The Seeker
- Maybe another character... maybe more potions... maybe more events... (we're not really sure about where we're going after The Seeker is done)
Card list: click here
- Java 8 (JRE). Currently only Java 8 should be used, issues with Java 9 are being looked into.
- BaseMod v.1.8.0+ (https://github.com/daviscook477/BaseMod/releases)
- ModTheSpire v2.3.0+ (https://github.com/kiooeht/ModTheSpire/releases)
- If you have
ModTheSpire
already installed you can skip to step 5. Otherwise continue with step 2: - Download
ModTheSpire.jar
from the latest release (https://github.com/kiooeht/ModTheSpire/releases) - Move
ModTheSpire.jar
into your Slay The Spire directory. This directory is likely to be found underC:\Program Files (x86)\Steam\steamapps\common\SlayTheSpire
. PlaceModTheSpire.jar
in that directory so it looks likeC:\Program Files (x86)\Steam\steamapps\common\SlayTheSpire\ModTheSpire.jar
- Create a
mods
folder in your Slay The Spire directory so it looks likeC:\Program Files (x86)\Steam\steamapps\common\SlayTheSpire\mods
- Download
BaseMod.jar
from the latest release (https://github.com/daviscook477/BaseMod/releases) - Move
BaseMod.jar
into themods
folder you created in step 4 - Download
FruityMod.jar
from the latest release (https://github.com/gskleres/FruityMod-StS/releases) - Move
FruityMod.jar
into themods
folder you created in step 4 - Your modded version of Slay The Spire can now be launched by double-clicking on
ModTheSpire.jar
- This will open a mod select menu where you need to make sure that both
BaseMod
andFruityMod
are checked before clicking play
Here is a great video showing how to install mods, by Xterminator: https://www.youtube.com/watch?v=r2m2aL1eEjw
- Fruitstrike (https://github.com/gskleres) for game design, project management, and being a hype train
- ColdRain451 (https://github.com/dvalldejuli) for a ton of card implementations and getting the code base started
- test447 (https://github.com/daviscook477) for card implementations and adding lots of needed API hooks to BaseMod
- fiiiiilth (https://github.com/fiiiiilth) for testing, bug fixes and card updates/implementations
- Pal (https://github.com/Paltorz) for testing and feedback
- Grumpai (@Grumpai on Discord) for the current character model
- Jrawly (@Jrawly on Discord) for character concept art
- Butcherberries (@Butcherberries on Discord) for card art
- LikeAWass, Celerity, JohnDruitt, Zoochz, SirJesterful, and Jimquisitive for playtesting and feedback
- Thanks to the devs of SlayTheSpire for making such and awesome game, allowing us to mod it, and allowing us to use recolored versions of their art assets in our mod
- Thanks to t-larson and contributors (https://github.com/t-larson) for BaseMod!!
- Thanks to kiooeht and contributors (https://github.com/kiooeht) for ModTheSpire!!
- Thanks to all the people who have contributed bug reports or feedback on Discord or through the Github tracker. Without your help we couldn't make The Seeker as well-polished!
Creative Commons and other licenses are great and helped make some of this mod happen.
- Power Cells relic art - (https://www.goodfreephotos.com/) (https://www.goodfreephotos.com/vector-images/simple-battery-vector-clipart.png.php)
- Mechanical Core relic art - (https://pixabay.com/en/spiral-circle-swirl-whorl-design-33987/)
- Java 8
- Maven
- CFR 124 (run this with Java 8, doesn't work well with 9)
- BaseMod v.1.7.0+
- ModTheSpire v2.2.1+
- ModTheSpireLib (whatever version is associated with your version of ModTheSpire)
- Modify
pom.xml
to point to the location you've placed the dependencies - Copy
desktop-1.0.jar
from your Slay the Spire folder into../_lib
relative to the repo. - Decompile
desktop-1.0.jar
withjava -jar "cfr_0_124.jar" --comments false --showversion false --caseinsensitivefs true --outputdir "decompiled" --jarfilter com.megacrit.cardcrawl.* "desktop-1.0.jar"
- Run
mvn package
to make the jarFruityMod.jar
in thetargets
directory
- Right click on the project in eclipse then go to
configure
andconvert to maven project
- Then to build the project use
Run as
and selectMaven build
and specifypackage
as theGoal
for the build - If you get an error about lacking a compiler change the default
jre
for Eclipse to point to ajdk
instead. The Eclipse Maven plugin is weird like that.
- With cards, you need to set
this.baseDamage
andthis.baseBlock
when assigning damage values or block values to a card. This is because the game will computethis.damage
andthis.block
from those values before doing any damage or block actions. HOWEVER when setting magic numbers on cards you must setthis.baseMagicNumber
ANDthis.magicNumber
otherwise the first time the card is used its magic number will be wrong because the game does not computethis.magicNumber
before it is used (it defaults to -1). - Try to keep the damage values, block values, etc... to
static final
constants at the top of the file so it's easier to make edits to the cards for balancing. - If you have an
ethereal
card it needs to override thetriggerOnEndOfPlayerTurn
hook and add in code that looks like this:
public void triggerOnEndOfPlayerTurn() {
AbstractDungeon.actionManager.addToTop(new ExhaustSpecificCardAction(this, AbstractDungeon.player.hand));
}