Logic in DnD

Post/Author/DateTimePost
#1

zombiegleemax

Jun 08, 2007 1:59:24
Hi, all. I felt that I had to write this after reading some of the stuff on this board.

First of all, I don't claim to be someone that knows all the ins and outs of the rules of the game. I misremember more things than I remember, especially the small stuff. However, I do have a passing acquaintance with the principles of programming logic and that is the type of logic that I am talking about in the title of the thread.

What I am trying to do here is to try to introduce a bit of functional logic to the game. What is this functional logic? In simple terms, it is cause and effect with a little bit extra. X happens, so something will now happen to Y. This something is usually a what we call a function call in the old C programming language (hence why I call it functional logic). For example:

A 4th level Druid gets an animal companion (riding dog) with +2HD and some special abilities. The dog gets 4HD and some special abilities. The act of increasing the HD from 2 to 4 is the function call.

The reason why I am introducing this is that functional logic can be used to cut through a lot of issues that seem to crop up again and again. For example:

The 4th level Druid above managed to get Polymorph Any Object cast on his dog and that dog got turned into a very young gold dragon. How should the that be adjudicated? Well, the spell is referred to Polymorph and it is pretty clear. The dog gets all the physical stats and intelligence of the dragon. It gets all the Extraordinary special attacks, but retains... etc. etc. etc. However, what about the extra +2HD? This is where functional logic comes in.

The question that needs to be asked is: Where does that bonus 2HD come from? WotC has already answered this. It comes from the Druid. This is the reason why the animal companion does not get the standard bonuses of extra HD (or as they call it, "advancing the creature") like increased size or stat boosts. The animal does get the feats as appropriate and the skill points, but that is because it is explicitly stated that they do in the Druid sidebar. Thus, the bonus HD is a function of the Druid, not the animal.

This becomes important because now, the former dog is now a dragon. You thus apply the bonus HD to the dog, but they would be dragon HD, and they would increase its BAB, saves, etc., as appropriate to that. The dragon will have 2d8+2d12+Con bonus hp, its BAB will be +3 (+1 base, +2 from dragon), etc. There is an obvious exploit in this, of course, but it will be up to someone else to crunch the numbers to get the optimal hp/BAB combo from both animal HD and bonus dragon HD. That is not what I am trying to get at here.

Now, then, this can also be extended to one of the most contentious issues on the board: The Rainbow Servant. OK, before you start howling, remember that this is all my opinion and the way I look at the game through the lens of functional logic. You can interpret it differently. I am just advancing a way to minimize the strife.

The biggest issue with the RS, of course, is the capstone ability. The question is whether the likes of the Warmage, Beguiler and Dread Necromancer gets access to all Cleric spells. Well, there are several functional calls here. The first is these classes' ability to instantly know and cast all spells on their list. The second is the line in the Extra Domains section that saids that spontaneous casters like the Sorcerer need to learn them as per normal. The third is the RS's call of adding all Cleric spells to the spell-list.

The second function call is the one that lies at the root of the controversy. Well, one of the main things about function-oriented programming is that if the conditions for the function call are not met, the function is not called. The conditions for the second function call is that a) the spellcaster must be a spontaneous caster, and b) they must be like the Sorcerer.

The above three classes satisfy condition a). They are spontaneous casters. However, they do not satisfy condition b). They are not like the Sorcerer. They do not get to choose their spells known. Note that just because they cast spells spontaneously do not automatically make them like the Sorcerer. The Sorcerer does not automatically know all the spells on his list.

Thus, according to the principles of functional logic, that second, vital function call never gets the chance to fire. It should be eliminated from equation. That leaves us with the above classes' ability to instantly know and cast all spells on their list, and RS's function call of adding all Cleric spells to the spell-list. The conclusion is pretty obvious.

So, what I am advancing here is for people to start applying the basics of functional logic to the game. Yes, there will be loopholes (Pun-Pun, for example, is perfectly valid according to the principles of functional logic). I am not saying that there isn't. However, it will cut down on at least some of the strife that you may face at the table as it gives you a logical, coherent format in which to argue the rules of the game and their interaction with each other. At the very least, it will allow you to draw more consistent conclusions to the rules of the game than from gut feeling. At best, it will allow the DM to acknowledge that the player is right, but that Pun-Pun would be too powerful for the campaign, so can the player please try something else.

It would (hopefully) engender less negative feeling than the DM going with gut-feeling and screaming his head off or just plain telling the player "No" without supporting reason.

Happy gaming, folks!