krcg 4.7__tar.gz → 4.9.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- krcg-4.9.dev0/.coverage +0 -0
- krcg-4.9.dev0/.github/FUNDING.yml +3 -0
- krcg-4.9.dev0/.github/workflows/validation.yml +42 -0
- krcg-4.9.dev0/.gitignore +15 -0
- krcg-4.9.dev0/.markdownlint.json +7 -0
- {krcg-4.7 → krcg-4.9.dev0}/CHANGELOG.rst +12 -0
- krcg-4.9.dev0/Makefile +27 -0
- {krcg-4.7 → krcg-4.9.dev0}/PKG-INFO +53 -19
- {krcg-4.7 → krcg-4.9.dev0}/README.md +34 -1
- krcg-4.9.dev0/dark-pack.png +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/deck.py +8 -7
- {krcg-4.7 → krcg-4.9.dev0}/krcg/parser.py +0 -1
- krcg-4.9.dev0/profiling/__init__.py +0 -0
- krcg-4.9.dev0/profiling/seating.py +14 -0
- {krcg-4.7 → krcg-4.9.dev0}/pyproject.toml +19 -9
- krcg-4.9.dev0/tests/10211.html +72 -0
- krcg-4.9.dev0/tests/11435.html +89 -0
- krcg-4.9.dev0/tests/2010tcdbng.html +76 -0
- krcg-4.9.dev0/tests/2011ptwolss.html +71 -0
- krcg-4.9.dev0/tests/2012pslp.html +54 -0
- krcg-4.9.dev0/tests/2016ggs.html +67 -0
- krcg-4.9.dev0/tests/2019grdojf.html +74 -0
- krcg-4.9.dev0/tests/2020pihc.html +135 -0
- krcg-4.9.dev0/tests/202207_EC_Day1_1.txt +60 -0
- krcg-4.9.dev0/tests/2k2origins1.html +61 -0
- krcg-4.9.dev0/tests/2k2stranger.html +79 -0
- krcg-4.9.dev0/tests/2k4dcqualifier.html +81 -0
- krcg-4.9.dev0/tests/2k5alboraya.html +62 -0
- krcg-4.9.dev0/tests/2k5sharednun.html +65 -0
- krcg-4.9.dev0/tests/2k7fsmc.html +63 -0
- krcg-4.9.dev0/tests/2k8TempleConcordance.html +128 -0
- krcg-4.9.dev0/tests/2k8tfnwesterville.html +96 -0
- krcg-4.9.dev0/tests/TWDA.html +1501 -0
- krcg-4.9.dev0/tests/__init__.py +0 -0
- krcg-4.9.dev0/tests/conftest.py +29 -0
- krcg-4.9.dev0/tests/test_analyzer.py +17 -0
- krcg-4.9.dev0/tests/test_cards.py +217 -0
- krcg-4.9.dev0/tests/test_deck.py +552 -0
- krcg-4.9.dev0/tests/test_parser.py +284 -0
- krcg-4.9.dev0/tests/test_seating.py +311 -0
- krcg-4.9.dev0/tests/test_states.py +783 -0
- krcg-4.9.dev0/tests/test_tournament_archive.py +113 -0
- krcg-4.9.dev0/tests/test_twda.py +2549 -0
- krcg-4.9.dev0/tests/test_vtes.py +1312 -0
- krcg-4.9.dev0/uv.lock +945 -0
- krcg-4.7/krcg.egg-info/SOURCES.txt +0 -22
- krcg-4.7/setup.cfg +0 -4
- {krcg-4.7 → krcg-4.9.dev0}/LICENSE +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/MANIFEST.in +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/cards/__init__.py +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/cards/vtescrypt.csv +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/cards/vteslib.csv +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/cards/vteslibmeta.csv +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/cards/vtessets.csv +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/__init__.py +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/analyzer.py +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/cards.py +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/config.py +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/rulings.py +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/seating.py +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/sets.py +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/twda.py +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/utils.py +0 -0
- {krcg-4.7 → krcg-4.9.dev0}/krcg/vtes.py +0 -0
krcg-4.9.dev0/.coverage
ADDED
|
Binary file
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
|
2
|
+
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
|
3
|
+
|
|
4
|
+
name: Validation
|
|
5
|
+
on:
|
|
6
|
+
push:
|
|
7
|
+
branches: [master]
|
|
8
|
+
pull_request:
|
|
9
|
+
branches: [master]
|
|
10
|
+
jobs:
|
|
11
|
+
test:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout
|
|
15
|
+
uses: actions/checkout@v4
|
|
16
|
+
- name: Setup Python
|
|
17
|
+
uses: actions/setup-python@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: "3.11"
|
|
20
|
+
- name: Install dependencies
|
|
21
|
+
run: |
|
|
22
|
+
python -m pip install --upgrade pip
|
|
23
|
+
pip install -e .[dev]
|
|
24
|
+
- name: Format
|
|
25
|
+
run: |
|
|
26
|
+
black --check krcg tests
|
|
27
|
+
- name: Lint
|
|
28
|
+
run: |
|
|
29
|
+
ruff check
|
|
30
|
+
yamllint rulings
|
|
31
|
+
- name: Test
|
|
32
|
+
env:
|
|
33
|
+
LOCAL_CARDS: 1
|
|
34
|
+
run: |
|
|
35
|
+
coverage run -m pytest
|
|
36
|
+
coverage xml
|
|
37
|
+
- name: Upload coverage to Codacy
|
|
38
|
+
if: ${{ github.event_name == 'push' }}
|
|
39
|
+
env:
|
|
40
|
+
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
|
41
|
+
run: |
|
|
42
|
+
python-codacy-coverage -r coverage.xml
|
krcg-4.9.dev0/.gitignore
ADDED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
4.9 (unreleased)
|
|
5
|
+
----------------
|
|
6
|
+
|
|
7
|
+
- Nothing changed yet.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
4.8 (2025-06-01)
|
|
11
|
+
----------------
|
|
12
|
+
|
|
13
|
+
- Fix twda parsing for cards ending with "oblivion" (eg. "Touch of Oblivion", "Consign to Oblivion")
|
|
14
|
+
|
|
15
|
+
|
|
4
16
|
4.7 (2025-06-01)
|
|
5
17
|
----------------
|
|
6
18
|
|
krcg-4.9.dev0/Makefile
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.PHONY: quality test update clean build release
|
|
2
|
+
|
|
3
|
+
export VTESCSV_GITHUB_BRANCH=main
|
|
4
|
+
|
|
5
|
+
quality:
|
|
6
|
+
uv run black --check krcg tests
|
|
7
|
+
uv run ruff check
|
|
8
|
+
|
|
9
|
+
test: quality
|
|
10
|
+
uv run pytest -vvs
|
|
11
|
+
|
|
12
|
+
update:
|
|
13
|
+
uv sync --upgrade
|
|
14
|
+
|
|
15
|
+
clean:
|
|
16
|
+
rm -rf dist
|
|
17
|
+
rm -rf .pytest_cache
|
|
18
|
+
|
|
19
|
+
build:
|
|
20
|
+
uv build
|
|
21
|
+
|
|
22
|
+
release: test build
|
|
23
|
+
@echo "Release steps:"
|
|
24
|
+
@echo "1. Update version in pyproject.toml"
|
|
25
|
+
@echo "2. Run: make release"
|
|
26
|
+
@echo "3. Run: uv publish"
|
|
27
|
+
@echo "4. Run: git tag v<VERSION> && git push --tags"
|
|
@@ -1,44 +1,45 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: krcg
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.9.dev0
|
|
4
4
|
Summary: Library for VTES cards and TWDA.
|
|
5
|
-
Author-email: Lionel Panhaleux <lionel.panhaleux+krcg@gmail.com>
|
|
6
5
|
Project-URL: Repository, https://github.com/lionel-panhaleux/krcg
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
Author-email: Lionel Panhaleux <lionel.panhaleux+krcg@gmail.com>
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Keywords: CCG,TWD,TWDA,Vampire: The Eternal Struggle,vtes
|
|
11
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
12
11
|
Classifier: Intended Audience :: Developers
|
|
13
12
|
Classifier: Natural Language :: English
|
|
14
13
|
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
19
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
16
20
|
Requires-Python: >=3.10
|
|
17
|
-
Description-Content-Type: text/markdown
|
|
18
|
-
License-File: LICENSE
|
|
19
21
|
Requires-Dist: arrow
|
|
20
|
-
Requires-Dist: pyyaml
|
|
21
22
|
Requires-Dist: numpy
|
|
23
|
+
Requires-Dist: pyyaml
|
|
22
24
|
Requires-Dist: requests
|
|
23
25
|
Requires-Dist: setuptools
|
|
24
26
|
Requires-Dist: unidecode
|
|
25
27
|
Provides-Extra: dev
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist:
|
|
28
|
-
Requires-Dist: codacy-coverage; extra ==
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
Requires-Dist: ipython; extra ==
|
|
31
|
-
Requires-Dist: pytest; extra ==
|
|
32
|
-
Requires-Dist: ruff; extra ==
|
|
33
|
-
|
|
34
|
-
Dynamic: license-file
|
|
28
|
+
Requires-Dist: black; extra == 'dev'
|
|
29
|
+
Requires-Dist: certifi; extra == 'dev'
|
|
30
|
+
Requires-Dist: codacy-coverage; extra == 'dev'
|
|
31
|
+
Requires-Dist: coverage; extra == 'dev'
|
|
32
|
+
Requires-Dist: ipython; extra == 'dev'
|
|
33
|
+
Requires-Dist: pytest; extra == 'dev'
|
|
34
|
+
Requires-Dist: ruff; extra == 'dev'
|
|
35
|
+
Description-Content-Type: text/markdown
|
|
35
36
|
|
|
36
37
|
# KRCG
|
|
37
38
|
|
|
38
39
|
[](https://badge.fury.io/py/krcg)
|
|
39
40
|
[](https://github.com/lionel-panhaleux/krcg/actions/workflows/validation.yml)
|
|
40
41
|
[](https://app.codacy.com/manual/lionel-panhaleux/krcg?utm_source=github.com&utm_medium=referral&utm_content=lionel-panhaleux/krcg&utm_campaign=Badge_Grade_Dashboard)
|
|
41
|
-
[](https://www.python.org/downloads/)
|
|
42
43
|
[](https://opensource.org/licenses/MIT)
|
|
43
44
|
[](https://github.com/psf/black)
|
|
44
45
|
|
|
@@ -430,6 +431,39 @@ Crypt:
|
|
|
430
431
|
2 Claus Wegener
|
|
431
432
|
```
|
|
432
433
|
|
|
434
|
+
## Development
|
|
435
|
+
|
|
436
|
+
This project uses [uv](https://github.com/astral-sh/uv) for dependency management and packaging.
|
|
437
|
+
|
|
438
|
+
### Setup
|
|
439
|
+
|
|
440
|
+
1. Install `uv` if you haven't already:
|
|
441
|
+
```bash
|
|
442
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
2. Clone the repository and install dependencies:
|
|
446
|
+
```bash
|
|
447
|
+
git clone https://github.com/lionel-panhaleux/krcg.git
|
|
448
|
+
cd krcg
|
|
449
|
+
uv sync --group dev
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
### Development Commands
|
|
453
|
+
|
|
454
|
+
- `make quality` - Run code quality checks (black, ruff)
|
|
455
|
+
- `make test` - Run tests
|
|
456
|
+
- `make build` - Build the package
|
|
457
|
+
- `make update` - Update dependencies
|
|
458
|
+
- `make clean` - Clean build artifacts
|
|
459
|
+
|
|
460
|
+
### Releasing
|
|
461
|
+
|
|
462
|
+
1. Update the version in `pyproject.toml`
|
|
463
|
+
2. Run `make release` to test and build
|
|
464
|
+
3. Run `uv publish` to publish to PyPI
|
|
465
|
+
4. Create and push a git tag: `git tag v<VERSION> && git push --tags`
|
|
466
|
+
|
|
433
467
|
## Contribute
|
|
434
468
|
|
|
435
469
|
Feel free to submit pull requests, they will be merged as long as they pass the tests.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://badge.fury.io/py/krcg)
|
|
4
4
|
[](https://github.com/lionel-panhaleux/krcg/actions/workflows/validation.yml)
|
|
5
5
|
[](https://app.codacy.com/manual/lionel-panhaleux/krcg?utm_source=github.com&utm_medium=referral&utm_content=lionel-panhaleux/krcg&utm_campaign=Badge_Grade_Dashboard)
|
|
6
|
-
[](https://www.python.org/downloads/)
|
|
7
7
|
[](https://opensource.org/licenses/MIT)
|
|
8
8
|
[](https://github.com/psf/black)
|
|
9
9
|
|
|
@@ -395,6 +395,39 @@ Crypt:
|
|
|
395
395
|
2 Claus Wegener
|
|
396
396
|
```
|
|
397
397
|
|
|
398
|
+
## Development
|
|
399
|
+
|
|
400
|
+
This project uses [uv](https://github.com/astral-sh/uv) for dependency management and packaging.
|
|
401
|
+
|
|
402
|
+
### Setup
|
|
403
|
+
|
|
404
|
+
1. Install `uv` if you haven't already:
|
|
405
|
+
```bash
|
|
406
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
2. Clone the repository and install dependencies:
|
|
410
|
+
```bash
|
|
411
|
+
git clone https://github.com/lionel-panhaleux/krcg.git
|
|
412
|
+
cd krcg
|
|
413
|
+
uv sync --group dev
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### Development Commands
|
|
417
|
+
|
|
418
|
+
- `make quality` - Run code quality checks (black, ruff)
|
|
419
|
+
- `make test` - Run tests
|
|
420
|
+
- `make build` - Build the package
|
|
421
|
+
- `make update` - Update dependencies
|
|
422
|
+
- `make clean` - Clean build artifacts
|
|
423
|
+
|
|
424
|
+
### Releasing
|
|
425
|
+
|
|
426
|
+
1. Update the version in `pyproject.toml`
|
|
427
|
+
2. Run `make release` to test and build
|
|
428
|
+
3. Run `uv publish` to publish to PyPI
|
|
429
|
+
4. Create and push a git tag: `git tag v<VERSION> && git push --tags`
|
|
430
|
+
|
|
398
431
|
## Contribute
|
|
399
432
|
|
|
400
433
|
Feel free to submit pull requests, they will be merged as long as they pass the tests.
|
|
Binary file
|
|
@@ -517,19 +517,20 @@ class Deck(collections.Counter):
|
|
|
517
517
|
def to_vdb(self) -> str:
|
|
518
518
|
"""Generating vdb.im link to deck"""
|
|
519
519
|
link = "https://vdb.im/decks/deck?"
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
520
|
+
params = {}
|
|
521
|
+
if self.name:
|
|
522
|
+
params["name"] = self.name
|
|
523
|
+
if self.author:
|
|
524
|
+
params["author"] = self.name
|
|
525
|
+
if params:
|
|
526
|
+
link += urllib.parse.urlencode(params)
|
|
526
527
|
link += "#"
|
|
527
528
|
for card, count in self.crypt:
|
|
528
529
|
link += f"{card.id}={count};"
|
|
529
530
|
for _, cards in self._sorted_library():
|
|
530
531
|
for card, count in cards:
|
|
531
532
|
link += f"{card.id}={count};"
|
|
532
|
-
return link[:-1]
|
|
533
|
+
return link[:-1] # remove trailing semicolumn
|
|
533
534
|
|
|
534
535
|
|
|
535
536
|
class DeckScore:
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""Used for profiling the seating algorithm
|
|
2
|
+
|
|
3
|
+
>>> python -m cProfile -o seating.stats profiling/seating.py
|
|
4
|
+
>>> python -m pstats seating.stats
|
|
5
|
+
|
|
6
|
+
Also useful for line profiling, add the `@profile` decorator on the function to profile
|
|
7
|
+
>>> pip install line_profiling
|
|
8
|
+
>>> kernprof -lv profiling/seating.py
|
|
9
|
+
|
|
10
|
+
"""
|
|
11
|
+
from krcg import seating
|
|
12
|
+
|
|
13
|
+
rounds = seating.get_rounds(list(range(50)), 3)
|
|
14
|
+
seating.optimise(rounds, 80000, 1)
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["
|
|
3
|
-
build-backend = "
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "krcg"
|
|
7
|
-
version = "4.
|
|
7
|
+
version = "4.9.dev0"
|
|
8
|
+
license = "MIT"
|
|
8
9
|
authors = [
|
|
9
10
|
{ name = "Lionel Panhaleux", email = "lionel.panhaleux+krcg@gmail.com" },
|
|
10
11
|
]
|
|
@@ -14,8 +15,10 @@ readme = "README.md"
|
|
|
14
15
|
requires-python = ">=3.10"
|
|
15
16
|
classifiers = [
|
|
16
17
|
"Programming Language :: Python :: 3",
|
|
18
|
+
"Programming Language :: Python :: 3.10",
|
|
17
19
|
"Programming Language :: Python :: 3.11",
|
|
18
|
-
"
|
|
20
|
+
"Programming Language :: Python :: 3.12",
|
|
21
|
+
"Programming Language :: Python :: 3.13",
|
|
19
22
|
"Development Status :: 5 - Production/Stable",
|
|
20
23
|
"Intended Audience :: Developers",
|
|
21
24
|
"Natural Language :: English",
|
|
@@ -40,14 +43,21 @@ dev = [
|
|
|
40
43
|
"ipython",
|
|
41
44
|
"pytest",
|
|
42
45
|
"ruff",
|
|
43
|
-
"zest.releaser[recommended]",
|
|
44
46
|
]
|
|
45
47
|
|
|
46
48
|
[project.urls]
|
|
47
49
|
Repository = "https://github.com/lionel-panhaleux/krcg"
|
|
48
50
|
|
|
49
|
-
[tool.
|
|
50
|
-
|
|
51
|
+
[tool.hatch.build.targets.wheel]
|
|
52
|
+
packages = ["krcg", "cards"]
|
|
51
53
|
|
|
52
|
-
[tool.
|
|
53
|
-
|
|
54
|
+
[tool.uv]
|
|
55
|
+
dev-dependencies = [
|
|
56
|
+
"certifi",
|
|
57
|
+
"coverage",
|
|
58
|
+
"codacy-coverage",
|
|
59
|
+
"black",
|
|
60
|
+
"ipython",
|
|
61
|
+
"pytest",
|
|
62
|
+
"ruff",
|
|
63
|
+
]
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<a id=10211 href=#>Top</a>
|
|
2
|
+
<hr><pre>
|
|
3
|
+
10211Origins - Thursday 2
|
|
4
|
+
Columbus, Ohio
|
|
5
|
+
June 9th 2022
|
|
6
|
+
2R+F
|
|
7
|
+
21 players
|
|
8
|
+
Darby Keeney
|
|
9
|
+
https://www.vekn.net/event-calendar/event/10211
|
|
10
|
+
|
|
11
|
+
-- 1GW6 + 3 VP in final
|
|
12
|
+
|
|
13
|
+
Description: Bruise bleed based around V5 Brujah Barons, New Carthage and Anarch bleed cards. It carries light multi-action, a touch of stealth and just enough bounce that it doesn't have to look left immediately. The titles influence others' political actions, even if I'm not using them myself.
|
|
14
|
+
|
|
15
|
+
In the final, I roasted my prey's opening (famous) Malgorzata even though she dropped a Blood of Acid in the first combat. It was ENTIRELY worth losing a 3-cap who had already done the Illegalism/unlock/Manifesto trick. I ate Mal a turn or two later, just to be sure she didn't make beads.
|
|
16
|
+
|
|
17
|
+
Crypt (12 cards, min=18, max=30, avg=6.17)
|
|
18
|
+
------------------------------------------
|
|
19
|
+
2x Theo Bell 8 CEL POT PRE aus dom Brujah:6
|
|
20
|
+
2x Aline Gädeke 7 POT PRE cel baron Brujah:6
|
|
21
|
+
2x Valeriya Zinovieva 7 POT cel pre pro baron Brujah:6
|
|
22
|
+
2x Leumeah 6 PRE cel for pot baron Brujah:6
|
|
23
|
+
1x Atiena 6 CEL obf pot pre baron Brujah:6
|
|
24
|
+
1x Brandon Grime 5 CEL pot pre tha Brujah:6
|
|
25
|
+
1x Elen Kamjian 4 CEL POT Brujah:6
|
|
26
|
+
1x Ariane 3 cel pot pre Brujah:5
|
|
27
|
+
|
|
28
|
+
The original build used more superior Presence minions but no Theo and some Enchant Kindred. I didn't like the pace at which it played and adjusted for more immediate offense. I finally broke down and added Theo right before Origins - he sheds red cards and I get a second +1 strength minion.
|
|
29
|
+
Every one of those revisions made the deck better and this iteration feels extremely solid.
|
|
30
|
+
|
|
31
|
+
Library (90 cards)
|
|
32
|
+
-- I think there might be a 78 card version that's even more consistent. And no, you don't need Ashur Tablets.
|
|
33
|
+
Master (18; 5 trifle)
|
|
34
|
+
2x Blood Doll
|
|
35
|
+
1x Carfax Abbey
|
|
36
|
+
1x Club Illusion -- dangerous play in today's meta
|
|
37
|
+
2x Dreams of the Sphinx
|
|
38
|
+
1x Fame
|
|
39
|
+
1x Garibaldi-Meucci Museum -- this card just keeps getting better.
|
|
40
|
+
1x Giant's Blood
|
|
41
|
+
2x New Carthage -- this version could probably drop to 1 copy
|
|
42
|
+
1x Powerbase: Los Angeles -- more unlocked Barons at the end of my turn.
|
|
43
|
+
5x Villein -- this could be 6 copies and the deck wouldn't suffer.
|
|
44
|
+
1x Warzone Hunting Ground
|
|
45
|
+
|
|
46
|
+
Action (21)
|
|
47
|
+
1x Fee Stake: New York -- should probably change to LA just for thematic reasons
|
|
48
|
+
9x Illegalism -- combat minions that bleed, then unlock and fight are pretty good.
|
|
49
|
+
10x Line Brawl -- see above. The occasional pool steal can screw up other players' math.
|
|
50
|
+
1x Open War -- almost overkill with Theo and Line Brawls.
|
|
51
|
+
|
|
52
|
+
Equipment (2)
|
|
53
|
+
2x Anarch Manifesto, An -- slotted during last revision, these things are gold in the mid game (get them AFTER you unlock from Illegialism, don't defer bleed actions to get it)
|
|
54
|
+
|
|
55
|
+
Action Modifier (8)
|
|
56
|
+
6x Power of One -- I didn't bother with the unlimited [pot] line with a Monkey Wrench, it's better to just have these for stealth on bleeds.
|
|
57
|
+
2x Zephyr -- don't laugh...even at inferior it is an unlocked bouncer (or a multirushing Theo at superior).
|
|
58
|
+
|
|
59
|
+
Reaction (5)
|
|
60
|
+
5x Bait and Switch -- this card is shaking up the meta around here.
|
|
61
|
+
|
|
62
|
+
Combat (36)
|
|
63
|
+
2x Bollix -- kind of iffy, but I like having extra maneuvers and presses hanging around.
|
|
64
|
+
2x Disarm -- never played on a minion I wasn't dunking anyway, this might be overkill.
|
|
65
|
+
3x Diversion -- only OK in this deck since Dust Up often eats the additional strike.
|
|
66
|
+
10x Dust Up -- underrated as a dual use combat tool.
|
|
67
|
+
4x Immortal Grapple -- because Earth Meld decks need to be killed with fire.
|
|
68
|
+
2x Pulled Fangs -- sometimes minions just need to stay down
|
|
69
|
+
5x Target Vitals -- slotted in yet another [pot] deck....this card is poorly designed.
|
|
70
|
+
4x Taste of Vitae
|
|
71
|
+
4x Thrown Gate -- a token nod to "screw your Sniper Rifle" with backup defensive value
|
|
72
|
+
</pre>
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
<a id=11435 href=#>Top</a>
|
|
2
|
+
<hr><pre>
|
|
3
|
+
Powerbase Badalona 2024
|
|
4
|
+
Badalona, Spain
|
|
5
|
+
May 4th 2024
|
|
6
|
+
2R+F
|
|
7
|
+
25 players
|
|
8
|
+
Miquel Jorge Tortajada
|
|
9
|
+
https://www.vekn.net/event-calendar/event/11435
|
|
10
|
+
|
|
11
|
+
A brief explanation about the final, from my point of view.
|
|
12
|
+
With 1GW4VP I placed second (new salubri powerbleed), so a quite good position to pick my seat.
|
|
13
|
+
The other finalists were:
|
|
14
|
+
Marc Alvarez (1st) Matasuntha rush
|
|
15
|
+
Albert Dulcet (3rd) Marie Faucigny with equipments (strange deck)
|
|
16
|
+
Xavier Macias (4th) Ravnos
|
|
17
|
+
Germán Sánchez (Gangrel block)
|
|
18
|
+
When I got the chance to pick my place the order was already:
|
|
19
|
+
Xavier Macias (Ravnos) -> Albert Dulcet (Marie Faucigny) -> Germán Sanchez (Gangrel block)
|
|
20
|
+
I knew I didn't want to prey the gangrels, my thoughts about the Ravnos were that it was a toolboox with bleed reduction, so ideal choice was between Ravnos and Marie, but I was sure that Matasuntha would then place behind me so I risked it and placed myself between Gangrel and the Ravnos, hoping to get out early and put some pressure on my prey. Marc placed preying Albert.
|
|
21
|
+
Pulled out Seraphina and had a GtU and a SM in hand with a freak drive, so was quite confident to get my second vampire early. Played seduction on the only Ravnos Xavier had, but unfortunately Kuyén decided to block me.
|
|
22
|
+
- I know your deck- Were Germán's words, so I knew he wasn't going to let me play easily, so decided to bring my second vampire transferring from my pool.
|
|
23
|
+
Matasuntha start putting quite some pressure on Marie, but I knew Albert playstyle, and he is a very resourceful person, and really hard to kill, so the Gangrels were free to roam, and a couple more joined Kuyén son enough.
|
|
24
|
+
A bit later, Xavier discarded a Pentex, so having one in hand I knew there was my chance, so with a few tricks from the salubris I manage to give is pool quite a big bite, but not enough to oust him.
|
|
25
|
+
Germán put some pressure on me, not heavy but steady with 2 or 3 bleeds per turn, I was lucky to get almost all my deflections, redirections and TM and that prevent me from dyeing and lowering Xavier's pool a bit. Then he played a risky move, bringing Club Illusion to the game with some sort of agreement with my anarch predator, that if he killed me, he would allow a couple of turns of peace so the Ravnos could recover.
|
|
26
|
+
Matasuntha's attention suddenly faded from Marie and turned backwards, as she had 4 vampires with a potential bleed of 9 and Marc's pool was only at 13, so she multirushed backwards, torporizing 3 vampires. Albert offered to rescue 1 on order to safe Xavier and keep Matasuntha busy with him.
|
|
27
|
+
On his turn, German tried to oust me with his full potential, he had previously recovered a Monkey Wrench with his Garibaldi, so I was ready for it and he failed.
|
|
28
|
+
My second chance was right in front of me, and I wasn't going to waste it, so I jumped towards Xavier's exposed pool and this time I manage to successfully oust him, but even before I could savor my victory I felt Matasuntha's eyes upon me, so with my sweetest salubri voice I offered a deal, and after a few give and take we manage to get ourselves an understanding.
|
|
29
|
+
Marc will not rush me, and I will not bleed him, and the first Monkey Wrench German played I will directly deflect to Albert, all the other bleeds I could deflect them to Marc. I knew it wasn't much of a deal, Albert would get heavy pressure again and the Gangrel will be free to roam around me, and so he did bringing a 5th vampire to the game, but it was too late and the finale concluded a few turns after.
|
|
30
|
+
Special mention to Marie and her crew, who suffered repeatedly Matasuntha's rushes but manage to come back from torpor more times than it seems even possible.
|
|
31
|
+
Hope you all like my chronicle and apologize for my limited English.
|
|
32
|
+
Miki
|
|
33
|
+
P.D. Hope I have reported it correctly, if something is missing let me know.
|
|
34
|
+
|
|
35
|
+
Deck Name: Nuevos Salubri (New Salubri)
|
|
36
|
+
|
|
37
|
+
Crypt (12 cards, min=20, max=32, avg=6.42)
|
|
38
|
+
------------------------------------------
|
|
39
|
+
2x Abaddon 8 AUS DOM FOR cel pot Salubri:7
|
|
40
|
+
2x Seraphina 8 AUS DOM FOR cel tha Salubri:7
|
|
41
|
+
2x Aniel 6 AUS DOM for Salubri:7
|
|
42
|
+
2x Malachi 6 AUS DOM FOR Salubri:7
|
|
43
|
+
2x Opikun 5 FOR aus dom Salubri:7
|
|
44
|
+
1x Ilonka 7 AUS DOM FOR tha Salubri:7
|
|
45
|
+
1x Yael 4 aus dom for Salubri:7
|
|
46
|
+
|
|
47
|
+
Library (90 cards)
|
|
48
|
+
Master (14; 1 trifle)
|
|
49
|
+
1x Anarch Troublemaker
|
|
50
|
+
2x Blood Doll
|
|
51
|
+
1x Coven, The
|
|
52
|
+
1x Direct Intervention
|
|
53
|
+
1x Giant's Blood
|
|
54
|
+
1x Meditative Grove
|
|
55
|
+
2x Pentex(TM) Subversion
|
|
56
|
+
4x Perfectionist
|
|
57
|
+
1x Saulot's Healing Touch
|
|
58
|
+
|
|
59
|
+
Action (19)
|
|
60
|
+
6x Feast of the Soul's Secrets
|
|
61
|
+
7x Govern the Unaligned
|
|
62
|
+
6x Scouting Mission
|
|
63
|
+
|
|
64
|
+
Action/Combat (6)
|
|
65
|
+
6x Touch of Valeren
|
|
66
|
+
|
|
67
|
+
Ally (1)
|
|
68
|
+
1x Carlton Van Wyk
|
|
69
|
+
|
|
70
|
+
Equipment (1)
|
|
71
|
+
1x Heart of Nizchetus
|
|
72
|
+
|
|
73
|
+
Action Modifier (32)
|
|
74
|
+
4x Bonding
|
|
75
|
+
3x Daring the Dawn
|
|
76
|
+
6x Forced Confessional
|
|
77
|
+
8x Freak Drive
|
|
78
|
+
4x Seduction
|
|
79
|
+
2x Threats
|
|
80
|
+
5x Unleashing the Bestial Soul
|
|
81
|
+
|
|
82
|
+
Reaction (17)
|
|
83
|
+
5x Deflection
|
|
84
|
+
2x Delaying Tactics
|
|
85
|
+
3x Eyes of Argus
|
|
86
|
+
3x On the Qui Vive
|
|
87
|
+
2x Redirection
|
|
88
|
+
2x Telepathic Misdirection
|
|
89
|
+
</pre>
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
<a id=2010tcdbng href=#>Top</a>
|
|
2
|
+
<hr><pre>
|
|
3
|
+
Trading Card Day
|
|
4
|
+
Bad Naumheim, Germany
|
|
5
|
+
May 8th 2010
|
|
6
|
+
2R+F
|
|
7
|
+
10 players
|
|
8
|
+
Rudolf Scholz
|
|
9
|
+
|
|
10
|
+
-- 4vp in final
|
|
11
|
+
|
|
12
|
+
Deck Name: The Storage Procurers
|
|
13
|
+
Description: Allies with Flash Grenades to keep troubles at bay.
|
|
14
|
+
Storage Annex for card efficiency and a structured hand. Weenies and
|
|
15
|
+
Midcaps with Obfuscate and/or Dominate to oust via Conditionings and
|
|
16
|
+
Deflections.
|
|
17
|
+
|
|
18
|
+
Crypt (12 cards, min=7, max=24, avg=3.75)
|
|
19
|
+
-----------------------------------------
|
|
20
|
+
1x Gilbert Duane 7 AUS DOM OBF prince Malkavian:1
|
|
21
|
+
1x Mariel, Lady Thunder 7 DOM OBF aus tha Malkavian:1
|
|
22
|
+
1x Badr al-Budur 5 OBF cel dom qui Assamite:2
|
|
23
|
+
1x Count Ormonde 5 OBF dom pre ser Follower of Set:2
|
|
24
|
+
1x Didi Meyers 5 DOM aus cel obf Malkavian:1
|
|
25
|
+
1x Zebulon 5 OBF aus dom pro Malkavian:1
|
|
26
|
+
1x Dimple 2 obf Nosferatu:1
|
|
27
|
+
1x Mustafa Rahman 2 dom Tremere:2
|
|
28
|
+
1x Normal 2 obf Malkavian:1
|
|
29
|
+
1x Ohanna 2 dom Malkavian:2
|
|
30
|
+
1x Samson 2 dom Ventrue antitribu:2
|
|
31
|
+
1x Basil 1 obf Pander:2
|
|
32
|
+
|
|
33
|
+
Library (87)
|
|
34
|
+
Action Modifier [19]
|
|
35
|
+
6x Cloak the Gathering
|
|
36
|
+
7x Conditioning (should be more!)
|
|
37
|
+
2x Lost in Crowds
|
|
38
|
+
4x Veil the Legions
|
|
39
|
+
|
|
40
|
+
Ally [12]
|
|
41
|
+
1x Carlton Van Wyk (Hunter)
|
|
42
|
+
1x Gregory Winter
|
|
43
|
+
1x Impundulu
|
|
44
|
+
1x Muddled Vampire Hunter
|
|
45
|
+
1x Ossian
|
|
46
|
+
6x Procurer
|
|
47
|
+
1x Young Bloods
|
|
48
|
+
|
|
49
|
+
Combat [8]
|
|
50
|
+
8x Concealed Weapon
|
|
51
|
+
|
|
52
|
+
Equipment [9]
|
|
53
|
+
1x Deer Rifle
|
|
54
|
+
8x Flash Grenade (brings fear to the methuselahs rather than to minions)
|
|
55
|
+
|
|
56
|
+
Event [4]
|
|
57
|
+
1x FBI Special Affairs Division
|
|
58
|
+
1x Hunger Moon
|
|
59
|
+
1x Restricted Vitae
|
|
60
|
+
1x Unmasking, The
|
|
61
|
+
|
|
62
|
+
Master [19]
|
|
63
|
+
1x Channel 10
|
|
64
|
+
2x Charisma
|
|
65
|
+
1x Creepshow Casino
|
|
66
|
+
1x KRCG News Radio
|
|
67
|
+
2x Perfectionist
|
|
68
|
+
6x Storage Annex (great card! usually underestimated)
|
|
69
|
+
3x Sudden Reversal
|
|
70
|
+
3x Vessel
|
|
71
|
+
|
|
72
|
+
Reaction [16]
|
|
73
|
+
7x Deflection
|
|
74
|
+
2x Delaying Tactics
|
|
75
|
+
7x On the Qui Vive
|
|
76
|
+
</pre>
|