PyReach
-
@somasatori Keep this up and people are going to expect you to start a game.

-
Basically everything Iāve been doing lately has been in support of the sheet. Iāve reached a fairly comfortable place when it comes to data entry and displaying that to players. Iām not great with the Evennia web stuff, so Iām trying to make sure there are utilities available within the client to view details. I might try to dive in to look at how to display these on the web. Theoretically it shouldnāt be reinventing the wheel since Iām just using python dicts. All of our data entry on Dies Irae was based around loading JSON files which ended up being fairly easy to incorporate into Django. I am fairly sure thatās why Kumakun decided on that route.
I reworked the +info from Dies Irae a little bit and have it displaying the data directly from the dictionaries. It seems to work⦠better than when we were importing from JSON? Cautiously? One of the big plus sides of nWoD/CofD is that there are fewer stats and, more importantly, fewer stats that are called exactly the same name. The big ones Iāve run into so far have been Mage spells having similar names to merits, but thatās easy enough to work around.
Some examples:
+lookup (the new +info) on its own:

Letās look at Forces spells:

Letās take a look at Control Heat:

Now letās take a look at some Vampire powers. Letās check out Animalism:

Letās see what Summon the Hunt does and requires:

As an aside, the bottom is wrong. In this case Iām broadly using the lookup output method I use for Rites/Ceremonies/Gifts/Contracts/etc. for leveled powers like Disciplines. Animalism is tracked by using +stat animalism=<value>. If you wanted this specific power, you would do +stat animalism=3, or +xp/spend Animalism (three times). Then you would have Animalism 3, or the first through third level abilities.
So largely I took the information on Codex of Darkness to quickly fill this out. Iāve gone back through to verify that everything looks copacetic with regards to their book entries.
Oh yeah! I also took the āgenericā commands from Dies Irae and put them into a folder. I also stripped out some of the overcomplicated bits from them that often caused them to fail miserably. For instance, I removed any web-based workflow from +finger so that it solely interacts with elements on the character db object. I wrote up a readme file explaining what to remove if you didnāt plan on using the PyReach/CofD system. There are only a handful of commands that rely on other things, most notably the say/emit/pose system and languages. In Dies Irae, and inherited into PyReach, you could speak a different language in poses and emits by using the tilde (~) key. You could, for instance, write out something likeā¦
@emit Listening to John, Soma gives a short, curt nod and responds, āThat all sounds workable.ā They turn to Sam and say ~Where are we with the plans for tomorrow night on your side?
If I had my language set to Arabic, the text after the tilde and before terminating punctuation (question marks, periods, exclamation points) would display to anyone who also had Arabic set as one of the known languages, otherwise would show a general āsomething you donāt understandā message if someone did not have that language. This way you could flip back and forth out of the language by alternating between ~ and standard quotation marks.
If youāre not planning to use the language system ā for example, if you arenāt using the
characters.pytypeclass in PyReach ā then thereās a small section in the pose/say/emit commands that you need to comment out, which I explain in the readme. Iām going to have another Evennia developer dummy test this to verify that it all looks okay ā a lot of this stuff is Dies Irae code which was worked on a lot, but could be questionable at times ā and hopefully would be a good, easy-to-implement command set for people who might be nervous about Evennia due to familiarity with Tiny/Penn. -
@somasatori So when is the soft launch and what California city is it set in?
-
@MisterBoring said in PyReach:
@somasatori So when is the soft launch and what California city is it set in?
Whyfor California, when Miami is right there?
-
@Jennkryst said in PyReach:
@MisterBoring said in PyReach:
@somasatori So when is the soft launch and what California city is it set in?
Whyfor California, when Miami is right there?
Itās a running gag since more recently we had City of Hope, Liberation and Dies Irae pop up in California.
If I were to run a modern nWoD game, Iād probably make it either in the Midwest (like more Great Plains style around Oklahoma City or something rather that Chicago), Pacific Northwest (probably Eugene or Portland due to familiarity) or the Rust Belt, probably Pittsburgh. Each of these settings would inform the spheres Iād use, with the Rust Belt being Geist and/or Vampire, PNW being Changeling, Mage, or Werewolf (or two of those), and the Midwest being Hunter (I have an idea for a hunters-only game that Iāve been talking out with folks). I also had this idea of a southwest desert sort of thing, set in maybe New Mexico or maybe Arizona, but I donāt really have the personal connection to either of those places that I do with the others.
ETA: however, I do not have the time to run a game atm!
-
@somasatori But how will we have hot beachtime parties, if there is no ocean for the beach?
-
Double Post, but WHAT IF some LAZY PERSON finally got around to explaining the EverWorld of Darkness crossover setting
of dumb chaosdelightful shenanigans? Would that somehowtrick someone into running itmagically appear on itās own, somehow? -
@Jennkryst said in PyReach:
EverWorld of Darkness crossover setting
My brain went in several directions:
-
A crossover of Everquest and World of Darkness, where players combine WoD Spheres with Everquest classes in a bizarre gothic punk fantasy world of grindy adventure.
-
A crossover of Everway and World of Darkness, where players make their WoD characters using image cards and then traverse the planes having weird adventures.
-
A crossover setting between all three major versions of WoD (OWoD / NWoD / CoD) where the three realities fight to ensure their world is the one that survives an oncoming cataclysm that will leave only one standing.
-
-
@MisterBoring I would play that Everquest one, that would be fun as hell
-
@MisterBoring said in PyReach:
@Jennkryst said in PyReach:
EverWorld of Darkness crossover setting
My brain went in several directions:
-
A crossover of Everquest and World of Darkness, where players combine WoD Spheres with Everquest classes in a bizarre gothic punk fantasy world of grindy adventure.
-
A crossover of Everway and World of Darkness, where players make their WoD characters using image cards and then traverse the planes having weird adventures.
-
A crossover setting between all three major versions of WoD (OWoD / NWoD / CoD) where the three realities fight to ensure their world is the one that survives an oncoming cataclysm that will leave only one standing.
I guess Iām finally finishing that post about one of trans ally and author of Animorphs Katherine Applegateās other series, Everworld.
-
-
@somasatori Iād play the fuck out of WoD fantasy isekai.
-
@Jennkryst said in PyReach:
I guess Iām finally finishing that post about one of trans ally and author of Animorphs Katherine Applegateās other series, Everworld.
Animorphs is one of those Missed Settings things for me. Where are the animorphs mushes!
-
@somasatori said in PyReach:
@Jennkryst said in PyReach:
I guess Iām finally finishing that post about one of trans ally and author of Animorphs Katherine Applegateās other series, Everworld.
Animorphs is one of those Missed Settings things for me. Where are the animorphs mushes!
Child Soldiers being forces to commit war crimes? I thought people didnāt want bad reality to invade their imagination fun times?
ahem
I mean it could be a thing. Itād be a short-lived game depending on where in the timeline you set it (here is in-depth analysis about when, exactly, each book takes place; itās also 1h 45m long. Good Luck/Have Fun!).
-
@Jennkryst said in PyReach:
I guess Iām finally finishing that post about one of trans ally and author of Animorphs Katherine Applegateās other series, Everworld.
I remember that book series. I read the first book, it reminded me of that old Canadian kidās show The Odyssey in a way, and I didnāt finish the series because the first book did nothing for me. It seemed well written, but it just didnāt hook me.
-
@somasatori I forked your github to work on the merit dictionaries without causing you to get millions of notifications from git.
If you want to peek at what Iām up to, my most recent work is in https://github.com/wagenbach/PyReach-Revision/tree/main/world/cofd/meritsredux. When Iām done, Iāll let you know and you can merge the fork back into the main if you want, or just copy files over individually.
-
@MisterBoring Ah! Itās you! Thanks so much for doing that!
-
@somasatori All 2e merits are done. Everything was reorganized, Iāve updated the lookup_data.py to reflect the new groupings. If you want to drag stuff over and test it against main, feel free. Iām going to start working on the legacy merits next.
-
This post is deleted! -
Iām still plugging away here! I think Iām close to a good release candidate, with the exception of the web-facing side. The main things Iāve been working on lately have been in display consistency, since the primary mechanics-based stuff has been done for a bit.
Some general wishlist items Iām continuing to work on:
- making equipment a little less complex for the admin; right now the only way to modify the equipment is to modify it directly in the equipment_database.py file. Itās not exactly complicated to do so (see below), but Iām really going for the experience of not having to touch any of the code itself after it gets initialized. I also have a second piece for equipment which can only be managed through the equipment_purchasing.py file (also see below).
- the mysteries system, which is usable but I feel is missing something. The point of it is to create options for people to be involved in plots when they canāt otherwise be. For instance, Australian or European players who are working with a storyteller who lives on the US West Coast and rarely gets a chance to run scenes when the Euro and Aussie players are around.
- Automated combat because, man, those WoD combat scenes
- I havenāt put a ton of focus on the legacy templates outside of my initial implementation of them, so I need to finish those up in case people want to run nwod 1st edition games.
Melee weapon example "chainsaw": WeaponData("Chainsaw", damage=3, initiative_mod=-6, weapon_type="melee", size=3, strength_req=4, availability=3, tags="bleed, inaccurate, two-handed") Ranged weapon example: "rifle": WeaponData("Rifle", damage=4, initiative_mod=-5, weapon_type="ranged", size=3, strength_req=2, availability=2, capacity="low"), Armor example: "flak_jacket": ArmorData("Flak Jacket", general_armor=2, ballistic_armor=4, strength_req=1, defense_penalty=-1, speed_penalty=0, availability=2, coverage=["torso", "arms"]), General equipment example: "crime_scene_kit": EquipmentData(name="Crime Scene Kit", category="mental_equipment", die_bonus=2, durability=2, size=3, structure=2, availability=2, effect="Toolbox with investigative aids: magnifiers, fingerprint dust, cameras, tape, chemicals, sample bags. +2 to Investigation. Allows evidence to be moved and analyzed offsite at leisure.", skill_bonuses={"investigation": 2}, special_properties={"forensics": True, "evidence_collection": True}),The special properties and coverage donāt really do anything at the moment, as that links back to the mysteries system and automated combat system. Hereās what this looks like on game:


