Help - Search - Members - Calendar
Full Version: Chummer Character Generator
Dumpshock Forums > Discussion > Community Projects
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77
deurk
QUOTE (Nebular @ Oct 18 2011, 01:33 PM) *
Ugh. Apparently Gear plugins were assumed to consume their Capacity from a parent even if they didn't use the square brackets to indicate that they should. I'll have this corrected in the next version so that Gear consumes 0 Capacity as a plugin unless it actually cotains [value].

w00t!

Also, what could be done for the default package of sensors coming from a Vehicule Sensor?
Page 105 of Arsenal lists an example of the sensors a vehicule could be equipped with but in Chummer, one has to pay for each and every sensor at creation.

That reminds me, is there also a way to have Vehicules Rating matching the first paragraph of Vehicule and Drone Rules, page 102 of Arsenal?
Nebular
QUOTE (Jazz @ Oct 15 2011, 06:22 PM) *
* most of your alphabetic sorting is made using the english names, not the translated ones.

* all book abreviations are the english abreviation (example "DG p.3" should be "GN p.3" in french). I'd love to use the french ones so no confusion is possible. You should use SR4A and not SR4 btw.

* some hardcoded english text is left (like mentor ruletexts for exemple)

* I'll ask a special "Verify" feature in addition of the very handy current one. It's not for this week or the next one, it's only for after I have a full translated version :

* I'd love your translating/parsing process to be multithreaded : this takes a lot of time at char opening. For exemple, say one thread pick the first xml, translate it, the second thread take the second xml, and so on until all core are mapped with threads. Then when a thread finish its translation, it take another xml until no xml is left.

Sorting will be cleaned up in the next update. Most of the stuff is already sorted by the translated name - the biggest ones that weren't translated which were really bugging me were Skill Groups and Active Skills (that French one would be a nightmare to find anything in when it's sorted by the English names). There were a few others like Spells that just weren't sorted at all - so the Spell, Complex Form, Martial Arts, Skill Groups, and Active Skills lists will be sorted by their translated name in the next update.

Book abbreviations do work - looking at the last version of the translation file you sent me, you just need to include the <code> tag for each item. So Digital Grimoire's entry should look like this:
CODE
<book>
    <name>Digital Grimoire</name>
    <translate>Le Grimoire numérique</translate>
    <code>GN</code>
</book>


As far as existing hard-coded English strings and things like the Mentor texts, let's get the current stuff nailed down first, then we can identify what's working, what isn't, and what has been completely forgotten.

Verify Data File will be in the next update, next to the existing Verify button. It'll go through all of the data files and report back what's missing, writing everything out to an XML file. I tried it with the translation file I have and it seems to work, so we'll see how it goes.

I'm going to try and take look at multithreading eventually. At the moment, it's loading a character that's actually the slow part of the operation and that doesn't touch any other data file (which load translations if applicable). At some point I need to actually sit down and just spend some time to try and optimise some things, but other stuff just keeps poppin' up. smile.gif
deurk
QUOTE (Nebular @ Oct 18 2011, 02:37 PM) *
At the moment, it's loading a character that's actually the slow part of the operation

Switching for the first time to the Skills tab also takes a bit of time wink.gif
Nebular
QUOTE (deurk @ Oct 18 2011, 08:42 AM) *
w00t!

Also, what could be done for the default package of sensors coming from a Vehicule Sensor?
Page 105 of Arsenal lists an example of the sensors a vehicule could be equipped with but in Chummer, one has to pay for each and every sensor at creation.

That reminds me, is there also a way to have Vehicules Rating matching the first paragraph of Vehicule and Drone Rules, page 102 of Arsenal?

I decided to leave the sensor package options out since they were "suggested" standard stuff, figuring it's better to just let players add whatever they like instead of stripping out a handful of compoments they don't want.

Device Rating for vehicles is in the data. For some reason I just never added it to the actual display information for the Vehicle. No idea why. I'll add this in the next update.
Nebular
QUOTE (deurk @ Oct 18 2011, 09:41 AM) *
Switching for the first time to the Skills tab also takes a bit of time wink.gif

