Jump to content



Photo

New Character Sheet based on Beginner's Box Sheets?


  • Please log in to reply
22 replies to this topic

#1 Darian Ocana

Darian Ocana

    Member

  • Members
  • 52 posts

Posted 17 December 2012 - 05:18 PM

I was trying to figure out on my own how to make a character sheet that not only was form fillable (with stat calculation), but also displayed the dice pools as you changed the values of characteristics and skills… no luck. I think there might be some javascript (ie Magic) way to do this, but I am not a code monkey, ape, or gorilla. Anyone have an idea? I think if we can get together the artistic people of the boards (for the layout) and the analytical (for the code) among us, this might become a rather cool project. Any takers?

 



#2 Ceodryn

Ceodryn

    Member

  • Members
  • 263 posts

Posted 18 December 2012 - 01:17 AM

I don't have the artistic skills to help, but I wanted to refer the excellent example of character sheets created for WFRP3 (similar dice pool system), available on: http://gitzmansgalle...rces/index.html. The top link is the non-fillable, just under is the fillable.

It is tougher to do for EotE since the dice pool will shift depending on your char or profiency being higher (vs. WFRP3 where they just add to each other), but I'd love indeed if someone could design a character sheet fillable that ressemble the Beginner Box.

Cheers
Ceodryn



#3 Darian Ocana

Darian Ocana

    Member

  • Members
  • 52 posts

Posted 18 December 2012 - 03:34 AM

Wow, those are nice. thanks for the link.

 

As for the dice pool calculation, the calculation is simple in idea if not in execution. Two input variables, one defines the size of the pool and the other defines the number of proficiency symbols that replace the ability dice. I tried using google to find some examples like this, but apparently my search-fu is weak.



#4 gribble

gribble

    Member

  • Members
  • 376 posts

Posted 18 December 2012 - 09:16 AM

The code you're looking for is simple:

max(characteristic, skill) - min(characteristic, skill) number of green dice and min(characteristic, skill) number of yellow dice.

or as a JavaScript function:

function dicePool(characteristic, skill) {

var minValue = Math.min(characteristic, skill);

alert(Math.max(characteristic, skill) - minValue + "G" + minValue + "Y");

}

 

Of course, that doesn't contain any range checking or error handling as professional code should, and you probably want it to return something meaningful rather than just display an alert box, but that should give you the right idea.


Star Wars Edge of the Empire (Beta test) resources:

 


#5 Darian Ocana

Darian Ocana

    Member

  • Members
  • 52 posts

Posted 18 December 2012 - 10:23 AM

Gribble,

You are a scholar and a gentleman. Thank you. I will tinker with this and see what falls out. 



#6 gribble

gribble

    Member

  • Members
  • 376 posts

Posted 18 December 2012 - 03:30 PM

Darian Ocana said:

Gribble,

You are a scholar and a gentleman. Thank you. I will tinker with this and see what falls out. 

No probs - let me know if you need any other help. This is something I'd like to see happen, just don't have the time to do it all myself.

:)


Star Wars Edge of the Empire (Beta test) resources:

 


#7 Darian Ocana

Darian Ocana

    Member

  • Members
  • 52 posts

Posted 18 December 2012 - 05:14 PM

 

Ok, here's my first bit of JS for the character sheet. Its a dropdown selection to populate basic stats for each species. Unfortunately, there is an error somewhere in the code which is driving me nuts. If anyone sees the issue I'd appreciate a helping hand. I'm beginning to think I may have bitten off more than I can chew :P

 

