tormenta20 0.2.15 → 0.2.17
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/README.md +14 -2
- data/Rakefile +2 -1
- data/db/tormenta20.sqlite3 +0 -0
- data/src/json/magias/curar_ferimentos.json +1 -1
- data/src/ruby/tormenta20/rules/pm_cap.rb +26 -0
- data/src/ruby/tormenta20/rules.rb +9 -0
- data/src/ruby/tormenta20/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ca7327ced61dd962c932132d83385e8f1cc854d7e6beba7d73fbbeffcdb51e8c
|
|
4
|
+
data.tar.gz: 1902c5fa0499d0f639631cd3eef40542109097677b91c2a40f5655d88edf568e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: feb87e81128736bbf6fb9849e25e6b803c92474949a21b505d41f16eb8943dfca41a749d82b943af38090820d51aaf989b1cdbd8bd7ca3fe0c2f17f213b7fdd0
|
|
7
|
+
data.tar.gz: c6d219df82ae23aca5ccbdf4523dbe79e7686ccfe478a4fca18b2de2a8d7a3b48f3743adf3a98302ef3bf18e7f2fd069922367e8e1c924d369749cc67fd5d91d
|
data/.rubocop.yml
CHANGED
data/README.md
CHANGED
|
@@ -268,7 +268,7 @@ bundle install
|
|
|
268
268
|
|
|
269
269
|
### Construir o Banco de Dados
|
|
270
270
|
|
|
271
|
-
O
|
|
271
|
+
O arquivo `db/tormenta20.sqlite3` é **gerado** a partir dos JSONs em `src/json/` e não está versionado no repositório. É necessário gerá-lo antes de rodar os specs ou a gem localmente:
|
|
272
272
|
|
|
273
273
|
```bash
|
|
274
274
|
# Construir apenas o banco
|
|
@@ -278,6 +278,8 @@ rake build_db
|
|
|
278
278
|
rake build
|
|
279
279
|
```
|
|
280
280
|
|
|
281
|
+
Os specs (`rake spec` / `rake`) também executam `build_db` automaticamente antes de rodar.
|
|
282
|
+
|
|
281
283
|
### Estrutura do Projeto
|
|
282
284
|
|
|
283
285
|
```
|
|
@@ -316,7 +318,17 @@ tormenta20/
|
|
|
316
318
|
### Testes
|
|
317
319
|
|
|
318
320
|
```bash
|
|
319
|
-
|
|
321
|
+
bin/test
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
Ou individualmente:
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
# Apenas specs
|
|
328
|
+
bundle exec rspec
|
|
329
|
+
|
|
330
|
+
# Suite completa (build_db + specs + rubocop + jsonlint)
|
|
331
|
+
bin/ci
|
|
320
332
|
```
|
|
321
333
|
|
|
322
334
|
### Linting
|
data/Rakefile
CHANGED
data/db/tormenta20.sqlite3
CHANGED
|
Binary file
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Tormenta20
|
|
4
|
+
module Rules
|
|
5
|
+
# PM cap rules for variable-cost abilities (Tormenta20 core rules).
|
|
6
|
+
#
|
|
7
|
+
# Rule: the PM spent on a single use of a variable-cost ability cannot exceed
|
|
8
|
+
# the character's level in the class that provides it. If the ability comes
|
|
9
|
+
# from a race, origin, or general power (no class source), the cap equals the
|
|
10
|
+
# total character level.
|
|
11
|
+
module PmCap
|
|
12
|
+
# Returns the PM cap for a variable-cost ability.
|
|
13
|
+
#
|
|
14
|
+
# @param source_class [String, nil] name of the class that provides the
|
|
15
|
+
# ability (e.g. "arcanista"), or nil for race/origin/general powers
|
|
16
|
+
# @param class_level [Integer, nil] character's level in that class
|
|
17
|
+
# @param character_level [Integer] total character level (used as fallback)
|
|
18
|
+
# @return [Integer]
|
|
19
|
+
def self.for_ability(source_class:, class_level:, character_level:)
|
|
20
|
+
return character_level if source_class.nil? || class_level.nil?
|
|
21
|
+
|
|
22
|
+
class_level
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tormenta20
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.17
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- LuanGB
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-05-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activerecord
|
|
@@ -1277,6 +1277,8 @@ files:
|
|
|
1277
1277
|
- src/ruby/tormenta20/models/poder.rb
|
|
1278
1278
|
- src/ruby/tormenta20/models/raca.rb
|
|
1279
1279
|
- src/ruby/tormenta20/models/regra.rb
|
|
1280
|
+
- src/ruby/tormenta20/rules.rb
|
|
1281
|
+
- src/ruby/tormenta20/rules/pm_cap.rb
|
|
1280
1282
|
- src/ruby/tormenta20/seeder.rb
|
|
1281
1283
|
- src/ruby/tormenta20/version.rb
|
|
1282
1284
|
- src/schema/magia.schema.json
|