Exalted 2.5E Framework 1.09

MapTool campaign files that encapsulate properties, tokens, and macros for a particular ruleset or game world. "Framework" is often abbreviated "FW".

Moderators: dorpond, trevor, Azhrei, giliath, Gamerdude, jay, Mr.Ice

Forum rules
This forum is LOCKED. If a thread belongs here, use the "Report" feature of the post to let a moderator know to move it. General discussion should occur in the User Creations or MapTool forums.
Post Reply
User avatar
Venatius
Dragon
Posts: 256
Joined: Mon Feb 16, 2009 7:12 pm

Exalted 2.5E Framework 1.09

Post by Venatius »

This framework is a gameplay aid for the "2.5" (for those not in the know: Not an official edition, just 2nd with errata factored in) edition of White Wolf's RPG "Exalted". Simple enough, eh? Please use this thread for bug reports, questions, suggestions, etc. Instructions are divided up section-by-section below, in spoiler tags for compactness.


General Caveat: Safety not guaranteed. This is being used in an ongoing game, and bug/functionality testing, features, general cleanliness, and all other aspects are under equally ongoing development. If you want to play using it, I encourage you to not immediately commit. See if it suits your needs. Prod it for bugs. If anything seems hideously unwieldy, let me know and I will try to fix it if possible. I have no sense of design aesthetics whatsoever, so this thing is pretty ugly, I have to warn you. It's functional more than pretty or professional.
This framework was made with/for Maptool 1.3b87. As far as the features it uses go, I am not sure how far backwards-compatible it is with older versions.
I have been having problems receiving e-mail notifications for replies to this thread. If you have a question, go ahead and post it here, but please PM me to notify me that you did so! Otherwise I might well go months without a simple reply like I did for some of these other folks I've let down. :oops:
Known Bugs:
Maptool 1.3.b89 appears to have a glitch which screws up the output of private rolls. To work around this, disable smilies in your Preferences (Edit>Preferences>Chat section>Insert Smilies checkbox). I am told this is being worked on.
"Begin Combat" macro works normally if run via the shortcut in the campaign macros, but not if run directly off the Lib token. I have no idea why. The same may go for other macros, so please use the Campaign macros if at all possible. Fortunately, it seems very unlikely anyone will have any reason to run this off the Lib token.
The Dash action only adds to your movement speed on the tick you employ it. This is less of a "bug" and more of me not being 100% sure how to best implement it, or even exactly what ticks Dashing is supposed to affect. Exalted's movement rules are surprisingly needlessly complex if you lean on them. :?

Download Link

Current version: 1.09
Version history
Spoiler
1.00: Initial release.
1.00a: Added actual graphics for anima gauge.
1.01: Built in non-buggy safeguards against attacking/editing attacks when no attacks have been defined. Added Limit tracker (explained below under macro walkthrough).
1.02: Incorporated Overdrive mote pool. Added automation for "get more than 1 damage die per threshold success" in attacks. Set up more confirmation-type output to display to only the ST and the player (if executed by a player). Some of the more trivial confirmations will probably be reworked to display only to the player, but they're currently set to alert the ST simply for security's sake, in case there's any concern of cheating.
1.03: Added support for social combat. See new section below.
1.04: Add mote commitment system (documentation to be added soon). Fixed nonfunctional social trait configuration dialog.
1.04a: Distinguished basic rollers into roller and simple roller. The latter allows for rolls with no character selected. Added virtue channel regain to the Regain dialog. Added "Anima" light source. A little re-organization of macros.
1.04b: Fixed bad defaults for Configure Character macro. Fixed display glitches for other configuration macros. Fixed mangling of display on private messages if tooltip roll default is disabled.
1.05: Implemented manager for in-combat movement. Fixed Configure Character macro resetting health levels of non-extras. Set ending combat to clear recorded Join Battle successes. Added framework preferences.
1.06: No longer necessary to select all combatants to Begin Combat. Fixed error in adding same token multiple times to init list. Fixed error in Commit macro. Now prompts for stunt reward collection on Leave Combat. Implemented post "holding" system (see below).
1.07: Add framework preference to toggle automatic Leave Combat on killed tokens. Fix Announce Posts not properly resetting the Lib token. Remove tooltip formatting on private text. Fix late joiners to combat resetting everyone's initiative. Add "Ready" token status indicator (see added text in combat management section). Fix stunt reward implementation. Display warning on Next Tick if tokens are still due to act on the current tick, which can be switched off in Framework Preferences.
1.08: Display current mote pools in expend/commit dialogs. Allow adding Personal motes to anima banner, optionally. Set Abort macro to set Ready indicator. Set up anima banner icon to auto-recede when DV refreshes. Add "Reduce Anima" macro. Add "Roll/expenditure purpose" fields. Add "Show dice approximation on private rolls" framework option. Add knockdown/optional knockback automation on attacks. Trade out "Dying" property for Stamina and automate stunning. Add red triangle indicator to show which tokens have posts queued for Announce Post macro. Set Leave Combat to abort if any selected tokens aren't in combat, instead of just throwing an error.
1.08a: Correct "purpose" variable prompt glitch on damage rolls. Set lib token to be PC rather than NPC so it doesn't get numbers added to its name when copied. Tweak display of incap/dying/dead states. Set health recovery to re-set incap/dying/dead states correctly.
1.09: Automate DV penalties to not apply until the tick after they're incurred if in combat. Automate wound penalties to not apply until the tick after they're incurred if in combat. Add ability to do both personal and peripheral mote commitment on a single commitment entry. Add "Morph" macro, to facilitate Lunar characters. Clean up attack macro target list. Add beta mass combat support. Assorted fixes.
1.09a (upcoming): Fix copious bugs introduced by new "delayed" in-combat DV/wound penalties. Improve Morph for in-combat use (now removes previous token from combat and adds the new one). Fix particularly embarrassing mistake of rounding down damage against extras instead of rounding up. Minor fixes to still very tentative mass combat support.
A distant future version may support a full built-in character sheet. That won't happen until/unless I can figure out how to make it halfway attractive, and will more or less necessitate a ground-up rebuild of the framework, so don't expect it soon, if ever. (Update: With 3E coming out some day in the relatively foreseeable future, this goal can probably be considered struck down, barring unexpected outpouring of demand.)
A basic kludge for mass combat has been implemented. Documentation will be added to this page in the near future, possibly with an incremental followup release where it's cleaned up a bit.