var SpeciesName = { Bothan:{ Brawn: "1",

                                            Agility: "2",

                                            Intellect: "2",

                                            Cunning: "3",

                                            Willpower: "2",

                                            Presence: "2",

                                            Wounds: "10",

                                            Strain: "11" },

                                Droid:{ Brawn: "1",

                                            Agility: "1",

                                            Intellect: "1",

                                            Cunning: "1",

                                            Willpower: "1",

                                            Presence: "1",

                                            Wounds: "10",

                                            Strain: "10" },

                                 Gand:{ Brawn: "2",

                                            Agility: "2",

                                            Intellect: "2",

                                            Cunning: "2",

                                            Willpower: "3",

                                            Presence: "1",

                                            Wounds: "10",

                                            Strain: "10" },

                              Human:{ Brawn: "2",

                                            Agility: "2",

                                            Intellect: "2",

                                            Cunning: "2",

                                            Willpower: "2",

                                            Presence: "2",

                                            Wounds: "10",

                                            Strain: "10" },

                              Rodian:{ Brawn: "2",

                                            Agility: "3",

                                            Intellect: "2",

                                            Cunning: "2",

                                            Willpower: "1",

                                            Presence: "2",

                                            Wounds: "10",

                                            Strain: "10" },

                       Trandoshan:{ Brawn: "3",

                                            Agility: "1",

                                            Intellect: "2",

                                            Cunning: "2",

                                            Willpower: "2",

                                            Presence: "2",

                                            Wounds: "12",

                                            Strain: "9" },

                              Twi'lek:{ Brawn: "1",

                                            Agility: "2",

                                            Intellect: "2",

                                            Cunning: "2",

                                            Willpower: "2",

                                            Presence: "3",

                                            Wounds: "11",

                                            Strain: "11" },

                              Wookie:{ Brawn: "3",

                                            Agility: "2",

                                            Intellect: "2",

                                            Cunning: "2",

                                            Willpower: "1",

                                            Presence: "2",

                                            Wounds: "14",

                                            Strain: "8" }},

function SetFieldValues(cSpeciesName)

{

this.getField("Brawn").value = SpeciesName[cSpeciesName].Brawn;

this.getField("Agility").value = SpeciesName[cSpeciesName].Agility;

this.getField("Intellect").value = SpeciesName[cSpeciesName].Intellect;

this.getField("Cunning").value = SpeciesName[cSpeciesName].Cunning;

this.getField("Willpower").value = SpeciesName[cSpeciesName].Willpower;

this.getField("Presence").value = SpeciesName[cSpeciesName].Presence;

this.getField("Wounds").value = SpeciesName[cSpeciesName].Wounds;

this.getField("Strain").value = SpeciesName[cSpeciesName].Strain;

}



#8 gribble

gribble

    Member

  • Members
  • 376 posts

Posted 19 December 2012 - 09:20 AM

Darian Ocana said:

 

Ok, here's my first bit of JS for the character sheet. Its a dropdown selection to populate basic stats for each species. Unfortunately, there is an error somewhere in the code which is driving me nuts. If anyone sees the issue I'd appreciate a helping hand. I'm beginning to think I may have bitten off more than I can chew :P

 

 

Two issues:

  1. You can't have a single quote (') character in the property name Twi'lek - you'll need to remove this. For display purposes you can always add a property that holds the full name as a string. i.e.:
                                  Twilek:{ DisplayName: "Twi'lek",
                                                Brawn: "1",
                                                Agility: "2",
                                                Intellect: "2",
                                                Cunning: "2",
                                                Willpower: "2",
                                                Presence: "3",
                                                Wounds: "11",
                                                Strain: "11" },
  2. You have a stray trailling comma (,) after the final curly brace (}) of the SpeciesName variable declaration. 

Fix those and it should work.


Star Wars Edge of the Empire (Beta test) resources:

 


#9 JediHamlet

JediHamlet

    Member

  • Members
  • 27 posts

Posted 19 December 2012 - 01:07 PM

