PDA

View Full Version : TopSecret SI



Pharo
December 5th, 2020, 02:37
Updated it for the changes made FGU. Im only testing in FGU now but I left most of the stuff necessary for FG.

Extension has the charactersheet and the dice, mod has the rolls and a pregen.

damned
December 5th, 2020, 04:30
Please can you provide more info - please detail exactly which rolls you are referring to and please provide as much detail as possible on how the mechanic works

Pharo
December 5th, 2020, 05:43
Attribute check - you have to roll under your attribute. The game admin determines by what the challenge is if its going to be a full, half, or quarter. Modifiers are applied after to the number you need to roll under so they are 'not' halfed or quartered. "/tsprimary 1d100x(p1)" works fine for that but I have to create 3 entries with p1 being full on one, half on one, and quarter on another. +/- modifiers work appropriately too.

Skill check - again you roll under and the check is done against an specific attribute, again at full, half, or quarter, with modifiers applied after. A skill can be leveled up so you can gain a bonus for higher skills. "/tstertiary 1d100<(a)+(p3) has been working perfectly for that" but again I have to create 3 entries and bind "a" to the full, half, quarter stat. I've been putting the skill level bonus in p3 and my list of +/- modifiers works fine.

Image might help
41677

damned
December 5th, 2020, 12:01
What if I were to code a check for Ctrl or Alt keys being pressed?
If Ctrl was being pressed then it would roll against half and if Alt was pressed it would roll against quarter?

Can you confirm the math?
Exactly what number should be halved/quartered?

Pharo
December 5th, 2020, 17:10
That would work.

Quarter and half checks are always rounded up. So if a stat is 33, half is 33/2=16.5 round up to 17, quarter is 33/4=8.25 round up to 9.
You could also just do half of the half if its easier on the tooling then trying to round up .25. 17/2 = 8.5 round up to 9

In the case of "/tsprimary 1d100x(p1)", "p1" is going to get halfed and quartered.
In the case of "/tstertiary 1d100<(a)+(p3)", "a" is what gets halfed and quartered.

Also, one small tremendously helpful favor if I could ask. If your going to be doing a new roll like tstertiary, can you put the sum value in p3 instead of p2? It lines up on the character sheet so much better because i can do "Level Modifier Stat" with my boxes

41682

damned
December 6th, 2020, 01:14
hmmm changing the values means i have to redo my modules/charsheets and my time is limited...
if i change the roll will you update my modules/charsheets for me and save me some effort...?

Pharo
December 6th, 2020, 02:18
Absolutely, I can handle that. Im still learning how FG scripts / codes things but im getting the hang of it.

Im kind of a newbie to the code. I was assuming it would be changed in scripts/parameter_manager.lua where p2 is declared.

Am I in the wrong place? Thats basically what I did as a temporary measure, just added a version of parameter_manager.lua to my extention.

damned
December 6th, 2020, 03:46
Im not 100% sure what you are trying to do but the correct way to fix this is to change the rolls to use p3 instead of p2 and vice versa... i think...
and that would be done in the specific rolls this pertains to rather than changing it in MoreCore and affecting every other game out there

Pharo
December 6th, 2020, 05:02
No I wouldn't expect to change anything to the base set of code, that would just mess everyone else up.

I probably just mis-understood what you where asking me to do. Im not very fluent on FG coding or the morecore ruleset, yet. I don't know what you meant by modules/charsheets. Im looking at the rulesets\MoreCore.pak and I can't find the reference.

I thought we where talking about the request to change the sum value from p2 to p3. I was only asking for that 'if' you planned to write a new roll. I figured it would only be feesible if it was a brand new roll otherwise it would mess up whatever anyone else was doing. I thought writing a new roll is just a matter of copying the existing files and tweaking new version of them but now I see its alot more than that.

No worries.

Pharo
December 12th, 2020, 05:29
Not alot of free time but made some progress. Got stuck on making a larger Portrait but found some old threads with clues. Working a bit more this weekend on it. Lost track where some of the page configuration is in morecore and some is still in core. Figuring that out.