Yup! Happens in English too, but the initial load of a character itself is the big hit. Like I said, optimisations need to happen. biggrin.gif
deurk
QUOTE (Nebular @ Oct 18 2011, 02:42 PM) *
I decided to leave the sensor package options out since they were "suggested" standard stuff, figuring it's better to just let players add whatever they like instead of stripping out a handful of compoments they don't want.

Device Rating for vehicles is in the data. For some reason I just never added it to the actual display information for the Vehicle. No idea why. I'll add this in the next update.

Another thing down, thanks.

For the sensors, I suppose the way would be to buy the vehicule without them and add them for free after the creation process if finished and marked complete, or do you think it would be better to include an optionnal checkbox "Part of the initial vehicule cost"?
Nebular
QUOTE (deurk @ Oct 18 2011, 09:45 AM) *
Another thing down, thanks.

For the sensors, I suppose the way would be to buy the vehicule without them and add them for free after the creation process if finished and marked complete, or do you think it would be better to include an optionnal checkbox "Part of the initial vehicule cost"?

I'd just go with free since they ones listed rolled into the cost of the Sensor. It's up to the GM at that point as to whether the non-defualt items would be free or cost you Nuyen.
deurk
Okey dokey.
drakir
Fantastic program. I'm learning rules just making characters.
Some small things that I hope is easy to fix:
-Focused Concentration does not add to the Resist Drain calculations under Spells and Spirits
-The skill bonuses from Mentor spirits "other" (ie Dark King bonus to assensing and perception) is missing. Animal mentor spirits works fine.
-Cultured Bioware should not be able to be bought as grade "second hand". (All my Chummer characters (even the magicians) want synaptic boosters and trauma dampers for half price and they will not believe me when I tell them even a perfect program can have some small flaws.) smile.gif

Thanks for the best character generator I have ever seen
/Drakir
ChatNoir
About the gear categories that Jazz mentioned earlier, they are certainly painful at times, but they also suggest some things you would have missed during character creation (as we ended up scannig almost all categories to find what you want biggrin.gif).
So it's not all bad. wink.gif
Nebular
On the subject of performance: I have made a rather significant change that seems to have cut load time by 50%-70% and makes everything a little quicker (and will be in the next update). The XmlManager now caches most of the information when information from an XML file is requested. It caches the base data file merged the translation information but does not cache the content from custom data files. If it did that you wouldn't be able to use newly-created PACKS Kits or Cyberware Suites until you restarted the app. Caching is done when a file is requested for the first time, so it won't bother to load the Critter Power information until you use do something that requires access to it. Each time a request is made, it checks the time stamp of the physical file and its cached copy and reloads the file if it has changed (such as through the update process).
Nebular
QUOTE (drakir @ Oct 18 2011, 11:56 AM) *
Fantastic program. I'm learning rules just making characters.
Some small things that I hope is easy to fix:
-Focused Concentration does not add to the Resist Drain calculations under Spells and Spirits
-The skill bonuses from Mentor spirits "other" (ie Dark King bonus to assensing and perception) is missing. Animal mentor spirits works fine.
-Cultured Bioware should not be able to be bought as grade "second hand". (All my Chummer characters (even the magicians) want synaptic boosters and trauma dampers for half price and they will not believe me when I tell them even a perfect program can have some small flaws.) smile.gif

Thanks for the best character generator I have ever seen
/Drakir

I'll take a look at these! biggrin.gif
Focused Concentration will be fixed up in the next update. Any character that has it will need to remove the Quality then re-add it after they've updated to pick up the new Improvements.
The missing Mentor bonuses will also be added.
Cultured Bioware will be a little more tricky as it involves a couple of additional checks for things, but it really should do it anyways. Hopefull this one is in the next update too.
deurk
QUOTE (Nebular @ Oct 18 2011, 06:23 PM) *
On the subject of performance: I have made a rather significant change that seems to have cut load time by 50%-70% and makes everything a little quicker (and will be in the next update). The XmlManager now caches most of the information when information from an XML file is requested. It caches the base data file merged the translation information but does not cache the content from custom data files. If it did that you wouldn't be able to use newly-created PACKS Kits or Cyberware Suites until you restarted the app. Caching is done when a file is requested for the first time, so it won't bother to load the Critter Power information until you use do something that requires access to it. Each time a request is made, it checks the time stamp of the physical file and its cached copy and reloads the file if it has changed (such as through the update process).

