PDA

View Full Version : C&C Ruleset



Sorcerer
November 20th, 2010, 09:43
well its been about 2 weeks since the release of the revamped ruleset
and I haven't seen any reports of any bugs (yet :) )

However, there is one minor thing, which has been annoying me.

The new look combat tracker allows the GM to change the visibility of each monster.
Clicking the check box next to the friend or foe indicator makes the monster visible in the players combat tracker.
This ability for the GM to select which monsters are visible is great if some monsters have taken an invisibility potion, are ethereal, or even if they are simply laying in ambush.
However if there are no special circumstances, and if its a large encounter. Its a bit annoying to have to waste time clicking every monster.

Therefore I have created a small patch/extension which creates a button at the top of the combat tracker which can be used to toggle
the visibility of all monsters on or off with a single click (a closed white eye, which becomes an open red eye when clicked)

The ability to select the monsters individually is still there, but for most encounters I think the single click is what is required.

Just pop it in the extensions folder, and remember to select it from the extensions list when you start up or create a new campaign.

Note: it only toggles the visibility of monsters in the combat tracker at the time it is clicked. Monsters added after this time will still be invisible by default.

EDIT: ATTACHMENT Removed - Patch Superseded by v2.02, see separate thread.

Sakusammakko
November 20th, 2010, 12:15
We've only had the one session since the update and didn't seem to encounter any problems (unless you call having 2 party members slain by some very large wolves a problem).

A couple of people lost their connection, which has been unusual to this point, but can't attribute that to the new version.

From a running-the-game perspective, the new Encounters feature and the new CT features have made Judging much easier. I am bumping the max number of players in a session from 6 to 7.

The new extension may be useful. I will install and try it. I'm sure it'll be handy when a party faces 18 goblins or some such thing.

Small inconveniences:

Not sure I like the [ATTACK] and [SPELL] kind of notes that show up in the chat box. We try to roleplay those elements a bit. I'd like to tone those down or eliminate them (in the case of Spell). Is there more than one place I have to look to change these?

Already changed 'Dying' in the CT status to 'bleeding out'. However, when a PC is reduced to 0 hit points, need to find the place in the chat window where it says [DEAD]. In our campaign 0 hp is only unconscious.

I'm not sure I like the new feature of using a rectangular grid to reveal the mask. It's fine when everything is a small rectangular space, but not so useful for round or irregular rooms or when you want to limit field of vision by radius. Can I change that back to the old way or add the option of revealing the mask by freehand/grid?

May have more feedback after tomorrow's session. thank you for your fantastic efforts. Looking for a financial way to express my gratitude.

Sorcerer
November 20th, 2010, 14:28
all of the display for character and NPC health is located in combattracker_status.lua.

however, it should be working as you describe. It should not display dead until you reach -10 hp.

I noted that in a previous post you said you changed the zero hit point text from 'disabled' to 'unconscious'
which I actually like better, but that would indicate at least at that time, you were not seeing 'dead' at zero hit points.

do you think maybe you have altered the display conditions when you did this?


0hp 'unconscious'
-1 to -9 hp 'bleeding out'
-10 hp dead

the text for characters attacking is held in the 'getAttack' function in line 68 of the charsheet_fullattack.lua


local attack_text = "[ATTACK";


the finishing message bracket is found on line 72

attack_text = attack_text .. "] ";

