No announcement yet.

New Game Feature: MCombat 4

  • Filter
  • Time
  • Show
Clear All
new posts

  • Kurzon
    started a topic New Game Feature: MCombat 4

    New Game Feature: MCombat 4


    What follows is a very long post detailing every aspect of MCombat 4, how to use it, and how the mechanics and formulae determine outcomes.

    If you're like me it's probably a lot more than you need/want to read, and really it's not necessary to know everything in this thread unless you're a number cruncher. If you just want to get started, I suggest reading the FEATURES SHORTLIST below to get an idea of what is possible in MCombat 4, and then skip to the QUICK START GUIDE at the end. Other than that, various features are broken up into their own categories and can be read up on as you like.


    MCombat 4 is the latest combat system addition for Castle Marrach. It is a fast paced turn based combat system allowing characters to perform multiple attacks per turn in a string/combo called an 'attack sequence', with the number of attacks per sequence depending on dueling skill levels and attacks used. Designed particularly for team combat, MCombat 4 removes the "tempo/timing" based system of Duel 2.0, replacing it with a strategic turn based system. For the first time MCombat can now be used in player-against-player combat as well as its traditional role of player-against-CNPC (computer controlled characters). MCombat 4 additionally includes ranged combat support; finally sorcerers (and archers) may use the same standard combat system as swordsmen and other melee fighters.

    Why this?

    While planning out the general direction we want the game's story to take, it became apparent that the currently existing system for player-against-CNPC combat was not going to be sufficient to support some of the scenes and mechanics we wish to introduce to the game. In particular, the ability to have CNPCs fight other CNPCs (eg. shadows against undead) or to have CNPCs fight alongside players, or players to fight other players alongside allied CNPCs was impossible with the older system, and this is something that will be required with where the game's story is headed down the road. With a rewrite of the entire MCombat core code necessary to implement these changes, I also decided to redo the combat system design, addressing the slow pace and lack of strategy involved in earlier versions of MCombat.

    MCombat 4 does not replace Duel 2.0 as the preferred one-on-one player-against-player combat system for Castle Marrach, though it can be used to that end if agreed upon by both players. Instead, MCombat 4's main intended role is to act as the combat system of choice during multiple-opponent duels (something extremely difficult to do with a timing-based system due to spam and targeting difficulties) or combat involving CNPCs or ranged abilities.

    MCombat 4 utilizes the existing martial skills your character has already learned to determine most attack rolls and skill related dice rolls, but also adds 9 new weapon proficiency skills, each with 10 different special abilities tied to that specific weapon skill, from hard hitting powerattacks, to stances and styles that change how your character fights, to passive 'always-on' abilities and an array of infighting techniques that can daze or knock down an opponent or inflict any of a series of 9 combat debuffs. Levels in these new skills are granted retroactively for characters with pre-existing martial ability, dependant on your standard dueling skill levels. Otherwise skill levels in the new skills can be taught and learned normally through use of @study and @teach.


    MCombat 4 implements the following features:

    - A turn based combat system allowing players to use a number of attacks per turn in an attack combo, the amount based on their character's speed.
    - Intended primarily for multi-opponent and team combat, removing timing/tempo as a factor and instead requiring strategy.
    - Players can attack one another for the first time in MCombat, and monsters/CNPCs of opposing factions will attack one another if they encounter each other as well (ie: undead vs spiders).
    - Uses existing dueling skills your character has already learned, and implements 8 new dueling weapon proficiency skills granted to you for free based on your current dueling skills, and otherwise attainable through normal teaching methods (@study/@teach).
    - Support included for combat proximity; ranged characters such as archers and sorcerers can engage from a distance and must be approached before being attacked.
    - Different weapons fight differently in MCombat, requiring tactful selection of abilities when fighting opponents with varying weapon types, and MCombat CNPCs now have monster classes that make them fight differently as well.
    - MCombat effects library allows you to inflict effects on your opponent; bash your opponent in the face with a shield to daze them and lower their defense rolls, or knee them in the gut, knocking the wind out of them and disabling their fatigue recovery. Or, if you're a sorcerer, use less physical means to cripple your opponent, or several opponents at once.
    - Uses a series of almost 100 different MCombat abilities based on skills and equipped weapon, ranging from regular attacks to power attacks to defensive techniques to counterattacks to attack-interrupts and more.
    - CNPCs now use a threat system, MCombat monsters will attack the characters who inflict the most harm on them, or attack them with special attention-drawing abilities.
    - MCombat with non CNPCs is now "opted into"; bystanders or witnesses observing a fight during a plot scene are not automatically pulled into combat unless the Plotter-controlled NPC attacks those characters.


    1) Before You Begin: @Upskill
    2) Starting Combat
    3) The Attack Sequence
    4) Attacks Rolls and Fatigue
    5) Triggered Abilities
    6) Movement and Combat Proximity
    7) Effects
    8) Weapon Skills
    9) Ranged Combat
    10) CNPCs
    11) Survival Areas
    12) Command Index
    13) TLDNR Quick Guide
    14) Closing, Etc

  • Kurzon
    Updates 2018-12-04


    A number of changes have been made to try to increase the speed of MCombat matches between players, in particular by lowering some of the defenses granted by shields.

    - Blocking an attack no longer halts it outright, but instead reduces the amount of fatigue damage taken by the target.
    - Chance to block is no longer reduced by the target's offensive skill level. Block chance starts at a base of 25% and is increased by 5% per skill level in the Guard dueling skill. Block chance is increased by 15% if using the 'shield cover style'. Block chance cannot exceed 75% total.
    - Damage reduction from blocking starts at 20% and is increased by 5% per skill level in the Shield weapon skill. Damage reduction cannot exceed 50% total.
    - This means at rough skill cap (level 7 in Guard and Shield) a shield reduces incoming damage by 30% (60% chance to reduce damage by 50%).
    - Likewise, to compensate, damage of hand-and-half weapons when used in two hands (presently longsword or spear) has been reduced to 130% (was 150%). When used in one hand, hand-and-half weapon damage has been raised to 90% (was 80%) to make them more viable in one hand while still slightly less effective than true onehanders that can only be used single handed.
    - True two handed weapons which cannot be used in one hand now deal 143% damage (was 150%). This means that two handed bludgeons and axes (which cannot parry) do more damage than longswords and spears (which can).
    - A fully two handed weapon at 143% damage having its damage reduced by a shield's 30% reduction (30% of 143 not of 100) should therefore deal the same amount of damage to the shield wielder as the shield wielder's one-handed weapon deals back (143*0.7 = 100).


    A few changes to the user interface during MCombat have been made to attempt to assist players in more quickly choosing their abilities, as the vast majority of delay during MCombat matches seems to come from players trying to figure out what abilities to use.

    - Current and maximum fatigue are now displayed to a character at the start of their turn.
    - A new command, @abilities, gives the user a quick reference guide of all abilities that can currently used based on currently equipped weapons and learned skills. Includes a quick listing of AP and FP costs, along with a one sentence description of what that ability does when used. Note that not every ability has a description in this library yet - it's a work in progress, but because of how the library is being written, the descriptions for abilities are generated dynamically by reading the properties of an ability - this means this command will always be accurate; changing how an ability works, should I need to, will change the information @abilities sees when scanning that ability and update automatically.
    - Typing @combatants will now also list people in the room who have readied for combat if combat is not taking place. This should hopefully make it easier to start group combat without accidentally missing people.


    - Numerous AI related bug fixes were implemented that should make MCombat vs CNPCs crash less often.

    My hope with these changes it to make MCombat smoother and less time intensive than it presently is, both by reducing defenses and also cleaning up the UI for quicker player decision making. Admittedly a large part of the MCombat time sink is user error, people are going to have to practice with the system to get it moving more quickly, and large scale 4v4 battles (and bigger) that it often gets used for are always going to be much longer than 1v1 duels. But I think that the above changes will help both with balancing and with speed of combat. Barring that, I can simply implement an across-the-board damage increase down the road to shorten matches. However, many of the observations of fights taking "too long" right now are taking too long because groups of characters are fighting defensively using shields and longspears whereas the system was balanced for "tanks" to do low damage but take a lot of it before they fall, a fight between two shield users is always going to take longer than a fight between two longsword users.

    Leave a comment:

  • Kurzon
    • Fixed a bug where the last fighter in a turn sequence would not progress their debuffs, resulting in them suffering their debuffs for the rest of the fight (eg. indefinite knock down).
    • Knockdown abilities should now (finally) function on CNPCs/monsters without breaking on their turn.
    • The @guard command should now properly work for shield bearing fighters with the shield guardian ability.
    • Fatigue no longer immediately recovers after a real/live MCombat fight, even if not in a survival area. Fatigue instead now slowly regenerates after any live fight and should automatically start recovering slowly whenever not in combat, until full.

    Leave a comment:

  • Kurzon
    Good morning,

    Today I have added the @ability command as a convenience-of-life feature for MCombat 4. The @ability command can be used to call any existing MCombat ability and return that ability's stats and functions to you in a small reference guide. Information pulled includes the ability's name, associated skills, action point cost, focus point cost, cooldowns, effects and other parameters. Hopefully this will make it quicker/easier for you to determine your character's next move without a lengthy pause to review the MCombat how-to post.

    Note that some abilities with special scripts (anything with an area-wide effect like shaft sweep) won't quite correctly read out their effects, as the script can only detect the normal properties that determines an ability's function, and cannot read through custom scripts to translate what an ability does.

    Thanks and happy gaming!

    Leave a comment:

  • Kurzon
    I've made some updates this afternoon to MCombat, particularly insofar as CNPC functionality is concerned.

    Monsters and other AI will no longer force you into an MCombat confrontation on sight. Instead, when encountering a monster, you will use @mcombat 'fight to start a battle as usual, or @mcombat 'join to join a battle already in progress. While encountering a CNPC won't automatically initiate MCombat anymore, the CNPC will still prevent you from leaving the room until you fight it, forcing you to deal with it or wait for help.

    A large part of this decision stemmed from how un-smoothly the old method was working from a coding perspective. Particularly when large groups of players on follow chains would encounter other groups of monsters, we were suffering a lot of errors with characters not getting into combat in the same round due to lag, or some properties not being read properly which was causing a lot of the bugs and MCombat crashes we were suffering with CNPCs.

    The decision isn't entirely for code purposes, however; it allows us to add some conveniences too. Characters who wouldn't normally be fighting now no longer have to. Witnesses, people being escorted, bystanders hiding under the table as monsters attack, etc, no longer get pulled into MCombat automatically, meaning they don't have to constantly @pass their turn (and those fighting don't have to wait for them to do so).

    It's also allowed me to implement a limit on how many people can be in combat at a time. Currently, each mcombat team is capped out at a maximum 5 members in combat at a time (so in most cases, 5 monsters and 5 players at a time). This should reduce the amount of waiting for turns to pass, but it also makes it easier for Staff to create balanced enemies by knowing how many players we'll be dealing with (it's hard to gauge how much health a monster should have if it could end up fighting anywhere between 4 and 25 players at a time). As characters get defeated in combat they can still be swapped mid-fight; if a group of 8 player characters runs into a group of 4 monsters, only 5 players can fight at once, but if one gets injured or weaken, he can step out and withdraw and let another player take his spot, using the normal @mcombat 'withdraw and @mcombat 'join commands.

    Lastly, since combat doesn't start immediately, ranged characters can set their ranged combat area before each fight starts using @area. This would allow you to, for example, set your bow wielding character to start this fight in the southern end of the room so that CNPCs on the north end have to cross the room to you before attacking. Or, when fighting in large groups, send the appropriate characters to face the current challenge (eg: if fighting a number of CNPCs with heavy armor, send your characters with armor-piercing weapons into the fight first).

    I've tested these changes and they seem functional from the couple fights I had. However, a good part of the overall mcombat code was written assuming X rules would apply, when you change those base rules from X to Y there's a reasonable chance that something unforseen that was dependant on X rules might malfunction. As always, if something odd occurs please file an assist.
    Last edited by Kurzon; 02-06-2018, 07:32 AM.

    Leave a comment:

  • Kurzon
    Hello everyone,

    I have completed the revised stat weighting for MCombat. This is a concerted re-assigning of the values of different stats and skills in MCombat that will affect your character's combat performance. The re-weighting was done based on data pulled on how well characters perform in MCombat based on their skill levels, against characters of both similar and varying skill levels, and employs a formula I wrote that aims to forcibly keep characters within the general strength values I desire them to be at for their skill levels.

    The formula aims to weight stats such that a fight between two evenly skilled characters will last for approximately 5 to 7 turns. This is assuming both fighters are using basic attacks only and using a one handed sword only, varying circumstances will alter the average result (ie: two fighters using two handed weapons will likely end their fight quicker than above due to increased damage output, whereas two fighters using shields will likely take longer than above, though a fighter with a two hander versus a fighter with a shield should average out about the same). This formula factors in the total health of both combatants, along with their average damage per turn after calculating in likely damage reduction from parries, and also factoring in average fatigue restored by rest per turn.

    The first difference that you will immediately notice is that numbers are a lot higher. New characters who previously started around 150 combat fatigue are now sitting around 800, higher end player characters further towards the current player plateau are looking at numbers closer to 6000, and some will be higher than that for those few pushing on Master level defensive skills and/or possessing a higher-then-normal fatigue stat. Damage likewise has been scaled with the new health values, sitting around 450 for a thrust and 700 for a cut on a Senior Artisan'ish character (one third of which, on average, will be parried each turn and another one-third which would be rested back, assuming combat against a character of the same skill levels as you, this makes the average damage per attack sequence

    Changes from the previous version of MCombat include:

    * Fatigue is now calculated by an accumulation of your five defensive dueling skills: Guard, Recover, Attacking, Rest and Dodge.
    * The scaling of these skills is no longer linear. What this means is that the difference between Artisan (6) and Senior Artisan (7) Rest is bigger than the difference between Senior Apprentice (3) and Fellowcraft (4). Each skill-up in a defensive skill increases your MCombat fatigue by more than the previous skill-up.
    * The weightings of these skills are no longer identical. Guard makes the biggest contribution to your total fatigue per skill level, followed by Rest (Rest however overtakes Guard in total fatigue value once you factor in the fatigue that Rest grants you each turn - roughly about one third of the damage you can expect to take per turn fighting a character of equal skill to yours).
    * Your weapon skill level in the weapon you are using now also affects your damage output, instead of just giving you additional skills to use. Your base damage is determined 50/50 by your dueling skill being used for that ability (ie: cut or thrust) and your weapon skill (ie: polearm, dualwield). These two stats now combine to create your base damage INSTEAD OF your weapon being the base damage.
    * Weapons now serve as a damage multiplier. One handed weapons do 1.0x base damage, two handed weapons now do 1.5x base damage, and shields grant a 33% chance to block all damage. This in mind, a character using a two handed sword against a character using a sword and shield would both be doing roughly the same amount of damage to each other (the one-third block chance on the shield negates the one-third extra damage on the two handed weapon).
    * The functionality for dodge has been changed. Dodge no longer acts as a general damage reduction stat, but now acts as a defensive roll that triggers only against attacks that cannot be parried. If attacked with an ability that cannot be parried, you will instead attempt to dodge it using the same formula as other defensive rolls. This makes dodge particularly useful when fighting ranged characters (including if you're a ranged character yourself).


    * Looked into a bug about knockdown not wearing off after 1 turn, was not able to replicate this bug. If it happens to you please file an assist and include the names of both the attacker and target and what weapon(s) they were wielding.
    * Finally narrowed down a bug with @interrupt not working in cases where two combatants were using different weapon types, @interrupt appears to be fully functional now.
    * Weapon inspection has been updated and should now display some weapon traits it did not used to show if the weapon has them (such as functioning as a silver weapon).


    Sorcery should be right around the corner. I have to individually update a lot of spells to get them working with MCombat 4, but the framework and formulae are in place (in fact if you enter MCombat as a sorcerer you will get some unusual stat readings that non sorcerers don't get, this is because the code is mostly in place).

    Leave a comment:

  • Kurzon
    Hey all.

    MCombat will be down'ish for the next day or so while I implement a series of bug fixes, a large balancing update to fatigue and damage output, and to implement MCombat Sorcery.

    During this 'downtime' it will still be accessible but may not function properly while in the process of being updated.

    Leave a comment:

  • Kurzon

    After gutting and rebuilding the entire hit formula script, I think I've finally found the sweet spot for hitroll balance. To do this, I've switched the script from a d20 system to a straight up hit% formula ranging from 1 to 100, which allows me more room to manually toy with hit chances.

    Having 5 mock battles using this new formula, with two characters of identical skills set to the soft skillcap (BG Preceptor/Duelist Senior/Corporal in martial guidelines) and each combatant using different weapons during each battle, all 5 battles went to 5 rounds before one combatant or the other dropped, with the victor a swing or two away from going down himself. No special moves were used during these test battles, but if special moves significantly change the outcome, then its likely those abilities that need to be tweaked, not the overall hitroll script.

    Matches will probably be quicker than the 5-round goal if fought between new or non-martial characters, even if evenly skilled, because of much lower max fatigue cap and fatigue recovery rate. However the lower damage output may counteract that to an extent as well.

    Other than the completely rebuilt hitroll script, updates are as follows:

    • The amount by which your offensive dueling skill (cut, thrust or feint depending on the attack) increases attack damage is now 10% per skill level, up from 5% in the old system.
    • The base chance to flawlessly defend against an attack by a character of equal skill to you is 30%, down from 50% in the old system.
    • The minimum chance you can possibly have to flawlessly defend against an attack is 10%. There was no minimum chance prior.
    • The maximum chance you can possibly have to flawlessly defend against an attack is 65%, though achieving thus number would require some combination of higher skills, bonuses from weapon type such as the "long" trait in polearms and longswords, and/or defensive bonuses granted by styles or special abilities like shield guardian. There was no maximum defense chance prior.
    • The chance to neutralize a cut or thrust attack using the sentinel, warding, lightfoot or strafing styles is now significantly decreased if the attacker is wielding a sword type weapon. These styles are primarily meant to be used against non-sword weapons, to represent the "control" that a sword has over less versatile weapons in real life weapons combat. The chance to neutralize attacks from swords still makes the styles worthwhile using against swords, but not to such an extent where sword vs sword matches are a guessing game of "which style is he using this turn?"

    • Fixed a bug where extra attacks procced by the dual wielding "dual strike" passive were doing 0 damage.
    • Fixed a bug where AP reducing abilities "whirling assault" and "rapid style" were not properly reducing AP cost.
    • Fixed a bug where shield and dagger abilities were not registering.

    • Some tweaks have been made to emits.
    • Neutralizing a thrust type attack via the sentinel style or ward style now appears as: You deflect X's <attacktype>
    • Neutralizing a cut type attack via the lightfoot style or strafing style now appears as: You sidestep X's <attacktype>
    • You can now disable your mcombat style using @style "none"

    • Area attacks such as shaft sweep seem to be suffering targeting issues.
    • The shield wall style isn't working, this was broken when the hitroll formula was gutted and needs to be rebuilt now.
    • Some weirdness is occurring when people join fights already in progress, particularly if some combatants have set a team and others have not. Not entirely sure the cause for this yet but I assume it's some oversight in the script that determines what team a character should be on.

    Leave a comment:

  • Kurzon
    • Tweaked damage formulae again. All offensive martial skill levels now passively increase all damage dealt for all attacks by a small percentage per skill level. Max fatigue and fatigue recover rate significantly increased to keep up with the new increased damage output.
    • Experimenting with two identically skilled test dummy characters with top skills in the Senior Artisan area and low end skills in the Fellowcraft to Journeyman area, getting in 3 to 4 attacks per turn in which about 50% of those attacks were parried, my test fights were lasting about 5 turn sequences. We'll see how the new numbers hold up in less controlled environments.
    • Fixed a bug that was causing successful MCombat special attacks to deal 0 damage.
    • Fixed a bug causing counterattacks to break combat.
    • Worked on the MCombat "UI" a bit to try to condense and smoothen the information you get and make it a bit less spammy.
    • The emits of some moves were changed. A success hitroll that drains fatigue but does not strike your character will now emit you staggering back instead of dodging, and perhaps desperately parrying or blocking as you stumble. This is not to be confused with a "flawless parry/block", which shows a different emit and deals no damage.
    • Looked into a bug where @style was not working but could not reproduce. Make sure you have the necessary style skill that you're trying to activate, and also that the necessary weapon to use that style is currently equipped.
    • Fixed a bug that would error out MCombat if using the feint attack while dual wielding with the dual striking passive skill.
    Last edited by Kurzon; 10-11-2017, 08:21 PM.

    Leave a comment:

  • Kurzon
    I've spent a good chunk of the afternoon toying with MCombat formulas, increasing hit chance and fatigue damage dealt and fixing some bugs. Let me know how things feel from here, is damage too high, too low, are duels too fast, too slow, etc.

    Leave a comment:

  • Kurzon
    • A bug fix has been implemented to address @upskills that were added improperly causing some skills not to be taught, or to be taught when they should not. If you used @upskills prior to this posting, your @upskills have been wiped and skill points refunded. You should be able to use @upskills again to set your skills properly this time.
    • Fixed an error occasionally occurring when focus points are granted.
    • Fixed a bug that would cause MCombat to crash when using a debuff inflicting ability on a character who is dual wielding.
    • Fixed a bug that would cause MCombat (and Duel 2.0) to sometimes think you were dual wielding if you had wielded a secondary weapon using @dualwield and then dropped it without unwielding first.
    • Fixed a bug where you could @dualwield the weapon you were already wielding in your main hand, wielding the same weapon twice.
    • Fixed a bug that would cause MCombat to crash when passing turn to a character suffering a debuff effect.
    • Fixed a bug that would cause MCombat to crash when passing turn to someone wielding a polearm.
    • Added a new command, @status, that can bring up a number of combat stats including current action and focus points, cooldowns, current weapon type, style, and other combat related info.

    Last edited by Kurzon; 10-05-2017, 03:45 PM.

    Leave a comment:

  • Kurzon
    Update Log

    2017/10/04 - Fixed a bug where @mcombat skills list would break if skills were placed into the sidearm category.
    2017/10/04 - Fixed a bug where shield and polearm category skills were not showing in @mcombat skills list.
    2017/10/05 - A bug fix has been implemented to address @upskills that were added improperly causing some skills not to be taught, or to be taught when they should not. If you used @upskills prior to this posting, your @upskills have been wiped and skill points refunded. You should be able to use @upskills again to set your skills properly this time.
    2017/10/05 - Fixed an error occasionally occurring when focus points are granted.
    2017/10/05 - Fixed a bug that would cause MCombat to crash when using a debuff inflicting ability on a character who is dual wielding.
    2017/10/05 - Fixed a bug that would cause MCombat (and Duel 2.0) to sometimes think you were dual wielding if you had wielded a secondary weapon using @dualwield and then dropped it without unwielding first.
    2017/10/05 - Fixed a bug where you could @dualwield the weapon you were already wielding in your main hand, wielding the same weapon twice.
    2017/10/05 - Fixed a bug that would cause MCombat to crash when passing turn to a character suffering a debuff effect.
    2017/10/05 - Fixed a bug that would cause MCombat to crash when passing turn to someone wielding a polearm.
    2017/10/05 - Added a new command, @status, that can bring up a number of combat stats including current action and focus points, cooldowns, current weapon type, style, and other combat related info.
    Last edited by Kurzon; 10-05-2017, 03:46 PM.

    Leave a comment:

  • Kurzon

    @advance - Move your character's combat proximity during your mcombat turn.
    @area - Set your desired initial combat proximity prior to an mcombat match starting, for player versus player matches.
    @attack - Initiate a melee attack sequence against a target during your mcombat turn.
    @avoid - Use focus points to avoid a slow power attack being used against you, does not have to be your turn.
    @combatants - Call a list of all characters currently in this fight, display their team, combat proximity and current target.
    counter - Counterattack an opponent's attack when prompted, does not have to be your turn.
    @guard - Use a defensive buff to significantly increase your character's defenses against all attacks in the current attack sequence being made on you.
    @interrupt - Use focus points to interrupt a fast power attack being used against you, does not have to be your turn.
    @mcombat - Call up most mcombat commands related to manually starting and ending mcombat fights with other players.
    @pass - Pass your current mcombat turn. Up to 50% of your initial Action Points carry over to your next turn.
    @style - Change your current fighting style, can only be done during your mcombat turn and before attacking.
    @team - Set your desired team for player versus player matches.
    @upskill - Update your new mcombat skills based on your dueling skills.


    AKA: "This post is too long, how do I just get started?"

    0. (optional) Use @upskills to set your weapon skills.
    1. Find another eager player to fight with
    2. Start combat using @mcombat 'ready then @mcombat 'practice after you've both readied
    3. Attack one another in turns using @attack <target> '<first ability name> <second ability name> <third ability name> (etc...)

    XIV. Closing, Etc

    Well that was a long post. However long it took you to read it (assuming you're masochistic enough to have read it all) it took me much longer to write, so please forgive typos as you find 'em.

    The MCombat 4 system is huge. Massive. So ridiculously big that I promise you there will be bugs. While I have tested stuff as I've gone along, it's hard to test every way someone might break a system this complex with so many different moves to factor in and circumstances in which a misplaced property might cause a move to break.

    As of right now, the current release of MCombat 4 should be considered a Beta/Test release. It's far quicker and easier for me to release it and let you find ways to break it than it is for me to sit down and trying to think of every way you might. However, when you break something, it generates an error log that makes it easy for me to find and fix the problem, which is usually a misplaced comma somewhere amongst ten thousand lines of code. Expect bugs, and report them when they come up, and try to hang on to some information in case I come and ask you, like what attacks you were using at the time or various circumstances leading up to the break.

    For now, in this test release, the following features are not available:
    - Ranged combat, be it archery or sorcery. Still sorting some issues with this. You can move your combat proxy but you can't actually use ranged attacks yet.
    - CNPCs. I'm polishing off the AI that runs MCombat CNPCs, and testing how their bodies work in MCombat compared to our MGeneric human bodies that are built a lot differently. Until I get this sorted, no CNPCs are being updated to the MCombat 4 system.

    Leave a comment:

  • Kurzon
    X. CNPCs

    CNPCs (Computer Non-Playable Characters) are computer controlled characters not driven by a player on the other side. These are your couriers, castle bridge guards, bartenders and so on. Certain CNPCs exist within the game designed for MCombat purposes, in fact that was the original MCombat's sole design. In MCombat 4, running across a CNPC will automatically trigger combat with that CNPC unless it recognizes you as a friend. Since the vast majority of MCombat CNPCs are the monsters that roam the deeper regions of the mountain, by default, almost no CNPC is going to have a friendly reaction towards you. When encountering CNPCs who engage you in combat in this manner, MCombat is initiated as involuntary or forced MCombat, this changes a few of the MCombat rules, such as automatically assigning your combat team and initial fighting area instead of letting you pick these manually.

    CNPC Classes

    MCombat CNPCs are broken into 7 classes which affect their abilities and how they fight, as well as how you should engage them. These are:

    Agiles; The agile class is comprised mostly of fast, small statured, 'beast-like' CNPCs such as rats, wolves and spiders. Agile CNPCs have high speed and will often attack first when combat begins. Agiles have a high defense against cuts and other slow attacks, and counterattack with high frequency after dodging said attacks, but are vulnerable to thrusts and fast attacks.

    Defenders; The defensive class consists of CNPCs equipped with shields and sometimes armor, occasionally seen amongst skeletons and other humanoid monsters. They block both melee and ranged attacks with high frequency and will use their shields to inflict debuffs that deter their opponents' damage dealing capabilities. Thrust attacks do little to deter them behind their shields, but cutting attacks can damage and break their shields, disabling their ability to inflict debuffs and exposing them to attack. In the event the defender is wearing armour it will still take significantly less damage from your successful weapon strikes, however armor penetrating weapons and abilities can lower and even negate this penalty entirely, and most magic attacks are unaffected by it.

    Berserkers; These are highly offensive weapon wielding humanoid CNPCs, often wielding two handed weapons. They can deal a high amount of damage over a short period of time but have weak defense, making them a vital target to kill quickly once an engagement begins.

    Fighters; Fighters are the basic weapon-wielding humanoid MCombat CNPC class, often equipped with a single one handed weapon. They are typically 'stronger/more skilled' than other CNPCs of the same level but can be engaged with whatever strategy best suits the player's current skills and weapon.

    Shamblers; These are shambling, hulking, skulking enemies, primarily comprised of zombies. Enemies of this class tend to act as 'damage sponges', with low defensive ability but a high health pool. They are best treated as 'filler' to kill after more threatening enemies are dealt with, or handled using high damage abilities or abilities which kill in a single hit due to their low evasion but high health.

    Archers; Ranged combatants, usually using a bow. As ranged CNPCs they will typically not be in range of melee fighters to attack for the first couple turns, which means a tanking character cannot draw their attacks. Additionally, their bow attacks cannot be parried, meaning targets without shields are exposed to their ranged attacks, which often land critical strikes regardless of fatigue and wound their targets. Because of the danger they pose and the difficulty tanking them, they should usually be the first target of friendly ranged fighters.

    Casters; The magi version of Archers, using magic instead of bows. The abilities of magic vary so widely such as to make it impossible to summarize what a caster may or may not do when encountered, but it will always be unfortunate. Casters should always be seen as a high threat, though they are few and far between.

    CNPC Guards

    Some of the Castle's guards are being upgraded to the MCombat system, you will note them as they will appear as "a Yeoman" instead of "a guard" (since that's what they actually are). Castle guards are MCombat CNPCs instructed to treat players as a friendly faction, which means most characters have nothing to fear from them. The purpose of these guards is to act as a defense that weak or non-martial characters can flee to when being attacked by a criminal player.

    There are some balances and limitations to how this works. Chiefly, these guards do not wander. It is the role of player character law enforcers to catch criminals, and it is my belief that having CNPC guards skewer any criminal PC they see on sight robs criminals and law enforcers alike of roleplay. For this reason, the MCombat guards only provide security to 'safe areas', they will not patrol the castle and they will not seek or pursue criminals outside of their designated post, and they will not attack any wanted criminal on sight, only the most notorious, or those who instigate a fight with them first by attacking another player in MCombat in front of them.

    At this time, the only designated 'safe area' is the center of the Grand Bridge, additionally some of these guards can be found scattered throughout the Inner Bailey. Anything further west of the Grand Bridge into the Outer Bailey is wild land and you'll have to sort it the old fashioned way; defend yourself, blow a duckcall, run like hell, etc.

    CNPC guards can be killed and do drop their weapon and other gear when slain, and if all guards at an access point are slain, that access point can be bypassed (so yes, in theory, you could kill the bridge guards and anyone would be able to enter the IB until they respawn). That said, the guards are well equipped, reasonably skilled and stand guard in groups, so a single player character would have a difficult time storming the Inner Bailey.


    Survival areas are dangerous regions of the Castle Marrach game where MCombat CNPCs are known to wander and attack players on sight, these include primarily areas in the Under Bailey or outside the shelter of the castle proper. In survival areas you retain your condition from one fight through the next without recovering from your previous battle; your fatigue will not reset to full, your ability cooldowns are not reset and any debuffs you are suffering will remain present when you commence your next fight. This means that a long trek through a dangerous area will wear your character down even against lesser enemies, ensuring there is always risk to your (mis)adventure.

    Scattered throughout survival areas are nestled safe regions that monsters cannot reach, entering these areas allows you to restore your MCombat condition once again after a short breather.

    In regular areas such as those within the castle this is a non-issue, your current fatigue and other stats are reset when you start a new battle, the same as they do in Duel 2.0.

    Leave a comment:

  • Kurzon
    IX. Ranged Combat

    Archery and Throwing

    The MCombat commands for archery and throwing are the same as the commands when used outside of MCombat. The @attack command is not used, instead, @shoot and @throw should be used to attack your desired target(s), preceded by @load and @aim where necessary. If engaged in MCombat these commands will only work during your MCombat turn and will cost Action Points. If enough Action Points are not possessed to complete the desired command that command will not work. The amount of action points these commands take uses the same formula the old @ranged system did - the more skilled you are the faster you load and shoot your weapon.

    Because you do not use @attack to attack in an normal attack sequence, this means it is possible to @shoot at multiple different targets throughout the course of your turn, if you can reload and fire again quickly enough to do so, however you're very unlikely to land any quantity of attacks comparable to what would be achieved in an attack sequence combo. Thus archery attacks do very little in the way of actual fatigue damage, instead seeking critical hits to injure a target while they still have fatigue remaining.


    For the first time, sorcerers can use the same standard combat system as everyone else; regular 'duels' with sorcerer characters are now possible using MCombat 4, and Sorcerers fill a unique role in the MCombat 4 system. Their action points at the start of their turn is determined by their sorcery skill instead of their recover dueling skill.

    If you bothered to read the Effects section of this thread, you've seen that debuffs play an important role in combat, and no one excels at inflicting these more than a Sorcerer. Melee combatants can apply debuffs certainly using abilities like Hilt Strike, but their ability to do so is limited; these abilities are on cooldowns and require melee range. Sorcerer spells that achieve the same have no cooldowns, they are only limited by the amount of willpower a Sorcerer has to cast their abilities. Further to that, Sorcerers do not use @attack, but instead cast their abilities normally on their turn using their focus. This means that the Sorcerer can use abilities on multiple different targets per turn, and ultimately maintain a series of crippling debuffs on multiple characters at once.

    In addition to this, some sorcerer spells can be used to positive effect, granting allies focus points or dispelling certain debuffs they are afflicted by. They can also control the flow of battle against CNPCs by manipulating a CNPC's disposition to those around it, guiding CNPCs away from weakened allies and instead influencing them to focus on your own defensive allies, or even other enemies in the case of battles with three or more teams. If necessary, and if the correct spells are possessed, large amounts of willpower can be sacrificed in offensive spells to 'nuke' particularly threatening enemies as well.

    As is the case in dueling, Sorcerers suffer a massive fatigue penalty in MCombat 4, meaning that an enemy who gets within range of your Sorcerer will make quick work of him if allowed to stay there. Thus Sorcerers should fight in the back lines as support characters when possible, allowing melee companions to draw the attacks of other melee opponents.

    The following existing spells have revised functions for MCombat 4 based on their roleplay use in-game:


    Since sorcery and what it can do is somewhat of a IC trade secret, I won't be going into details here. I am however working on a sorcery command to allow you to call the help text (the spiel you get when first learning a spell) for any spell your character currently knows, and those help texts will be updated for these spells.

    Leave a comment: