Giter Site home page Giter Site logo

marcopixel / r6operators Goto Github PK

View Code? Open in Web Editor NEW
100.0 10.0 10.0 10.39 MB

r6operators is a collection of high-quality vectorized Rainbow Six: Siege Operator icons & metadata for Node.js

Home Page: https://r6operators.marcopixel.eu

License: MIT License

TypeScript 99.88% Shell 0.12%
rainbow-six-siege operator-icons rainbow six siege ubisoft node svg png operator

r6operators's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

r6operators's Issues

Add operator cost (unlock prices)

I would like to use the operator cost for a project, but this isn't a property yet, would it be possible to integrate this? I would help with this of course..

[Operation Commanding Force] Brava

Character

  • Name: Brava
  • Role: Attacker
  • ORG: COT
  • SQUAD: Viperstrike

Ratings:

  • Speed: 3
  • Health: 1
  • Difficulty: 3

Metadata:

  • Sex: f
  • Country: br
  • Season: Y8S1
  • Height: 1.70m
  • Weight: 71kg

Biography

  • Real name: Nayara Cardoso
  • Birthplace: Curitiba, Brazil

Icon

Click here to show the icon

2023-02-18_21-22-44 brava low res

r6s-operators-badge-brava

Brava_icon

brava operator selection

brava operator video

R6S_Live_Y8S1_IMG_Brava_Badge_Icon

Reference

Health/Speed/Difficulty

2023-02-18_21-23-03 brava ratings

Bio

2023-02-18_21-44-05 brava bio

[Operation Deep Freeze] Tubarao

Character

  • Name: Tubarao
  • Role: Defender
  • ORG: DAE
  • SQUAD: WOLFGUARD

Ratings:

  • Speed: 2
  • Health: 2
  • Difficulty: 2

Metadata:

  • Sex: ?
  • Country: Portugal
  • Season: Y8S4
  • Height: 1.73m
  • Weight: 69kg

Biography

  • Real name: Isaac Nunes Oliveira
  • Birthplace: Ponta Delgada, Portugal

Icon

Official

Y8S4_BADGE_TUBARAO

SVG by me
<svg
  xmlns="http://www.w3.org/2000/svg"
  width="350"
  height="350"
  viewBox="0 0 350 350"
>
  <rect x="45" y="45" width="260" height="260" opacity="0.4" />
  <path fill="#3a6e75" d="M73 73h204v204H73z" />
  <g fill="#ffffff">
    <path
      d="M99 277C105 269 111 263 119 257L103 263 109 254C104 257 88 265 93 259 97 254 95 247 94 242 93 238 104 217 114 237H117C123 231 126 242 124 250 143 247 143 229 151 228 152 247 159 248 184 225 182 231 183 234 177 243 179 242 181 241 184 242 191 239 191 242 191 247 184 247 188 252 180 252 177 252 175 254 172 257L176 245C167 253 156 269 154 262 147 243 128 266 120 271L119 266 104 277Z"
    />
    <path d="M123 277C143 253 148 262 142 277Z" />
    <path d="M193 266C209 240 215 255 210 261 203 270 210 249 193 266Z" />
  </g>
  <path
    fill="#000000"
    d="M73 257C101 239 120 197 118 160 111 162 102 163 96 162 85 185 63 182 61 163 50 157 48 133 63 123 61 104 74 77 94 74 102 57 137 44 174 59 214 40 285 102 289 151 297 154 301 168 297 176 305 195 295 222 288 234L286 223C277 245 274 252 260 277H252C268 251 276 208 269 191 251 195 265 228 234 262L237 249C231 249 225 266 216 277H208C227 255 235 230 239 206 224 203 224 223 212 242 206 253 208 231 200 244 195 253 190 263 175 273 184 260 204 236 204 212 195 203 193 240 163 259 170 250 179 238 184 225 173 238 170 216 172 201 166 199 158 237 99 277H92C127 252 155 203 152 187 146 197 140 206 133 214 153 171 142 158 138 164 124 185 113 245 73 261Z"
  />
  <g fill="#ffffff">
    <path
      d="M89 161C79 183 64 169 65 157 54 147 61 129 68 128 68 105 81 86 96 81 96 93 108 101 119 100 77 77 135 46 173 68 227 57 267 105 279 135 273 132 270 132 265 135 263 128 255 124 248 124 233 112 212 116 201 122 213 136 195 147 187 128 178 139 187 144 196 147 181 159 163 144 167 133 130 128 152 88 203 99 226 94 237 101 245 108 246 97 229 90 204 92 156 82 135 102 130 109 122 110 121 117 122 120 124 124 113 125 107 117 106 128 121 136 133 128 138 132 138 158 112 146 111 149 112 151 115 154 100 154 79 139 85 121 83 114 84 107 87 101 78 106 78 115 80 121 71 138 84 150 89 152 94 154 87 160 76 156 76 161 83 162 89 161Z"
    />
    <path
      d="M221 153C198 131 253 118 263 143 278 134 286 149 284 157 289 159 290 166 289 170 292 176 289 185 286 188 283 167 268 157 263 157 258 157 252 166 247 166 241 166 239 157 232 157 226 157 226 161 227 162 231 166 228 167 224 167 220 167 212 159 221 153Z"
    />
  </g>