removing the words and brackets (but leaving the "" will shorten the message to name just which weapon is in use

the main purpose of the {attack} statement comes in with lines 69 - 71

if attack_num > 1 then
attack_text = attack_text .. " #" .. attack_num;
end

which appends the attack with a number. this is so if you allow players with multiple attack to attack multiple targets you can see who they actually hit
rather than the player determining that after the fact with double click attack.

if you don't care about that then you can safely delete lines 69 -71.

for NPC's


in the file npcattackfield.lua

line 241

local attack_name = "[ATTACK";

closing bracket on line 257

attack_name = attack_name .. "] " .. desc;

line 377

local attack_name = "[ATTACK";

with closing bracket on line 393

attack_name = attack_name .. "] " .. desc;


that is for doubleclick and drag attacks from the combat tracker.

if you ever use double click or drag attacks directly from an NPC window

then these entries are in npcattackwindow.lua

line 247
local attack_name = "[ATTACK";

closing bracket on line 263

attack_name = attack_name .. "] " .. desc;

line 383
local attack_name = "[ATTACK";

and closing bracket on line 399

attack_name = attack_name .. "] " .. desc;

all of these npc entries also have calculations to check the number of attacks and append a number to the text where appropriate.

as before you can remove the statement

if attack_num > 1 then
attack_name = attack_name .. " #" .. attack_num;
end

however there is a lot more code in these NPC entires so make sure you don't disturb anything else if you do delete these lines.

for spells

which are currently Spell [spell name]-> spell short description text

if you just want to remove the word Spell then this is located in charsheet_minis.xml

on line 531

local desc = "Spell [" .. window.name.getValue() .. "]";

you can also see in this line the square brackets around the spell name, which possibly you would also like to remove.

if you want to just report the spell name and not the short text description of what it does then that is in line 535

ChatManager.Message(desc .. " -> " .. node.getChild("shortdescription").getValue(), true, {pc = window.getDatabaseNode().getParent().getParent().g etParent().getParent().getParent().getParent()});

shorten it so that it is as below

ChatManager.Message(desc);


with regards to the map mask, that is not something that i changed, that was changed with the update to 2.7.2.
the release notes for that patch state that the 'box' mode is now the default, but that you can enter freehand mode by holding down shift.


So far you are the only person to pass any comment on the changes I have made, so thanks for that.
I am not planning to do any more updates for sometime, although if bugs crop up or there is something urgent I will try my best.

when and if (I'm not promising anything here!) I get down to thinking about other features to add, I will poll opinion here first.

The version you have in your hands, was done solely for me, and I released it to Doug only after much thought as to the consequences of doing that.

If the things you have mentioned above are things that everybody wants changed, then they will be changed for the next release. If you are in the minority then the next release will be the way the majority want it (whatever that may be) - so I suggest you keep some record of what and how you make these changes..just in case you have to do it again.

Of course any future release might be done differently, as I learn more about how FG works. For instance it looks pretty stupid to me today, how many entries there are for the [ATTACK] text above for NPC's when compared to PC's.
presumably I could have reduced the amount of code by referencing what was already written instead of writing it again...

anyway hope what I have written helps, any further questions just let me know.

by the way, did you manage to get the token drop attacks to work?

Sakusammakko
November 20th, 2010, 14:56
do you think maybe you have altered the display conditions when you did this?

0hp 'unconscious'
-1 to -9 hp 'bleeding out'
-10 hp dead


Everything is in quotes. I will do more testing to check this. When the PC was reduced to 0 hit points, it said unconscious on the players' CT (I believe), but the message in the chat window said [DEAD]. That was the part that surprised me.


the text for characters attacking is held in the 'getAttack' function in line 68 of the charsheet_fullattack.lua

local attack_text = "[ATTACK";

the finishing message bracket is found on line 72

attack_text = attack_text .. "] ";

removing the words and brackets (but leaving the "" will shorten the message to name just which weapon is in use

the main purpose of the {attack} statement comes in with lines 69 - 71

if attack_num > 1 then
attack_text = attack_text .. " #" .. attack_num;
end

which appends the attack with a number. this is so if you allow players with multiple attack to attack multiple targets you can see who they actually hit
rather than the player determining that after the fact with double click attack.

if you don't care about that then you can safely delete lines 69 -71.

I will probably do exactly as you say. It's obvious from the rolls and descriptions that it's an attack without needing to SAY it. I don't need the multiple attack number.


for NPC's

in the file npcattackfield.lua

line 241

local attack_name = "[ATTACK";

closing bracket on line 257

attack_name = attack_name .. "] " .. desc;

line 377

local attack_name = "[ATTACK";

with closing bracket on line 393

attack_name = attack_name .. "] " .. desc;


that is for doubleclick and drag attacks from the combat tracker.

if you ever use double click or drag attacks directly from an NPC window

then these entries are in npcattackwindow.lua

line 247
local attack_name = "[ATTACK";

closing bracket on line 263

attack_name = attack_name .. "] " .. desc;

line 383
local attack_name = "[ATTACK";

and closing bracket on line 399

attack_name = attack_name .. "] " .. desc;

all of these npc entries also have calculations to check the number of attacks and append a number to the text where appropriate.

as before you can remove the statement

if attack_num > 1 then
attack_name = attack_name .. " #" .. attack_num;
end

however there is a lot more code in these NPC entires so make sure you don't disturb anything else if you do delete these lines.

I will probably only remove the lines that refer to ATTACK. The rest are more useful for creatures as they can have multiple attacks (though usually on the same target).


for spells

which are currently Spell [spell name]-> spell short description text

if you just want to remove the word Spell then this is located in charsheet_minis.xml

on line 531

local desc = "Spell [" .. window.name.getValue() .. "]";

you can also see in this line the square brackets around the spell name, which possibly you would also like to remove.

if you want to just report the spell name and not the short text description of what it does then that is in line 535

ChatManager.Message(desc .. " -> " .. node.getChild("shortdescription").getValue(), true, {pc = window.getDatabaseNode().getParent().getParent().g etParent().getParent().getParent().getParent()});

shorten it so that it is as below

ChatManager.Message(desc);

Actually, what I'd like to do is remove the 'Spell' label and possibly leave the [spell name]-->spell description.

The PC can write in their name for the spell and the spell description is their 'Abracadabra' or whatever intonation they use when casting it. Keeps them from having to repeat themselves.


with regards to the map mask, that is not something that i changed, that was changed with the update to 2.7.2.
the release notes for that patch state that the 'box' mode is now the default, but that you can enter freehand mode by holding down shift.

Thank you.


by the way, did you manage to get the token drop attacks to work?

Haven't tried it again, but will do so. Wasn't SUPER important as there are other ways to make the attacks.

Sakusammakko
November 20th, 2010, 14:59
Counting down special effects in the CT

For some reason, I had always been confused by the special effects fields. Only after I got your new ruleset did I realize that they counted DOWN the rounds until the effect was over. very handy.

This last session when I went to put a special effect into place for a PC that was to expire in 4 rounds, I believe the counter ADDED 4 to the number every time there was a new round instead of counting down the number for each new round. I'll need to re-create this to be sure.

Sorcerer
November 20th, 2010, 16:36
now I have checked it out properly you are correct there is a different entry for the text reported in the chat window than that which appears in the client tracker. it is located in combattracker_common.lua.
not only that, but the 'dead' text that appears there should have read 'Dying' (which you would change to unconscious)
so this is actually a typo on my part, there was actually never any provision set up to report that the creature was dead, being out of the fight seemed good enough for the chat window. since in general we don't keep attacking creatures which are out of it (also this function is currently used for both PC's and NPC's, monsters in general don't get the benefit of the -10 rule so an ambiguous return seemed a good idea).
I suppose i will have to revisit this one at some point and see if I cannot separate what is reported for NPC's and PC's, in order that different reports can be made if people want that.

also the text in the client tracker has two entries that need to be changed one in combattracker_entry.lua file as well as a similar entry the combattracker_Status.lua file
(one entry is for the instant change during a battle the other just kicks in if you close the combat tracker and reopen it again later, i.e if you stop the game during a battle it needs to check what to display when you restart)


with regard to effects. there 3 things

the text
an orange box
a white box.


if you want the effect to automatically expire put the number of rounds in the orange box
and set the white box to -1. it will then reduce the value in the orange box by one every round until it expires
(expiry should be reported in the chat window).

if you set the white box to 0 (or leave it blank) the effect will never expire.

if you set the white box to a positive number it will add that number to the value in the orange box every round.


actually I don't know why it was set like that, it was like that in the original version so I left it was the way it was
(possibly to calculate cumulative damage? or just for round counting?)

if you want to automatically apply damage every round that is set solely in the text field

by typing DMG: number description_text
for example DMG: 2 Fire

replacing DMG with HEAL will add hit points every round (like a regeneration effect)

Sakusammakko
November 20th, 2010, 19:34
CT Extension

My version doesn't appear to toggle. Once I've selected it, all NPCs are ticked, but i have to close the CT to untick the creatures.

I may remove this extension.

[ATTACK], [DAMAGE] and [EFFECT] labels

I've tried your suggestion to remove the ATTACK label, but it doesn't change anything. The solution must lie elsewhere. I've opened many of the scripts looking for some line that assigns these labels, but can't find it. (Not that I'm really sure what I'm looking for).

Spell label

I've decided that this is what I want:
...remove the 'Spell' label and leave the [spell name]-->short spell description.

I tried to play with this, but If I try to remove the 'Spell' label, everything falls apart. This is minor at the end of the day. In testing this, though, I found:

Two major bugs

On the Spells tab there are 2 things that are going to cause major problems:

1) The number of spells you can prepare is inaccurate. The ruleset now enables you to prepare more spells than is allowed.

For example, if you are able to prepare and cast 4 0-level spells in a day and have 3 of those 0-level spells available to you, the program now enables you to prepare 4 of each of those spells. It should only allow you to prepare 4 instances of those 3 spells in any combination.

2) Removing/resetting cast spells