41922

damned
December 12th, 2020, 08:37
looking great Pharo!

Pharo
December 27th, 2020, 22:45
90% done with the character sheet. Yes I like large portraits. Found a thread where Trenloe, LordEntrails, and Moon Wizard had forged the path. Wasn't too bad once I figured out what they where talking about. I'm typing in all the rolls now and I think I might add one more tab for "Cover Identites" but for the most part its done.

The last thing I'll need is the roll that works with the CTL and ALT. IF there are any examples you could point me to where this is already done ill take a shot at it.

42310
42311
42312
42313
42314

damned
December 28th, 2020, 05:33
Please try replacing this script and testing.
Rename the file .lua and overwrite the existing file

If that works I need to know which parameter I do it to for the tstertiary roll.

Pharo
January 3rd, 2021, 17:48
Sorry for the delay, holidays and all.

Integrated the script, works perfectly!

I made one small change to eliminate ambiguity on the roll. All it does is add a HALF and QUARTER in front of the skill check. Let me know if its acceptible.

Probably should of did those in lower case. Looks like all caps causes the line to feed.

damned
January 3rd, 2021, 22:42
Thanks Ill add those back into the base.

Pharo
January 7th, 2021, 05:45
Still working on creating a mod that has atleast the rolls from the Players Guide and a example characters. I've done Combat, Mechanical, and Close-Combat skills. Need to do General, Specialty, and Education.

One of the players asked if it was possible for the combat rolls to identify the hit location since thats part of the game so I integrated this roll in. Its just tstertiary with something to look at the 1's place to determine hit location.

For your review "if" you want to integrate.

damned
January 7th, 2021, 06:44
Sounds good Pharo - thanks.

Pharo
January 8th, 2021, 05:02
Ok I just spent like an hour reading the forums and appearently this is partly an old issue but I'm hoping you have some insight.

In TopSecret SI, the percentage rolls are from 00-99. 100 isn't actually an accepted roll. The way that percentages are rolling, its doing the 1-10 sided die and adding 10 if you roll 10.

Is there a different way to do 00-99 instead of 1-100?

damned
January 8th, 2021, 05:07
Yes. Use Unity. I think in Unity the d100 uses the more common 1-100 dice.

Pharo
January 8th, 2021, 05:10
Oh good. Im stuck on the legacy version but the GM for this game has Unity. Ill try testing in the demo unity tool.

Pharo
January 9th, 2021, 23:11
It looks like theres a couple of formatting issues with Unity and Morecore. Is there a newer version of Morecore thats designed for Unity?

Its not a huge deal but the boxes that hold stats are too narrow now to handle more then just 1 number. Obviously it looks like the font changed so maybe thats the cause.

42733

damned
January 10th, 2021, 00:14
in your extension adjust the fields that are found (example) in record_char_more.xml


<basicnumberred name="p3">
<anchored to="paramanchor" position="left" width="9">

try width="13"

Pharo
January 10th, 2021, 01:28
I tried that and it didn't work but I just realized my mistake.

I've re-defined p3 in multiple times in other tabs. Newb mistake. Looks better now.

damned
January 10th, 2021, 01:33
So you need to do p1, p2, p3 - above was an example.

Pharo
January 12th, 2021, 04:36
Is it possible to precreate a set of .clilist1 defaults that are used when the characters are first created? In my case, im trying to set it up so the attributes fields always list in the same order initially to make it easier to drag and drop the rolls in. I can create a pregen character as a template but I was hoping I could just list a set of default entries for the datasource.

damned
January 12th, 2021, 04:40
Exporting a character sheet with everything setup as a base character is the simplest way.
To auto fill the skills have a look at the Trail of Cthulhu or Low Fantasy Gaming extensions.

Pharo
January 18th, 2021, 18:24
Status update- spending way to much time but learning alot

