Thread: MoreCore Ruleset
-
May 10th, 2020, 14:57 #2231
My latest theme...still working the mod file (personal use of course),
fg icons scrnsht4.PNGCross-examining Lawyer: Mister Cogburn, in your four years as US Marshal, how many men have you shot?
Rooster Cogburn: Shot? Or killed?
Cross-examining Lawyer: Let us restrict it to killed so we may have a manageable figure!
-
May 10th, 2020, 19:14 #2232
Oh, weird apparently Fantasy Grounds Unity requires the -1 at the end of the roll command to work as intended while Fantasy Grounds Classic does not! What a strange bug. Still though, I'm unable to get automation to work for adding attribute + skill together to determine the DC without manually doing it.
-
May 11th, 2020, 04:54 #2233
Evening, Guys.
I'm about to begin a bunch of code and programing classes.
Any tips on wich language to focus while aiming to hack and develop extensions, modules and rulesets fo FG?
Mostly on MoreCore, since it is the threads subject.
-
May 11th, 2020, 06:34 #2234
Its all Lua and xml.
You might find this video series useful.
https://www.youtube.com/watch?v=54PS...qc_9w1TWQfTPUA
-
May 12th, 2020, 08:11 #2235Grand Templar
- Join Date
- Dec 2018
- Location
- England, UK
- Posts
- 245
Hi all,
I thought I had made progress with my issue detailed in post #2243 by using OOB messaging but still getting the same problem. From the client side the OOB message part set up doesn't seem to be activated yet it does from the host side.
The dice string file is attached - change the extension back to .lua to read it. Below are extracts from the console log:
Host debug info:
[11.05.2020 17:54:47] Runtime Notice: s'onLanded: ' | { s'sType' = s'pc', s'sCreatureNode' = s'charsheet.id-00005', s'sCTNode' = s'combattracker.list.id-00001', s'sName' = s'Sam 'The Slayer' Slade' } | { s'sType' = s'pc', s'sCreatureNode' = s'charsheet.id-00004', s'sCTNode' = s'combattracker.list.id-00002', s'sName' = s'Eduard Gripley' } | { s'aDice' = { #1 = { s'result' = #3, s'type' = s'd6' }, #2 = { s'result' = #4, s'type' = s'd6' } }, s'nMod' = #0, s'sType' = s'btdamage', s'bSecret' = bFALSE, s'sDesc' = s'Stun Stick' }
[11.05.2020 17:54:47] Runtime Notice: { s'aDice' = { #1 = { s'result' = #3, s'type' = s'd6' }, #2 = { s'result' = #4, s'type' = s'd6' } }, s'nMod' = #0, s'sType' = s'btdamage', s'bSecret' = bFALSE, s'sDesc' = s'Stun Stick' }
[11.05.2020 17:54:47] Runtime Notice: s'Roll Node: ' | s'charsheet.id-00004'
[11.05.2020 17:54:47] Runtime Notice: s'MoS: ' | #4
[11.05.2020 17:54:47] Runtime Notice: s'Weapon Used: ' | s'Stun Stick'
[11.05.2020 17:54:47] Runtime Notice: s'Attack' | databasenode = { charsheet.id-00005.clilist5 }
[11.05.2020 17:54:47] Runtime Notice: s'defender: ' | s'charsheet.id-00004'
[11.05.2020 17:54:47] Runtime Notice: s'Weapon Name = ' | s'Zeus Heavy Rifle'
[11.05.2020 17:54:47] Runtime Notice: s'Weapon Name = ' | s'M&G Service Auto Pistol'
[11.05.2020 17:54:47] Runtime Notice: s'Weapon Name = ' | s'Tranq Gun'
[11.05.2020 17:54:47] Runtime Notice: s'Weapon Name = ' | s'Martial Arts'
[11.05.2020 17:54:47] Runtime Notice: s'Weapon Name = ' | s'Combat Shotgun'
[11.05.2020 17:54:47] Runtime Notice: s'Weapon Name = ' | s'Stun Stick'
[11.05.2020 17:54:47] Runtime Notice: s'Weapon Factors = ' | #4 | #3 | #0
[11.05.2020 17:54:47] Runtime Notice: s'Def ARm Node: ' | s'charsheet.id-00004.lege'
[11.05.2020 17:54:47] Runtime Notice: s'handleDefendValue node: ' | s'charsheet.id-00004.lege'
[11.05.2020 17:54:47] Runtime Notice: s'Value: ' | #1
[11.05.2020 17:54:47] Runtime Notice: s'Value handled: ' | #1
[11.05.2020 17:54:47] Runtime Notice: s'Value returned: ' | #1
[11.05.2020 17:54:47] Runtime Notice: s'ArmEffect: ' | #-1
[11.05.2020 17:54:47] Runtime Notice: s'Weapon low: ' | #3
[11.05.2020 17:54:47] Runtime Notice: s'Final Damage: ' | #3
[11.05.2020 17:54:48] Runtime Notice: s'Dmg Value = ' | #3
[11.05.2020 17:54:48] Runtime Notice: s'sendApplyDamage' | { s'sType' = s'pc', s'sCreatureNode' = s'charsheet.id-00004', s'sCTNode' = s'combattracker.list.id-00002', s'sName' = s'Eduard Gripley' } | nil
[11.05.2020 17:54:48] Runtime Notice: s'Type&Node Name: ' | s'pc' | databasenode = { charsheet.id-00004 }
[11.05.2020 17:54:48] Runtime Notice: s'Actor = ' | s'charsheet.id-00004' | s'string' | databasenode = { charsheet.id-00004 } | s'pc'
[11.05.2020 17:54:48] Runtime Notice: s'varNode-Combat Manager: ' | s'databasenode' | databasenode = { charsheet.id-00004 }
[11.05.2020 17:54:48] Runtime Notice: s'Node: ' | s'charsheet.id-00004'
[11.05.2020 17:54:48] Runtime Notice: s'CT List: ' | { s'id-00002' = databasenode = { combattracker.list.id-00002 }, s'id-00001' = databasenode = { combattracker.list.id-00001 } }
[11.05.2020 17:54:48] Runtime Notice: s'CT Node Match: ' | s'combattracker.list.id-00002'
[11.05.2020 17:54:48] Runtime Notice: s'CT Node Match: ' | s'combattracker.list.id-00001'
[11.05.2020 17:54:48] Runtime Notice: s'CT List: ' | { s'id-00002' = databasenode = { combattracker.list.id-00002 }, s'id-00001' = databasenode = { combattracker.list.id-00001 } }
[11.05.2020 17:54:48] Runtime Notice: s'CT Record: ' | s'charsheet' | s'charsheet.id-00004'
[11.05.2020 17:54:48] Runtime Notice: s'handleApplyDamage' | { s'sType' = s'pc', s'sCreatureNode' = s'charsheet.id-00004', s'sCTNode' = s'combattracker.list.id-00002', s'sName' = s'Eduard Gripley' } | s'3'
[11.05.2020 17:54:48] Runtime Notice: s'myTargetWounds: ' | #10
[11.05.2020 17:54:48] Runtime Notice: s'myTargetFatigue: ' | #4
[11.05.2020 17:54:48] Runtime Notice: s'myTargetNewWounds: ' | #13
[11.05.2020 17:54:48] Runtime Notice: s'myTarget: ' | s'combattracker.list.id-00002.wounds'
[11.05.2020 17:54:48] Runtime Notice: s'myTargetFat: ' | s'combattracker.list.id-00002.four'
[11.05.2020 17:54:48] Runtime Notice: { s'aDice' = { #1 = { s'result' = #3, s'type' = s'd6' }, #2 = { s'result' = #4, s'type' = s'd6' } }, s'nMod' = #0, s'sType' = s'btdamage', s'aTotal' = #7, s'bSecret' = bFALSE, s'sDesc' = s'Stun Stick' }
Client debug info:
[11.05.2020 17:55:50] Runtime Notice: s'onLanded: ' | { s'sType' = s'pc', s'sCreatureNode' = s'charsheet.id-00005', s'sCTNode' = s'combattracker.list.id-00001', s'sName' = s'Sam 'The Slayer' Slade' } | { s'sType' = s'pc', s'sCreatureNode' = s'charsheet.id-00004', s'sCTNode' = s'combattracker.list.id-00002', s'sName' = s'Eduard Gripley' } | { s'aDice' = { #1 = { s'result' = #1, s'type' = s'd6' }, #2 = { s'result' = #6, s'type' = s'd6' } }, s'nMod' = #0, s'sType' = s'btdamage', s'bSecret' = bFALSE, s'sDesc' = s'Stun Stick' }
[11.05.2020 17:55:50] Runtime Notice: { s'aDice' = { #1 = { s'result' = #1, s'type' = s'd6' }, #2 = { s'result' = #6, s'type' = s'd6' } }, s'nMod' = #0, s'sType' = s'btdamage', s'bSecret' = bFALSE, s'sDesc' = s'Stun Stick' }
[11.05.2020 17:55:50] Runtime Notice: s'Roll Node: ' | s'charsheet.id-00004'
[11.05.2020 17:55:50] Runtime Notice: s'MoS: ' | #4
[11.05.2020 17:55:50] Runtime Notice: s'Weapon Used: ' | s'Stun Stick'
[11.05.2020 17:55:50] Runtime Notice: s'Attack' | databasenode = { charsheet.id-00005.clilist5 }
[11.05.2020 17:55:50] Runtime Notice: s'defender: ' | s'charsheet.id-00004'
[11.05.2020 17:55:50] Runtime Notice: s'Weapon Name = ' | s'Zeus Heavy Rifle'
[11.05.2020 17:55:50] Runtime Notice: s'Weapon Name = ' | s'M&G Service Auto Pistol'
[11.05.2020 17:55:50] Runtime Notice: s'Weapon Name = ' | s'Tranq Gun'
[11.05.2020 17:55:50] Runtime Notice: s'Weapon Name = ' | s'Martial Arts'
[11.05.2020 17:55:50] Runtime Notice: s'Weapon Name = ' | s'Combat Shotgun'
[11.05.2020 17:55:50] Runtime Notice: s'Weapon Name = ' | s'Stun Stick'
[11.05.2020 17:55:50] Runtime Notice: s'Weapon Factors = ' | #4 | #3 | #0
[11.05.2020 17:55:50] Runtime Notice: s'Def ARm Node: ' | s'charsheet.id-00004.lege'
[11.05.2020 17:55:50] Runtime Notice: s'Value returned: ' | #0
[11.05.2020 17:55:50] Runtime Notice: s'ArmEffect: ' | #0
[11.05.2020 17:55:50] Runtime Notice: s'Weapon high: ' | #3.75
[11.05.2020 17:55:50] Runtime Notice: s'Final Damage: ' | #4
[11.05.2020 17:55:50] Runtime Notice: s'Dmg Value = ' | #4
[11.05.2020 17:55:50] Runtime Notice: s'sendApplyDamage' | { s'sType' = s'pc', s'sCreatureNode' = s'charsheet.id-00004', s'sCTNode' = s'combattracker.list.id-00002', s'sName' = s'Eduard Gripley' } | nil
[11.05.2020 17:55:50] Runtime Notice: s'rActor = ' | { s'sType' = s'pc', s'sCreatureNode' = s'charsheet.id-00004', s'sCTNode' = s'combattracker.list.id-00002', s'sName' = s'Eduard Gripley' }
[11.05.2020 17:55:50] Runtime Notice: s'CTNode = ' | databasenode = { combattracker.list.id-00002 }
[11.05.2020 17:55:50] Runtime Notice: s'Type&Node Name: ' | s'ct' | databasenode = { combattracker.list.id-00002 }
[11.05.2020 17:55:50] Runtime Notice: { s'aDice' = { #1 = { s'result' = #1, s'type' = s'd6' }, #2 = { s'result' = #6, s'type' = s'd6' } }, s'nMod' = #0, s'sType' = s'btdamage', s'aTotal' = #7, s'bSecret' = bFALSE, s'sDesc' = s'Stun Stick' }
[11.05.2020 17:55:50] Runtime Notice: s'handleDefendValue node: ' | s'charsheet.id-00004.lege'
[11.05.2020 17:55:50] Runtime Notice: s'Value: ' | #1
[11.05.2020 17:55:50] Runtime Notice: s'Value handled: ' | #1
[11.05.2020 17:55:50] Runtime Notice: s'Actor = ' | s'combattracker.list.id-00002' | s'string' | databasenode = { combattracker.list.id-00002 } | s'ct'
[11.05.2020 17:55:50] Runtime Notice: s'handleApplyDamage' | { s'sType' = s'pc', s'sCreatureNode' = s'charsheet.id-00004', s'sCTNode' = s'combattracker.list.id-00002', s'sName' = s'Eduard Gripley' } | s'4'
[11.05.2020 17:55:50] Runtime Notice: s'myTargetWounds: ' | #13
[11.05.2020 17:55:50] Runtime Notice: s'myTargetFatigue: ' | #5
[11.05.2020 17:55:50] Runtime Notice: s'myTargetNewWounds: ' | #17
[11.05.2020 17:55:50] Runtime Notice: s'myTarget: ' | s'combattracker.list.id-00002.wounds'
[11.05.2020 17:55:50] Runtime Notice: s'myTargetFat: ' | s'combattracker.list.id-00002.four'
The area of code to look at is from line 341 onwards. Everything appears to be set correctly when compared to the Apply Damage OOB Message. I also use this process in the attack dice string to pasre out the Margin Of Success value without any issues for both host & client.
It seems as though the client is not allowing Line 347 (comm.deliverOB Message) to work properly.
Thoughts anyone?
-
May 14th, 2020, 13:50 #2236
Brotherkelly can you post a charsheet with the rolls setup on it and tell me how to roll and what to expect and how to create the error and what should happen?
-
May 14th, 2020, 13:57 #2237
Im assuming you are using FGU. The % dice changed between FGC and FGU to the more commonly used d%.
I will need to go thru and add a tonnne of version checks and alternate dice throws for FGU...
So - what system is this for?
Are there every any other modifiers?
Are there degrees of success and failure?
How should the roll report?
-
May 14th, 2020, 14:04 #2238
-
May 14th, 2020, 14:07 #2239
-
May 14th, 2020, 15:24 #2240
Hello all,
I have done a number of searches but haven't had any luck with identifying a similar question. I have been working on a couple of old systems that are primarily designed around table results for skill and combat resolution. In these examples the tables would have multiple columns shifting the results based on base skill levels, accuracy, and certain other modifiers. I've used the /rollontable command including the pointer to a specific column for a particular roll. My question, is it possible to modify the column selection on the fly with a modifier that could be embedded or entered in the /mod box? One example could be the set roll is directed to roll on Table X Column 3, but I could insert a modifier that would trigger the roll on the Table X but shift the column positively or negatively by some number such as +1 Column Shift to Column 4 or -1 Column to Column 2? This could be, according to the system +/- up to 6 shifts. For purposes of clarity on this, the base Table would be d100 roll with 5 Ranges of results and would have approximately 18 columns of staggered result ranges. Hopefully this is not all clear as mud, and any assistance, guidance or direction will be greatly appreciated. (On a side note, with everything going on, an upcoming game con has been migrated to a virtual Con and I am running these old-school games so I am attempting to utilize this system for playing.)
Thank you in advance!
Thread Information
Users Browsing this Thread
There are currently 2 users browsing this thread. (0 members and 2 guests)

Reply With Quote
Please disregard my post in the tutorials thread. I am still working on this Top Secret sheet. One of the first problems I had is how to do the traits (stats.) You take two or three stats that are rolled, and average them to make a new stat. I am not sure how to do this. In this example, I have Offense, and that is figured by Adding Courage and Coordination, then dividing them by two. I placed the primary traits as shown, then dragged the stats into the reference tabs. But I can't seem to figure out how to do the math. Any thoughts? 

Bookmarks