OrcPub Checklist. Uploaded by Jason Christopher Perry. Document Information click to expand document information Description: Fuck you. Did you find this document useful? Is this content inappropriate? Report this Document. Description: Fuck you. Flag for inappropriate content. Download now. Related titles. Carousel Previous Carousel Next. Jump to Page. Search inside document. Need data quick? Janary Damacena. Fernando Luiz. Robin Denzil Williams. Taufan Mahardhika. Georgjio-Bix LaStrange.
Mark Raymond. Jason Bourne. DM of Call of Secrets. Angelo Navarro. Gabriel Chagas. Anonymous 3cFnKosFqz. Sprouting Chaos Player's Companion Update 2. Grant Adams. Carlene Lyndsey. Tess Mercer. Ron Cotton. Fausto Passarelli. Dave Nolon. Marco Antonio Lara Torres.
Okay, this is probably still manageable. Then consider what happens when some cool subclass comes along that gets an initiative bonus at 9th level.
Now it starts getting more unmanagable. When you try to add every option from every book into the mix, each of which might have some totally new condition for modifying initiative, you quickly end up with a nausiating ball of mud that will be scary to work with.
OrcPub2 decentralizes most calculations using modifiers associated with selected character options. When you add options you also specify any modifiers associated with that option. For example, in the OrcPub2 entity example above, we have the elf option:. If you build a character that has this :elf option selected, the modifiers will be applied the the :dex-bonus and :race in the built character.
Let's look closer at the? The second argument to the modifier function is a special symbol that prefixes a? The third argument is a modifier body. This can be any Clojure expression you like, but if you will be deriving your new value from an old value or from another attribute you must use the? In this example we updating?
Modifiers can be derived from attributes that are derived from other attributes, and so forth. For example, we may have a character whose options provide the following chain of modifiers:. Either our initiative calculation would throw an error our it would be completely wrong since the other derived attributes it depends on have not been applied yet. There is no logical ordering for which options should be applied, so modifiers can very well be provided out of order.
For this reason we have to build a dependency graph of derived attributes and then apply the modifiers in topologically sorted order. Identifying these dependencies is why we use the? Q: Ummmmm, why is your code so ugly, I thought Clojure code was supposed to be pretty.
A: Yeah, about that That lead to a stressed-out me and ugly code. Help me make it pretty! Q: Mwahahahaha, now that I have your code I'm going to fork it and build the most awesome website in the world that will totally frackin' annihilate OrcPub2. I'm going to call it FlumphTavern Come at me bro! Q: Blahahahaha, you done fracked up, we are super-mega-corp Hex Inc. What you got to say about that, huh, beotch? A: I'm down for that, your app makes me sad, if you were to combine your official license and professional visual design with my more modern technical and UX design, your app would make me happy and I could justify paying all the money for all the content.
Q: I'm a newb Clojure developer looking to get my feet wet, where to start? From there you might add some unit tests or pick up an open issue on the "Issues" tab and add unit tests with it. Q: Your DSL for defining character options is pretty cool, I can build any type of character option out there.
How about I add a bunch on content from the Player's Handbook? A: I love your enthusiasm, but we cannot accept pull requests containing copyrighted content. We do, however, encourage you to fork OrcPub and create your own private version with the full content options. Skip to content. Star Code for OrcPub2.
0コメント