Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add loadouts to operators #6

Open
PandaDriver156 opened this issue Jun 25, 2020 · 8 comments
Open

Add loadouts to operators #6

PandaDriver156 opened this issue Jun 25, 2020 · 8 comments
Labels
backlog Issues/Features which are set aside for undefined time

Comments

@PandaDriver156
Copy link
Contributor

I'd like to add loadouts to all operators. I think it's a big change (and a lot of work for me) so it's better to ask whether it would be approved or denied.

Here is an example on how an operator object would look like:

"alibi": {
    "name": "Alibi",
    "role": "Attacker",
    "unit": "GIS",
    "ratings": {
        "armor": 1,
        "speed": 3,
        "difficulty": 3
    },
    "meta": {
        "sex": "f",
        "country": "it",
        "season": "Y3S2",
        "height": 171,
        "weight": 63
    },
    "bio": {
        "real_name": "Aria de Luca",
        "birthplace": "Tripoli, Lybia"
    },
    "loadout": {
        "primary": [
            {
                "name": "Mx4 Storm",
                "type": "submachine",
                "modes": [
                    "auto",
                    "burst",
                    "semi-auto"
                ],
                "damages": {
                    "standard": 26,
                    "suppressed": 22
                },
                "rpm": 950,
                "mobility": 50,
                "magazine_size": 30,
                "ammo": {
                    "pvp": 150,
                    "th": null
                },
                "sights": [
                    "red_dot",
                    "holo",
                    "reflex"
                ],
                "barrels": [
                    "suppressor",
                    "flash_hider",
                    "compensator",
                    "muzzle_brake",
                    "extended_barrel"
                ],
                "grips": [
                    "vertical",
                    "angled"
                ],
                "laser": true
            },
            {
                "name": "ACS12",
                "type": "shotgun",
                "modes": [
                    "auto"
                ],
                "damages": {
                    "standard": 59,
                    "suppressed": 44
                },
                "rpm": 300,
                "mobility": 50,
                "magazine_size": 30,
                "ammo": {
                    "pvp": 60,
                    "th": 150
                },
                "sights": [
                    "red_dot",
                    "holo",
                    "reflex"
                ],
                "barrels": [],
                "grips": [
                    "vertical",
                    "angled"
                ],
                "laser": true
            }
        ],
        "secondary": [
            {
                "name": "Keratos .357",
                "type": "handgun",
                "modes": [
                    "semi-auto"
                ],
                "damages": {
                    "standard": 78,
                    "suppressed": 66
                },
                "rpm": 450,
                "mobility": 45,
                "magazine_size": 6,
                "ammo": {
                    "pvp": 48,
                    "th": null
                },
                "sights": [],
                "barrels": [
                    "suppressor",
                    "muzzle_brake"
                ],
                "grips": [
                    "vertical",
                    "angled"
                ],
                "laser": true
            },
            {
                "name": "Bailiff 410",
                "type": "handgun",
                "modes": [
                    "semi-auto"
                ],
                "damages": {
                    "standard": 30,
                    "suppressed": null
                },
                "rpm": 485,
                "mobility": 50,
                "magazine_size": 5,
                "ammo": {
                    "pvp": 30,
                    "th": null
                },
                "sights": [],
                "barrels": [],
                "grips": [],
                "laser": true
            }
        ],
        "gadget": [
            "impact",
            "deployable_shield"
        ]
    }
}
@marcopixel
Copy link
Owner

I like the idea on having the weapons/loadouts, but my issue is that the current operators.json file is getting quite long already and quite difficulty to work with. So my current plan is to have the operator data (like metadata & loadout) seperated from the weapons so we can reuse weapon data for other operators as well.

So my plan is to have two different root folders:

  • operators: Contains icon, images & metadata for the operator
  • weapons: Contains each weapon object as a seperate JSON file

I've pushed the new branch @feat/loadouts where i've restructured already the icons to be in their seperate folders. Feel free to clone that branch and do your changes there.

@PandaDriver156
Copy link
Contributor Author

That sounds like a nice structure, but the issue with it is that the loadout for weapons are not the same for every operator. For example, both Doc and Oryx has an MP5, but Doc can equip it with an ACOG while Oryx can't.

@marcopixel
Copy link
Owner

Oh, i didn't know that. Then having a loadout.json file inside the operator folder should be the easiest solution with the different possible weapons (+attachments) & gadgets. One thing we also could do is seperate the base weapon and extend the loadout with the different possible attachments, so we can update the weapon data independently from the operator specific data.

What do you think is the better approach?

@PandaDriver156
Copy link
Contributor Author

I like the original idea on having the weapons separated from the operators, so my suggestion would be to have all the weapons and their data in the weapons folder, with the attachments included. And for such operators who has a different weapon loadout, we "overwrite" the attachments in the operator's json file. That way we could avoid having to add attachments to all the operators separately. Also, it's not common that a loadout differs, other than Oryx, i can't say anyone else who has the same issue.

@marcopixel
Copy link
Owner

marcopixel commented Jul 15, 2020

@PandaDriver156 Just to keep you updated, i'm still working on this but i'm quite busy right now with other stuff so it might take a while to get finished.

@danielwerg
Copy link
Contributor

In Y7 all primary weapons will have all 1x scopes (source)

@danielwerg
Copy link
Contributor

Hey @PandaDriver156, I know it's been more than two years :D, but are you still interested in this? I'm planning to publish new project soon which will be used as dependency for my r6api.js and it could really use operator loadouts!

How it looks now:

recruit

Trying to achive:

recruit2

I already have array of objects for every weapon, that's why I'm using just a weapon slug in operator object. Will take me a while to do that just by myself for every operator in game.

@PandaDriver156
Copy link
Contributor Author

Hey @danielwerg, you got the timing right, just started playing Siege recently again 😄

are you still interested in this?

If you mean interested in helping you then yes, i'd be happy to do so.

@marcopixel marcopixel added the backlog Issues/Features which are set aside for undefined time label May 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Issues/Features which are set aside for undefined time
Projects
None yet
Development

No branches or pull requests

3 participants