-
Notifications
You must be signed in to change notification settings - Fork 305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Full cult gamemode refactor - Foundational work (runes, talismans, arcane tome) #9053
base: master
Are you sure you want to change the base?
Conversation
Looking at the code for soul stones, it turns out that it'll be a pretty big undertaking unto itself; as a result, to make the maintainers at least somewhat less horrified, I'll defer it for a future PR so that this one can focus on the main stuff. |
317d2a3
to
c115e94
Compare
c115e94
to
cc9b122
Compare
There's still testing in progress and general touchups here and there, but I am tentatively ready to say that I think this might be ready for review. I'm sure there's lots to do and plenty of mistakes I've made, but my (new) goal of getting the runes, talismans, and tomes refactored seems to be mostly complete. If this gets merged, follow-up stuff would include work on constructs. |
7e92bd7
to
0f8bc30
Compare
…cult-refactor-take-dos # Conflicts: # code/game/gamemodes/cult/ritual.dm # code/game/gamemodes/cult/runes.dm # icons/mob/suit.dmi # icons/obj/clothing/suits.dmi
6207776
to
1250369
Compare
this was originally a project I mothballed. then I had an actual real life dream that I was a nar-sie cultist, though, and at that point it kind of became a legal requirement that I finish it
purpose
cult's code is among the oldest in the repo, and it shows. the amount of bugs and overhead is ludicrous for what it is, the code quality is in general pretty hideous, and the age shows abundantly. cult never really gets played, and I'm fairly sure that the bad code quality is a pretty big reason for why. even if it's just bringing it up to the same functionality as current (more or less), having the code be modernized paves the way for making it not suck or to have it be reworked.
the goal here is to ensure roughly full feature parity with the current code, barring deliberate adjustments and removals. although the code is being completely remade, having the gameplay start more or less the same seems like a good start towards potential feature updates in the future.
details
key front-end changes
key back-end changes
where to begin?
/obj/effect/rune
from scratch. logic is now dependent on various subtypes, rather than being base-level procs. a bunch of logic like required invokers and such can now be easily overridden (and in some cases varedited) on a per-type basis./obj/item/paper/talisman
from scratch in much the same way as runes - logic has been generalized and moved onto subtypes as relevantto-do
media/extra info
early example of the tome's nanoUI interface:
c5V5yJ8E0e.mp4
the alchemical symbol used in the background image is in the public domain and is taken from this wikimedia commons page
testing
I've done quite a bit of testing of various runes, talismans, and things on a local server using my own account and a guest client, both with spawned-in things and with tomes created the regular ways. so far things feel pretty stable in casually messing around with the tools the antagonist has, but it's definitely nothing that'd compare to an actual round of play.