PDA

View Full Version : Unicore released



Ikael
September 30th, 2010, 10:43
The first release of Unicore ruleset (version 0.8) is here. Unicore ruleset is not an RPG system by itself but it's ruleset template which can be modified easily for very simple RPG systems. All you have to do is to modify single file and name a few things like what primary and secondary characteristics there is in the RPG system.

What is it actually good for? Oh course this ruleset is far from being fully flexible and configurable to fit for most of the simple RPG system, for example you can only setup systems that uses only single die type to make
skill resolutions (dice pools and for example 2d6 won't do good here). In addition it has few quirks for example it's little bit slower than other rulesets due to dynamic nature. But to answer the question itself-- it's good
at using it for any Unisystem games! The ruleset itself is a rip-off from my original Unisystem ruleset but all the features are there, except for Unisystem RPG specific features. However you can setup most of the essential features by editing that single file. Personally I have already created Cinematic and Classic Unisystem extensions for this ruleset, but they are for my personal use only.

Why is this ruleset not Unisystem ruleset? -- because I haven't got permission (actually any response) from its creator to freely distribute it. This ruleset is just a potential template for any Unisystem games but it doesn't include any Unisystem related stuff out-of-the-box, you just have to setup them in single file.

If you're interested in this ruleset please PM me and I can share it with you and probably give you some more advices on how to use it and how to modify the RPG system setup file.

I attached few screenshots about character sheet's main tabpage when using different RPG system setup files.

Ikael
September 30th, 2010, 10:48
Below is a sample content of the setup file

EDIT: removed due to deprication. See updated version of it below.

unerwünscht
September 30th, 2010, 13:41
Awesome where is the download link, I would love to run an 'All Flesh Must Be Eaten' game.

Ikael
October 5th, 2010, 11:10
Unicore ruleset version 0.85 is now uploaded to the FGWiki (Thanks to Oberoten!) You can find it from following direct link (https://oberoten.dyndns.org/fgwiki/index.php/Unicore)

dstack1776
November 3rd, 2010, 03:25
Newbie idiot question here... I can't for the life of me figure out how to enable an extension.... Help? :)

Ikael
November 3rd, 2010, 16:41
Everybody is a beginner at some point so don't worry. To enable/use extensions in FG rulesets you must first place that extension file inside /extensions folder that can be found from FG Application Data folder. If you're using Windows you can access the FG application data folder by clicking START -> Fantasy Grounds II -> Application Data Folder. Inside that directory you can find the /extensions folder. Just copy-paste or move the given extension file there.

Then you need to restart your Fantasy Grounds application. Now that you have your FG open you should see all ruleset compable extension in the Create New Campaign or Load Campaign views. When you select ruleset that you would like to use it lists all compatable extension in the Campaign details/extensions. There you only need to apply the checkbox next to given extension's name to enable it and start/launch the campaign.

Hopefully this helps.

Ikael
November 3rd, 2010, 16:54
Unicore ruleset version 0.89 is now uploaded to the FGWiki! The newest version includes support for local character creation, several minor (but annoying) bug fixes and refactored databaseNode handling. The update also includes more capabilities in customizing/making own RPG systems.

dstack1776
November 3rd, 2010, 23:40
So I'm seeing the sample Unicore extension when I create a new Unicore campaign and I'm selected that. But all I'm getting when I start the new campaign is a slate gray screen and dice, which doesn't sound like what I want.... Hmm.... In case it makes a difference I'm running Windows 7 64-bit (with Fantasy Grounds II being installed as 32-bit).

dstack1776
November 4th, 2010, 01:25
Well I feel like an idiot.... So what apparently happened was the handy dandy theme wood I downloaded got aborted and I had a truncated file. I discovered this when I changed the .ext to .zip to see if I could take a peek at the guts of it and discovered it wasn't a valid archive.

Ikael
December 9th, 2010, 19:31
The new updated version of Unicore ruleset (https://oberoten.dyndns.org/fgwiki/index.php/Unicore) is now uploaded to the FGWiki. The customization has been changed slightly during the process. Major updates from 0.89 to 0.911 are listed below:

Version 0.9
--------------------------------------------------------------
- Mood didn't work for players when in private channel [Fixed]
- Allies/Enemies on character sheet was revised. NPC entries can now be dragged and
dropped to character sheet's allies and enemies list, which will add that NPC entry
to be character's ally or enemy and he can check out his charasteristics.
- NPCs can now be shared to players
- Pc-to-NPC conversion didn't work properly [Fixed]
- Character sheet labels can now be customized

Version 0.91
--------------------------------------------------------------
- Dicepool tool was revised to have fields for both task and damage. Tool can be
opened with command /dp.
- Customization was made more consistent by changing the way how labels and lists are
defined.
- Item exchanging between players had major bug. If name of the item was empty it tend
to copy all possible items and even the combat maneuvers! [Fixed]
- Minisheet primaryattribute field didn't show x2 multiplier widged properly [Fixed]

Version 0.911
--------------------------------------------------------------
- Character sheet labeling controlls were made to template to avoid duplicate codelines.
- Character sheet's main page was scrollable [Fixed]
- Added new functionality to customatization: external nodes and default values.
External nodes can be used to include any external node to the formula calculation.
Default values is the functionality to allow base formula to have default formulas
that will be used instead of empty formula.
- Attribute selector on the skill-like task/testfields will now hide attribute selection
if scrolled through the whole circle.
- Static secondary attribute fields were not editable [fixed]
- Carrying capacity calculation was revised to be more modular. The "lifting" fixednode
was removed and now any primary attribute can be used in the carry capacity calculation.
- Validator utility was initialized. This utility is meant to work for validating simple
logic expressions such as >, < or =. This utility has replaced the carry capacity filtering.
Now you can setup your own logic filter in carrying capacity determining.

Ikael
December 9th, 2010, 19:37
Here is the sample properties_customized.lua file content that will define the RPG system-related information in Unicore ruleset



defaultGMIdentity = "Gamemaster"

maindie = "3d6"

labels = {
["primaryattribute"] = "Primary",
["secondaryattribute"] = "Secondary",
["importanttest"] = "Test Bonuses",
["penalty"] = "Penalties",
["skill"] = "Skills",
["quality"] = "Feats",
["drawback"] = "Drawbacks",
["combatmaneuver"] = "Maneuvers",
["metaphysic"] = "Spells",
["power"] = "Powers",
["vulnerability"] = "Weakness",
["description"] = "Description",
["background"] = "Character Background",
["note"] = "Additional Character Notes",
["gmnote"] = "Gamemaster notes",
["ally"] = "Current Allies / Contacts",
["enemy"] = "Current Enemies",

["primaryattribute_short"] = "Attribute",
["quality_short"] = "Feat",
["drawback_short"] = "Drawback",
["skill_short"] = "Skill",
["metaphysic_short"] = "Spell",
["experience_short"] = "Experience",
}

primaryattributes = {
{ ["nodename"] = "strength",
["name"] = "Strength",
["short"] = "Str",
["mental"] = false
},
{ ["nodename"] = "dexterity",
["name"] = "Dexterity",
["short"] = "Dex",
["mental"] = false
},
{ ["nodename"] = "constitution",
["name"] = "Constitution",
["short"] = "Con",
["mental"] = false
},
{ ["nodename"] = "intelligence",
["name"] = "Intelligence",
["short"] = "Int",
["mental"] = true
},
{ ["nodename"] = "wisdom",
["name"] = "Wisdom",
["short"] = "Wis",
["mental"] = true
},
{ ["nodename"] = "charisma",
["name"] = "Charisma",
["short"] = "Cha",
["mental"] = true
}
}

secondaryattributes = {
{ ["nodename"] = "hitpoints",
["name"] = "Hit Points",
["short"] = "HP",
["color"] = "redbar",
["damage"] = true,
["default"] = "str*1000",
["defaultrecovery"] = "con*1000/day"
},
{ ["nodename"] = "stamina",
["name"] = "Stamina",
["short"] = "Sta",
["damage"] = true,
["color"] = "yellowbar"
},
{ ["nodename"] = "magicpoints",
["name"] = "Magic Points",
["short"] = "MP",
["damage"] = true,
["color"] = "bluebar"
},
{ ["nodename"] = "movement",
["name"] = "Movement",
["short"] = "Move",
["damage"] = false,
["encumbranceaffects"] = true,
["combattracker"] = "Move"
},
{ ["nodename"] = "level",
["name"] = "Level",
["short"] = "Lvl",
["static"] = true,
["hidden"] = true
},
}

importanttests = {
{ ["nodename"] = "initiative",
["name"] = "Initiative",
["short"] = "Initiative",
["encumbranceaffects"] = true,
["combattracker"] = "Init",
["default"] = "dex*1000"
}
}

penalties = {
{ ["nodename"] = "physical",
["name"] = "Physical",
["short"] = "Phys",
["description"] = "Physical Penalty"
},
{ ["nodename"] = "mental",
["name"] = "Mental",
["short"] = "Ment",
["description"] = "Mental Penalty"
},
{ ["nodename"] = "movement",
["name"] = "Movement",
["short"] = "Move",
["description"] = "Movement Penalty",
["readonly"] = true
}
}

fixednode = {

-- assign nodename from secondaryattributes
["hitpoints"] = "hitpoints",
["naturalarmor"] = "",
["speed"] = "movement",
["gatheredessence"] = "",

-- assign nodename from tests
["initiative"] = "initiative",
["feartest"] = "",

-- assign nodename from penalties
["movementpenalty"] = "movement",
["mentalpenalty"] = "mental",
["physicalpenalty"] = "physical",
["magicalfatiquepenalty"] = ""
}

externalnodes = {
{ ["nodename"] = "character.level",
["name"] = "level"
},
{ ["nodename"] = "character.experience",
["name"] = "experience"
},
}


npc_main = {
{ ["nodename"] = "skills",
["name"] = "Skills",
["type"] = "skill"
},
{ ["nodename"] = "feats",
["name"] = "Feats",
["type"] = "value"
},
{ ["nodename"] = "powers",
["name"] = "Powers",
["type"] = "value"
},
{ ["nodename"] = "experience",
["name"] = "Experience",
["type"] = "number"
}
}
npc_other = {
{ ["nodename"] = "description",
["name"] = "Description",
["type"] = "string"
},
{ ["nodename"] = "posession",
["name"] = "Posession",
["type"] = "string"
}
}

npcSkills = { "Skill 1", "Skill 2", "Skill 3" }

npcDefenses = { "Dodge", "Parry" }


encumbrance_lift = {
{ ["filter"] = "str > 25",
["formula"] = "(str-25)*5000+10000",
},
{ ["filter"] = "str > 20",
["formula"] = "(str-20)*1000+5000",
},
{ ["filter"] = "str > 15",
["formula"] = "(str-15)*500+2500",
},
{ ["filter"] = "str > 10",
["formula"] = "(str-10)*200+750",
},
{ ["filter"] = "str > 5",
["formula"] = "(str-5)*100+125",
},
{ ["filter"] = "str > 0",
["formula"] = "str * 25",
},
{
["formula"] = "10",
}
}

encumbrance_penalties = {
{ ["percentage"] = 200,
["penalty"] = -5,
},
{ ["percentage"] = 150,
["penalty"] = -3,
},
{ ["percentage"] = 100,
["penalty"] = -2,
},
{ ["percentage"] = 50,
["penalty"] = -1,
},
{ ["percentage"] = 0,
["penalty"] = 0,
}
}

armorencumbrance = {
"None",
"Light",
"Medium",
"Heavy"
};

armorencumbrance_values = {
["None"] = 0,
["Light"] = -1,
["Medium"] = -2,
["Heavy"] = -5
};


characterpoints = {
["increaseAt"] = 5,
["regularCostLow"] = 1,
["regularCostHigh"] = 2,
["specialCostLow"] = 2,
["specialCostHigh"] = 4,
["elementalCostLow"] = 3,
["elementalCostHigh"] = 6,
["specialityCost"] = 1,
["attributeCostLow"] = 1,
["attributeCostHigh"] = 3,
["attributeSkillExchangeRate"] = 3
}


miscellaneous = {
["specialityIncrease"] = 3,
["actionPenaltyIncrement"] = 1
}

function setDamageColor(win, max, current)
if current < 1 then
win.setColor("#FFCD0000");
elseif current > 0 and current < 11 then
win.setColor("#FF660000");
elseif current < (max/2)+1 and current > 10 then
win.setColor("#FF9C661F");
else
win.setColor("#FF000000")
end
end

function getDieRoll(dicetable)
local total = 0
if dicetable then
for n = 1, table.maxn(dicetable) do
total = total + dicetable[n].result;
end
end
return total, 0;
end

function getSuccessLevel(total)
if not total or total < 10 then
return 0, "Failure";
else
return total-9, "Success"
end
end

function getAttributeLabel(label, isdoubled)
if isdoubled then
return "2 x " .. label;
else
return label;
end
end

Ikael
December 19th, 2010, 11:47
Unicore version 0.92 is under development at the moment and mainly it has focused on making the client combattracker more modular and customizable. Currently features are implemented and now being tested. If you have any additional ideas or request that could be included to this update please send me private message about it.

Ikael
December 19th, 2010, 15:46
At least! The Unicore customization manual is now published and can be found from the Unicore FGWiki page. This manual will help you to to create your RPG system that will be used in the Unicore ruleset.

Alanrockid
December 20th, 2010, 13:28
Great ruleset! While there's not a ruleset editor yet; Unicore fills it's role very well. Saved me a LOT of time in doing my ruleset.

Ikael
December 29th, 2010, 18:41
Thanks for the support and feedback Alanrockid!

The new version 0.92 is now uploaded to the FGWiki and the customization manual was also updated and uploaded there. Changelog from 0.911 to 0.92 is following:


Client combattracker was revised to be more modular. New 'clienttracker' property was added to secondaryattributes customization. When this property is presented in secondaryattribute item or in combattracker_additional item, that item will be used in client combattracker. In addition action penalty counter was revised to display penalties separately for attack and defense actions.
Combattracker's initiative order had minor bug deciding who will start to combat in tie initiative situation [Fixed]
Combattracker secondaryattribute link restoration didn't work [Fixed]
"Show NPC's conditions" preference option was updated to affect also to the action penalties.
adventure_gear.xml was updated to be more clear
Combat tracker's Effect-button always hide the opened effects window [Fixed]
Combat tracker's global section visibility selection didn't work correctly [Fixed]

Ikael
January 8th, 2011, 14:41
Version 0.93 was just released and uploaded to FGWiki! Changelog is the following:


Minisheet buttons were revised from icons to more easily configurable controllers. Now the label anad tooltips can be set up in customization file as label properties.
Combat tracker's activate defense icon didn't work [Fixed]
Gearsheet's code was refactored to be more readable.
Copying Items didn't work correctly for all types of items [Fixed]
Combat Maneuver list didn't create instances correctly for all drop types [Fixed]
Combat Maneuvers can now be created to Storylist as ability or to Items list as gear.
Abilities in Storylist have new fields. One is for determining the type, which can be either "ability" or "maneuver". Use "maneuver" type to create combat maneuvers and "ability" type for creating other ability descriptions.
Anything can now be dragged and dropped to Storylist which will create new ability.
In Items list the default type "item" won't be displayed anymore. Only custom types such as "gear" or "spell" will be displayed.
Gear and combat maneuvers reference windows were refactored to avoid duplicate code.
New option was added to GM preferences: "allow PCs to move allies". When this option is set to true players can move friendly token on the map.
Use Hex grid option was removed from preferences because built-in FG feature was made to replace it.
Preferences may now contain function in their parameters. That function will be called whenever the preference changes.
Minisheet still had static labels where customization didn't affect [Fixed]
Damage calculator's last adjustment can now be switched to be either multiplier or divider.
Switcher template was added to remove unnecessary duplicate code.
Combat tracker invoked recursive setValue when changing valueitems [Fixed]


I have also uploaded five new theme extension for the ruleset into Unicore ruleset page at FGWiki (https://oberoten.dyndns.org/fgwiki/index.php/Unicore). These themes are made long time ago and some might be little bit outdated (icons might be old ones) but they are usable with the ruleset.

EDIT: I have uploaded new patched version to FGWiki that contain few additional changes that meant to be included but I totally forgot them during the implementation previously.

Redemption77
January 16th, 2011, 23:17
Is it possible that someone has the customization LUA file for a standard unisystem game because I cant seem to get it right and its all screwed up in my game. I cant even get the character sheet to work. I feel like a total fool

Ikael
January 17th, 2011, 10:17
Because I (and seems like nobody else) has got any response/permission from Eden Studios to publish Unisystem-related stuff in FG, I can't make my unisytem extension available. However I would be happy to help you doing the customization extension, just pm me and send me your current extension and I can take a look what's the problem there.

Redemption77
January 21st, 2011, 23:54
Alright so I am trying to get the primary abilities on my sheet. I'm an XML idiot as I stated earlier but I played around and I got them to show up on the sheet. problem being is in the value fields where I should be able to input the attribute levels they are all 0s and I cant click on the field to enter the value instead I pick up a d10 and roll it when trying to get the cursor in the field. How do I fix this. I will post what I did with the primary attribute section of the lua.

}

--[[Primary Attributes
-- Compulsory properties:
-- nodename -- string
-- name -- string
-- short -- string
-- mental -- boolean, is given primary attribute mental or not
--]]
primaryattributes = {
{ ["nodename"] = "strength",
["name"] = "Strength",
["short"] = "Str",
["mental"] = false
},
{ ["nodename"] = "dexterity",
["name"] = "Dexterity",
["short"] = "Dex",
["mental"] = false
},
{ ["nodename"] = "constitution",
["name"] = "Constitution",
["short"] = "Con",
["mental"] = false
},
{ ["nodename"] = "intelligence",
["name"] = "Intelligence",
["short"] = "Int",
["mental"] = true
},
{ ["nodename"] = "Perception",
["name"] = "Perception",
["short"] = "Per",
["mental"] = true
},
{ ["nodename"] = "Willpower",
["name"] = "Willpower",
["short"] = "Will",
["mental"] = true
}
}


PLease please please tell me how to fix this

Ikael
January 22nd, 2011, 10:09
First thing I would recommend you to read the Unicore manual. You can download it from
here (https://oberoten.dyndns.org/fgwiki/index.php/File:Unicore-ruleset_manual.zip). It explain most of the stuff. The thing why you cannot straightly input numbers into primary attributes, nor to secondary attributes in not a bug, it's feature. You can input all those values from the formulawindow, which you can open/access by clicking the circle button on character sheet's right bottom corner. Read the manual to understand the power of this feature.

Redemption77
January 22nd, 2011, 15:43
Thank you so much. Its swank once you get it working. I have to do alot of minor tweaks here and there but its quite nice. I think all who play Unisystem should give this Unicore a try

Stitched
February 2nd, 2011, 18:43
I am going through and filling out the "properties_customized.lua" file and wanted to know for the "default" tag (the formula component), if this was a literal calculation or does it only display what the formula is.

I ask because some calculations require using a (base ability + focus if it applies)

Since all focuses add +2 by default and there are quite a lot of them, can you just write out the default as : (specific ability + focus) or do you need it to be using the short name of a given node name? (like "Dex" or "Con")?

Stitched
February 2nd, 2011, 20:54
I did a first pass on customizing the ruleset and ... well, it *seemed* to work. Got dice rolling and the attributes showing.

Wanted to know if it was possible to change the dice rolling window to display a number. Basically the system I am customizing uses modifiers for ability scores - ie: it rolls 3d6 then applies the attribute score to get a result.

Can dice handling be changed in the charsheet template file?

Ikael
February 2nd, 2011, 21:01
If you have set default property, it will fill up the formulafield automatically if the field would otherwise be empty. It will, of course, calculate itself automatically like all other formulas. Each formula is calculated automatically whenever they either changed or you first time open a charsheet.

You can use any names (or short names) in primary attributes, skills, qualities, drawbacks, "metaphysics" and "powers" (these are just default names of those lists that you find your charsheet but you can rename them as you want) and theirs number value will be used in formula where they are mentioned. For example you might want to create several focuses to, say quality list: FocusA, FocusB, FocusC and assign 2 to their value. Thereafter you can use their names in your formulas for example:
FocusA+FocusB+FocusC, which will result 2+2+2=6 and that value 6 will be given field's value.

So you can write anything to default property, this value will only be set to formulafield if it's empty. Notice that you can also input/update those formula from charactersheet.

Is this answering to your question?

Stitched
February 2nd, 2011, 21:38
So what you are saying is that I need to enter in ALL the focuses as a +2 modifer (I am guessing) and when I want to use them, I reference their node name, correct?

The only problem is that the focus will depend on the skill check.

It still leaves the question about how to set Primary Attribute numbers. Right now, I can't define that or have a player define that on the character sheet.

Ikael
February 2nd, 2011, 21:48
You could set all those focuses to formulafields beforehand, and in this case if character has such focus then his bonus is increased because of it otherwise no bonus is granted. If character gets the given focus during the play he can simply add it to this character sheet and the bonus will automatically affect his characteristic(s).

Can you clarify about what do you mean by that focus depends on skill check? It's applied only if you make skill check?

Because of the built-in fromula feature you cannot set your attributes directly to those field like in most rulesets. Instead you must open the characteristics formulawindow by clikcing the DOT icon on right bottom corner of the character sheet. In that window you can define all characteristics based formulas and set numbers to primary attributes. In addition you can create any number of different sets of characteristics and apply them on/off to boost/decrease your characteristics. Think about situation where you have your base characteristics but your character could transform something that boosts or changes your characterstics. You could easily create different set of characteristics for each transformation and enable/disable them during the play, it will save lots of time.

Ikael
February 2nd, 2011, 21:49
Quick note, all the most imporant things about the ruleset can be found in its manual. You can find and download that manual from Unicore's page on FGWiki, the link is just below the page.

Stitched
February 2nd, 2011, 21:55
I am reading the manual but making my way through the customizing document to get a feel for what is possible.

Can you explain this section of code? It's not currently in the documentation.


--[[Ability Scores
-- Compulsory properties:
-- nodename -- string
-- name -- string
-- short -- string
--]]
abilityscores = {}


How is this different that primary attributes?

Ikael
February 2nd, 2011, 22:04
See customization's page 12, it's there. The main idea is that NPCs might have some values that PCs doesn't have. Primary attributes are for both PCs and NPCs, you only have to define them once and they will be used for both. abilityscores are NPC-only fields that will only appear on NPC sheets.

Stitched
February 2nd, 2011, 22:36
Ah ok. Since they didn't have a NPC tag in the comments, I didn't know what it applied to.

I am messing around with creating a weapon (added to gear) and define the damage using a combination of d6 and adding a modifier (in this case "3d6+2"). Using the "Send to Combat Manoeuvre" control, I switch to that tab and it shows the Gear entry (in this case a "Longsword")

The Bonus and Damage boxes are empty, yet, with I click on "Show Formula", shows the correct values for damage. The "Bonus" entry is blank.

Since my Strength attribute affects attack rolls, it offers me to use "Str" as modifier (in this case, it should add +4).

When I double click on the Bonus square, it rolls 3d6 but applies no bonus. I also can't roll for damage.

Is this normal?


See customization's page 12, it's there. The main idea is that NPCs might have some values that PCs doesn't have. Primary attributes are for both PCs and NPCs, you only have to define them once and they will be used for both. abilityscores are NPC-only fields that will only appear on NPC sheets.

Ikael
February 3rd, 2011, 06:37
These aint' normal for the ruleset. I tried to do that and it worked out well for me. I creted longsword to gear with damage set tp '3d6+2' and bonus set to 'str'. Then I dragged and dropped that to charsheet's combat maneuvers. In that situation I did notice that bonus was not mapped corretly, it used wrong database value for it (BUG, thanks for pointing me to right direction, it's small one and you can fix it yourself. It's on line 104 of charsheet_maneuverlist.lua file). I fixed that issue to upcomming next version of Unicore. Anyways, now I continued testing it, I once again dragged that maneuver to charshet's combat maneuver list and now it mapps all values corretly. I can drag and/or double click both the bonus and damage and their roll will be made with correct bonuses.

Once thing that might cause your error is that you some special characters in nodenames of your primary attributes, this will cause some malfunctionality. Could you send me your properties_customized.lua so I can review it?

Stitched
February 3rd, 2011, 09:52
See attached file.

I tried building an item (longsword), added damage, and dragged and dropped it into the sheet. It copies the damage string, it just doesn't show up in Combat Manoevres (the little dice rolling windows).

Maybe the attached file will show you what's up.

Ikael
February 3rd, 2011, 16:19
You customized file looks fine and I haven't able to reproduce your issue, but that made me thinking of I am on wrong tracks now. What do you mean with the "little dice rolling window", do you mean the dicepool tool? You can open dicepool tool by typing /dp to the chat or by clicking the teacup icon in droplist menu in desktop. If that's the tool you're referring then there is no issue unless you're using it in player/client mode. If you use that as GM then you won't have direct access to correct databasenode and your referential values (str's numerical value) are not being searched. Is this even close at what you are trying to accomplish? If not then I start to believe that you might have old version of Unicore the latest is 0.93 nad version 0.94 is in quick development at the moment.

If you care to have quicker answers you can always join in Fantasy Grounds chat room at: https://fg2.rpg-vault.net/

Stitched
February 3rd, 2011, 19:49
You customized file looks fine and I haven't able to reproduce your issue, but that made me thinking of I am on wrong tracks now. What do you mean with the "little dice rolling window". If you care to have quicker answers you can always join in Fantasy Grounds chat room at: https://fg2.rpg-vault.net/

The two little boxes for Bonus and Damage on Combat Manoeuvres, next to the item name, to roll attacks, and I suppose damage.

I am running Unicore v.0.93, downloaded from the FGWiki. on Windows 7 64-bit.

Ikael
February 3rd, 2011, 21:47
Stitched, I haven't been able to reproduce that situation, nor my players. Those fields work fine as they should: you can drag from them and double-click them to make die rolls and bonuses are applied to those rolls as they should.

I might have to try looking it from another point of view. Maybe you could even host FG for me that I can look how the code works on your side, but otherwise I am very clueless at the moment. Nothing like this has happened before for me or my players. I will see what I can do more to track that down.

As a sidenote, the Unicore version 0.94 development phase is reaching to end and the testing phase is starting. Still I am open for any suggestion what could/should be included to this update. This far the update contains following changelog:


Advanced tools feature added to image windows. Each image window has toolbar on the left top corner where GM may select to use the most common image tools and modes.
Mathematical rounding property option "round" added to secondary attributes. This value can be either "up" or "down" and it results the calculation to be rounded to either upwards to highest number or downwards to lowest end.
Modifierstack's getDescription function was updated to handle primary attribute descriptions better.
Primary attributes' multiplying (when Alt is pressed) is now customizable.
Map scale and unit can be setup for any image individually. In addition new propertyset was introduced because of it: mapscale which lists all possible scale units.
Script file chat_chat.lua was refactored to be more clear and more easily customizable.
Die result in chat are more easily customizable now by creating new function to customzied file: displayDetailedRollResult(draginfo, totalscore). This function is expected to return chat message datatype/dictionary which will automatically be displayed in chat.
If Task/Test result preference is set to Complex then standard dicelist is displayed in the chat! Welcome back dielist!
New preference: Use portraits in chat. When this is set on, player's regular chat messages will include their portraits.
Manage character mode throws errors when opening minisheets. Minisheet buttons removed from this mode as the databasenodes are handeled differently [Fixed]
Formula priorization had small bug that prevented it working if no mathematical opeartor was present [Fixed]
Script error was thrown when dragging from NPC sheet's draggable stringfield [Fixed]
abilityscores property was renamed to npc_abilityscores because it's NPC only property.
Armordie on character sheet had small bug that prevented die from being rolled [Fixed]

Stitched
February 3rd, 2011, 22:22
For me, they appear blank. I am running using the Unicore ruleset version (as I stated before) with the Metal Fantasy Theme.

I should note, as well, that I get errors in the console when first starting up the ruleset.


Script Error: [string "scripts/calculator.lua"]:168: malformed number near '0.5'
Script Error: [string "scripts/template_viewerlist.lua"]:21: malformed number near '0.5'
Script Error: [string "scripts/charsheet_ammocounter.lua"]:43: malformed number near '0.5'
Script Error: [string "scripts/charsheet_ammocounter.lua"]:43: malformed number near '0.5'
Script Error: [string "scripts/template_statusbar.lua"]:107: malformed number near '0.5'
Script Error: [string "scripts/template_statusbar.lua"]:107: malformed number near '0.5'
Script Error: [string "scripts/combattracker_token.lua"]:140: malformed number near '1.0'
Script Error: [string "scripts/combattracker_token.lua"]:140: malformed number near '1.0'
Script Error: [string "scripts/combattracker_actioncounter.lua"]:22: malformed number near '0.5'
Script Error: [string "scripts/combattracker_actioncounter.lua"]:22: malformed number near '0.5'
Script Error: [string "scripts/template_viewerlist.lua"]:21: malformed number near '0.5'
Script Error: [string "scripts/imagewindow_image.lua"]:93: malformed number near '1.5'
Script Error: [string "scripts/template_viewerlist.lua"]:21: malformed number near '0.5'

Don't know if this is related to running Fantasy Grounds latest version (2.75).

When opening up the character sheet to drag and drop the Longsword, I get this error:

"Script Error: [string "scripts/charsheet_combatmaneuverupdater.lua"]:52: attempt to call field 'convertStrToInt' (a nil value)"

https://dl.dropbox.com/u/3919708/4e_Fantasy_Grounds_Files/grabbingitem.jpg

In my definitions (customization), the name of the node is "Strength", with short and regular name the same: "Str". Using both doesn't populate those fields. (see below)

https://dl.dropbox.com/u/3919708/4e_Fantasy_Grounds_Files/strbonus.jpg

Opening the weapons portion of gear produces:

"Script Error: [string "scripts/charsheet_ammocounter.lua"]:43: malformed number near '0.5'
Script Error: [string "scripts/charsheet_maneuveritem_damage.lua"]:98: attempt to call field 'toNumber' (a nil value)
Script Error: [string "scripts/charsheet_maneuveritem_bonus.lua"]:44: attempt to call field 'convertStrToInt' (a nil value)
Script Error: [string "scripts/charsheet_maneuveritem_damage.lua"]:104: attempt to call field 'convertStrToInt' (a nil value)"

https://dl.dropbox.com/u/3919708/4e_Fantasy_Grounds_Files/draggedtochar.jpg

And then the unpopulated Combat Manoevre boxes...

https://dl.dropbox.com/u/3919708/4e_Fantasy_Grounds_Files/combatmanoevre.jpg

I am at a loss.

Totally unrelated but would be nice to fix: the character selection is completely dark, making it hard to see the text (black on brown is bad).

Ikael
February 4th, 2011, 05:57
Thanks for posting this! Now I defenitely know the issue: It's version 2.7.5. I did update to this test version too and got the very same erros and they really cause that malfuntion that you mentioned.

Try out using Unicore with stabile version 2.7.4 and no such error or malfunction will occur. I will report Fantasy Grounds staff about this, but really thanks for letting me know this!

Stitched
February 4th, 2011, 15:38
Hey Ikael,

Yup, that worked. The numbers appear where they should, etc.

Stitched
February 5th, 2011, 12:17
I think I found another bug (maybe).

In the Skills subwindow on the Character Sheet (named Talents, for me), I create a new entry:

Blades (Focus)

Which creates a diceroller windows, like the Attributes, only it's blank (fair enough).

I try to add an associated attribute, in this case Strength (+4), to gain that bonus to my die-roll.

When I roll the dice, the Strength bonus is not added, or listed in the roll.

Also, how do you change the number in that field? I couldn't find a way to do it.

Ikael
February 5th, 2011, 13:22
you can change/edit skill's numeric value by simply clicking the numberfield and inputting number there manually, there is no catch :)

How do you assign associated attributes? You can do it by either scrolling your moses wheel on the skill, or by holding CTRL down and clicking the the skill, or by right clicking on the skill and selected the "Assign Attribute" option. When you have assigned attribute to skill you will a white small box next to the skill's numberfield that labels the associated attribute and + sign, for example Str+. It will automatically apply that primary attribute's value to every skill roll thereafter. However it depends on how you're trying to make the skill checks whether associated attribute is applied automatically. There is a catch: Associated attributes are not persisted at all, they exist there only if you don't close your charsheet and if you assign associated attribute in charsheet window it won't be in minisheets and vise verse. The yet to become Unicore version 0.94 fixes this issue by providing new preference option for GM: persist associated attribute to skills. When this option is set on each associated attribute will be persisted.

Stitched
February 5th, 2011, 14:00
OK. Got *that* to work now. I found it strange that it would take the attribute as a bonus for "Combat Manoeuvres" but not for the front page "Talents" entries...

I will have to wait for the update, I guess.

I there any way to generate *fluff* text for entries (like Gear descriptions)?

Ikael
February 7th, 2011, 11:43
New Unicore version 0.94 is now released to FGWiki. You can download it from here (https://oberoten.dyndns.org/fgwiki/index.php/Unicore). This new version focuses on improving features especially on Image/Map windows and in Chat windows. It also provides lots of new preferences and customization options. New preferences include for example option to use portraits in the chat. New customization options makes it more easy to create very baredone customization file as there is less required properties and functions that you should implement.

The customization manual was also updated to meet the new options. You can download it from this direct link (https://oberoten.dyndns.org/fgwiki/images/4/48/Unicore-ruleset_customization_manual.zip).

Note that one incompatability issue came up in this new release: If you have used abilityscores properties in your customization file you MUST rename that property to npc_abilityscores. This change was made to reflect the nature of the property: it's only used for NPCs

Stitched
February 8th, 2011, 14:45
Didn't see this in the update documentation but is there a place to change the money/currency used in game?

Would be nice to define that in the "customization" file, in the same way as the dice used.

These lines at the bottom of properties_customized.lua:


-- Returns total, count of re-rolls, and optinally the dicetable
function getDieRoll(dicetable, rolltype)
if not dicetable then
return 0, 0, nil
end
local total = 0
for n = 1, table.maxn(dicetable) do
total = total + dicetable[n].result;
end
return total, 0, dicetable;
end

And...

"--[[ Used to display additional information about the roll
-- possible draginfo types are:
-- - initiative: when iniative is rolled
-- - task: when skill+attribute is rolled
-- - test: when attribute is rolled
-- - feartest: when feartest is rolled
-- - damagedice: when damage die is rolled
-- - armordice: when armor die is rolled
-- - dice: when other die is rolled
--
-- In addition to these you may declare own roll types in code
-- and if they don't match any of above only this function will be
-- called and you can assign any wanted functionality here
--]]"

If I wanted to do a check on the strings returned by the dice, do I do it in the first code piece listed or later (the additional information...)

Looking to do a comparison of 1st - 2nd / 1st - 3rd / 2nd to 3rd dice to check for doubles and declare level of success using the 3rd dice value.

OR do I add the code to another part of the ruleset (dicehandler, etc.) because it would be outputting string information to the chat window ?

Ikael
February 8th, 2011, 19:42
That money/currency customization idea is good one! I will include it to the next update.

You should do all the die roll checks in the getDieRoll() function and you may use that function to alter the original die rolls or make new rolls if needed. This function is called firstly and it's the only compulsory function that you must implement.

The getDetailedRollResult() function is optional and it's used to send messages to chat about the die roll result. In this function, for example you could determine wether given roll is success or not and create proper chat message for that. See the sample rules extension, I did similar sample thing there.

Stitched
February 8th, 2011, 22:00
Alright.

Reading the function for getDieRoll, it looks like I have no way of trapping each die rolled (of my 3d6) unless dicetable[n] is the same way as saying "die roll n".

If that's the case, then I can store each dice roll in a variable that is returned, by modifying the function (if possible).

The getDetailRollResult, however, looks like it only contains draginfo and totalscore; which I am assuming is the sum of all dice rolled and not really useful for what I need.

Ikael
February 9th, 2011, 06:19
dicetable is FG "built-in" datastructure that looks like the following if you have rolled 3d6 and scored results of 3, 2 and 5

[1] {type="d6", result=3}
[2] {type="d6", result=2}
[3] {type="d6", result=5}

each entry in this datastructure represents one die that was rolled and it has two properties. Type: what type was the die rolled? Result: what number was rolled? If you need to edit this function, you can do so. The most important place where this function is called in the ruleset is chat_chat.lua script and the charactermanager tool.

Function getDetailRollResult() have two parameters one is draginfo and the second is totalscore. Totalscore is the sum that you needed to return from getDieResult() function and the draginfo (this should be named to DRAGDATA) is the whole whole drag datastructure that contains all information about the die roll. See library link about dragdata (https://www.fantasygrounds.com/refdoc/dragdata.xcp).This datastructure contains everything, even the dicetable (using getDieList()) and it has the best flexibility to do customized things.

If you don't care calculating sum of the dice then you might want to implement the logic in the later function. However notice that getDieResult function is called before the dieroll results are displayed in the chat. You can even alter the die results in this function. Die roll results displayed in chat "comes" from this function. The getDetailedRollResult() function is for displayed additional information about the roll. I really believe that you can do what you need in this function.

Ikael
February 9th, 2011, 20:39
New updated version of 0.94 Unicore is now uploaded to FGWiki. This new release had the same version number because changed/updated belonged to its planned scope. This update introduces new customization file: properties_setting.lua which is used to enter setting specific properties. This update also, for instance, includes few new customization properties for defining setting specific currency, weight and speed units. See more about the update from README.txt file.

Also, please pay attention to compatability issues if you're planning on using your older version customization file in this new version. The most noticable changes that you need to make is rename abilityscores to npc_abilityscores and npcSkills and npcDefenses to npc_skills and npc_defenses. See more about the properties in new updated customization manual.

EDIT: new sub-release was made to remove worst incompatability issues in 0.94 version

Ikael
February 20th, 2011, 12:22
The final release version of 0.94 scoped Unicore is released to FGWiki! This final version includes the last two chat features:


Languages: This is very similar to 4E Language Extension, except that it's built-in to the ruleset and Gamemaster may define any new languages which are usable in the game. In addition to use language feature player and/or gamemaster may select the used language by either 1) scrolling middle-mouse button on the chatentry (Gamemaster must also hold down Cltr to make this work) or by 2) dragging and dropping any existing langauge from language list to the chat entry. Players dragging langauge to the chat entry must own that langauge first before it can be used. After language is set it remains in use unless it's taken away by right clicking on the language name and selecting "No Language" option.
Voices: This is gamemaster only feature where gamemaster may pre-define any voices useable in the game in customization file. After voices are pre-defined they can be used in that chat by either 1) Holding ALT down and scrolling middle-mouse button on the chat-entry, or by 2) right clicking on the chat entry and selecting Voice navigation options. Voices will replace the regular fonts used in the chat with their custom ones. For example if gamemaster knows that there is monstrous NPC that has very murk tone, he could pre-define new font for Murk voice and use that in the chat whenever the murk toned monster NPC talks.


The rules-sample extension includes several sample languages and voices to use out of the box. Enjoy.

Stitched
March 1st, 2011, 18:05
Hi Ikael,

I still get many occurances of this error messages:

Script Error: [string "scripts/converterutil.lua"]:98: attempt to index a nil value

Not sure what is causing it.

Also, if I drag the numeric box inside the Qualities and Drawbacks window, it creates an empty box. If I drag a number, from Chat, to it, it creates as many entries as the value of the dice.

Minor bug: formatting for the currency line under "Money" is off by about 3 pixels (above) than the description line. Any chance we can get more entries here as well (for us Fantasy folk that use GP, SP, CP, etc.)?

Stitched
March 1st, 2011, 18:50
Also have kind of a request.

Under Story, you can create a "Manoeuvre" or an "Ability".

If you create an entry for "Ability", it only allows the title name and text body (like a lore entry) which is fine.

If you create an entry for "Manoeuvre", it allows you to define "Bonus", "Damage", "Notes", etc.

What I would like is a way to define an "Ability" with, not only a bonus value (eg: +2) but assign an attribute to the entry (like you can define on the first page of the Character Sheet, using the Ctrl key).

This would allow me to create a library / mod file with all these entries already defined and ready to drag & drop into the character sheets.

Let me know if this is doable, already, in the current version of the ruleset.

Ikael
March 1st, 2011, 22:43
I just uploaded new updated version of Unicore 0.94 to the FGWiki. This update fixes minor but irritating/daunting bugs of Langauge and Voice features. It also introduces some additional features that were planned on 0.95 version but got released now because of the need for the update.

Below is list of all changes/updates:


Language and voice features are now stored to identities instead of groupnumbers.
Added new customization file: properties_theme.lua. In this file you can define theme customization properties. At the moment only fontcolors can be defined and overridden in these properties.
Gear and ability sheet's anchoring was revised to allow even more easier customization/adding new fields.
Added generic "attribute" and "level" sourcenodetypes that can be used for dragdata to include level and/or associated attribute to different lists.
New property added to miscellenous list: "coinslosts". This property can be used to determine how many coin slots there is in character sheet. This value can be between 0 to 6.
Character's langauge was reset to empty whenever character sheet was opened [Fixed]
Character sheet's armor encumbrance level was reset to default value whenever character sheet was opened [Fixed]
Gear sheet's always displayed all unit fields even if corresponding value field was not visible [Fixed]
Language and voices should only be applied to chat messages, in emote message they should be ignored [Fixed]
Voice was never applied when dragging and dropping string to the chat [Fixed]
Visibility property in languages did not work [Fixed]
Voice chat message altered the sender's font which could make it unreadable because of the font [Fixed]



Stitched, in this new version you can define how many coinslots you need in your game by setting up the "coinslots" property that can be found in miscellanous set. You can have up to 6 coin slots. In addition now it's possible to make abilities have associative attribute data in them. However I didn't include this to the core version but you can very easily allow this by adding few following lines to one file (adventure_story.xml -- after line 208):

<maneuvercolumnfield name="attribute">
<label>Attribute</label>
</maneuvercolumnfield>
<maneuvernumberfield name="level">
<label>Level</label>
</maneuvernumberfield>

alternatively you can manually include new tags to you module file:
<attribute type="string">attribute's shortname</attribute>
<level type="number">value of skill or quality</level>

if you put the upper lines into the adventure_story.xml and export you data you those data will automatically be included to your module file.

About the: Script Error: [string "scripts/converterutil.lua"]:98: attempt to index a nil value. I have encountered this error before, but only when I have been playing around with customization file. I believe you have added something into it, removed but still your current campaign refers to that currently non-existant entity. I haven't been able to reproduce this anymore so it still remains. How often do you get this error and in what situations?


Also, if I drag the numeric box inside the Qualities and Drawbacks window, it creates an empty box. If I drag a number, from Chat, to it, it creates as many entries as the value of the dice.

This one I didn't catch at all. Can you explain little bit more what's the issue? I didn't get any entries added when I dragged number from chat. Thanks beforehand!

Stitched
March 2nd, 2011, 18:22
if you put the upper lines into the adventure_story.xml and export you data you those data will automatically be included to your module file.

I did what you suggested and added it to the file so it appears in the ruleset.

The problem, or rather, what I wanted was when I define the Attribute to use, it adds the bonus in the entry; not just on export to a mod file. Also, what form does this string need to take (short name or nodename)? (see image)https://dl.dropbox.com/u/3919708/DoesNotWork.png

Meaning that, as a Focus, it has by default, a +2 to the roll BUT it also takes whatever bonus/modifier you have for a given Attribute (in my example, it uses Constitution which grants a +1 on top of the +2 focus).

When I try to change the attribute, after the fact, I get :

"Script Error: [string "scripts/template_abilityfield.lua"]:61: attempt to call global 'getClass' (a nil value)"

----
I also added the coin slots but I still have 2 text lines extra in the money window that feel out of place.

Ikael
March 3rd, 2011, 23:32
Thanks for pointing me to the right direction again Stitched! There were some untested material afterall which caused those issues. Still I remember testing draggin ability to skills and it included the associative attribute like it should, but I quess I might have broken something on the way after that :(


"Script Error: [string "scripts/template_abilityfield.lua"]:61: attempt to call global 'getClass' (a nil value)"
This is one of those issues that I really missed, now it's fixed.


I also added the coin slots but I still have 2 text lines extra in the money window that feel out of place.
Those two textlines are placeholders/fillers for the extra space. I have used it to bookkeep "probably precious" stuff which value is unknown to players so they can't use it as is for money. If you don't like the lines you can always setup 5 or 6 coin slots to make the textline dissapear as there are no space left anymore.

In addition to these comments, I have decided to shoot out the version 0.95 as ongoingly developed BETA. This mean I will make quicker releases of the next version as new features are implemented and tested at some level. The version 0.94 is the last stabile version during the beta testing but I try to avoid releasing badly unstabile version of 0.95. All of these betas will be relased on this thread.

Here is the first beta release of 0.95. It includes two major new customization capabilities: Ability to customize ABILITY and GEAR sheets completely. You can decide what fields belong to each sheet and even you can define sub-types/categories in those sheets that have different fields to display. See either the sample-rules extension's properties_customized.lua file or ruleset's properties_fixed.lua file (for more comprehensive example of it).

Stitched, I have tested your requested feature on this beta and now I can really commit that it works. Try out yourself!

EDIT: Rremoved old 0.95Beta version, find the lastest version below

Stitched
March 4th, 2011, 10:34
Thanks, Ikael. I will give the new one a shot. Any hope, you have updated the documentation to reflect these changes? :D

I will go in an muddle about and report any other issues I find.

Thanks again!

OK. After doing a bunch of customization (thank you), the ability to add an attribute to an "ability" still doesn't use add the bonus associated with that ability (taking the value, adding the bonus, then rolling the dice). :(

*** Addendum ***

I deleted the campaign because it was using the old rules(?) so now the Ability is recognized when I drag and drop it, however, now I lose the bonus number (in this case +2). ARGH ! So close, yet so far.

Creating custom gear lists/attributes is bugged, as well.

I have this in the properties_fixed.lua file:

["Adventurer Gear"] = {"cost", "costunit", "description"},

but it shows in FG as:

https://dl.dropbox.com/u/3919708/Gear_bugged.jpg

Am I defining the gear fields properly (only want to see the fields I define when changing the gear type)?




Thanks for pointing me to the right direction again Stitched! There were some untested material afterall which caused those issues. Still I remember testing draggin ability to skills and it included the associative attribute like it should, but I quess I might have broken something on the way after that :(


This is one of those issues that I really missed, now it's fixed.


Those two textlines are placeholders/fillers for the extra space. I have used it to bookkeep "probably precious" stuff which value is unknown to players so they can't use it as is for money. If you don't like the lines you can always setup 5 or 6 coin slots to make the textline dissapear as there are no space left anymore.

In addition to these comments, I have decided to shoot out the version 0.95 as ongoingly developed BETA. This mean I will make quicker releases of the next version as new features are implemented and tested at some level. The version 0.94 is the last stabile version during the beta testing but I try to avoid releasing badly unstabile version of 0.95. All of these betas will be relased on this thread.

Here is the first beta release of 0.95. It includes two major new customization capabilities: Ability to customize ABILITY and GEAR sheets completely. You can decide what fields belong to each sheet and even you can define sub-types/categories in those sheets that have different fields to display. See either the sample-rules extension's properties_customized.lua file or ruleset's properties_fixed.lua file (for more comprehensive example of it).

Stitched, I have tested your requested feature on this beta and now I can really commit that it works. Try out yourself!

Ikael
March 4th, 2011, 15:58
Would you mind sending me your customization file. I have been playing with few of mine only so I might be blind to something which you're facing at the moment. My email is onewingedika at hotmail dot com

Stitched
March 4th, 2011, 16:41
Check your inbox.

Ikael
March 4th, 2011, 18:37
New quick release of 0.95 beta is here. This update includes fixes/improvements on sheet's field calculations. Now there is no need to include unit fields to categories, their visibility is determined automatially. In addition new properties were intoduced to allow more flexibile field positioning: leftoffset in sheet_ability_properties and in sheet_gear_properties.

EDIT: Rremoved old 0.95Beta version, find the lastest version below

Stitched
March 4th, 2011, 20:06
Will the fix for the extra customized item entries in Gear be in the next release?

Ikael
March 5th, 2011, 23:48
This is the latest Unicore version 0.95 Beta release. Changed to previous version includes capability to customize Itemsheets and capability to include formattedtextfields as field types. Generally now this ruleset could be used to create customized modules that contains certain fields/nodes. Simply define fields that you want to have in module, create entries using FG interface and export them! Still you might need to make some changes into exported module to make it work as is in other rulesets except Unicore.

EDIT: Uploaded new version that includes few minor improvements: capability to alter the names of labels in character sheet's top frame (see label propertykeys) and capability to autogenerate currencies in character sheet (autocurrencies propertykey in miscellenous properties)

EDIT: New version of 0.95 beta was release after this post, see below.

Stitched
March 8th, 2011, 17:01
"capability to autogenerate currencies in character sheet (autocurrencies propertykey in miscellenous properties)"

Where are the currencies defined? Right now, it forces a dollar sign for my currency and I don't know where I need to chance or remove it? Are currencies defined in the customization file? What is the tag?

Also, any chance that for "description", we can get the word "Description" before entering in fluff text?

Right now, it just says "click to edit" or nothing at all. Would be nice to have a label above the entered text.

I tried using "name" and "label" but both didn't do anything. Is "description" reserved by FG2 ?


This is the latest Unicore version 0.95 Beta release. Changed to previous version includes capability to customize Itemsheets and capability to include formattedtextfields as field types. Generally now this ruleset could be used to create customized modules that contains certain fields/nodes. Simply define fields that you want to have in module, create entries using FG interface and export them! Still you might need to make some changes into exported module to make it work as is in other rulesets except Unicore.

EDIT: Uploaded new version that includes few minor improvements: capability to alter the names of labels in character sheet's top frame (see label propertykeys) and capability to autogenerate currencies in character sheet (autocurrencies propertykey in miscellenous properties)

Ikael
March 9th, 2011, 17:02
You can define currencies used in your game by setting up following tag into your properties_customized.lua. You can list as many currencies as you like and the first one is the "default". However remember, that character sheet has place for only 6 different (first) currencies



currency = {
"Silver", "Gold", "Platinum", "Bronze"
}

You can assign/define label and frame for your formatted textfields byt giving frame and/or name properties for it. For example:



{["nodename"] = "description",
["type"] = "formattedtext",
["name"] = "Description",
["frame"] = true,
}


However, now I found a bug in the beta where formatted textfield's label/name is never displayed. I will fix that in next release.

Previously description fields had "click to enter description" note then it was empty but as the formatted textfield is now generic field and not only for applying descriptions (you can use it anywhere, multiple times in your sheets) the most generic note was the "Click to edit". I think this text cannot be set programmically so it only have one static value in the ruleset.

Stitched
March 9th, 2011, 17:52
OK. I added the tag for currencies and, on my character sheet, it's still showing the US dollar as the first currency ...

*addendum* Creating a new character sheet fixes this.

Now, however, my Gear items, default to US Dollars. Is it because I am using the "unit" tag?

{["nodename"] = "cost",
["name"] = "Cost",
["type"] = "number",
["unit"] = "currency"
},

Ahhh, it's bugged. I knew that I was using the right code for it but couldn't figure it out. Don't really like using the Frame since I want the text to use the whole window and not a formatted special frame that is indented.

Thanks for fixing this.


[QUOTE=Ikael]You can define currencies used in your game by setting up following tag into your properties_customized.lua. You can list as many currencies as you like and the first one is the "default". However remember, that character sheet has place for only 6 different (first) currencies



currency = {
"Silver", "Gold", "Platinum", "Bronze"
}

Ikael
March 10th, 2011, 20:08
Issues fixed in this version:


Formattedtextfield's name is displayed
Switchstring updates has more validity checking
Character sheet's money entries can now be deleted which will launch re-arranging/creating the coin slots.


Unless more issues are found, I am satisfied with this feature and will move to the next features on my todo-list.

EDIT: removed the attachment as new release was made. See below

Stitched
March 10th, 2011, 20:23
Before, you used to be able to switch currency units if you used:

["unit"] = "currency"

What changed? Now it's just left blank / doesn't appear ...?


Issues fixed in this version:


Formattedtextfield's name is displayed
Switchstring updates has more validity checking
Character sheet's money entries can now be deleted which will launch re-arranging/creating the coin slots.


Unless more issues are found, I am satisfied with this feature and will move to the next features on my todo-list.

Stitched
March 10th, 2011, 20:59
Where are the calendar entries handled? I saw there is a filed called "utility_calendar-system" that holds entries that I could change but it doesn't change in the campaign calendar.

Maybe something, also, for the customization file?

Ikael
March 10th, 2011, 21:17
Thanks for finding that issue in latest beta release, I did broke one small thing that prevented switchstring from getting initialized. Now it's fixed and no change has been made to the customization. Redownload the ruleset from above attachment to get the fix. In addition Campaign Calendar can be customized using the utility_calendar-system.lua file like you said, but you should note that when the calendar is first time loaded in use it will use that calendarsystem until you clean up your campaignregistery or you will type /resetdate to your chat. So make all you calendar system changes into that utility_calendar.system.lua file, load your campaign and type that /resetdate command to your chat to reset it to new calendarsystem.

Stitched
March 11th, 2011, 06:55
Didn't fix the problem. The currency is still fixed at the ever-inappropriate "$" and I can't change it.



Thanks for finding that issue in latest beta release, I did broke one small thing that prevented switchstring from getting initialized. Now it's fixed and no change has been made to the customization. Redownload the ruleset from above attachment to get the fix. In addition Campaign Calendar can be customized using the utility_calendar-system.lua file like you said, but you should note that when the calendar is first time loaded in use it will use that calendarsystem until you clean up your campaignregistery or you will type /resetdate to your chat. So make all you calendar system changes into that utility_calendar.system.lua file, load your campaign and type that /resetdate command to your chat to reset it to new calendarsystem.

Ikael
March 12th, 2011, 11:03
You are partially correct. This update fixes to issue itself, but I noticed that I have setup the currency, weight, speed and some other properties in properties_setting.lua file inside the ruleset. If you recall the overload hieracy I told you about previosly, this is one example of it. properties_setting.lua is the highest level on the overload hierachy, which will overload any and all properties presented in lower hieracy levels. This means that you actually must input those customization properties in properties_setting.lua file. I must have told you to setup those properties in properties_customization.lua file, which is why you tried that. Sorry about the confusion, I will move those properties to the properties_customization.lua level to allow them being overridden in that level

Stitched
March 12th, 2011, 18:48
Yup. Didn't know that there were separate locations for currency since I had defined it inside "properties_customization.lua". Changed it in "properties_settings.lua" of course, fixes the problem. Nice! I can go ahead and start entering in Gear now for module export.


You are partially correct. This update fixes to issue itself, but I noticed that I have setup the currency, weight, speed and some other properties in properties_setting.lua file inside the ruleset. If you recall the overload hieracy I told you about previosly, this is one example of it. properties_setting.lua is the highest level on the overload hierachy, which will overload any and all properties presented in lower hieracy levels. This means that you actually must input those customization properties in properties_setting.lua file. I must have told you to setup those properties in properties_customization.lua file, which is why you tried that. Sorry about the confusion, I will move those properties to the properties_customization.lua level to allow them being overridden in that level

Ikael
March 12th, 2011, 19:58
Glad that solution was found! I decided to apply the "setting" level as (at least) in my games there are the basic rules for certain RPG system that might change a bit when used in different setting. This is the reason why I wanted to allow the "overload hierachy". It might actually complicate things a little bit, but I just changed everything in the core ruelset's properties_setting.lua to the properties_fixed.lua (redload and see changes). In the laterwards it prodives you more flexibility to have systems with different settings.

Ikael
March 13th, 2011, 18:02
Here is the complete list of all updates/improvements in Unicore 0.95 beta. Below is the newest release of this beta version.


Tabsheet's are customizable. You can setup tabs_xxx properties for charsheet, npc and for item sheets to define which tabs are displayed in the tabsheet. Default implementation of them can be found in properties_fixed.lua file, but you can define them youself in you properties_customized.lua.
Abilitysheets, Gearsheets and Itemsheets are totally customizable throw sheet_xxx properties. Default implementation of these properties can be found in properties_fixed.lua file, but you can define your own version of them in your properties_customized.lua file.
Added new propertykey to miscellenous properties: autocurrency. If this is set to true then coin slots in character sheet will automatically use currencies defined in customization files.
Added new propertykeys to labels: overview_xxx. These properties will alter the name of labels in character sheet's overview (name, type, gender, age etc).
Streamlined following customizations: baseset, calendarsystem and fixednodes. Currently baseset properties are not implemented into separate file that was previously properties_baseset.lua, instead now baseset properties (modifiers and effects) must be implemented in properties_customization.lua or in properties_setting.lua file. CalendarConfig script name was renamed to CalendarProperties and calendarsystem property file utility_calendar-system.lua was renamed to properties_calendarsystem.lua. Fixednodes are not compulsory in your customization file anymore. You can leave them off completely or partially if you don't use them.
Default property implementation for currency, weight, speed and mapscales were moved from properties_setting.lua file to properties_fixed.lua file. This allows developers to define their own set of these properties inside properties_customized.lua file,
Players can open up their point calculator and characteristics formula by typing /pointcalculator and /characteristics into their chat.


In addition to these updates I did include new sample RPG system extension called Second Sampler (unicore_rules-sample 2.ext). This extension focuses on providing RPG rules that are very similar to Unisystem rules.

Any further improvements/new feature ideas/feedbacks for the ruleset are welcome.

kairos
March 14th, 2011, 03:52
Hi, Ikael:

I just wanted to say thank you for producing this very excellent ruleset! I initially had a look at it several weeks ago, then put it aside. But once I really got into it (and looked at your customization document), I'm really blown away at how easy it is the use and modify.

Thanks for the great work -- here's hoping Eden wants to make it official some day soon. :)

Kairos

PS -- The sample module is great! I'm going to start dropping in my Ghosts of Albion/Kerberos Club hack very soon.

Stitched
March 14th, 2011, 15:10
I second the excellence of this ruleset. It's unique flexibility (how writing rulesets should be native to FG2) has allowed me to pursue a Dragon Age ruleset where none would have been possible without spending months bashing out code.

I guess for your module, you will be editing XML? Good luck :)

Galeric
March 15th, 2011, 00:48
oh my oh my oh my! :)

this is fantastic, thank you so much, you are my hero

kairos
March 16th, 2011, 01:46
I guess for your module, you will be editing XML? Good luck :)


Lots of cutting and pasting. :)

