[D&D 4E] Rumble's D&D Combat Framework - Version 4

Framework(s) for D&D 4e, including Veggiesama's.

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

Locked
User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by Rumble »

Well, if you're immobilized "End of Next Turn" and Immobilized "Save Ends", I think you've got two immobilizedeses to track, as you say. My framework replaces one with the other based on the assumption that "Save Ends" is "longer" than "End of Next Turn."

So, I need to create a separate Save Ends track, is all (he says, like "adding a separate track to the already complex condition system" is trivial :D)
Last edited by Rumble on Tue Mar 02, 2010 2:27 pm, edited 1 time in total.

DevoDog
Dragon
Posts: 456
Joined: Sat Jul 12, 2008 9:56 am

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by DevoDog »

Rumble wrote:Well, if you're immobilized "End of Next Turn" and Immobilized "Save Ends", I think you've got two immobilizedeses to track, as you say. My framework replaces one with the other based on the assumption that "Save Ends" is "longer" than "End of Next Turn."
Are you sure that a Save Ends condition replaces and EOT condition in your FW? Wasn't that the whole issue in the first place which you already fixed?

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by Rumble »

DevoDog wrote:
Rumble wrote:Well, if you're immobilized "End of Next Turn" and Immobilized "Save Ends", I think you've got two immobilizedeses to track, as you say. My framework replaces one with the other based on the assumption that "Save Ends" is "longer" than "End of Next Turn."
Are you sure that a Save Ends condition replaces and EOT condition in your FW? Wasn't that the whole issue in the first place which you already fixed?
Yes, I'm pretty sure - it has to, because you can only have on instance of a condition with a given name (JSON Objects can't have two keys with the same name), and all conditions aside from Ongoing Damage are tracked in the same property.

As the update suggests, you can have Immobilized (End of Next Turn) and Immobilized (Save Ends) on you simultaneously, but the framework as is cannot handle that because the key for that condition is "Immobilized".

What I was fixing was the fact that the most recent condition overwrote any prior instance of the same condition, without regard for what the longest duration was. It only actually compares the durations for "end/beginning of turn" conditions, but if the condition comes up save ends, that overwrites any other duration for the same condition. Or at least, that's what I believe happens. The fact that Save Ends was considered the longest possible duration was mostly just an executive decision (based on the fact that powers with Save Ends conditions on a hit often have End of Turn conditions on a miss, from which I inferred that Save Ends was "better", and thus more potent, than the turn-based durations).

The other thing that was "fixed" (or at least, "I decided on a particular way to do it") was that Ongoing Damage simply had the largest value - if you had Ongoing 10 Poison, and got Ongoing 5 Poison, you still had Ongoing 10 Poison, and the Ongoing 5 Poison basically never happened (that is, if you save against OG 10, you don't have to save against OG 5, too - it's effectively wasted).


Edit: definitely the case - the weighting algorithm gives "Save Ends" a weight 10 times higher than any other duration, to make sure it always replaces a condition that is not Save Ends.

TheRooster
Cave Troll
Posts: 29
Joined: Fri Nov 06, 2009 1:28 am
Location: Idaho (Mountain Time Zone)

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by TheRooster »

Can you give "Save Ends" conditions a different name? i.e. Immobilized & Immobilized(SE) Maybe even make a new icon for the SE version with some symbol.

For standard effects (non-save-ends) you choose the one with the longest duration. For Save-Ends effects, choose the most powerful?

Is there still confusion as to what happens if you get hit with two Save-Ends effects with the same effect and you succeed on a saving roll? Do you have to save against each effect separately or does one saving throw clear everything of that type?
TheRooster

DevoDog
Dragon
Posts: 456
Joined: Sat Jul 12, 2008 9:56 am

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by DevoDog »

Rumble wrote: What I was fixing was the fact that the most recent condition overwrote any prior instance of the same condition, without regard for what the longest duration was. It only actually compares the durations for "end/beginning of turn" conditions, but if the condition comes up save ends, that overwrites any other duration for the same condition. Or at least, that's what I believe happens. The fact that Save Ends was considered the longest possible duration was mostly just an executive decision (based on the fact that powers with Save Ends conditions on a hit often have End of Turn conditions on a miss, from which I inferred that Save Ends was "better", and thus more potent, than the turn-based durations).
That's what it was. I knew there was a timing issue that was obviously implemented in a way that could shorten durations.

I separate Save Ends conditions from other timed conditions. Ongoing damage isn't stored real elegenantly. Each token has OngoingX properties for the different damage types which becomes a list (since Ongoing Damage is always Save Ends, every time a token gets a Save Ends effect, it appends the list for each Ongoing Damage type). I find the MAX value in the list to impose the damage.

I do treat identically grouped conditions as a single Save Ends condition. So, Immobilized + Ongoing 5 Cold is the same as Immobilized + Ongoing 10 Cold.

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by Rumble »

