GithubHelp home page GithubHelp logo

scarf005 / marisa Goto Github PK

View Code? Open in Web Editor NEW
16.0 1.0 7.0 76.94 MB

A continuation mod for Slay The Spire, which adds Marisa from touhou project as a playable character.

License: Other

Kotlin 92.73% TypeScript 7.27%
kotlin mod slaythespire slaythespire-mod

marisa's Introduction

Banner image depicting Kirisame Marisa and the title 'Marisa: Continued'

Kotlin Badge Gradle Badge Latest Release Version Badge Steam Views Badge Subscriptions Badge

Marisa: Continued

a re-continued mod for Slay the Spire, which adds Marisa Kirisame from Touhou Project as a playable character.

Note

Marisa: Continued is a fork of STS_ThMod_MRS mod. Credits goes to the original authors.

Warning

Due to life issues, this project is currently not recieving active maintenance. While I will review PRs as soon as possible, please note that I may not be able to dedicate much time on this project. Consequently, issues may not be addressed in a timely manner. I apologize for the inconvenience.

New features

Better UI for amplifiable cards

amplify.mp4
  • cards glow gold for amplifiable cards.
  • amplified cost will be shown on the card in green color.

Previews for generated cards

Double Spark Binary Stars+ Max Power

Content and Gameplay

Charge

  • when Charged Up, card damage grows up exponentially.
Charges 8 16 24 32
Damage x2 x4 x8 x16
  • charges can be stacked up 1 by playing a card.
  • there are also cards that gives more charges.
  • charges are depleted on attack.

Amplify

  • by using extra energy, cards can be Amplified to become much stronger.
  • some cards will let you not cost energy to Amplify them.

Usage

Installation

subscribe ModTheSpire and BaseMod.

Link to Steam Workshop displaying Project Thumbnail

Compile from source

Warning

development environment is only tested on linux. may not work for other OS

git clone repository https://github.com/scarf005/Marisa.git

Intellij's Project Structure window, with its Language Level set to 8 and SDK to openjdk-17

setup java, kotlin, and gradle in your intellij. language version must be 8.

# fill in your steam directory ending with '/steamapps'
userSteamDir=/home/scarf/.local/share/Steam/steamapps
# default: "$userSteamDir/workshop/content/$gameSteamId"
workshopDir=

copy gradle.properties.example to gradle.properties and provide path to your steam directory.

gradle changelog # install once
./gradlew -t changelog --warning-mode all # dev mode: recompile on changes

run gradle task to copy jar into your steam mods folder.

See lf201014/STS_ThMod_MRS#credits for details.

License

  • Source code: MIT License
  • Resources: CC-BY-NC-SA 4.0.

See LICENSE for details.

marisa's People

Contributors

aleosiss avatar didydidy avatar idbt avatar kamaqueen avatar katinor avatar lf201014 avatar rainfoxest avatar rakkis157 avatar scarf005 avatar sisizanohito avatar skrelpoid avatar wizzyhatg avatar zjl1053318729 avatar

Stargazers

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

Watchers

 avatar

marisa's Issues

NPE when `mysterious beam` calls `gravity beat`

How to reproduce

steam discussion

Crash log

java.lang.NullPointerException
at marisa.cards.GravityBeat.applyPowers(GravityBeat.kt:43)
at marisa.cards.MysteriousBeam.use(MysteriousBeam.kt:55)
at com.megacrit.cardcrawl.characters.AbstractPlayer.useCard(AbstractPlayer.java:1698)
at com.megacrit.cardcrawl.actions.GameActionManager.getNextAction(GameActionManager.java:359)
at com.megacrit.cardcrawl.actions.GameActionManager.update(GameActionManager.java:175)
at com.megacrit.cardcrawl.rooms.AbstractRoom.update(AbstractRoom.java:325)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.update(AbstractDungeon.java:2532)
at com.megacrit.cardcrawl.core.CardCrawlGame.update(CardCrawlGame.java:876)
at com.megacrit.cardcrawl.core.CardCrawlGame.render(CardCrawlGame.java:423)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)

:open_umbrella: setup guidelines for contributing

Summary

  • add CONTRIBUTING.md
    • move install guides to CONTRIBUTING.md
    • add commit style guide
  • add LOCALIZATION.md
  • setup code style
  • fix obsolete gradle task description
  • #103
  • #109
  • label new PRs
  • add description about steamworks error code
  • #155
  • guide on how to enable basemod terminal

crashes on mod settings

Original post

Cause:
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
	at java.lang.String.charAt(String.java:658)
	at com.megacrit.cardcrawl.helpers.FontHelper.identifyColor(FontHelper.java:1218)
	at com.megacrit.cardcrawl.helpers.FontHelper.renderSmartText(FontHelper.java:953)
	at com.evacipated.cardcrawl.modthespire.patches.modsscreen.ModsScreen.renderModInfo(ModsScreen.java:354)
	at com.evacipated.cardcrawl.modthespire.patches.modsscreen.ModsScreen.render(ModsScreen.java:221)
	at com.evacipated.cardcrawl.modthespire.patches.modsscreen.ModsScreenUpdateRender$Render.Postfix(ModsScreenUpdateRender.java:32)
	at com.megacrit.cardcrawl.screens.mainMenu.MainMenuScreen.render(MainMenuScreen.java:622)
	at com.megacrit.cardcrawl.core.CardCrawlGame.render(CardCrawlGame.java:435)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)

소멸 키워드를 뒤로 빼자

Language

Korean

Summary

슬더스 바닐라 카드들 보면 소멸 키워드가 뒤로 빠져있는데 마리사는 유독 앞으로 오게 번역되어 있음

좀 야가다성이 심하겠지만 뒤로 밀어주시면 정말 좋을 거 같음

Are you interested in fixing this issue?

  • I am willing to PR a fix for this issue.

remove typhooncounter

Old implementation of starlight typhoon may have used typhooncounter, but it doesn't.

`events-fr` not found

From steam discussions

by Elund

Summary

https://github.com/lf201014/STS_ThMod_MRS/blob/0a455b34fc78b40bb4042d95822249a85693d2c9/src/main/java/ThMod/ThMod.java#L636-L642

Original mod did not have french translation for events, thus used english event text.

https://github.com/scarf005/Marisa/blob/92e5db9e57805cf6be72dac4ed868a5f46bcf699/src/main/kotlin/marisa/MarisaContinued.kt#L179-L184C14

however, current code tries to load events-fr.json, which crashes due to unhandled exception

Solution

  • load english translation (en) on fail
  • TODO: loading incomplete translation may cause issues

event else branch always evaluates to true

         val abort: Boolean = when (event) {
                is OrinTheCat -> p.hasRelic(CatCart.ID) || (p !is Marisa) && !MarisaMod.isCatEventEnabled
                is Mushrooms_MRS -> floor <= 6
                else -> true
            }

when the game gets an event, it removes it from the pool.
the infinite recursion of all-true branch calling getEvent triggering GetEventPatch calling all-true branch again instantly empties events list and freezes the game.

`NullPointerException` on card's `use()`

override fun use(p: AbstractPlayer, m: AbstractMonster) is inherited from java, thus m is nullable

solution: mark parameter m unused for methods that doesn't use monster at all , so it looks like
override fun use(p: AbstractPlayer, unused: AbstractMonster?)

publish to steam workshop

  • remove stale files
  • update modthespire.json
  • setup semantic release
  • use timestamp for dev
  • use semantic version for release

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.