I have all the base rolls written up. I put them in Library Module but I'm thinking of just leaving them integrated into the extention since the are part of the base system. Trying to make sure I don't break any copyright rules but the game systems over 20 years old, not even sure anyone has copyright any more.

I started integrating some of the graphics from a TopSecret SI mod another player made some years ago, he never finished it. He had a good foundation though and alot of the graphics tweak easy enough once I get them in GIMP.

Unity fonts threw me for a minute. Is there a reason to even bother with fgf vs ttf/otf? I get that Classic loads fgf as priority but doesnt it also load ttf? So why not just use ttf across the board. Half tempted to create my own font based on the TopSecret SI logo.

Oh, is there any way to stop it from alphabet sorting the clilist? Just let it be by the order that they are added to the list.

Might need to draw a line somewhere. I keep coming up with other things I want to change.

42987

damned
January 18th, 2021, 22:58
Looking great Pharo!
Hopefully you will be able to share your great work.

You can disable sort. Search the forums for disable sort and you should find some examples.

Pharo
January 25th, 2021, 02:42
Trying to rough one last thing out. Weapons. I'd like to do an actual "item" but thats probably a longer term plan.

In the short term, is there a template I could use to drag and drop cli_rolls like list_text but only one roll? I figured I could just manually create some lines for the weapons and just let the players drag and drop a single roll onto the attack, dmg and ammo fields.

damned
January 25th, 2021, 03:07
Im sorry Im not following the second half.

For the first part you would look at 5E and see the code that creates an Action on adding a Weapon to Equipment.
Its not something on my list of things to do at this time.

Pharo
January 25th, 2021, 03:10
Im trying to create a single field that will take one drag and drop of a single roll. Just like how you do all the rolls under <list_text/> but instead of it being a list, its one single item.

<string name="Weapon1">
<anchored to="weapons" position="insidetopleft" offset="30,40" width="100" />
<font>sheetlabel</font>
<class>cli_rolls</class>
<acceptdrop>
<class>cas</class>
<field>*</field>
</acceptdrop>
<frame>
<name>textline</name>
<offset>2,0,2,0</offset>
</frame>
</string>

damned
January 25th, 2021, 05:25
Look at Race and Class

Pharo
January 29th, 2021, 05:51
I think i figured it out. I tweaked a version of the cli_rolls class and just added all the weapon stats plus a roll bound to dbdamage. Works good in testing. Its kind of important to do it this way because the attribute links to the weapon skills and that links to the weapon. Each one with its own modifiers being added along the way. Worried it might be too complex without instruction.

Im going to start cleaning things up and try to get a initial copy out there. Hoping to get some feedback.

43319

Quick question - is there a way to get the dbdamage to pick up the weapon name?

<stringfield name="weapondmg" >
<anchored to="weaponrng" position="left" offset="20" width="40" />
<tabtarget prev="weaponname" next="weaponrng"/>
<center/>
<frame name="fielddark" offset="7,8,7,8" />
<stateframe>
<hover name="rowshade" offset="7,8,7,8" />
</stateframe>
<script>
function onDoubleClick(x,y)
local dicerolltmp = tostring(window.weapondmg.getValue());
CustomDiceManager.processRoll("dbdamage", dicerolltmp)
end
</script>
</stringfield>

Pharo
January 30th, 2021, 20:52
Answered my own question .. given enough persistence ..

function onDoubleClick(x,y)
local sParams = tostring(window.weapondmg.getValue());
local rSource = tostring(window.name.getValue());
local rActor = ActorManager.getActor("pc", window.getDatabaseNode().getParent().getParent());
sParams = sParams .." "..rSource;
CustomDiceManager.performAction("dbdamage", nil, rActor, sParams)
end

:)

damned
January 31st, 2021, 00:40
Sorry Pharo I missed that there was a Q in there. Well done!

Pharo
January 31st, 2021, 06:23
Still so much I want to fix but running out of free time.

Any feedback would be welcome.