I believe this has changed since the previous version of the ruleset. When in Prep mode, you cannot untick spells you've cast, but you can do it when you're not in Prep mode. This is backwards, I believe.

Wounds report in the chat window

Everything's the way I like it. Here's how I changed the code:


if (orig_wounds < totalhp) and (wounds > totalhp) then
result = result .. " [bleeding out]";
elseif (orig_wounds < totalhp) and (wounds == totalhp) then
result = result .. " [unconscious]";
elseif (orig_wounds < heavy_hp) and (wounds >= heavy_hp) then
result = result .. " [severely injured]";
elseif (orig_wounds < moderate_hp) and (wounds >= moderate_hp) then
result = result .. " [badly injured]";

Notice that I had to change the sign from wounds >= total hp to get 'unconscious' to show up.

Drop rolls in the map

It works. Not sure how I managed it, but it's good.

Sorcerer
November 21st, 2010, 10:01
I have downloaded the extension from this page and I have to say it runs fine for me, I don't believe the changes you have made to your combat tracker entries should effect it, but I can't say for certain. Obviously if you don't need it, then you don't need to run it.

I'm sorry if my directions were not clear enough (possibly you are not using an editor with exact line numbers to help locate the correct lines) anyway I have altered the files and zipped them up for you. Just find the originals in the root and script folders and replace them (probably you want to back up the originals in case it goes wrong).