And so on. The other configuration piece for equipment is similar to how XP is configured, using the admin commands. By default, it is a pool of resource points that you can spend on a monthly basis. This has been set up to be modifiable to address how frequently you want people to be able to buy things, whether you can save points on a time-by-time basis (default being that you add new points into your existing pool each month). I also inserted a couple supplemental merits that increase your resource pool, notably Status and Contacts. In Chronicles of Darkness, purchases are made via availability, so anything that adds to your ability to buy equipment is (in my mind) centered on your ability to source and acquire it, which includes who you know.
I think I mentioned this before, but XP can be configured in either a weekly auto release situation (default is 1 XP per week), or on a +vote system, both of which are easily configured with regards to how much XP you can acquire per week, or how much XP a +vote provides. The XP system is tied into the other functions of the game, such as roll (exceptional successes, dramatic failures), integrity rolls, and conditions and aspirations, which are all managed by the players.
I made the integrity roller a little prettier. This is using a Vampire character sheet with Humanity 6. I succeeded at my check, therefore I maintained my humanity, acquired a beat because I had a degeneration roll, and gained one of the conditions suggested in VtR.

In several cases including this as you can see, I use EVMenu to select conditions rather than rely on the player to do it manually via the +condition command. There is also an option to add a condition using the +condition command, which will also show you what conditions you have set on yourself when you use it.
Recently Iāve been playing around more with the Demon integrity stuff. Demons have the option to create additional covers when they hit a certain level of Primum (among other methods). Itās not as elegant as I would like, but right now you set your current primary cover and your integrity will be based off of that. Since Demons donāt gain a beat or condition if their Cover drops (correct me if Iām wrong), it just affects the rating based on the roll:

Thereās probably a lot of other little things Iāve done in the past
sixfive months that are generally escaping me at the moment and I also donāt to blow this up with a ton of screenshots more than I have. Anywho, still truckinā!One last thing is that I took a lot of those generic sort of MUSH commands that people expect which were mentioned above and put them into their own commands folder called ācommonmuxā with a cmdset. The intention is that you can just grab that cmdset and import it into your default_cmdsets file. This contains the following commands: alias, alts, emit/pose/say (with language mixin), +finger, ooc chat, tabletalk/places, shortdesc, +staff, +who, +watch, page, +weather, and +note. Iāve run through the process of getting around ten-ish different Evennia installations up and running while installing those and the only problems that arise are related to the tabletalk/places commands and the language mixins with pose/say/emit. Those two rely on the pyreach characters and rooms typeclasses. I put in some instructions on what exactly you need to remove to get them to work, though! Goal being that it makes Evennia emulate the MUSH experience a bit better so people feel more comfortable with it.
-
@somasatori It looks like youāre very very close to being able to run a CoD game.