Great news, you keep making me refresh that forum wayyyyy too often Nebular!
Jazz
From metatypes.xml
* the translated metatypes don't affich very well (fr-data very soon)

From gear.xml
* when adding an equipement, not all <category> are translated (ex ARE programs and the last item in the list)

From GUI translation
* Look what I did there :
<string>
<key>Label_RangeShort</key>
<text>Courte (-0)</text>
</string>
<string>
<key>Label_RangeMedium</key>
<text>Moyenne (-1)</text>
</string>
<string>
<key>Label_RangeLong</key>
<text>Longue (-3)</text>
</string>
<string>
<key>Label_RangeExtreme</key>
<text>Extrême (-6)</text>
</string>

==> There's the dicepool modifiers here. With the dicepool just next, this is neat !
McDougle
Some of the last updates were pretty neat(once again u implemented stuff i had hoped for wink.gif ) and I´m happily anticipating the next! rotfl.gif notworthy.gif
McDougle
So because are currently working on sorting stuff and so on:

- Knowledge skills should either be dragable(is that a word?) or sorted by category(like active skills with different possibs like: 1.Language, 2.Street, 3.Interest, 4.Professional, 5.Academic or vice versa).
Nebular
QUOTE (drakir @ Oct 18 2011, 11:56 AM) *
-Cultured Bioware should not be able to be bought as grade "second hand". (All my Chummer characters (even the magicians) want synaptic boosters and trauma dampers for half price and they will not believe me when I tell them even a perfect program can have some small flaws.) smile.gif

Just finished working on this so it will be in the next update. There were a few other quirks that this revealed that will also be fixed, such as all Bioware incorrectly having access to Alphaware (Second-Hand) and potentially other Cyberware-only Grades, and Symbionts and Genetic Infusions not being limited to Standard Grade only.
Nebular
QUOTE (McDougle @ Oct 19 2011, 10:01 AM) *
So because are currently working on sorting stuff and so on:

- Knowledge skills should either be dragable(is that a word?) or sorted by category(like active skills with different possibs like: 1.Language, 2.Street, 3.Interest, 4.Professional, 5.Academic or vice versa).

This one is tricky as the name or Category can change at any time and sorting those controls is actually really slow since you have to remove all of them, re-order them, then re-add them again. I'll take a look at trying to sort these as some point, but for now it's pretty low on the list.
McDougle
Well, Chummer could check it only at times when i select another way to sort k-skills. smile.gif Despite from that Chummer could just leave them the way they are currently sorted and add new skills to the bottom as before. smile.gif

Another thing that came to mind again just now:

-I would still love to be able to temporary hide the "Cyberware and Bioware" Column.
Many of my chars don´t use it at all, so it´s pretty much just consuming valuable space.

-> I Remember u said at some point, that it would also be hidden from other chars then, or not be available at all times, but why not make a "Hide/Unhide" Botton right beside the print-icon, or even add it to "Special"?
McDougle
And a new idea for the "Clothing"-problem:

Could Chummer handle a "Name Armor"-Feature for armor? It could work exactly like the one for weapons and vehicles and still enable us to bypass 4 stashes of "Clothing". eek.gif

That way Clothing could turn into: Clothing ("brown HVR sportswear"), or Clothing ("brown NeckTie") and so on. biggrin.gif
McDougle
And:

-Adept Power "Combat Sense" doesn´t add its bonus(1 per level) to Dodge(it grants a bonus for "defending against ranged and melee attacks" (p.195) so it should be applied to Dodge as well wink.gif ).


EDIT:

Sorry for posting/demanding/recommendating so much today, but when I work on character I always find new bugs and ideas it seems ^^)
Nebular
QUOTE (McDougle @ Oct 19 2011, 11:57 AM) *
And:

-Adept Power "Combat Sense" doesn´t add its bonus(1 per level) to Dodge(it grants a bonus for "defending against ranged and melee attacks" (p.195) so it should be applied to Dodge as well wink.gif ).


EDIT:

Sorry for posting/demanding/recommendating so much today, but when I work on character I always find new bugs and ideas it seems ^^)