TheRooster wrote:Can you give "Save Ends" conditions a different name? i.e. Immobilized & Immobilized(SE) Maybe even make a new icon for the SE version with some symbol.
That would be the simplest solution, but it would significantly increase the number of states in the game (I would have to create a new state for each option; not impossible, and definitely the easiest solution, but it would be confusing too - e.g., if I pick the state Immobilized(SE), why do I still have to pick "Save Ends" in the duration list?). However, it's a quick fix (aside from creating the images).
For standard effects (non-save-ends) you choose the one with the longest duration. For Save-Ends effects, choose the most powerful?
Depends on how you mean powerful? In the current weighting, Save Ends for a condition is always considered a longer duration than End of Next Turn for the same condition. So, if you have Immobilized (EONT), and you get Immobilized(SE), the latter always replaces the former. But it's only for the same condition - I don't know how it works with things like if you're Dazed(SE) and you become Stunnded(SE), does Stunned subsume Dazed, or are you both?
Is there still confusion as to what happens if you get hit with two Save-Ends effects with the same effect and you succeed on a saving roll? Do you have to save against each effect separately or does one saving throw clear everything of that type?
The rules, I believe, say 'you make a saving throw against each condition currently affecting you.' So, the question is (and it's not clear to me): is Dazed(SE) from a giant spider bite and Dazed(SE) from being punched in the head by an Ogre one condition? Or two? My feeling is that it is one condition, and requires one save. But I don't know if that's right.

Ongoing Damage is similar - if I have Ongoing 10 Fire from one bad guy, and I get Ongoing 5 Fire from another, do I suffer 10 damage per round until I save against the first, and then 5 damage per round until I save against the second? No idea. My ruling, in terms of coding the framework, is that Ongoing 10 Fire replaces Ongoing 5 Fire entirely. If you take two instances of ongoing damage with different damage values, you end up with one instance of ongoing damage, with the highest value.

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by Rumble »

@DevoDog: yeah, that was the issue that you'd pointed out. I'm probably just going to separate it into Save Ends, Turn Ends, and Ongoing Damage (for convenience in processing, despite the fact that ongoing is also always save ends) groupings. It may actually make a lot of the code easier.

TheRooster
Cave Troll
Posts: 29
Joined: Fri Nov 06, 2009 1:28 am
Location: Idaho (Mountain Time Zone)

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by TheRooster »

Rumble wrote:
For standard effects (non-save-ends) you choose the one with the longest duration. For Save-Ends effects, choose the most powerful?
Depends on how you mean powerful? In the current weighting, Save Ends for a condition is always considered a longer duration than End of Next Turn for the same condition. So, if you have Immobilized (EONT), and you get Immobilized(SE), the latter always replaces the former. But it's only for the same condition - I don't know how it works with things like if you're Dazed(SE) and you become Stunnded(SE), does Stunned subsume Dazed, or are you both?
I was actually thinking of ongoing damage when I said "most powerful". I guess there is no difference between different regular SE effects so new ones could be ignored.

I think that combining identical save-ends effects follows the spirit of 4e in helping to reduce "paperwork" that would be required to track each effect. If someone really wants to track each effect, they can do that manually and then manually re-add the effect if they need to.
TheRooster

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by Rumble »

I was chatting with wolph42 this evening, and we got to talking about the number of macros in the frameworks we'd been working on, and we investigated the number of lines of macro code that went into the framework.

I have discovered an amazing thing: I have no life. The dev-only version of the framework has 261 macros across three Library tokens, and within those macros reside roughly 13,900 lines of macro code.

THIRTEEN. THOUSAND. :shock:

Rykros
Kobold
Posts: 14
Joined: Fri Jul 31, 2009 7:05 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by Rykros »


Rykros
Kobold
Posts: 14
Joined: Fri Jul 31, 2009 7:05 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by Rykros »

Yo Rumble,

Any idea why I am unable to equip an implement I created? Using the latest 3/1 update, but this happened with the previous 3.17 version as well. All the fields have been entered, but when I choose Equip Weapon, all I see is Unarmed. The implement doesn't appear. I wanted to use the MHEnh function. Is creating a Weapon (not Implement) the only way to make it work as of now?

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by Rumble »

I can't reproduce the problem - when I use 4.1.7, I am able to create and equip an implement.

Can you describe the steps you're taking? And, to confirm, you're using 4.1.7?

User avatar
Rumble
Deity
Posts: 6235
Joined: Tue Jul 01, 2008 7:48 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by Rumble »

Update Posted: I've updated 4.1.7 to conform to WotC's recent update, specifically to track SaveEnds conditions separately. Ongoing Damage conditions - though technically also save ends - are still tracked as a thing of their own, which is primarily for my convenience.

This is a pretty extensive change, which touched a lot of the code. You will need to update your campaign properties, either by importing the property set from the latest update, or by adding:

Code: Select all

SaveEnds:{}
to your existing campaign's property set.

Updated Macros:
Lib:4e
Revert Last Attack
Add New Condition
Clear Conditions
Saving Throw
Extended Rest
Short Rest
End Turn
cycleTurn
displaySave
endAllRelatedCondition
expireCondition
clearTrueMarks
procStates

Campaign Macros
Mass Remove Condition

New Macros Added to Lib:4e
DeferredAdvanceInitiative

DarkWiz58
Cave Troll
Posts: 82
Joined: Sun Nov 08, 2009 8:29 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by DarkWiz58 »

.
Many thanks for the great detail in your post about the updated 417. MUCH appreciated; a big help.
.

DarkWiz58
Cave Troll
Posts: 82
Joined: Sun Nov 08, 2009 8:29 pm

Re: [D&D 4E] Rumble's D&D Combat Framework

Post by DarkWiz58 »

Rumble,

When End Turn on a character is pressed, an Input Values pop-up appears, saying:

Variable Value
seList


Can you please tell me where to manually turn this off? I kinda don't want to rebuild everything in my campaign file unless I have to.

-Thanks!
Alex

Locked

Return to “D&D 4e Frameworks”