If Bob (with a sword) attacks Joe (with a mace), Joe would defend with his Blades skill… which doesn’t really make a lot of sense. 3rd Ed fixes this with some more sophisticated logic to sensibly determine the defense skill.
A common trope in fantasy settings is to mix and match armor - so like you might have a platemail breastplate but leather arm guards. 2nd Ed only allowed a single protection value for armor. 3rd Ed allows you to assign different armor values to different hit locations.
3rd Ed also adds support for shields and helmets.
3rd Ed has support for mounted combat. It’s pretty basic, but it’s better than the nothingness that was there before.
A variety of configuration options in 3rd Ed make it easier to tweak the damage dealt, which is important in fantasy settings without a lot of medical technology. You don’t want people getting debilitating wounds all the time.
3rd Ed also allows melee damage to be affected by strength, so beefier characters have a chance of doing more damage.
I think those are the main things. There were probably some other minor tweaks I’ve forgotten about.
Sorry, don’t know if this (forum or thread) is the place for it. In a Watching the code in an old instance, with debug on for a few combat related objects but am not seeing what I’m after.
In 2e, is the data for weapon skill limited to one skill; like on the rifle the attack skill is: firearms. Is this lim can this be stacked, firearms+crazything. Similar to how the initiative roll is reaction+reaction, just as its stored but could be changed to other skills.
Only curious my brain is tired of digging through code on objects or trying to watch debug code.
If I locate the correct preceding %q/register that utilizes the skill name drawn from the &weapon_name value list to locate the appropriate value/dots to roll … I could parse that section on the value list?
&weapon_super_punch Combat Data=A punch by a super powered fool | [add([xget(%q,superstrength)],[xget(%q<register),melee)])]
This seems too basic of a solution and that maybe the prior function pulling the skill name has another function to parse out which ruling attribute to add to said skill from the gear data list (which makes more logical sense)? Only curious if I’m on the right track and only due to dyslexia, its hard to follow the trail of functions across a few objects for me is all. I’ll sit down and try to follow all that happens in a +combat/newturn to see how attack works again through the process.
So its taking %q9 to see if its a number, and if it is, it leaves the value there. If the combatant is an npc, it takes the # value set on them, or if its a character, it pulls the skill value and does the ability_level global function to get the value … if all else fails a 4 is dumped in there to keep combat running but I imagine that never happens unless staff has blotched something in data.
So basically, if the weapon attack skill did a quick math, it would still work. But as you noted quickly, its not balanced; and this is understood adding an instance that stacks two skills is unbalanced.
ETA: hit save/post when trying to scroll down, edited to finish this thought
The registers are used across various functions and some of them are localized to that function so my feeling is that wouldn’t work very well.
The system just isn’t set up to do what you want. FS3 rolls skill + attribute; attempting to roll skill + skill + attribute is going to throw off all the success ratios and the balance of the entire system. I wouldn’t advise it.
Completely understood on multiple level by the way. The primary balance of the system is skill+attribute and ‘sneaking’ in some instance of skill+skill+attribute is completely unbalancing. Also due to the nature of functions localized vs global, it would bork things a little to have such a weapon and not be considerate towards NPCs even (as even in the way I’m reading the flow, an NPC will only get their base skill value or it would mess up due to npcs not being players and xget not working if an NPC is armed with a weapon that even tried to do that).
I don’t have any intention of following this road, was curious. And it was to represent a different ‘power’ level, in this case a mundane human vs a altered human with more power. There shouldn’t be reason for this beyond a quick combat modifier, if at all, but I do like to look at the code side for understanding.
This goes to a secondary question and only because I’m overlooking or missing this in the code. During combat when it comes time to roll attack vs defense, is it always, at the moment of the attack, that the attacker is %0 and the defender is %1? This is what I think I’m gathering but am curious.
One of the things to keep in mind is FS3 does not model super-human abilities. (I use that term loosely to include not just superheroes but any form of cyberware, magic, jedi powers, or other augmentation that conveys abilities beyond normal human ranges.)
The reason for this is simply due to the dice system chosen. Once you get past a certain point adding more dice just doesn’t get you much. Your guy in the higher power level really won’t be that much more powerful, because the system just doesn’t work that way.
Rolling 12 dice (expert human type level), you have a 61% chance of getting only 1-2 successes on the roll.
Rolling 18 dice (way above human level), you still have a 51% chance of getting only 1-2 successes on the roll.
So more than half the time, those two guys are going to tie or get within 1 success of each other, which is probably NOT how you want your superhuman dude to perform against a non-super human.
The dice just don’t support different power levels of characters.
As for %0/%1 - there’s no grand strategy. You have to look at each individual function call. You can find commented versions in GitHub here.