Actually, in JavaScript, you can have a quote in the key for "Twi'lek". Just wrap the keys in quotes. Either single-quotes, and 'escape' the inner quote (i.e: 'Twi'lek'), or just use double-quotes, and you don't have to escape the inner single-quote.

 

species = {
    // …
    "Twi'lek": {
        Brawn:      1,
        Agility:    2,
        Intellect:  2,
        Cunning:    2,
        Willpower:  2,
        Presence:   3,
        Wounds:     11,
        Strain:     11
    },
    // …
};
 


#10 Darian Ocana

Darian Ocana

    Member

  • Members
  • 52 posts

Posted 19 December 2012 - 04:45 PM

 

 

 

 

Well, here's the newest code. Thanks for the advice guys. I appreciate it. Only issue I'm having now is a "SpecData[Characteristics] is undefined" error in the debugger.  I'm about to pull a Han and shoot the damn computer than deal with this anymore ;)

 

 

var SpecData = { Bothan:{ brawn: "1", agility: "2", intellect: "2", cunning: "3", willpower: "2", presence: "2", wounds: "10", strain: "11" },

                               Droid:{ brawn: "1", agility: "1", intellect: "1", cunning: "1", willpower: "1", presence: "1", wounds: "10", strain: "10" },

                               Gand:{ brawn: "2", agility: "2", intellect: "2", cunning: "2", willpower: "3", presence: "1", wounds: "10", strain: "10" },

                           Human:{ brawn: "2", agility: "2", intellect: "2", cunning: "2", willpower: "2", presence: "2", wounds: "10", strain: "10" },

                           Rodian:{ brawn: "2", agility: "3", intellect: "2", cunning: "2", willpower: "1", presence: "2", wounds: "10", strain: "10" },

                   Trandoshan:{ brawn: "3", agility: "1", intellect: "2", cunning: "2", willpower: "2", presence: "2", wounds: "12", strain: "9" },

                         "Twi'lek":{  brawn: "1", agility: "2", intellect: "2", cunning: "2", willpower: "2", presence: "3", wounds: "11", strain: "11" },

                           Wookie:{ brawn: "3", agility: "2", intellect: "2", cunning: "2", willpower: "1", presence: "2", wounds: "14", strain: "8" }}

function SetFieldValues(Characteristics)

{

  this.getField("cBrawn").value = SpecData[Characteristics].brawn;

  this.getField("cAgility").value = SpecData[Characteristics].agility;

  this.getField("cIntellect").value = SpecData[Characteristics].intellect;

  this.getField("cCunning").value = SpecData[Characteristics].cunning;

  this.getField("cWillpower").value = SpecData[Characteristics].willpower;

  this.getField("cPresence").value = SpecData[Characteristics].presence;

  this.getField("cWounds").value = SpecData[Characteristics].wounds;

  this.getField("cStrain").value = SpecData[Characteristics].strain;

}

 

 

 



#11 gribble

gribble

    Member

  • Members
  • 376 posts

Posted 19 December 2012 - 05:11 PM

Darian Ocana said:

Well, here's the newest code. Thanks for the advice guys. I appreciate it. Only issue I'm having now is a "SpecData[Characteristics] is undefined" error in the debugger.  I'm about to pull a Han and shoot the damn computer than deal with this anymore ;)

Looks ok at first glance - how are you attempting to use the code above when you get the error?


Star Wars Edge of the Empire (Beta test) resources:

 


#12 Darian Ocana

Darian Ocana

    Member

  • Members
  • 52 posts

Posted 20 December 2012 - 02:33 AM

Its used via a dropdown list for the species line. Select a specific species and the code is supposed to populate the individual characteristic bubbles as well as the add to the wound and strain areas. I have some minor code that erases the bubbles when the blank area of the dropdown is selected, and that works fine. My wish is make this a fully customizable character sheet, but these little code gremlins are really pissing me off. I've included the sheet with the code in the link below.

https://dl.dropbox.c...lable CS v2.pdf



#13 gribble

gribble

    Member

  • Members
  • 376 posts

Posted 20 December 2012 - 08:15 AM

Darian Ocana said:

Its used via a dropdown list for the species line. Select a specific species and the code is supposed to populate the individual characteristic bubbles as well as the add to the wound and strain areas. I have some minor code that erases the bubbles when the blank area of the dropdown is selected, and that works fine. My wish is make this a fully customizable character sheet, but these little code gremlins are really pissing me off. I've included the sheet with the code in the link below.

Sorry man, code embedded in PDFs is starting to get outside my territory… however I suspect that what is happening is that the SpecData array is out of scope when it's being referenced - hence my question. Are you sure that the error is coming from the function, or are you referencing the the SpecData array elsewhere that may be the source of the error?

Can you provide the full debugging trace? That might help…

:)