</svg>

Reference

Health/Speed/Difficulty

2

Bio

1

[Operation Dread Factor] Fenrir

Character

  • Name: Fenrir
  • Role: Defender
  • ORG: Unaffiliated
  • SQUAD: Redhammer

Ratings:

  • Speed: 2
  • Health: 2
  • Difficulty: 3

Metadata:

  • Sex: m
  • Country: se
  • Season: Y8S2
  • Height: 1.76m
  • Weight: 74kg

Biography

  • Real name: Emil Svensson
  • Birthplace: Uppsala, Sweden

Icon

Click here to show the icon

623990_20230517075453_1_proc

Reference

Health/Speed/Difficulty

1

Bio

2

Icon colour consistency

I noticed that some of the icons colours are not particularly consistent. For example, the lighter black fill colour for Alibi, Blackbeard, and Finka, compared to the deep/pure blacks used for the other icons.

Ideally, I'd like to also do a pass to make sure that colours are consistent within each CTUs when viewed side-by-side. The colours could also be adjusted with reference to official assets (but the priority would be to make sure it's internally consistent).

I'd love to take this on, just popping an issue here to make sure there are no issues* before I start.

(P.S. I was going to discuss this on the R6DB Discord, but I see it's gone now?)

* Pun not intended

[Operation High Calibre] Thorn

Character

  • Name: Thorn
  • Role: Defender
  • Unit: Garda ERU

Ratings:

  • Speed: 2
  • Armor: 2
  • Difficulty: 1

Metadata:

  • Sex: f
  • Country: ?
  • Season: Y6S4
  • Height: ?
  • Weight: ?

Biography

  • Real name: Brianna Skehan
  • Birthplace: Ireland

Icon

image

add new icons to r6operators.marcopixel.eu

The new icons after Solis are not on the r6operators.marcopixel.eu website which I used to easily download them.
It would be very nice if you could also add them there because it makes downloading them a lot easier compared to GitHub.

Add loadouts to operators

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"
        ]
    }
}

Icon request: ranks

Would it be possible to include the ranks as well? The project is called r6operators, but it would be cool if you could include the ranks in the project.

[Operation Vector Glare] Sens

Character

  • Name: Sens
  • Role: Attacker
  • Unit: SFG

Ratings:

  • Speed: 1
  • Armor: 3
  • Difficulty: 2

Metadata:

  • Sex: ???
  • Country: be
  • Season: Y7S2
  • Height: 1.78m
  • Weight: 73kg

Biography

  • Real name: Néon Ngoma Mutombo
  • Birthplace: Brussels, Belgium

Icon

Click here to show the icon