Its bonus should not be added to Dodge. The Power grants a bonus to Reaction on Surprise Tests when defending against ranged and melee attacks. It makes no mention of Dodge. It is also a situational/conditional modifier and modifiers are never represented within the application if they are only applicable under cetain conditions.
Nebular
QUOTE (McDougle @ Oct 19 2011, 10:29 AM) *
Well, Chummer could check it only at times when i select another way to sort k-skills. smile.gif Despite from that Chummer could just leave them the way they are currently sorted and add new skills to the bottom as before. smile.gif

Another thing that came to mind again just now:

-I would still love to be able to temporary hide the "Cyberware and Bioware" Column.
Many of my chars don´t use it at all, so it´s pretty much just consuming valuable space.

-> I Remember u said at some point, that it would also be hidden from other chars then, or not be available at all times, but why not make a "Hide/Unhide" Botton right beside the print-icon, or even add it to "Special"?

Still not happening. I do not agree with hiding tabs that all characters technically have access to.
Nebular
QUOTE (McDougle @ Oct 19 2011, 11:11 AM) *
And a new idea for the "Clothing"-problem:

Could Chummer handle a "Name Armor"-Feature for armor? It could work exactly like the one for weapons and vehicles and still enable us to bypass 4 stashes of "Clothing". eek.gif

That way Clothing could turn into: Clothing ("brown HVR sportswear"), or Clothing ("brown NeckTie") and so on. biggrin.gif

Should be doable.
McDougle
1.
combat sense
Cost: .5 per level
Combat Sense provides an instinctive sense about an area and
any potential threats nearby. The character gains one die per level for
Reaction on Surprise Tests and when defending against ranged and
melee attacks.
--> It mentions defending on its own= for defend-rolls(like dodge)

2.
Hiding that tab would be temporary(and only if the user wants to; which he would have to do in "Special")-> no one would "loose" access to that tab- we could just hide it temporarily(using the "Special"-Menu) if we temporarily don´t need it(think about playing a mage with chummer for a night and not having to misclick on the wares-tab all the time(i know it happens to me quite often))(it would still be there, just in the background of chummer).
A simple click(or restarting the char in chummer/chummer) would reenable it.

@ giving names to armor: Thx! cyber.gif
McDougle
-> made several edits to the last post
Nebular
QUOTE (McDougle @ Oct 19 2011, 12:26 PM) *
1.
combat sense
Cost: .5 per level
Combat Sense provides an instinctive sense about an area and
any potential threats nearby. The character gains one die per level for
Reaction on Surprise Tests and when defending against ranged and
melee attacks.
--> It mentions defending on its own= for defend-rolls(like dodge)

2.
Hiding that tab would be temporary(and only if the user wants to; which he would have to do in "Special")-> no one would "loose" access to that tab- we could just hide it temporarily(using the "Special"-Menu) if we temporarily don´t need it(think about playing a mage with chummer for a night and not having to misclick on the wares-tab all the time(i know it happens to me quite often))(it would still be there, just in the background of chummer).
A simple click(or restarting the char in chummer/chummer) would reenable it.

@ giving names to armor: Thx! cyber.gif

1. That is still situational and not exclusive to Dodge. Unarmed Combat and Bladescan also be used when defending against melee attacks. Dodge is also not exclusively used for defending against ranged and melee attacks as it can be to other perceived threats. Dodging out of the way of a vehicle while you're running across a street is the first thing that comes to mind and is neither a ranged or melee attack.

2. Still no. This isn't going to happen.
McDougle
1. Alright, didn´t think of dodging vehicles and the like. Your right.

2. Too bad.

3. Now the character is in career-mode and I can´t reload the vehicle-mounted LMG. It tells me I don´t have ammo left for that weapontype, even though I´ve got 100 rounds for LMG´s.
Is this a known issue(i feel like someone else mentioned a similiar problem some time ago, but I´m not sure)?
Jazz
QUOTE (Nebular @ Oct 18 2011, 02:37 PM) *
As far as existing hard-coded English strings and things like the Mentor texts, let's get the current stuff nailed down first, then we can identify what's working, what isn't, and what has been completely forgotten.

I agree, let's finish the rest first.

QUOTE (Nebular @ Oct 18 2011, 02:37 PM) *
Verify Data File will be in the next update, next to the existing Verify button. It'll go through all of the data files and report back what's missing, writing everything out to an XML file. I tried it with the translation file I have and it seems to work, so we'll see how it goes.