Star Wars Edge of the Empire (Beta test) resources:

 


#14 aljovin

aljovin

    Member

  • Members
  • 177 posts

Posted 20 December 2012 - 12:33 PM

Darian Ocana said:

Its used via a dropdown list for the species line. Select a specific species and the code is supposed to populate the individual characteristic bubbles as well as the add to the wound and strain areas. I have some minor code that erases the bubbles when the blank area of the dropdown is selected, and that works fine. My wish is make this a fully customizable character sheet, but these little code gremlins are really pissing me off. I've included the sheet with the code in the link below.

https://dl.dropbox.c...lable CS v2.pdf

I don't get anything when trying out the sheet… :(



#15 aljovin

aljovin

    Member

  • Members
  • 177 posts

Posted 20 December 2012 - 01:05 PM

aljovin said:

Darian Ocana said:

 

Its used via a dropdown list for the species line. Select a specific species and the code is supposed to populate the individual characteristic bubbles as well as the add to the wound and strain areas. I have some minor code that erases the bubbles when the blank area of the dropdown is selected, and that works fine. My wish is make this a fully customizable character sheet, but these little code gremlins are really pissing me off. I've included the sheet with the code in the link below.

https://dl.dropbox.c...lable CS v2.pdf

 

 

I don't get anything when trying out the sheet… :(

 

OK, I've managed… I have found your error!

The dropdown have all the names in lowercase, but the index for your SpecData are capitalized.

In Javascript bothan != Bothan

Hope this helps!



#16 Darian Ocana

Darian Ocana

    Member

  • Members
  • 52 posts

Posted 20 December 2012 - 04:02 PM

Wow, that did it. Thank you! On to more newbie coding :)

Here's the pdf with the corrected code.

https://dl.dropbox.c...lable CS v2.pdf



#17 Darian Ocana

Darian Ocana

    Member

  • Members
  • 52 posts

Posted 22 December 2012 - 04:04 PM

Little update. I've built a custom sheet repurposing the design elements into a new format. I've included the autofill function for species selection as well as adding an area in the skills section that has fillable ranks and a dice pool area. Dice pools are not coded yet. Still trying to figure out how to output a shape from both characteristics and skills in the code. 

https://dl.dropbox.c... Project v1.pdf



#18 DylanRPG

DylanRPG

    Member

  • Members
  • 265 posts

Posted 22 December 2012 - 04:12 PM

Darian Ocana said:

Little update. I've built a custom sheet repurposing the design elements into a new format. I've included the autofill function for species selection as well as adding an area in the skills section that has fillable ranks and a dice pool area. Dice pools are not coded yet. Still trying to figure out how to output a shape from both characteristics and skills in the code. 

https://dl.dropbox.c... Project v1.pdf

 

Excuse me while geek out for a bit.

This is cool!


Complete PDF Talent Trees:https://docs.google....dit?usp=sharing

 

Form Fillable Official Character Sheet: https://docs.google....dit?usp=sharing

 


#19 TacticalBastrd

TacticalBastrd

    Member

  • Members
  • 99 posts

Posted 22 December 2012 - 04:22 PM

First of THIS IS GREAT! Thanks so much!

 

I did notice that I am unable to click on the second rank of the skills. It just seems to do 1 or 3. 


"The probability of a successful dice roll is inversely proportional to the relative amount of negative impact its failure will have on your character."  -Murphy's RPG Corollary-

 

Co-Host of The Sabacc Table Podcast


#20 TacticalBastrd

TacticalBastrd

    Member

  • Members
  • 99 posts

Posted 22 December 2012 - 04:27 PM

I did find that I could get to the second rank by tabbing to it.


"The probability of a successful dice roll is inversely proportional to the relative amount of negative impact its failure will have on your character."  -Murphy's RPG Corollary-

 

Co-Host of The Sabacc Table Podcast





© 2013 Fantasy Flight Publishing, Inc. Fantasy Flight Games and the FFG logo are ® of Fantasy Flight Publishing, Inc.  All rights reserved.
Privacy Policy | Terms of Use | Contact | User Support | Rules Questions | Help | RSS