I have only changed [ATTACK] and [DAMAGE] labels, you will have to be clearer on what you want to change on the effects side as there is no [EFFECTS] label

it currently reports [TURN] character_name - Effects: Effect_name

do you want it just to say

[TURN] character_name - Effect_name ?


spell preparation was not changed in this version and as far as I can see behaves exactly as it did in the original release. Only difference with spells is the casting button that reports to the Chat window.

the problems you specify were there in the last version.

i.e.
1. yes it does allow you to prepare more spell than allowed, this is not automated you must check this yourself
2. unchecking cast spells must be done in casting mode. whilst in prep mode you are only able to change the prepared spell number not remove the cast spell ticks.

these things did bother me, but I had no time to look at changing them.

Sakusammakko
November 21st, 2010, 11:47
I appreciate you sending the zipped files. This is exactly what I wanted-- less verbiage on attacks and damage.

I will live with the rest.

Sakusammakko
November 21st, 2010, 12:10
Grappling and Overbear Attacks

Did you change anything to these? I noticed that BtH and STR are used as modifiers (fine), but how are Hits and Misses determined?

I suspect this is difficult to determine as the target number is 12 or 18 depending on if the target's STR is Prime.

Is there anyway we can turn off the HIT and MISS report for Grapple and Overbear attacks? I wonder if the target number used is the AC.