w00t tang clan.
=>
- If you can pre-format this to how it should insert in fr-data that would be neat.
- Also, if you can put in another file what french data doesn't link to an english data, that would be nice aswell. That way we would have : all the english data that doesn't have a translation, and all the translations that doesn't need to be in fr-data.

QUOTE (Nebular @ Oct 18 2011, 02:37 PM) *
I'm going to try and take look at multithreading eventually. At the moment, it's loading a character that's actually the slow part of the operation and that doesn't touch any other data file (which load translations if applicable). At some point I need to actually sit down and just spend some time to try and optimise some things, but other stuff just keeps poppin' up. smile.gif

No worries, from the time you're aware of that too, this is cool.
Nebular
QUOTE (McDougle @ Oct 19 2011, 12:45 PM) *
3. Now the character is in career-mode and I can´t reload the vehicle-mounted LMG. It tells me I don´t have ammo left for that weapontype, even though I´ve got 100 rounds for LMG´s.
Is this a known issue(i feel like someone else mentioned a similiar problem some time ago, but I´m not sure)?

Is the ammo in your Gear section, or attached to the Vehicle? Vehicles can only consume ammo that is in their possession - they can't take it out of your personal supply.
McDougle
QUOTE (Nebular @ Oct 19 2011, 08:09 PM) *
Is the ammo in your Gear section, or attached to the Vehicle? Vehicles can only consume ammo that is in their possession - they can't take it out of your personal supply.

Thx. I wasn´t aware of that.
Nebular
QUOTE (Jazz @ Oct 19 2011, 12:49 PM) *
- If you can pre-format this to how it should insert in fr-data that would be neat.
- Also, if you can put in another file what french data doesn't link to an english data, that would be nice aswell. That way we would have : all the english data that doesn't have a translation, and all the translations that doesn't need to be in fr-data.

Can do. Here's how it will look:
CODE
<results>
    <file name="armor.xml" exists="True">
        <result name="Clothing" exists="True">
            <missing>translate</missing>
            <missing>code</missing>
            <missing>page</missing>
        </result>
        <noentry>
            <armor name="Some Random Name That Doesn't Exist" />
        </noentry>
    </file>
</results>

Each file has its own <file> entry and exists is True or False as to whether or not a matching entry was found in the data translation file.
<result> tags appear any time there's a mis-match between the core data and the translation. Exists is True or False as to whether or not it could find the matching item the data translation file. If it's False, no other information is given since it's all missing. <missing> can be translate, code, or page to show that translated name, code (sourcebook code), and/or page information is not in the translation file. These match the names of the tags in the translation file. Only the items that are missing are listed.
<noentry> means that there an entry in the translation file that does not exist the core data.
Jazz
If you can, I'd prefer something like

CODE
<results>
    <chummer file="armor.xml">
        <exists="True" />
        <armors>
            <armor>
                <name = "True">Armor Jacket</name>
                <translate></translate>
                <page></page>
                <code></code>
            </armor>
        </armors>
        <mods>
            <mod>
                <name></name>
                <translate>Protection Chimiiiiique</translate>
                <page>123</page>
                <code>Yay</code>
            </mod>
        </mods>
    </chummer>
</results>


Else that will do the job anyway. That's for further translation, with fast reaction from our side (now deurk and me smile.gif).

Do you make the analysis only with books that are checked in the options (else I will have loooong <noentries /> lists)?
Nebular
QUOTE (Jazz @ Oct 19 2011, 01:59 PM) *
Do you make the analysis only with books that are checked in the options (else I will have loooong <noentries /> lists)?

At the moment, no, though I now understand why you'd want to. I'll take a look at adding that in.

I'll change the generated XML to be more like what you listed:
CODE
        <armors>
            <armor exists="True">
                <name>Clothing</name>
                <missing>code</missing>
            </armor>
Dakka Dakka
QUOTE (Nebular @ Oct 19 2011, 07:38 PM) *
Dodging out of the way of a vehicle while you're running across a street is the first thing that comes to mind and is neither a ranged or melee attack.
Not sure if the bonus should not apply to situations like this. I posted a topic concerning this here.

