elistevens / xws-spec

X-Wing Squadron Specification
75 stars 15 forks source link

Fore/Aft Huge Ships #34

Open ghost opened 7 years ago

ghost commented 7 years ago

About halfway through typing this up I noticed that my problem has already been addressed but the README_NAMES had not been updated to reflect it. So I guess this becomes a request to update said file... The original message is included below for no real reason other than it may mention a bug in YASB's implementation...

ORIGINAL MESSAGE: I'm working on adding epic support to my overlay generator and noticed a possible shortcoming. There are 2 huge ships that field 2 pilot cards to represent the fore and aft sections of the ship (cr90corvette, raiderclasscorvette). Per README_NAMES, each of these ships has a single pilot that is the same name as the ship.

YASB treats the fore and aft sections as 2 separate ships, but the generated xws has an inconsistency: cr90corvettefore and cr90corvetteaft both use the cr90corvette ship, but raiderclasscorvettefore and raiderclasscorvetteaft each have separate ships that match each pilot name.

I was leaning towards treating them as separate ships and making each one require the other to be valid.

elistevens commented 7 years ago

It's not clear what you're expecting to see in the README_NAMES that's not there. Can you please explain more explicitly?

fab7431 commented 7 years ago

Hi sirjorj, I have the impression you relay to much on the implementation of multi-section ships on YASB. On my side (http://x-wing.fabpsb.net), I implemented the multisection_id field. I think that our implementation of this type of ship is not perfect as the titles and modifications should not be assigned to a specific sections but the ship as a whole. I think we (YASB, Voistate, me and others) tried to do our best to implement that.

Find below an example, perhaps it will help you...

{"description":"","faction":"imperial","pilots":[{"name":null,"points":63,"ship":"raiderclasscorvette","multisection_id":0,"upgrades":{"hardpoint":["singleturbolasers"],"team":["ordnanceexperts"]}},{"name":null,"points":66,"ship":"raiderclasscorvette","multisection_id":0,"upgrades":{"crew":["emperorpalpatine"],"hardpoint":["singleturbolasers"]}}],"points":129,"vendor":{"fab":{"builder":"Fabs Squadrons generator","builder_link":"http:\/\/x-wing.fabpsb.net\/","link":"http:\/\/x-wing.fabpsb.net\/permalink?sq=e491h1i4e492d40h1"}},"version":"1.0.0"}

ghost commented 7 years ago

In the main README, the Multi-Section Huge Ships section gives an example:

{ "name": "cr90corvettefore", "ship": "cr90corvette", "multisection_id": 0, "upgrades": {...} }, { "name": "cr90corvetteaft", "ship": "cr90corvette", "multisection_id": 0, "upgrades": {...} },

Yet in the README_NAMES file under CR-90 Pilots, it just has "cr90corvette" - not the -fore and -aft versions. Maybe I'm misunderstanding something here. I thought the README_NAMES was an exhaustive list of all the xws strings, but the Multi-Section section in README has some names that are not in it.

Yeah, these multi-section ships are a headache, aren't they! :)

elistevens commented 7 years ago

Oh, I see. I believe you are correct, README_NAMES.md should list the fore/aft versions as the "pilots" for the multisection huge ships (what the example shows).

I probably won't get to this today, but I think that this should be a low-controversy change/clarification, so I'd be comfortable developing as if the change were already in.

ghost commented 7 years ago

Right on. Thanks for the clarification!