Overview:
Spoiler
This framework is meant as a gameplay aid, NOT as a character creator or a fully detailed character manager. For that, I recommend Anathema (http://anathema.github.com/). Its primary use is for speeding up and easing rolls and calculations in game, as well as tracking frequently-changing variables. It does not monitor your attributes/abilities, experience, Charms, etc. You will want a "real" character sheet alongside it in order to track long-term, major changes. However, for its functions, it does track and utilize the following, which you will need to update should changes to your character modify them:

* Join Battle dice pool
* Offense-related weapon stats
* Essence motes (including Overdrive pool if any)
* Willpower
* Virtues and virtue channels
* Limit gauge (defaulting to 10 but adjustable) (This functions for similar systems like Resonance as well)
* Soak (natural and from armor)
* Health levels
* Extra/Non-Extra character status
* Appearance attribute (for social combat)
* Stamina attribute (for dying health levels and determining risk of stun)
* Knockdown threshold (Stamina+Resistance, plus any other applicable bonuses)
* Defense values

The framework is designed to allow for a flexible degree of partial automation. Partial automation means that you can just click through and accept default values for most things. However, Exalted is built on a million tiny exceptions and alterations. For that reason, it's designed with as many "break points" as possible where users can intervene to alter the data being used before it's put into practice. For instance, the Attack macro will base its default dice pool on your weapon/attack's Accuracy - but you can alter that before making the roll, to account for charms, circumstantial modifiers, etc. Similarly, your wound penalty is applied by default - but if it's not applicable to a given roll, you can set it to 0 for that roll alone. The framework offers this partial automation for the following functions:

* Basic rolling: Roll a pool of dice, count successes over a target number, count tens twice (or don't). The three rollers in the framework are the Simpler Roller, the Join Battle roller, and the Attack roller (which is really the first of a series of rollers and calculations).
* Willpower burn: Spend willpower to channel virtues or add a bonus success.
* Mote tracking: Spend motes of Essence. Peripheral motes are by default added to a character's anima banner gauge on their token, unless the option to suppress this is checked, such as for the Night caste anima power. This means any token's anima banner level is visible on the map.
* Combat tracking: Characters can roll Join Battle, and their action speeds are automatically tracked, with the framework notifying who can act on a given tick. DV penalties from action to action are tracked, applied, and displayed automatically. Characters can freely drop out of combat or be added to it. The Action macro can be used to designate combat actions, automatically assigning the action speed and DV penalty (if any). Tracking the Aim action is automated.
* Stunts: Characters can tag any roll as a stunt, or use the Diceless Stunt macro for non-rolled stunts. In combat, stunt rewards are automatically delayed to the next time the character's DV refreshes (per errata) or the end of combat. Otherwise, rewards are offered immediately.
* Attacks: Step-by-step attack resolution is offered. The dialog prompts for a target for clarity's sake, but attacks can be applied to as many targets as necessary. This includes rolling the attack, comparing it to DV, calculating post-soak damage, rolling damage, and applying it to health. This is the most complex function in the framework, and so it has its own section below.
* Health and wounds: Health levels are tracked automatically and wound penalties applied by default to rolls. Characters reduced to Dead status can be dropped out of combat automatically. The Apply Damage macro applies damage to a character directly without the need for the attack process.

Rolls can be executed as Private with a checkbox in the roller dialog. This does not hide that a roll is taking place, but hides the dice pool and results from all but the roller and the ST. All ST rolls have Private automatically checked.
Setting Up:
Spoiler
Setup is meant to be fast and simple. To get started, you just need character tokens. To make a token you own into a character token, simple select it and use the Configure Character macro. This will prompt you for a name (if you want to change the token's name), whether it's a PC or NPC, and whether the character is an extra. Afterwards, it automatically runs you through the other configurations, which are as follows:
Configure Combat: Sets up Join Battle dice pool, base DVs, natural soak, additional soak granted by armor, hardness, and knockdown threshold (Stamina+Resistance plus any other bonuses).
Configure Essence: Sets up current and maximum personal and peripheral Essence. Limit gauges are also defined here (see Limit macro description below).
Configure Social: Sets up your Join Debate dice pool, mental dodge DV, and Appearance.
Configure Virtues: Sets up current and maximum Willpower, as well as virtues and current virtue channels.
Configure HLs: Sets up total health levels and Stamina. The former must be enclosed in square brackets as it is by default, and must include an extra 0 at the beginning for the unharmed health level. This is automatically set up to the appropriate default for extras vs. non-extras.
Framework Preferences: The framework has a (currently very limited) capacity to be configured. See "Setup/Config" macro section.

You can independently access any of these configuration screens after character setup to edit things as needed. The only other thing you'll need is (probably) to add at least one attack. Use the Add Attack macro for this. You will be prompted to confirm you want to do this. After this you'll be taken to the Edit Attack screen for your new attack. This does NOT request all Exalted's usual weapon data - just the parameters important to the framework. The accuracy pool is your total, default dice pool when using the attack in question, and damage should be your total default damage pool, not just the bonus granted by the weapon. Think of it like the NPC stat blocks in the books. Ammo loaded is the amount of ammunition you have ready to use with the weapon, while ammo capacity is the maximum available. This can be used for bows, guns, and anything that uses ammunition. Once created, attacks can be edited any time with Edit Attack, and deleted by ticking the "Delete this attack" checkbox at the bottom and clicking OK. You will not be able to use the Attack macro until/unless you have at least one attack designated.
A Tour of the Macros:
Spoiler
Skipping the configuration macros (discussed above), and the attack macro (explained in detail below), we have:


Roll: Similar to simple roll, but with functions specific to a character, such as assigning penalties (including wound penalties), determining stunt status, etc. The other two rollers are based on this one, just with some changes. While this one requires a specific character selected to make the roll, it affords a little more automation than the Simple Roll. You can also put in the roll's purpose, which is shown to the room (regardless of whether the roll is private). If you do not edit this field, no purpose is shown.

Simple Roll: The main function. This alone can carry you through if you don't want to use the fancy stuff. All this does is let you input a dice pool to roll, assign bonus successes (such as from the Second Excellency), designate the target number, and determine whether to count tens twice or not. This is mostly intended for STs who are making generic rolls not specifically made by a given character. As above, you can also designate the roll's purpose.

Diceless Stunt: Normally, stunts are done as part of a roll, and you are given your reward either immediately (if out of combat) or when your DV refreshes. This macro allows you to directly claim a stunt reward without making a roll. In combat, this is deferred until your DV refreshes, as per the norm for stunts.

Combat:
Post: This optional macro allows a player/ST to "queue" their selected token's next post to the chat. This is used for combat situations where multiple tokens are moving on the same tick, to avoid "spoiling" simultaneous actions that the character(s) should not know are happening when they choose their action. You may hit the macro again to modify your post if it has not been announced yet. Posts are cleared when announced. You may ignore/delete this macro if you prefer. This can also be used for other situations where information is revealed simultaneously from different sources - such as games of rock, paper, scissors! Tokens with a queued post are marked with a red triangle, which is cleared when Announce Posts is used.
Action: Designates an action you're taking in combat, besides Attack.
Abort: In combat, if you're aiming, this instantly sets you to ready to move and causes you to stop aiming. If you aren't aiming, this instead assumes you are aborting a guard, and sets you as ready to act.
Announce Posts (ST only): This optional macro allows the ST to broadcast all queued posts (see Post macro above). It then clears the post queue and resets everyone's post text. You can ignore/delete it if you don't find it necessary. You do not need to have any tokens selected to use this macro.

Initiative:
Join Battle: Makes a Join Battle roll for the selected token(s), preparing them for combat.
Join Debate: As above, but using the Join Debate dice pool instead.
Next Tick (ST only): Advances a combat in progress to the next tick, and automatically announces who is ready to act (as well as refreshing their DV if so). Characters aiming accumulate +1 to their aim bonus. You do not need to have any tokens selected.
Begin Combat (ST only): Begins combat for all characters who have rolled Join Battle/Join Debate. If combat is already in progress, this can instead be used to add new characters to the ongoing combat. You do not need to have any tokens selected.
End Combat (ST only): Ends a combat in progress, resetting the DV penalties of those involved and prompting for the claiming of standing stunt rewards if any. You do not need to have any tokens selected.
Leave Combat: Removes the selected token(s) from combat in progress. There is an option to auto-execute this on dead characters in the preferences. Use it for characters who've fled, surrendered (successfully), or otherwise just no longer need to be tracked in combat. Characters who morph into another token automatically leave combat (see Morph, below).

Management:

Apply Damage: Applies levels of damage directly to the selected token, prompting you for a type and amount. Useful for effects that deal automatic levels of damage, for any situation where you just need to assign some damage, or for if you're resolving an attack without using the Attack macro.
Expend: Expends willpower and/or motes of Essence. This is mainly intended for use with Charms or any other mote-burning activity. By default, peripheral (or overdrive) motes spent here will go toward a character's five-notch anima banner gauge, but you can tick a checkbox to suppress this (such as for the Night caste anima power). You may optionally designate the purpose of the expenditure, such as the name of a Charm being used, which is displayed to the ST.
Commit: Expends motes of Essence and commits them (effectively lowering your maximum motes). You can specify to what charm/artifact/whatever else you are committing these motes.
De-Commit: Allows you to remove your commitment to a charm/artifact/other effect, restoring the committed amount to your maximum Essence (though you must still regain the spent motes as normal).
Limit: This shows your current Limit gauge, as well as allows you to add to or subtract from its value. Despite its name, it is also intended to work for Resonance, Clarity, Torment, etc. Basically, it's for any of the 10 dot "craziness gauges". If this results in your limit gauge being at its maximum value, it will report this to the room. If an increase would have increased it beyond this maximum value, it will report this as "Overflow". This is for limit systems like Resonance, which have additional effects when they "spill over". If you select "Clear" instead of add or subtract, your limit gauge is cleared to 0 (useful for "traditional" Limit Break). The "Clear" option does not require you to input a value.
Reduce Anima: Drops your anima banner by one level, for use at the end of a scene.
Regain: The inverse of Expend, allowing you to regain willpower and/or motes of Essence and/or virtue channels.
Reset Anima: Clears a character's anima gauge.
View/Regain Health: Shows a breakdown of the damage the character has taken, and allows you to input healing for one or more types thereof.
Morph: Transfers traits from the selected token to another "target" token, chosen from a popup dialog. If the person using the macro is not the ST, they can only target tokens they own. This is mostly meant to help Lunars who may have alternate forms. Just set up the alternates as their own tokens. This transfers the character's current motes, wounds, willpower, virtues, virtue channels, accumulated aim bonus, Limit, pending stunt reward, and last Join Battle roll result. If the current token is involved in combat, it automatically leaves combat, and the new form's token enters combat on the same initiative.

Social:

Social Attack: Makes a social attack. See the social combat section below.

Setup/Config:

Add Attack: Adds a new attack to the character, be it a weapon or an unarmed attack. This will bring up a confirm dialog. If you hit okay, the new attack will be added even if you cancel the subsequent dialog that prompts for the attack's stats. If you want to change your mind at this point, just check the "Delete this attack" box. Remember, the accuracy and damage pools are intended to note your TOTAL dice pool for attacks and damage, not for the bonus conferred by the weapon. Ex: If your weapon has Accuracy +2, don't put 2 for Accuracy, but the entire Dexterity+Weapon ability+2+specialty total.
Edit Attack: This lets you edit an attack already added, as you did when you initially set it up via Add Attack. You can, as before, remove it by hitting okay with "Delete this attack" checked.
Framework Preferences: This allows you to configure global preferences of the framework. It has the following options:
(Restrict combat movement (Default: Checked): When this preference is checked, during combat, tokens can only move as far as their current movement "budget". Taking the Dash action increases available movement by 6. Movement is refreshed every tick. If the ST attempts to move a token "over budget", the move is allowed, but the ST is notified by how much they have exceeded their allotted movement. If this option is not enabled, movement has no effect other than as a display element.)
(Use knockback with all attacks (Default: Unchecked): When this preference is checked, knockback distance is calculated for all potential knockdown attacks during the soak phase, per the optional rule from the core book. This has no effect on Knockback-keyword charms, which must be handled manually due to their case-by-case nature.)
(Auto-remove dead tokens from combat (Default: Checked): When this preference is checked, tokens flagged as Dead have the Leave Combat macro executed on them automatically. One might un-check this to account for things like interference from charms.)
(Confirm Next Tick if characters have not acted (Default: Checked): When this preference is checked, if the ST uses the Next Tick macro while any characters are still due to act on the current tick (Ie: Their current action countdown is at 0), a confirmation dialog is displayed. Clicking cancel averts the advancement to the next tick, while clicking OK allows it to proceed.)
(Show dice approximation on private rolls (Default: Unchecked): When this preference is checked, when someone makes a private roll, the rest of the room is shown a rough approximation of the size of their dice pool. This is based on how, in face-to-face games, you can still hear the approximate number of dice being rolled, or in some cases see roughly how many the roller is picking up. The person executing the roll (and the ST) still see the exact number of dice rolled, in parentheses. You can customize the messages and/or the ranges of dice they encompass by editing the "Dice Noise" table. No other changes are necessary for changes to this table to apply.)
Stunts:
Spoiler
Stunts are simple. Any of the roller macros will allow you to select a stunt level for the action. Bonus stunt dice are added automatically. If you are in combat, characters with stunt rewards waiting will be given a clickable prompt when their DV refreshes. If not, the stunt reward is offered immediately. You can select motes, willpower, or XP for a reward, as appropriate to the stunt level. For stunts without a roll involved, use the Diceless Stunt macro. If a character in combat performs multiple stunts between DV refreshes, they only gain a reward from the highest-rated one, as per the 2.5 errata. If combat ends and characters with stunt rewards due have not had their DV refresh yet, they will be prompted to claim their rewards. The same applies if a character leaves via the Leave Combat macro.
Combat Management:
Spoiler
This does not cover the Attack macro, which is explained below. To initiate combat, be it physical or social, is basically a two-step process.
Step 1: All combatants should roll Join Battle. Players with more than one character (which will generally be the ST) can select multiple tokens, which will prompt for each one's roll. Click the Join Battle macro, adjust the roll if/as needed, and roll. The reaction count will be automatically determined. Characters who have rolled Join Battle are marked with a green, triangular readiness indicator, to make it easy to ensure all players have rolled before the ST begins combat.
Step 2: Once everyone involved has rolled Join Battle/Join Debate, the ST hits Begin Combat. The framework will automatically announce who gets to move. Countdowns to move are shown in the Initiative panel. By default, NPCs are hidden from view, and the Next button is disabled for PCs. Do not use the Next initiative button unless you're trying to make a workaround or similar. The Next Tick macro is likelier to be what you want. Once combat is underway, and the first characters have taken their actions, the ST can use the Next Tick macro to scoot combat along tick by tick. If anyone is guarding or aiming, you might want to pause to give them a moment to abort their action on a desired tick. Characters who can act on the current tick are indicated on the map with the green readiness triangle, until they use the attack or action macros, or until they leave combat.

If characters are moving simultaneously, the ST may want to use/encourage the use of the Post macro, which allows players to pre-type their message. The ST can then use the Announce Posts macro to simultaneously reveal everyone's intended actions. Characters who have a pre-written post queued for the Announce Posts macro are marked with a red triangle.

When a character's turn comes up in combat, they will generally use the Attack macro, or the Action macro for non-attack actions. You can use more than one - it will use the highest speed action, and apply DV penalties cumulatively. If you want to perform an action not covered by the options in the Action menu, select the Other option (which is the default), and you will be prompted to manually input your action's speed and DV penalty.
The Aim action is of special note. It is tracked automatically. By default it is reset if you take any action but Aim or Abort, or leave combat. It tracks up to a +3 bonus. This bonus can be increased manually in the attack dialog if you have an effect that increases your aim bonus, if it's incorrect, etc.
If the Prone condition is set on a character, Rise from Prone will automatically remove it.

Characters can be removed from combat with the Leave Combat macro. Dead characters are automatically removed, if the option to do so is checked in Framework Preferences. If one or more new characters join a combat in progress, roll Join Battle on them, select them, and click Begin Combat to add them automatically. When the fight (or discussion) is over, End Combat clears the initiative panel and resets characters' DV penalties and Aim, and prompts anyone with a stunt reward queued to collect it.

Characters' movement (set in the Configure Combat macro) is tracked during combat. Each space a character moves is deducted from their movement allotment for that tick. If "restrict combat movement" is enabled in preferences, a character cannot move any further than that (though if being moved by the ST, the move is allowed with a notification of how much the maximum was exceeded). The allotment is reset each tick or on the end of combat. The Dash action, as usual, increases the character's movement allotment by +6. Movement does not currently auto-factor mobility or wound penalties. Should either of these change, update the Movement property accordingly.
The Attack Macro:
Spoiler
This is probably the most complex macro in the framework, at least on the surface. It's also, like many advanced features, optional. If you want to just stick to using the simple roller and bypass the partial automation, that's 100% fine. When initially called up, the attack macro conjures a dialog much like the simpler roller, though with a great many more variables. These are loaded from your chosen weapon, which you'll be prompted for beforehand. The fields you see are simply defaults. The dice pool is your weapon's Accuracy, for instance, but if you're using a charm that grants extra dice like the First Excellency, for instance, you'll want to add these in. You can change pretty much anything on the fly to accommodate Charms, such as attack speed, the piercing tag, etc. Designating a target with the pulldown is optional - it doesn't do anything more than specify who you are attacking in the display. If you've done so narratively, or you're attacking multiple targets, it's probably not necessary. The "Shots fired" parameter can be ignored if you're not using an ammo-using weapon. It defaults to 1 if you are. Set it to 0 if you're not consuming ammunition, such as due to a Charm. To accommodate players who may not be using the map as anything more than a token-holding area, range is not factored in by the attack macro. Distance penalties must be input manually. (Optional map-based automation of range penalties is planned for a future version)
You don't HAVE to be in combat to use this macro. If you are, the Speed and DV penalty designated are automatically applied.

After you execute the macro, it will roll your attack, and automatically issue a macro link for the defender to click. (This, and all subsequent in-chat macros, require the correct token be selected by the person clicking the macro, just like the campaign macros. For players, this will generally just be their own token.) The defender is presented with a dialog to select their DVs, as well as alter them on the fly to reflect charms and the like (including perfect defenses). After the defender confirms, the hit or miss dialog is displayed.
If the attack hits, the defender can click the macro link provided to input their soak. They can alter the soak being utilized on the fly, to account for effects like soak-boosting Charms or the Gem of Adamant Skin (which converts lethal damage to bashing), as well as designate if they're using a perfect soak charm. Afterwards, the macro will also automatically display a notice if the pre-soak damage exceeds the defender's knockdown threshold (Stamina+Resistance). If knockback on all attacks is enabled in the framework preferences, it will also automatically list the knockback distance, assuming the attack had at least 3 pre-soak damage dice.
If the attack penetrates hardness and isn't perfectly soaked, a damage roll link goes up. Here, the attacker gets a simple damage roll dialog, giving their post-soak damage dice pool. By default, unlike most of these roll dialogs, Count Tens Twice is de-selected automatically (as damage rolls do not normally use that rule). The attacker can alter their damage dice pool to accommodate bonus post-soak damage or similar effects.
If any damage successes are rolled, the final step is the defender being prompted to apply damage. This can be edited on the fly like any other type. Confirming this macro automatically applies the damage, and also notes if it exceeds the character's Stamina and would prompt a risk of being stunned (automatically displaying the difficulty). If the character being damaged is acting on this tick, it's probably best to apply damage after resolving their actions (barring special circumstances), since the wound would not affect them until after they acted.

In terms of Exalted's attack resolution process, it plays out like this:

Step 1: Attacker declares attack, charms, etc. Narrative is handled, mote/WP costs for charms are paid and intention to burn WP (if any) is announced.
Step 2: Defender declares defense. Narrative is handled, mote/WP costs for charms are paid and intention to burn WP is announced.
Step 3: Attack roll. This is where the Attack macro is used.
Step 4: Apply DVs. This is where the defender clicks the defense macro link.
Step 5: Calculate damage. This is handled automatically.
Step 6: Apply soak. This is where the defender clicks the soak macro link. Any special modifications to step 5 can be handled in this phase.
Step 7: Roll damage. This is where the attacker clicks the damage roll macro link.
Step 8: Apply damage. This is where the defender clicks the apply damage macro link.
Step 9: Counterattack. If this is happening, return to step 1.

A word on flurries: There is no full automation for flurries at this point in time. The framework already applies DV penalties cumulatively, and uses only the highest speed of your actions on a turn. If performing a magical flurry, you may need to manually set the DV penalty in subsequent attacks to 0. For normal flurries, you will need to manually apply the multiple action penalties. Similarly, onslaught penalties to DV are not automated.

A word on DV penalty: Note that DV penalty means something different in the Defense dialog. Normally, DV penalty refers to the penalty the action you are taking imposes on your DV. The DV penalty in the defense dialog is simply the amount this penalty is imposing on this one attack. You would lower or remove it in the case of DV-penalty-removal charms such as Shadow Over Water or Dipping Swallow Defense. This will only affect the individual attack - your character still has a DV penalty until their defense refreshes, as normal. It does not actually affect your stored DV penalty value. Also, note that when you take an action in combat that imposes a DV penalty, it is queued, not actually applied, until the next tick. This is because such penalties are not generally applicable for other actions taking place in the same tick, since all actions occur at the same time.
Social Combat:
Spoiler
Social combat runs basically just like regular combat. Use the Join Debate macro instead to use your character's Join Debate pool by default. Otherwise, it's run basically the same. The Aim action can be used for Study/Monologue normally. Note that because of the multiple various possible social parries, which characters may need to use based on context, social parry is not provided a default value. The attacker and defender's appearances are factored in, but can be modified on the fly for charms or special circumstances (like intimidation). Just use the Social Attack macro to make social attacks. When socially defending, you can also specify whether the attack clashes with an intimacy/virtue/motivation (giving a DV bonus) or harmonizes with one (giving a DV penalty). The base WP to resist on a social attack is 1, but some charms may impose a higher cost instead. The final WP cost is displayed to the defender and can be automatically deducted with a click. Please note that the results of a social combat attack are NOT shown to anyone but the defender! This is because, unlike a physical attack, the attacker cannot necessarily tell automatically if their attack has "worked". Are they really convinced, or just playing along? That's where things like rolling Perception+Socialize come in.
Tips & Troubleshooting:
Spoiler
When using a macro (including the underlined links given in attack resolution dialogs), make sure the involved token is selected. Players should generally have their token selected on the map at all times. STs will need to be mindful to select the correct NPC token. If you're executing a function on more than one, you can select multiple tokens. If you use a token-specific macro without a token selected, it will not work, or it will throw an error if you've selected a token that isn't a character. Simple Roll, Next Tick, Begin Combat, End Combat, Announce Posts, and Framework Preferences are the only macros that never need you to select a token.

When inputting health levels, be sure to leave them enclosed by square brackets. Also, for the framework's calculation purposes, your unhurt status is counted as an extra 0-penalty health level at the beginning of the set. Thus, a starting non-extra's HLs are -0,-0,-1,-1,-2,-2,-4,Incap, while an extra has -0,-1,-3,Incap. The first 0 just represents having no health boxes filled in at all.

For penalties, such as DV penalty, internal/external action penalties, etc., it doesn't mater if you input them as positive or negative numbers. The framework subtracts their absolute value. By default, however, it expresses them as negatives.

Keep the Lib:Exalted token on the map you're playing on. If you move it to another map, make sure to rename it back to Lib:Exalted if the copying process has changed its name by adding a number. If the current map does not have a Lib:Exalted token on it, named exactly that, the macros will not work.

If something goes terribly wrong, the ST or a token's owner can double click the token in question and manually adjust its properties. Do this at your own risk, but if something's incorrect and there's no convenient macro to fix it, it might be the easiest way. This is probably best for changing very simple numerical values, like fixing motes and the like.

If for some weird reason you're taking a dice action while incapacitated, you'll need to change the wound penalty in the roll dialog to a number. I'm not sure what that would be, as the rules don't really cover acting while incapacitated, but it won't work with "Incap" (or "Dying" or "Dead" for that matter) as your wound penalty.

If you delete a token involved in combat before combat has ended, without using Leave Combat on them, many combat macros will glitch (because they can't "find" the token that was on the initiative list), such as Next Tick. Do not delete tokens during combat without removing them from it first. If you do this, you'll need to manually delete the token ID from the Initlist property on the Lib:Exalted token - and good luck recognizing which is which.

If every character in a combat botches their Join Battle roll, everyone will move on tick 6, not tick 0 as they should. A future version may automate skipping to tick 6, but for now, you can just hit Next Tick six times and put on Yakety Sax in the background while the characters fall over themselves, and you'll be fine.
Last edited by Venatius on Tue Jun 23, 2015 12:01 am, edited 72 times in total.

josiah42
Kobold
Posts: 1
Joined: Thu May 09, 2013 9:17 pm

Re: Exalted 2.5E Framework 1.04a

Post by josiah42 »

I'm really happy to find that you've already put the work into creating an Exalted tool. I was already working on one in Python which can be found here: https://github.com/josiahseaman/ExaltedGMTool I will most likely be debugging and expanding your campaign if that's alright.

My first ambition (which is in the ExaltedGMTool) is the ability to automatically parse Anathema .ecg character files. That would save a lot of typing and make things like importing hordes of NPCs quite easy. I don't know the first thing about MapTool. Does it have the ability to access and read external files?

Rakuen
Kobold
Posts: 1
Joined: Sat Aug 13, 2011 1:59 pm

Re: Exalted 2.5E Framework 1.04a

Post by Rakuen »

I'm running in maptools 89, with max mem at 1056 and a stack size of 10, and when we do combat and a defender clicks on the macro link to determine soak, we get an error in body of statement where it's comparing damage to hardness, example to follow. Any idea what's up?



 Error in body of roll.       Statement options (if any): r, if(damage = hardness || perfect == 1), code       Statement Body (first 200 characters): { [r, if(perfect == 1): "The attack is perfectly soaked."] The attack does no damage.}; {[h: damage=damage-soak] [h, if(damage minimum): damage=minimum] [h: result=strPropFromVars("choice,

User avatar
Venatius
Dragon
Posts: 256
Joined: Mon Feb 16, 2009 7:12 pm

Re: Exalted 2.5E Framework 1.04a

Post by Venatius »

Rakuen wrote:I'm running in maptools 89, with max mem at 1056 and a stack size of 10, and when we do combat and a defender clicks on the macro link to determine soak, we get an error in body of statement where it's comparing damage to hardness, example to follow. Any idea what's up?



 Error in body of roll.       Statement options (if any): r, if(damage = hardness || perfect == 1), code       Statement Body (first 200 characters): { [r, if(perfect == 1): "The attack is perfectly soaked."] The attack does no damage.}; {[h: damage=damage-soak] [h, if(damage minimum): damage=minimum] [h: result=strPropFromVars("choice,
Gosh dang it! I THOUGHT I had this set to auto-notify me of replies! I'm terribly sorry. It may be my spam filter was eating the notifications. I'm gonna look into this right away.

Edit/update: I'm having difficulty reproducing this. It's occurring on the "determine soak" step? I've tested it with characters with and without hardness, against piercing and normal weapons, with hardness taking effect or not, and it's worked properly each time. (The process of checking this has revealed some OTHER bugs I'm clearing out now, though!) Are you using the latest version of the framework? As of this second it's 1.04a, though 1.04b is coming up shortly to fix a few bugs I noticed in the process of diagnosing this. Also, what version of Maptool are you using? Do you have the defending token selected when executing the macro?
Last edited by Venatius on Fri Jan 17, 2014 7:40 am, edited 4 times in total.

User avatar
Venatius
Dragon
Posts: 256
Joined: Mon Feb 16, 2009 7:12 pm

Re: Exalted 2.5E Framework 1.04a

Post by Venatius »

josiah42 wrote:I'm really happy to find that you've already put the work into creating an Exalted tool. I was already working on one in Python which can be found here: https://github.com/josiahseaman/ExaltedGMTool I will most likely be debugging and expanding your campaign if that's alright.

My first ambition (which is in the ExaltedGMTool) is the ability to automatically parse Anathema .ecg character files. That would save a lot of typing and make things like importing hordes of NPCs quite easy. I don't know the first thing about MapTool. Does it have the ability to access and read external files?
Yes sir, it does, but I have no earthly idea how. I would be 100% fine with you expanding on and debugging my work, if you like. Just keep me abreast of any changes! I can update them here as new versions, if you don't mind it. Right now I have to deal with the bug report posted above, though. Argh, I'm really frustrated I've unknowingly let that languish for so long. Anyway, Anathema support is something I've definitely craved, but I don't even have the foggiest idea how to approach it. As you might guess, I'm quite thoroughly an amateur at this.

Edit/Update: Drat. I did a little experimental exporting with Anathema. Unfortunately, the actual data contained in the exported .ecg file seems kind of scant. For instance, it doesn't list motes, weapon/attack data, etc. About the only thing I could pull from that would be virtues, it looks like. Easiest way would be putting in a macro that evaluates a copy and paste of the text from the .ecg file, but with so little actual data in there I'm not sure it's that worthwhile, as you'd still need to do a fair amount manually. The alternative I can think of would be if you could somehow copy directly from the exported .pdf.

Douwe
Kobold
Posts: 1
Joined: Sat Nov 30, 2013 6:09 am

Re: Exalted 2.5E Framework 1.05

Post by Douwe »

Hello Venatius,

I`ve recently started an Exalted campaign using your framework and we`ve run headlong into a problem. Whenever anyone tries to Join Battle or Join Debate, we get a Stack Overflow error.

In response I`ve edited the mt.cfg file to the following settings, just to see if the standard solution works.

MAXMEM=4096
MINMEM=64
STACKSIZE=10
JVM=javaw
PROMPT=true

It doesn`t.

So I turn to you and ask: "Help?" Slightly more serious; has this issue occured with others? Are these settings allright for running your framework? Can you tell me how to fix this?

I`d be very grateful for your help. :)

Sincerely

Douwe


Actual error message when pressing Join Battle/Debate:

<html>A stack overflow has occurred.<p>This is commonly because a macro being used has exceeded the stack space specified when MapTool was executed.<br>Please run MapTool again and specify a larger stack size

User avatar
Venatius
Dragon
Posts: 256
Joined: Mon Feb 16, 2009 7:12 pm

Re: Exalted 2.5E Framework 1.05

Post by Venatius »

Douwe wrote:Hello Venatius,

I`ve recently started an Exalted campaign using your framework and we`ve run headlong into a problem. Whenever anyone tries to Join Battle or Join Debate, we get a Stack Overflow error.

In response I`ve edited the mt.cfg file to the following settings, just to see if the standard solution works.

MAXMEM=4096
MINMEM=64
STACKSIZE=10
JVM=javaw
PROMPT=true

It doesn`t.

So I turn to you and ask: "Help?" Slightly more serious; has this issue occured with others? Are these settings allright for running your framework? Can you tell me how to fix this?

I`d be very grateful for your help. :)

Sincerely

Douwe


Actual error message when pressing Join Battle/Debate:

<html>A stack overflow has occurred.<p>This is commonly because a macro being used has exceeded the stack space specified when MapTool was executed.<br>Please run MapTool again and specify a larger stack size
Okay, the forum is still not notifying me correctly of replies, so once again I apologize for the delayed response! That is REALLY odd. Normally setting a larger stack size should be exactly what you need, and I'm not having this problem at stack size 4. However, a friend of mine in an unrelated game had a similar problem just recently. They just cleared out Maptool and reinstalled (well, not that you install it, but you get my point) afresh, and it worked after that. Maybe that will help? Also, are you using Java 6? In my experience, Maptool can be flaky in working with 7. Also, and I don't mean to condescend, but just in case: If you're editing mt.cfg, you are launching via the Maptool Launcher, right?

User avatar
Venatius
Dragon
Posts: 256
Joined: Mon Feb 16, 2009 7:12 pm

Re: Exalted 2.5E Framework 1.09

Post by Venatius »

In the near future (as in, within the next week or so), I'll be rolling out an extensively redesigned second version of this framework. Besides just sharing the news here, I want this post to serve as a dividing line for future posts so it's clear what came after the update. The opening post will be rewritten with the updated instructions.
New features include:
* Custom-made combat tracker.
* Internal character sheet with more detailed information and complex internal calculations.
* Numerous usability refinements and bug fixes.
* Support for building Charms and similar powers into tokens, where they can be reviewed, as well as immediately activated (automatically populating the Expend dialog with the cost and parameters of the Charms).
* Partially automated management of committed motes, including automatic (or very fast manual) expiration when durations elapse.

User avatar
Venatius
Dragon
Posts: 256
Joined: Mon Feb 16, 2009 7:12 pm

Re: Exalted 2.5E Framework 1.09

Post by Venatius »

Just finished up an Exalted 2.5E campaign, which I think has served as a sufficient test of the redone "2.0" version of this framework. I'll be posting it here once it gets tidied up. While a few things are not quite reimplemented, like social combat, it supports a much more robust in-framework character management system, including a full character sheet, equipment, charms, etc. and significant automation for these. Mainly it's just waiting on documentation. The opening post will be updated with all this.

Post Reply

Return to “Campaign Frameworks”