I also found some bugs:
- Barrel extension/reduction does not alter the weapon's range
- Smart Packs and Pouches are on page AR 62 not 61.
Jazz
QUOTE (Nebular @ Oct 19 2011, 07:24 PM) *
At the moment, no, though I now understand why you'd want to. I'll take a look at adding that in.

I'll change the generated XML to be more like what you listed:
CODE
        <armors>
            <armor exists="True">
                <name>Clothing</name>
                <missing>code</missing>
            </armor>

For you to know, I don't really care if the file is indeted, I auto-indent the xml via a program.
And a second thing, now I've finished it, if you ever plan to change a letter in martial arts, I'll kill a kitty.

smile.gif
Nebular
QUOTE (Jazz @ Oct 19 2011, 05:52 PM) *
For you to know, I don't really care if the file is indeted, I auto-indent the xml via a program.
And a second thing, now I've finished it, if you ever plan to change a letter in martial arts, I'll kill a kitty.

smile.gif

Indenting is nothing special - it's just a property you assign to the writer and it makes my life much easier when I have to read the output to make sure it's correct. wink.gif
deurk
Weapons.xml:
  • Minigrenade: Espirt Petite Brume: should be 'Minigrenade: Esprit Petite Brume'
  • Colt Cobra Z-118: should be 'Colt Cobra TZ-118'
  • All items noted as being from AR, page 176 are nowhere to be found in it. They are Vehicules Heavy Mortar Rounds and Howitzer Rounds. Could you tell me where you found those?
Dakka Dakka
QUOTE (deurk @ Oct 20 2011, 12:10 PM) *
[*]Fork or Utensil: should be 'Fork or Ustensil'
Actually it should be utensil
deurk
Absolutely right, wrong translation assomption!
Nebular
QUOTE (deurk @ Oct 20 2011, 05:10 AM) *
Weapons.xml:
  • Colt Cobra Z-118: should be 'Colt Cobra TZ-118'
  • All items noted as being from AR, page 176 are nowhere to be found in it. They are Vehicules Heavy Mortar Rounds and Howitzer Rounds. Could you tell me where you found those?

I've updated the weapons.xml file to fix these. The items marked as AR 176 should actually be WAR 176. Amazing what one letter can change. wink.gif
deurk
Thanks for the fixes.

Here's another one I missed earlier.
QUOTE (deurk @ Oct 20 2011, 10:10 AM) *
Weapons.xml:
  • Minigrenade: Espirt Petite Brume: should be 'Minigrenade: Esprit Petite Brume'

Nebular
QUOTE (deurk @ Oct 20 2011, 08:15 AM) *
Thanks for the fixes.

Here's another one I missed earlier.

Whoops. Fixed again.
deurk
Nebular, any idea why?

When using the following fr-data.xml file:
[ Spoiler ]

I have the error mentionned below:
[ Spoiler ]


Thanks.
Nebular
Argh! Weapons file updated again. Apparently I put the name as Exprit instead of Esprit. Sigh. Gonna be one of those days I see. smile.gif
Nebular
QUOTE (deurk @ Oct 20 2011, 08:32 AM) *
Nebular, any idea why?

When using the following fr-data.xml file:

Thanks.

Looks like you're trying to load a character, but I can't seem to reproduce this with any of the save files I've tried with the translated information you provided. Can you email me the character you're trying to open when this happens (nebular@shaw.ca)?
deurk
Files sent.
Nebular
Looks like this is a problem with the current build. The one I'm currently working on made some changes to the inner workings for translations which seems to have solved this problem, so this will be fixed in the next update.
deurk
QUOTE (Nebular @ Oct 20 2011, 02:57 PM) *
Looks like this is a problem with the current build. The one I'm currently working on made some changes to the inner workings for translations which seems to have solved this problem, so this will be fixed in the next update.

Wonderful. Can't wait.
Dakka Dakka
Chummer throws an error about capacity, when you add more than one program as a plugin to a commlink (the Hermes Ikon at least)

Where do you get the cost of 200¥ for the custom OS? BTW where does it say that you can code or buy a custom OS? I can't find it in the books. It can't be true that commlink Firewall is caped at 5 (best stock FW +2).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Dumpshock Forums © 2001-2012