R6_Live_Y7S2_IMG_Op_Icon

Reference

Health/Speed/Difficulty

sens ratings

Bio

sens bio

[Operation New Blood] Sentry and Strike

Character

  • Name: Sentry
  • Role: Defender
  • ORG: ROS
  • SQUAD: none

Ratings:

  • Speed: 2
  • Health: 2
  • Difficulty: 1

Metadata:

  • Sex: ???
  • Country: none
  • Season: Y9S2
  • Height: Undefined
  • Weight: Undefined

Biography

  • Real name: Undefined
  • Birthplace: Undefined
  • Date of birth: Undefined

Icon

Official

623990_20240528202157_1

623990_20240528202531_1

Reference

BIO

623990_20240529052046_1


Character

  • Name: Striker
  • Role: Attacker
  • ORG: ROS
  • SQUAD: none

Ratings:

  • Speed: 2
  • Health: 2
  • Difficulty: 1

Metadata:

  • Sex: ???
  • Country: none
  • Season: Y9S2
  • Height: Undefined
  • Weight: Undefined

Biography

  • Real name: Undefined
  • Birthplace: Undefined
  • Date of birth: Undefined

Icon

Official

623990_20240528202217_1

623990_20240528202534_1

Reference

BIO

623990_20240529052102_1

Feedback for Ram icon

svg file is over 4k lines because image element was left

2023-09-04_23-17-19

Little triangle on picture below should probably be same black color instead of transparent

2023-09-04_23-16-24

Not sure which exact color should be used for black, #000000 is fine I guess but in-game it's #121616 and in assets packs it's #040707

I'm getting nitpicky...There should be straight lines instead of curves in place of red line, blue lines represent where V thingy should roughly be cut (it's uneven)

2023-09-04_23-39-34

Compared to Y8S3_BADGE_Ram_L

refs

Y8S3_BADGE_Ram_L

Y8S3_BADGE_Ram_L

Y8S3_BADGE_Ram_M

Y8S3_BADGE_Ram_M

Ram icon in-game

ram icon in-game

[Operation Crimson Heist] Flores

Flores

  • Role: Attacker
  • Unit: ?
  • Real name: Santiago Lucero
  • Speed: 2
  • Armor: 2

New infomation will be added to this issue as soon as it's available.

Icon

Strange colors in .toSVG icons

This is not a bug report, it is more of a request for help.

I am using the .toSVG() method to output SVG to my project, which I use them to display operator icons. However, as shown in the pic below, some (only some!) of the icons have entire layers changed to green.

What's even stranger is that when I copy the svg string rendered in my project to another html file and try to display it directly, the svg's colors is normal again!

I am not sure if this is reproducible on other people's browsers.

image

I am using React to render the page. The relevant code is as below:

    loadOps(){
        let att=[], def=[]
        Object.keys(ops).forEach(item => {
            // console.log(ops[item].toSVG())
            if (ops[item].role=="Attacker" ) {
                att.push(
                        <div
                            key={ops[item].id}
                            className={"op"}
                            style={{order:ops[item].index}}
                            dangerouslySetInnerHTML={{__html: ops[item].toSVG({class: "op"})}}
                        />
                )
            }else if (ops[item].role=="Defender"){
                def.push(
                    <div
                        key={ops[item].id}
                        className={"op"}
                        style={{order:ops[item].index}}
                        dangerouslySetInnerHTML={{__html: ops[item].toSVG({class: "op"})}}
                    />
                )

            }
        })
        return(
            <div>
                <div className={"osm-sub divider"}>
                    <p>Attackers</p>
                    {att}
                </div>
                <div className={"osm-sub"}>
                    <p>Defenders</p>
                    {def}
                </div>
            </div>
        )
    }

[Operation Solar Raid] Solis

Character

  • Name: Solis
  • Role: Defender
  • ORG: AFEAU
  • SQUAD: GHOSTEYES

Ratings:

  • Speed: 2
  • Health: 2
  • Difficulty: 3