Ikael
March 17th, 2011, 00:06
Thanks for the feedback! In 0.95 there are lots of new customization properties and features which has not been documented yet. Kairos, you also have alternative to create all module entries using FGII interface and export then to readymade module using the export tool (type /export to chat or open it from tool menu). Unicore has more export options than other rulesets and you can even create any own set of fields which will be exported. So in general you could create new set of fields to (for example) abilities represent Ghost of Albion spells, then create all spells using FG interface (no need to write XML!) and export them to sharable module! I have done this myself for my own cinematic unisystem games.

PS: New release of Unicore 0.95 beta is here. This latest release contains streamlined chat channel system (along with many minor bug fixes).

Stitched
March 18th, 2011, 14:54
Sweet. I noticed that it might be possible to define the entries for given windows(?) under "properties_fixed" (like what data gets shown on a character sheet when you input a spell).

So far, I have exported all the Focuses, Talents, and Gear for Dragon Age (from the first book) so I am super happy. What I would love, however, and this is out of the realm of Unicore, is the ability to sub-folder entries.

Right now, everything is under one heading "Focuses" but would like to break that down further ("Dexterity Focuses", etc.) Is a matter of doing it in XML or has someone written a tool that allows you to do this?



Thanks for the feedback! In 0.95 there are lots of new customization properties and features which has not been documented yet. Kairos, you also have alternative to create all module entries using FGII interface and export then to readymade module using the export tool (type /export to chat or open it from tool menu). Unicore has more export options than other rulesets and you can even create any own set of fields which will be exported. So in general you could create new set of fields to (for example) abilities represent Ghost of Albion spells, then create all spells using FG interface (no need to write XML!) and export them to sharable module! I have done this myself for my own cinematic unisystem games.

