Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions cs2pattern/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
__author__ = "Lukas Mahler"
__version__ = "0.6.1"
__date__ = "02.11.2025"
__version__ = "0.7.0"
__date__ = "08.02.2026"
__email__ = "m@hler.eu"
__status__ = "Development"

Expand All @@ -21,6 +21,7 @@
'gem_diamond',
'gem_gold',
'gem_green',
'gem_orange',
'gem_pink',
'gem_purple',
'gem_white',
Expand Down
19 changes: 10 additions & 9 deletions cs2pattern/icons.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
{
"white_scope": "🎯",
"gem_blue": "🟦",
"gem_red": "🟥",
"blaze": "🔥",
"fire_and_ice": "❄️",
"blue_hive": "🔵",
"fade": "🌈",
"fire_and_ice": "❄️",
"gem_black": "⬛️",
"gem_blue": "🟦",
"gem_diamond": "💎",
"gem_gold": "🟨",
"gem_green": "🟩",
"gem_orange": "🟧",
"gem_pink": "♀️",
"gem_purple": "🟪",
"gem_red": "🟥",
"gem_white": "⬜️",
"gem_black": "⬛️",
"blue_hive": "🔵",
"golden_cat": "🐈",
"orange_hive": "🟠",
"phoenix": "🐦‍🔥",
"pussy": "🐾",
"star": "⭐",
"golden_cat": "🐈",
"stoner_cat": "🌿",
"phoenix": "🐦‍🔥",
"pussy": "🐾"
"white_scope": "🎯"
}
13 changes: 12 additions & 1 deletion cs2pattern/modular.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
__author__ = "Lukas Mahler"
__version__ = "0.0.0"
__date__ = "02.11.2025"
__date__ = "08.02.2026"
__email__ = "m@hler.eu"
__status__ = "Development"

Expand Down Expand Up @@ -268,6 +268,17 @@ def gem_green() -> tuple[list[int], bool]:
return _lookup_group('acid fade', 'ssg 08', 'gem_green')


def gem_orange() -> tuple[list[int], bool]:
"""
Return a pattern list for max orange 'Desert Eagle | Serpent Strike'.

:return: A list of patterns that are special for the skin and a boolean indicating if the list is ordered.
:rtype: tuple[list[int], bool]
"""

return _lookup_group('serpent strike', 'desert eagle', 'gem_orange')


def gem_pink() -> tuple[list[int], bool]:
"""
Return a pattern list for max pink 'Glock-18 | Pink DDPAT'.
Expand Down
11 changes: 11 additions & 0 deletions cs2pattern/pattern.json
Original file line number Diff line number Diff line change
Expand Up @@ -603,6 +603,17 @@
}
]
},
"serpent strike": {
"desert eagle": [
{
"name": "gem_orange",
"ordered": true,
"pattern": [
425, 698, 363
]
}
]
},
"urban masked": {
"classic knife": [
{
Expand Down
34 changes: 24 additions & 10 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "cs2pattern"
version = "0.6.1"
version = "0.7.0"
description = "CS2 pattern utility"
authors = ["Lukas Mahler <m@hler.eu>"]
readme = "README.md"
Expand Down
10 changes: 8 additions & 2 deletions tests/test_pattern.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
__author__ = "Lukas Mahler"
__version__ = "1.0.0"
__date__ = "02.11.2025"
__date__ = "08.02.2026"
__email__ = "m@hler.eu"
__status__ = "Production"


import unittest

from cs2pattern import (
PatternInfo,
abyss,
berries,
blaze,
Expand All @@ -19,6 +20,7 @@
gem_diamond,
gem_gold,
gem_green,
gem_orange,
gem_pink,
gem_purple,
gem_white,
Expand All @@ -31,7 +33,6 @@
paw,
phoenix,
pussy,
PatternInfo,
)
from cs2pattern.check import ICON_MAP, _normalize_input

Expand Down Expand Up @@ -108,6 +109,10 @@
[(True, 'gem_green', (2, 3)), ("SSG 08 | Acid Fade (Factory New)", 575)],
[(False, None, None), ("SSG 08 | Acid Fade (Factory New)", 123)],

# Test gem orange
[(True, 'gem_orange', (1, 3)), ("Desert Eagle | Serpent Strike (Factory New)", 425)],
[(False, None, None), ("Desert Eagle | Serpent Strike (Factory New)", 999)],

# Test gem pink
[(True, 'gem_pink', None), ("Glock-18 | Pink DDPAT (Factory New)", 600)],
[(False, None, None), ("Glock-18 | Pink DDPAT (Factory New)", 700)],
Expand Down Expand Up @@ -212,6 +217,7 @@ def test_simple_helpers(self):
(blaze, 'case hardened', 'karambit', 'blaze'),
(gem_diamond, 'gamma doppler', 'karambit', 'gem_diamond'),
(gem_green, 'acid fade', 'ssg 08', 'gem_green'),
(gem_orange, 'serpent strike', 'desert eagle', 'gem_orange'),
(gem_pink, 'pink ddpat', 'glock-18', 'gem_pink'),
(grinder, 'grinder', 'glock-18', 'gem_black'),
(hive_blue, 'electric hive', 'awp', 'blue_hive'),
Expand Down
2 changes: 1 addition & 1 deletion tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ python tools/add_pattern.py --skin "Case Hardened" --name blaze_v2 --weapon "ak-
Add a new group with an icon:

```bash
python tools/add_pattern.py --skin "Case Hardened" --name blaze_iconic --weapon "ak-47:111 222" --icon "🔥"
python tools/add_pattern.py --skin "Serpent Strike" --name gem_orange --weapon "desert eagle:425,698,363" --icon "🟧"
```

Add an ordered multi-weapon group and auto-generate the helper/tests:
Expand Down