Metadata:

  • Sex: f
  • Country: co
  • Season: Y7S4
  • Height: 1.66m
  • Weight: 65kg

Biography

  • Real name: Ana Valentina Díaz
  • Birthplace: Zipaquirå, Colombia

Icon

Click here to show the icon

solis icon

Reference

Health/Speed/Difficulty

solis ug ratings

Bio

solis bio

ETA on Sens?

Hey man, you know how long until you will have Sens done?

Also,
I'm interested in listing you as a credit in my app, if you want. If so, what name do you want to go by?

[Operation North Star] Thunderbird

Character

  • Name: Thunderbird
  • Role: Defender
  • Unit: Unaffiliated

Ratings:

  • Speed: 3
  • Armor: 1
  • Difficulty: ?

Metadata:

  • Sex: Female
  • Country: Nakoda Territories
  • Season: Y6S2
  • Height: ?
  • Weight: ?

Biography

  • Real name: Mina Sky
  • Birthplace: ?

Icon

Click here to show the icon

image

New infomation will be added to this issue as soon as it's available.

Explanation for React

Hi,

I really like this repo but I have one Issue by trying to integrate it with React.

I get the operators I want to dynamically display from my backend/api but if I try to apply the .toSVG function, I get like it says just a string representation of the SVG and I dont know and didnt found a simple Solution to display that properly as a tag in React.

Hope u understand my problem and mby u can help me.

isnt really an issue but iam using this for my discored bot and i can retrieve all the stats etc but i cant seem to display the logo in the setThumbnail function ill show my code below

const { SlashCommandBuilder, EmbedBuilder } = require('discord.js');
const r6operators = require('r6operators');

module.exports = {
    data: new SlashCommandBuilder()
        .setName('operator')
        .setDescription('Get information about a Rainbow Six Siege operator.')
        .addStringOption(option =>
            option.setName('operator_name')
                .setDescription('Name of the operator')
                .setRequired(true)),
    async execute(interaction) {
        const operatorName = interaction.options.getString('operator_name').toLowerCase();
        
        // Check if the requested operator exists in the r6operators module
        if (!r6operators[operatorName]) {
            await interaction.reply({ content: ':x: Operator not found.', ephemeral: true });
            return;
        }
        
        const operator = r6operators[operatorName];
        const im = r6operators.operatorName.toSVG 

        // Create a message embed with operator information
        const embed = new EmbedBuilder()
            .setColor('#0099ff')
            .setTitle(operator.name)
            .addFields({ name: 'Description:', value: `Role: ${operator.role}\nOrg: ${operator.org}\nSquad: ${operator.squad}`, inline: true})
            .addFields({ name: 'Ratings:', value: `Health: ${operator.ratings.health}\nSpeed: ${operator.ratings.speed}\nDifficulty: ${operator.ratings.difficulty}`, inline: true})
            .addFields({ name: 'Meta', value: `Gender: ${operator.meta.gender}\nCountry: ${operator.meta.country}\nSeason: ${operator.meta.season}\nHeight: ${operator.meta.height}\nWeight: ${operator.meta.weight}`, inline: true})
            .addFields({ name: 'Pricing:', value: `Price: ${operator.meta.price.renown}\nr6credits: ${operator.meta.price.r6credits}`, inline: true})
            .addFields({ name: 'Bio', value: `RealName: ${operator.bio.real_name}\nBirthplace: ${operator.bio.birthplace}`, inline: true})
            .setThumbnail(im)
            
        await interaction.reply({ embeds: [embed] });
    },
};

I NEED TO KNOW HOW TO GET THE LOGOS TO BE DISPLAYED IN THE SETTHUMBNAIL FOR WHATVER OP THEY INPUT

OSCS

I just got an email telling me there's a security risk in this repo. I am not sure if this is spam or if it's really relevant but here's the email:

I translated it because it was written in chinese:


The open source security community OSCS includes your project marcopixel/r6operators, detects and finds security risks