I don't mind keeping track of the target number myself and then reporting the result.

Sorcerer
November 21st, 2010, 14:29
I probably should have given some information about this in the read me file since it is not a perfect solution.

if you drag attack onto a target it will roll it against AC, so currently if you want to use the targeting (hit or miss) you would need to temporarily change the targets AC manually to 12 or 18 (which is a bit difficult unless the player tells you in advance that he will be trying this type of attack)

I couldn't think of how to get it to work in a better way, it must be possible but would require a lot of code and maybe some extra fields in the combat tracker to define prime attributes - I decided it was beyond my skill at the present time, so I left it as is.

However if you just get the players to double click attack (or drag to the chat window instead of an opponent), no targeting is used and you can revert to manual calculation as you did in the previous version.

I must admit I didn't spend too long thinking about other options, but I have played about with it for the last hour or so and I have created a few extra functions.

find attached some altered files. Note: make sure you are not using the CT patch as it will override some of these files.

basically I have changed things much as you have described, so that Grapple and overbear attacks can be dropped on opponents, but no hit miss is now reported. This at least gives you the info about who the PC was attacking.

I have not removed it from touch attacks, but probably I should do that in future as well (this is noted in the readme as a deficiency)

remember I have just jigged this thing up today, so no bug testing has gone on - if I have broken anything else in the process let me know.

I may put all these changes together with the CT patch together in one extension for others to use, since it seems like an improvement over what I had before...this whole thing is a work in progress.

Although I should watch that I don't get into trouble with Doug for posting the whole ruleset up here for you...

Sorcerer
November 21st, 2010, 14:42
sorry I forgot you have already edited one of these files

find attached an updated version

Sakusammakko
November 21st, 2010, 15:18
find attached some altered files. Note: make sure you are not using the CT patch as it will override some of these files.



To be clear, is this the CT extension that you posted earlier? I'm not sure I've seen you refer to a CT patch before.

Once I have this clarified, I'll let you know how it goes.

Sorcerer
November 21st, 2010, 15:23
yes it is the extension at the very start of this post.

I suppose patch is technically wrong as it doesn't fix bugs it adds extra functionality, lets just call it a slip of the keyboard.

Blue Haven
November 21st, 2010, 15:50
The removed attack-damage zip and the last one that you posted are ext too?? do i just need to change the file zip to ext or i have to do something more to use them...?
Thanks

Sakusammakko
November 21st, 2010, 15:52
This will be fine.

It doesn't say who the PC is attempting to grapple, but I think that's better than having it say HIT/MISS erroneously.

I'm having difficulty opening a second instance via localhost to test it on the PC side. If it's the same, that will be fine.

Thanks again.

Sorcerer
November 21st, 2010, 16:07
@ blue Haven

no these are not extensions, and should not be used in conjunction with the extension at the beginning of this post as it will override these files.

these are zips, the files in them need to manually added to scripts or root folders (depending on whether they are lua or xml files).

if you have read all the posts you will see that I have been responding to some requests from Sakusammakko. Whilst I like the things he has asked for they are a matter of style and personal preference rather than bug fixes so you do not need to use them if you don't want to (although the grapple and overbear vs AC could be seen as a bug since that is not how it is written in the players handbook) . If you do use them remember and back up the original files in case you want to return them to there original state.

I will try to tie everything here up into a single extension when I get some time.

@ Sakusammakko
I'm glad it seems to work. I will have to go back over what I have done, because I was sure that first time through I still had the target name displayed for grapple and overbear attacks. I can see that now that is not the case. Not sure how I managed that. I will check it out

although not in time for your game tonight...

Sorcerer
November 21st, 2010, 16:39
OK so it didn't take me that long to track down my error/omission.

this last file will restore the targets name for grapple/overbear attacks

sorry I had to zip it since it seems lua files are not valid as attachments here

For anyone else reading this, who would like to use these changes. I will put all these files in an extension as soon as I can.

Blue Haven
November 21st, 2010, 21:40
Thanks friend :)