PS: New release of Unicore 0.95 beta is here. This latest release contains streamlined chat channel system (along with many minor bug fixes).

Ikael
March 22nd, 2011, 20:35
Unicore version 0.95 was finally released in FGWiki (https://oberoten.dyndns.org/fgwiki/index.php/Unicore). I decided to end this iteration as sheet customization has lots of capabilities and is big feature overall. The secondary reason is that I am lacking ideas and motivation (at the moment) of developing ruleset. I am still willing to take feature and improvement ideas that I will evaluate and possibly include to the next release.

Stitched
March 22nd, 2011, 21:50
I have just one feature request.

For the calculations of values, etc. would it be possible to change the code so that if nonsense characters or the variable cannot be found then give it a value of "0".

For example:

Longsword Attack Bonus = Str + "Heavy Blade Talent"

If the ruleset can't find the value for "Heavy Blade Talent", then the value of "Heavy Blade Talent" is defaulted to "0" (zero), otherwise use the number/value it finds.

Right now, the calculation gets broken even if it can find "Str" bonus.

This would allow for static definitions for all calculations, whether a character has talent,focus, ability, or whatever, or not.

It would really help out my ruleset development to have this in place.


Unicore version 0.95 was finally released in FGWiki (https://oberoten.dyndns.org/fgwiki/index.php/Unicore). I decided to end this iteration as sheet customization has lots of capabilities and is big feature overall. The secondary reason is that I am lacking ideas and motivation (at the moment) of developing ruleset. I am still willing to take feature and improvement ideas that I will evaluate and possibly include to the next release.

Ikael
March 22nd, 2011, 23:10
Strange because the ruleset already works that when it cannot find corresponding numberic value for literal it will use zero for that litera's value. This works fine in my games and nothing has gone broken ever because of non-existing literals. There is even properties for defining static calculations in the ruleset (default skills and combat maneuvers) which is what you're probably looking for anyways.

Can you give another try, because the feature you describe has been very essential key feature in the whole caulcation implementation. If the issue persists, can you send me your customization file again and I will have a look. There is small change that if you have developed and changed your customization file alot then something has left in cache which would cause some strange behavior, but I have not faced anything like this and my customization files ahve been on fire/in development for long time now.

madman
March 23rd, 2011, 02:32
when i start a new campaign i get a grey screen with dice and nothing else.
What did i do?

Chris

Ikael
March 23rd, 2011, 07:04
Madman, you should read the manual first :) Unlike other rulesets thsi one separates logic from graphics which means that core ruleset doesn't have any desktop/gui graphics. Instead there are several theme extensions which will provide you different outlook and feel for different campaigns. You can find several ready-made theme extension FGWiki's Unicore page (https://oberoten.dyndns.org/fgwiki/index.php/Unicore). See the bottom of that page there are six theme extension at the moment and more to come in the future.

The another thing is that you need to enable one RPG rule extension to get some characteristics there, otherwise you will just have general purpose ruleset for meta-games. There are two sample RPG rule extensions included to the Unicore v0.95 download but you can easily create your own RPG rules extension if you need to.

Stitched
March 23rd, 2011, 11:38
Nope. Definitely don't want to define every single possibility of skills and manoevres -- nope nope nope. :)

Created a new campaign, loaded my mod files, and it worked as you describe it.

One less thing to worry about.


Strange because the ruleset already works that when it cannot find corresponding numberic value for literal it will use zero for that litera's value. This works fine in my games and nothing has gone broken ever because of non-existing literals. There is even properties for defining static calculations in the ruleset (default skills and combat maneuvers) which is what you're probably looking for anyways.

Can you give another try, because the feature you describe has been very essential key feature in the whole caulcation implementation. If the issue persists, can you send me your customization file again and I will have a look. There is small change that if you have developed and changed your customization file alot then something has left in cache which would cause some strange behavior, but I have not faced anything like this and my customization files ahve been on fire/in development for long time now.

Stitched
March 26th, 2011, 13:06
Hey Ikael,

I tried taking your "example" mod (the one with Character, Armor, etc.) and "stuffing" my Dragon Age Armor list into it but found a show-stopping problem.

https://dl.dropbox.com/u/3919708/DragonAge_mod_example.png

While I have a MOD file that works fine (except I need to open an entry to drag onto the character sheet and can't just drag from the list), any idea why the entry defaults to showing "category" and "cost" (from the image) and not the way it shows in my MOD file?

Is it because I created customized entries for "Gear" (Armor, Melee Weapon, etc.) in my customization?

Stitched
March 26th, 2011, 14:26
Figured it out. Your "example" was using "referencegearsheet" - changing this to match what is in my mod = "gear" makes it work fine. Yay. Going to be migrating all my mod information in your example. It's organized and looks better. ;)

Ikael
March 26th, 2011, 22:07
Stitched, thanks again for pointing out new issue. I had totally forgot to make gear references use the new dynamic fields. Instead it used the old static fields which could not be customized, not it's fixed along with other small bug fixes. Stitched, it's possible to use "gear" instead of "referencegearsheet" and the only difference here is that referencegearsheet doesn't allow anyone alter the data inside the window, unless it's dragged and dropped to itemlist (which makes it editable "gear"). New fixed version is released in FGWiki.

Stitched
March 27th, 2011, 17:30
So if I use "referencegearsheet", in the new version, it will prevent people from altering the contents of the item ?

Ok. Will need to update the mod accordingly, after grabbing the new rules.

Think it might be easier for my modifications to be an "extension" instead of editing all those customization files all the time.



Stitched, thanks again for pointing out new issue. I had totally forgot to make gear references use the new dynamic fields. Instead it used the old static fields which could not be customized, not it's fixed along with other small bug fixes. Stitched, it's possible to use "gear" instead of "referencegearsheet" and the only difference here is that referencegearsheet doesn't allow anyone alter the data inside the window, unless it's dragged and dropped to itemlist (which makes it editable "gear"). New fixed version is released in FGWiki.

Ikael
March 27th, 2011, 17:38
yes that would be the best way to with. Take a peek on sample rule extentions and move your own customization there and rename the extension and you're good to go

Stitched
March 28th, 2011, 19:52
Hi Ikael,

I tried creating an extension and, while the customization worked, the custom calendar system didn't.

I tried using the "properties_calendarsystem" and "utility_calendar-system" script files but neither of them change the system; even after a /resetdate command.

Ikael
March 28th, 2011, 22:03
Stitched, one thing you have to do is to define global script name for your custom calendar system in your extension. Simply you need to add following line to your extension.xml right after the Customized script definition:

<script name="CalendarProperties" file="scripts/properties_calendarsystem.lua" />

this will tell FG to load properties_calendarsystem.lua file which can be found inside extension's scripts folder. Note that the name CalendarProperties must be as is, or your calendar system won't work.

Stitched
March 29th, 2011, 11:24
Did as you wrote (adding the line to extension.xml) with my calendar file, and the ruleset doesn't recognize it and won't use it.


<root version="2.0">
<properties>
<name>Dragon Age RPG System</name>
<version>0.99</version>
<author>Stitched</author>
<description>Dragon Age RPG System</description>
<ruleset>
<name>Unicore_dev</name>
</ruleset>
<ruleset>
<name>Unicore</name>
</ruleset>
<exclusiongroup>Rules</exclusiongroup>
</properties>
<base>
<script name="Customized" file="scripts/properties_customized.lua"/>
<script name="CalendarSystem" file="scripts/properties_calendarsystem"/>
</base>
</root>

Ikael
March 29th, 2011, 18:45
You're missing .lua from end of your CalendarSystem script! In additon that that, script's name must be 'CalendarProperties', this is hardcoded into the ruleset. Also remember that you must have that given file in given folder ie. properties_calendarsystem.lua file inside scripts folder inside your extension


<script name="CalendarProperties" file="scripts/properties_calendarsystem.lua"/>

Stitched
March 29th, 2011, 19:47
OK.


This:


<root version="2.0">
<properties>
<name>Dragon Age RPG System</name>
<version>0.99</version>
<author>Stitched</author>
<description>Dragon Age RPG System</description>
<ruleset>
<name>Unicore_dev</name>
</ruleset>
<ruleset>
<name>Unicore</name>
</ruleset>
<exclusiongroup>Rules</exclusiongroup>
</properties>
<base>
<script name="Customized" file="scripts/properties_customized.lua"/>
<script name="CalendarProperties" file="scripts/properties_calendarsystem.lua"/>
</base>
</root>


produces this:

https://dl.dropbox.com/u/3919708/calendarborked.png



You're missing .lua from end of your CalendarSystem script! In additon that that, script's name must be 'CalendarProperties', this is hardcoded into the ruleset. Also remember that you must have that given file in given folder ie. properties_calendarsystem.lua file inside scripts folder inside your extension


<script name="CalendarProperties" file="scripts/properties_calendarsystem.lua"/>

Ikael
March 29th, 2011, 19:52
Did you reset the date (/resetdate) after that? Calendar system is loaded in use once, and that system will be used until either new campaign is created or its reseted using that given command. I think this is your case.

PS: Gregorian calendar system is the default in ruleset.

Stitched
March 29th, 2011, 19:53
I did a /resetdate and it didn't work/change.

Deleted the campaign, built a new one, same problem. No change.



Did you reset the date (/resetdate) after that? Calendar system is loaded in use once, and that system will be used until either new campaign is created or its reseted using that given command. I think this is your case.

Ikael
March 30th, 2011, 19:56
You're correct here, there was very small bug in order of calling functions in /resetdate which reseted the configuration first and then closed the window, now it has been fixed and will be included in next release. Meanwhile you can deal with the issue by calling /resetdate and moving the time onwards. When you do this, calendar will notice that configuration has been removed and new must be loaded in use, which will eventually load the correct calendar system in use.

Stitched
March 30th, 2011, 21:19
Your trick didn't work - according to the instructions you wrote.

Like you said, when you type /resetdate, it closes the calendar window. Opening it up again, and advancing the date, doesn't change anything.



You're correct here, there was very small bug in order of calling functions in /resetdate which reseted the configuration first and then closed the window, now it has been fixed and will be included in next release. Meanwhile you can deal with the issue by calling /resetdate and moving the time onwards. When you do this, calendar will notice that configuration has been removed and new must be loaded in use, which will eventually load the correct calendar system in use.

Stitched
April 3rd, 2011, 13:30
Ikael,

Is there any way to adjust the formatting/layout of the Ability or Gear windows? (I think you had fixed this for something before)

https://dl.dropbox.com/u/3919708/Formatting.png

Ikael
April 3rd, 2011, 15:15
Yes you can, there are following properties for each sheet:



sheet_ability_properties = {
["leftoffset"] = 80,
}
sheet_gear_properties = {
["leftoffset"] = 85,
}
sheet_item_properties = {
["leftoffset"] = 80,
}


just resize these values in your customization properties to match the maxwidth of your field labels.

Ikael
April 3rd, 2011, 15:35
I decided to make another beta release for already-released 0.95 Unicore. This new beta is not guaranteed to be as stabile as previously released Unicore version 0.95 (which can be found in FGWiki). However this new update includes all the patches and fixes that I were reported about.

In addition this release includes few improvements and one new feature:

[Improvement] Character sheet's combat maneuver listing has now capability to display formulas for maneuvers indivudually. Previously you could either display formulas for all maneuver or for none, but now you can also see maneuver formulas individually.
[Improvement] New preference option was added: "Show formulas in combat maneuvers". When this option is set to on, then each combat maneuver roll result in chat will also include the formula itself in literals.
[New feature] Built-in support for pre-generated characters. Gamemaster can now create player characters and export them in modules and include these pre-generated character to any Unicore campaign. Simply create your module normally using FG interface (with unicore ruleset), create player character and on export menu, select the pre-generated characters option on and export your module. When GM activates the module in other campaign s/he can find set of pre-generated characters in the character selection window, from which s/he can drag and drop them to the list of player characters that are available to players.


PS: I made quick new release here as I noticed that small but major thing was broken on this new release, check it out again :)

Stitched
April 3rd, 2011, 16:30
Ah, nice.

Previous code had "offsetleft" so it wasn't working. Everything is formatted nice, now.

My ruleset / character sheet is basically done.

Just need to dig into changing the format on a few of the tab windows to show more information (like spell list showing important information after a dragdata, etc.) Right now, they act is list holder with links to the library, which is fine, but it would be nice to see the information without having to click on each and every one.

Still haven't tackled the dice checking yet, either. Re-read what you wrote a while ago, but still can't figure out how to do the check then send that information to the chat window. Seems like it's handled in two different places (reading each dice roll, comparing each dice roll, sending result to chat, sending special result message to chat).

NPC's have slightly different formatting so will have to see how I can get them to display in the rules customization.

Almost there... ;)


Yes you can, there are following properties for each sheet:



sheet_ability_properties = {
["leftoffset"] = 80,
}
sheet_gear_properties = {
["leftoffset"] = 85,
}
sheet_item_properties = {
["leftoffset"] = 80,
}


just resize these values in your customization properties to match the maxwidth of your field labels.

Ikael
August 19th, 2011, 18:25
After long break, I am back in business and here's the result: Unicore v0.96 ruleset is released. This update focuses mainly on updating the ruleset to be FGII v2.8+ compatible but it also includes several new features which are listed below. You can find and download this new release from FGWiki (https://oberoten.dyndns.org/fgwiki/index.php/Unicore) website.

Important notes:
To be able to use this version of ruleset you must download and use new updated theme extensions that can be downloaded from FGWiki (https://oberoten.dyndns.org/fgwiki/index.php/Unicore). Theme extensions did not update much, but they all rely on extension's loadorder-tag which is used to tell in which order each extension is loaded into the system. If you have created your own rules extensions, you need to set the loadorder tag to the extension. This can be done as easily as by adding following line to your extension's extension.xml file inside properties-tag


<loadorder>20</loadorder>

In addition this release is no longer out-of-box compatible with older version campaign, but you can update your old database by loading up the campaign normally using this new version of Unicore ruleset and when it's loaded, as gamemaster you need to type following slash command once to the chat entry:


/updatedatabase 13

After doing this you're good to go! Enjoy

Changelog:

Ruleset was updated to be FGII v2.8 compatible
Localization feature implemented: ruleset texts are all defined in customization file so ruleset could be more easily localized to any FG supported language. Simply edit ruleset's properties_localization.lua file to alter texts to your language. If you prefer to make it an extension you may so by naming the above script file as 'Localization' in script-tag.
Desktop tools are fully customizable using customization files. Tools menu also scale according to screensize so they are rendered correctly in minilaptops as well.
Chatwindow was revised to be dynamic in height according to screensize.
Qualities and Drawbacks have optional new field that can be accessed by either holding ALT down, or by pressing TAB when focus is in points field of quality or drawback. If this optional value is set then it will be used in formula calulcations instead of original field.
Client Combattracker was revised to be more lightweight
Slash commands can be auto-completed by pressing TAB
Identity auto-complete was updated. When TAB is pressed first time the name will be auto-completed with empty space after the name, when you press TAB second time, colon is added after the name.
DebugUtil script added to help ruleset debugging. To enable debugging set DebugUtil script's ENABLED variable's value to true. When debug is enabled ruleset will print detailed debugging messages to console.
Added new customization properties for secondaryattributes and importanttests: max, min and hidden. Max and Min defines the maximum and minimum value that given formula can result. If hidden property is set to true, given formula won't be displayed in formula window.
Global out-of-character chat mode is activated when ALT and any other command key (CTRL or SHIFT) is pressed down.
Client's opened preference window won't lose selected group when host updates preferences.
OOB feature was implemented and is used for non-chat messages.
Slashcommands are registered using FGII build in features.
Added support for player's AFK-states.
Added three-layers feature to images window.
Added coordination feature to images window.
Implemented database compatibility converter slash command /updatedatabase. This tool can be used to update your campaign database to latest Unicore ruleset version. See compatability issues below.
PostPacket function mistakenly added the same message twice in chat for GM [Fixed]
Library showed all module files inside one .mod file, even if the files were both the same but with different names (client.xml and common.xml) [Fixed]
Combat maneuver damagefield caused recursive callback [Fixed]
Recoveries didn't update correctly when values changed [Fixed]

Ikael
August 21st, 2011, 21:49
Small updated was just released to FGWiki which contains following patches/features:

- Integrated campaign calendar tool didn't work [Fixed]
- Pre-generated characters feature didn't work under FGII v2.8 [Fixed]
- Support for exporting and importing character to XML files via FGII interface (see character selection window)
- Players and GM can add new modifiers to the modifier list by using slashcommand /mod [number] [description]. In addition players/GM has on option to set favored modifiers which will be displayed on the top of the list always.
- Some new localization properties

peterb
August 23rd, 2011, 15:40
Any chance of a backup download location? The wiki seems to be unavailable (and unfortunately that seems to be the case quite often)...

Ikael
August 23rd, 2011, 21:20
I have planned on putting the Unicore ruleset and all samples modules and extensions under my own small domain. I will be doing it after I finnish revising campaign calendar tool and I will let you know abou it :)

Ikael
August 24th, 2011, 19:18
Here is link to domain where I store all of my developed FGII utilities:
Ikael's FGII resources (https://koti.mbnet.fi/akheikki/Fantasy%20Grounds%20II/). Note that all these codes are under development at some level, so they might not be as stabile as releases I make in FGWiki. Still the good news is that you can get the most updated release candidate versions from that site!

Ikael
September 1st, 2011, 21:54
The final version of Unicore version 0.96 (release 15) ruleset can be downloaded from FGWiki (https://oberoten.dyndns.org/fgwiki/index.php/Unicore) or this from direct link (https://koti.mbnet.fi/akheikki/Fantasy%20Grounds%20II/rulesets/Unicore-ruleset%20(1.9.2011).zip). Shortly this version focused on making ruleset FGII v2.8 compatible but it also added some new features such as multilangual support (alter all text translations in one file to translate the ruleset to your own language) and XML Export/Import support for player characters to easy transition from campaign to another without making characters pre-generated in modules. In addition AFK-mode support was implemented and new favored personal modifier ranking was added to modifierlist where each player can setup their own favorite modifiers and even create new modifiers by using /mod slashcommand. And the best part is here: DrZeuss' amazing three-layer support for maps was implemented into the core ruleset! Now you can build your map from tiles by using different layers for different tokens.

List of all major changes/updates:

Ruleset was updated to be FGII v2.8 compatible
Localization feature implemented: ruleset texts are all defined in customization file so ruleset could be more easily localized to any FG supported language. Simply edit ruleset's properties_localization.lua file to alter texts to your language. If you prefer to make it an extension you may so by naming the above script file as 'Localization' in script-tag.
Desktop tools are fully customizable using customization files. Tools menu also scale according to screensize so they are rendered correctly in minilaptops as well.
Chatwindow was revised to be dynamic in height according to screensize.
Implemented support for export and importing characters as XML files.
Campaign Calendar was refactored to support events.
ChatManager and GroupChatManager functionality was refactored.
Modifierlist was updated to have option to setup favored modifiers which are always shown first in the list.
Qualities and Drawbacks have optional new field that can be accessed by either holding ALT down, or by pressing TAB when focus is in points field of quality or drawback. If this optional value is set then it will be used in formula calulcations instead of original field.
Client Combattracker was revised to be more lightweight
Slash commands can be auto-completed by pressing TAB
Identity auto-complete was updated. When TAB is pressed first time the name will be auto-completed with empty space after the name, when you press TAB second time, colon is added after the name.
DebugUtil script added to help ruleset debugging. To enable debugging set DebugUtil script's ENABLED variable's value to true.When debug is enabled ruleset will print detailed debugging messages to console.
Added new customization properties for secondaryattributes and importanttests: max, min and hidden. Max and Min defines the maximum and minimum value that given formula can result. If hidden property is set to true, given formula won't be displayed in formula window.
Global out-of-character chat mode is activated when ALT and any other command key (CTRL or SHIFT) is pressed down.
Client's opened preference window won't lose selected group when host updates preferences.
OOB feature was implemented and is used for non-chat messages.
Slashcommand registring was refactored to FGII build-in features.
Added support for player's AFK-states.
Added three-layers feature to images window.
Added coordination feature to images window.
Implemented database compatibility converter slash command /updatedatabase. This tool can be used to update your campaign database to latest Unicore ruleset version. See compatability issues below.
DeliverPacketToHost function mistakenly added the same message twice in chat for GM [Fixed]
Library showed all module files inside one .mod file, even if the files were both the same but with different names (client.xml and common.xml) [Fixed]
Combat maneuver damagefield caused recursive callback [Fixed]
Recoveries didn't update correctly when values changed [Fixed]
Item sheet caused anchoring error when opened [Fixed]


Compatability issues: (important for all users)

Some database nodenames were changed because of previous inconsistency. If you created Unicore ruleset campaign using older release version, you must use converter tool to update the database. To do this you must input following slashcommand into chat as gamemaster:

/updatedatabase 13
Without doing this some of your data is lost until you perform database update.

Ikael
September 20th, 2011, 23:07
After short break, Unicore ruleset development has started again and the main focus for v0.97 is decided: revise the die system. Up to this point Unicore has only served for RPG systems that have die resolution something like: Roll x dices and add y to it. The revision will allow different kind of die rolling methods and resolutions, including die pooling and diceless methods. All these will be customizable via simple properties file and can be defined separately for all property categories: primary attributes, secondary attributes, important tests, skills, powers etc.

So far I have identifying different roll methods and resolutions used in different RPG system and have revised (the already implemented) damage and armor dice feature. Previously damage and armor dices allowed you to have only one die type but now no such restriction exists anymore and you're free to setup anykind of die notations for damages and armor rolls. See attached image to see example of these flexible die notations.

gmkieran
September 27th, 2011, 17:56
Ikael, by any chance would this include die systems where you create a die pool by say rolling an Attribute+Skill combination? Or where bonuses actually change the die rolled rather than simply adding to the total value of the roll?

Ikael
September 27th, 2011, 21:48
Ikael, by any chance would this include die systems where you create a die pool by say rolling an Attribute+Skill combination? Or where bonuses actually change the die rolled rather than simply adding to the total value of the roll?
This is what I am planning indeed. At least attribute+skill dicepoling will be supported out-of-the-box and cortex-like bonus system is going to be possible, but must be implemented self via provided dicehandlers.

gmkieran
September 28th, 2011, 20:58
Sir, you are a scholar and a gentleman and I thank you!!!! :D

Blackfoot
October 23rd, 2011, 19:50
When I load this up all I get is a gray screen with some dice on it... Not sure what's up there.

Ikael
October 23rd, 2011, 20:14
When I load this up all I get is a gray screen with some dice on it... Not sure what's up there.

That happens when you have not enabled any theme extension. Ruleset itself doesn't contain any graphics except that gray background. When you enable anyone of the Unicore theme extension it will look like any other usual ruleset.

See the bottom of the page (https://oberoten.dyndns.org/fgwiki/index.php/Unicore). There are several theme extensions to download which include: Dungeon, Grayscale, Metal Fantasy, Outbreak and Ultramodern themes.

To enable theme extension you must have downloaded one and moved it into Fantasy Grounds II's extensions folder inside Application Data folder. Thereafter in FG Launcher view, select the ruleset normally and you it should show you all possible extensions that you can enable. Enable/select one of Unicore theme extension to make it work :)

AMonkeyWithAFez
April 2nd, 2012, 17:33
Is it possible to define more than one die type? I am using this ruleset to make a passable working system for Old School Hack to run with some friends out of state.

I am making my way through the customization fairly well and it is work well so far.

Thanks for the ruleset.

Isembard
May 29th, 2013, 06:06
It's been a while since the last post to this thread but I thought i'd try my luck with a question anyway.

I've started to play around with the rule-set and have used the downloadable library module example to make a library of qualities, drawbacks and skills.
This has worked well and all entries will drag and drop to the character sheet.
My question is how best to manage variable-point qualities/drawbacks, currently when I drag them to the character sheet I get an error message but more importantly they are not taken into account by the points calculator.

Fingers crossed for a response.

Thanks
Isembard

Ikael
May 29th, 2013, 16:27
It's been a while since the last post to this thread but I thought i'd try my luck with a question anyway.

I've started to play around with the rule-set and have used the downloadable library module example to make a library of qualities, drawbacks and skills.
This has worked well and all entries will drag and drop to the character sheet.
My question is how best to manage variable-point qualities/drawbacks, currently when I drag them to the character sheet I get an error message but more importantly they are not taken into account by the points calculator.

Fingers crossed for a response.

Thanks
Isembard

Variable points are being supported. To define them use the cost element. You can use special characters to do this: * (asteric) or , (comma) For example the cost can be 2* which means that the cost is 2-points per level. On other hand you can define cost of 1,3,6 which states that first level cost 1-points, 2nd level 3-points and 3rd level 6-points. If you want to make the cost as flexible as possible use 1* notation, then will let you define the cost yourself. See example:



<lovetragiclove><name type="string">Love/Tragic Love</name><type type="string">2- or 4-point Drawback</type><cost type="string">2,4</cost><description type="formattedtext">...</description></lovetragiclove>

Btw what module are you building? If you want to have WitchCraft RPG module I can give it because it's free RPG game nodays.

Trenloe
May 29th, 2013, 16:38
Btw what module are you building? If you want to have WitchCraft RPG module I can give it because it's free RPG game nodays.
Just because something is free does not mean it isn't copyrighted material.

From page 2 of the Witchcraft RPG book:

No part of this book may be reproduced without written permission from the publisher...
Ask them, they could well be happy to have their material distributed for gamers on Fantasy Grounds.

Ikael
May 29th, 2013, 16:41
Just because something is free does not mean it isn't copyrighted material.

From page 2 of the Witchcraft RPG book:

Ask them, they could well be happy to have their material distributed for gamers on Fantasy Grounds.

Very good point, thanks. I take my words back. I have been trying to contact the author, but he has left the gaming industry. Even asked Dough if he could be more lucky contacting the people at Eden Studios.

Isembard
May 29th, 2013, 16:54
It is Witchcraft I'm converting. I've done all skills, qualities and drawbacks so getting there. Quite enjoyed doing it actually.
Thanks for info re. Variable costs I'll have a go at this tonight.
Rulesets great by the way I'm definately going to run some games with it, the supporting documents are a real help to.
Thanks

Isembard
May 30th, 2013, 17:20
I'm pretty much done converting the WitchCraft Quick Start adventure "The False Book of True Things". All that's left to do is some images and the NPC's.
NPC's is where my question lies. There doesn't appear to be an area to complete NPC skills, qualities etc. Having looked at the code it appears that they should be there.
Any advice on what 'm doing wrong? Screen Shots below.

Ikael
May 30th, 2013, 17:29
I'm pretty much done converting the WitchCraft Quick Start adventure "The False Book of True Things". All that's left to do is some images and the NPC's.
NPC's is where my question lies. There doesn't appear to be an area to complete NPC skills, qualities etc. Having looked at the code it appears that they should be there.
Any advice on what 'm doing wrong? Screen Shots below.

There should be fields for all those staff. They can be defined in the extension, not sure why they don't appear, but I can take a loot at it, thou it might take some time since I am occupied with several other things the whole week (and weekend :()

Isembard
May 30th, 2013, 18:02
I appreciate the help. Fingers crossed i'll have a game running soon.