Hello leochras

I'm ren_jq, a security expert in the OSCS community. I recently noticed your open source project marcopixel/r6operators on GitHub and found some security flaws in the project through the OSCS community security tools, so I created a community team to try to help improve the security of the open source project.

I found that you are a contributor to the marcopixel/r6operators project, so I took the liberty to share the security report with you, and if you are interested, you can also join us to focus on the security of the project.
View the detailed test report
If the button is not clickable, please copy the link to your computer browser to open: https://www.murphysec.com/accept?code=ba3c5425b5df2bb5ce699d791ebb9ef0&type=1&from=2&t=1
Temporarily not concerned, choose to ignore

Inspection results provided by Murphy Security, a professional code security inspection tool
Murphy Security is the technical support unit of the National Security Vulnerability Database (CNNVD) and has passed ISO9001, ISO27001, CCRC and other authoritative certifications. Murphy Security has been used by 700 companies such as Ant Group, Ping An and Meituan, and is also loved by over 10,000+ developers
With an overview of the test results of marcopixel/r6operators:

Introduced components and licenses: 534 components, 10 types of related licenses
Vulnerable components: 1
Risky licenses: 0 categories

Details of some defective components:
Flawed component: json5 - Indirect Dependencies

Vulnerability Title: Tauri Security Vulnerability
Impact Description: Tauri is a Tauri open source for building smaller, faster, and more secure desktop applications using a web front end. A security vulnerability exists in Tauri version 2.2.1 and earlier, which stems from the parse method not restricting the parsing of keys named "__proto__", thus allowing specially crafted string contamination to generate prototypes of objects.
CVE number: CVE-2022-46175
National Vulnerability Repository Information.
Impact Range:: (-∞, 2.2.2)
Minimum fix version: 2.2.2
Component introduction path: package-lock.json -> [email protected] -> [email protected] -> @jest/[email protected] -> [email protected] -> @babel/[email protected] -> [email protected]
Vulnerability details: https://www.oscs1024.com/hd/MPS-2022-65568

Yours sincerely, OSCS Security Community

Good luck and happy life!

Image path usage

I have upgraded r6counters to use this library for svgs now which is sweet. Now, no operator images need to be in the r6counters repo and I can stay up to date by updating the package :)

When playing around with this package, I experimented with using .pngs and I found the site seemed to perform a lot better! Obviously, I love the svgs but I really like the idea of the site being smoother. So I've started work on a branch to use pngs by default but offer an option to enable high detail so people can zoom in infinitely to svgs if they wish https://github.com/BurkusCat/r6-operator-counters/tree/switch-to-pngs

One issue though is that the pngs can be 10 or 15 times the size of the .svgs. The pngs are 1500x1500 so I was thinking that if they were 500x500 it would reduce the file size (and load times) and the site may perform quicker.

Is it best to try and take the source .svgs from https://github.com/marcopixel/r6operators/tree/master/icons and run them through a gulp process on r6counters to turn them to 500px compressed pngs? What would be the best way to achieve this?

[Operation Neon Dawn] Aruni

Aruni

  • Role: Defender
  • Unit: Nighthaven (?)
  • Real name: Apha Tawanroong

New infomation will be added to this issue as soon as it's available.

Icon

Leaked icon, may show spoilers & be incorrect

image

[Operation Crystal Guard] Osa

Character

  • Name: Osa
  • Role: Attacker
  • Unit: NIGHTHAVEN

Ratings:

  • Speed: 2
  • Armor: 2
  • Difficulty: 2

Metadata:

  • Sex: ?
  • Country: hr
  • Season: Y6S3
  • Height: 1.80m
  • Weight: 71kg

Biography

  • Real name: Anja Katarina Janković
  • Birthplace: Split, Croatia

Icon

Click here to show the icon

R6_Live_Y6S3_IMG_Op_Icon

Reference

Health/Speed/Difficulty

20210818194602_1

Bio

20210818194003_1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.