tormenta20 0.2.6 → 0.2.7
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/db/schema.sql +23 -0
- data/db/tormenta20.sqlite3 +0 -0
- data/src/json/condicoes/abalado.json +8 -0
- data/src/json/condicoes/agarrado.json +13 -0
- data/src/json/condicoes/alquebrado.json +8 -0
- data/src/json/condicoes/apavorado.json +11 -0
- data/src/json/condicoes/atordoado.json +11 -0
- data/src/json/condicoes/caido.json +13 -0
- data/src/json/condicoes/cego.json +13 -0
- data/src/json/condicoes/confuso.json +10 -0
- data/src/json/condicoes/debilitado.json +11 -0
- data/src/json/condicoes/desprevenido.json +11 -0
- data/src/json/condicoes/doente.json +8 -0
- data/src/json/condicoes/em_chamas.json +11 -0
- data/src/json/condicoes/enfeiticado.json +11 -0
- data/src/json/condicoes/enjoado.json +8 -0
- data/src/json/condicoes/enredado.json +12 -0
- data/src/json/condicoes/envenenado.json +8 -0
- data/src/json/condicoes/esmorecido.json +8 -0
- data/src/json/condicoes/exausto.json +13 -0
- data/src/json/condicoes/fascinado.json +12 -0
- data/src/json/condicoes/fatigado.json +12 -0
- data/src/json/condicoes/fraco.json +11 -0
- data/src/json/condicoes/frustrado.json +11 -0
- data/src/json/condicoes/imovel.json +8 -0
- data/src/json/condicoes/inconsciente.json +11 -0
- data/src/json/condicoes/indefeso.json +13 -0
- data/src/json/condicoes/lento.json +12 -0
- data/src/json/condicoes/ofuscado.json +11 -0
- data/src/json/condicoes/paralisado.json +12 -0
- data/src/json/condicoes/pasmo.json +8 -0
- data/src/json/condicoes/petrificado.json +11 -0
- data/src/json/condicoes/sangrando.json +10 -0
- data/src/json/condicoes/sobrecarregado.json +11 -0
- data/src/json/condicoes/surdo.json +12 -0
- data/src/json/condicoes/surpreendido.json +11 -0
- data/src/json/condicoes/vulneravel.json +8 -0
- data/src/ruby/tormenta20/models/condicao.rb +66 -0
- data/src/ruby/tormenta20/seeder.rb +9 -0
- data/src/ruby/tormenta20/version.rb +1 -1
- data/src/ruby/tormenta20.rb +10 -0
- metadata +37 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6b2140b8b04d8ee15caca2700f3adb40d350209b10477f852cb86336e9c5d60e
|
|
4
|
+
data.tar.gz: 150b76780f6b14e17e6c1883d5c7d3467e9ba73fd1e60a7562be6d284d3c890b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 22d9ecdf602bcd12b0821119914208451aab3a4eb8ae9848f79b0cca281ab070b3eec35ebb19fbef11fb880f2b61e51a3646cfb86b45cee7ca9a3b6fff7b7690
|
|
7
|
+
data.tar.gz: a94f9b5d9aa7eac2145409ff8e60f051aee15dd8bf43f5338bb7651bd5448ac0a766761c51b60e07489de9d5e50aff1b8305a65b82fcf6f36da2285b7af53871
|
data/db/schema.sql
CHANGED
|
@@ -375,6 +375,29 @@ BEGIN
|
|
|
375
375
|
UPDATE racas SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id;
|
|
376
376
|
END;
|
|
377
377
|
|
|
378
|
+
-- -----------------------------------------------------------------------------
|
|
379
|
+
-- CONDIÇÕES (Status Conditions)
|
|
380
|
+
-- -----------------------------------------------------------------------------
|
|
381
|
+
CREATE TABLE IF NOT EXISTS condicoes (
|
|
382
|
+
id TEXT PRIMARY KEY,
|
|
383
|
+
name TEXT NOT NULL,
|
|
384
|
+
description TEXT,
|
|
385
|
+
effects JSON DEFAULT '[]',
|
|
386
|
+
condition_type TEXT,
|
|
387
|
+
escalates_to TEXT,
|
|
388
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
389
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
390
|
+
);
|
|
391
|
+
|
|
392
|
+
CREATE INDEX IF NOT EXISTS idx_condicoes_name ON condicoes(name);
|
|
393
|
+
CREATE INDEX IF NOT EXISTS idx_condicoes_type ON condicoes(condition_type);
|
|
394
|
+
|
|
395
|
+
CREATE TRIGGER IF NOT EXISTS update_condicoes_timestamp
|
|
396
|
+
AFTER UPDATE ON condicoes
|
|
397
|
+
BEGIN
|
|
398
|
+
UPDATE condicoes SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id;
|
|
399
|
+
END;
|
|
400
|
+
|
|
378
401
|
-- =============================================================================
|
|
379
402
|
-- VIEWS ÚTEIS
|
|
380
403
|
-- =============================================================================
|
data/db/tormenta20.sqlite3
CHANGED
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "agarrado",
|
|
3
|
+
"name": "Agarrado",
|
|
4
|
+
"description": "Você está sendo segurado por uma criatura ou efeito. Fica desprevenido e imóvel, sofre –2 em jogadas de ataque e só pode usar armas leves ou armas naturais.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica desprevenido",
|
|
7
|
+
"Fica imóvel",
|
|
8
|
+
"-2 em jogadas de ataque",
|
|
9
|
+
"Só pode usar armas leves ou naturais"
|
|
10
|
+
],
|
|
11
|
+
"condition_type": null,
|
|
12
|
+
"escalates_to": null
|
|
13
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "alquebrado",
|
|
3
|
+
"name": "Alquebrado",
|
|
4
|
+
"description": "Sua mente está enfraquecida. O custo em PM de todas as suas habilidades aumenta em +1.",
|
|
5
|
+
"effects": ["Custo em PM de todas as habilidades +1"],
|
|
6
|
+
"condition_type": "mental",
|
|
7
|
+
"escalates_to": null
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "apavorado",
|
|
3
|
+
"name": "Apavorado",
|
|
4
|
+
"description": "Você está dominado pelo medo. Sofre –5 em testes de perícia e não pode se aproximar voluntariamente da fonte do seu medo.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"-5 em testes de perícia",
|
|
7
|
+
"Não pode se aproximar voluntariamente da fonte do medo"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": "medo",
|
|
10
|
+
"escalates_to": null
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "atordoado",
|
|
3
|
+
"name": "Atordoado",
|
|
4
|
+
"description": "Você está confuso e incapaz de agir. Fica desprevenido e perde sua ação no turno.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica desprevenido",
|
|
7
|
+
"Perde a ação no turno"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": "mental",
|
|
10
|
+
"escalates_to": null
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "caido",
|
|
3
|
+
"name": "Caído",
|
|
4
|
+
"description": "Você está prostrado no chão. Sofre –5 na Defesa contra ataques corpo a corpo, mas +5 na Defesa contra ataques à distância. Sofre –5 em jogadas de ataque corpo a corpo. Seu deslocamento é reduzido a 1,5m (apenas rastejando).",
|
|
5
|
+
"effects": [
|
|
6
|
+
"-5 na Defesa contra ataques corpo a corpo",
|
|
7
|
+
"+5 na Defesa contra ataques à distância",
|
|
8
|
+
"-5 em jogadas de ataque corpo a corpo",
|
|
9
|
+
"Deslocamento reduzido a 1,5m (rastejar)"
|
|
10
|
+
],
|
|
11
|
+
"condition_type": null,
|
|
12
|
+
"escalates_to": null
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "cego",
|
|
3
|
+
"name": "Cego",
|
|
4
|
+
"description": "Você não consegue ver. Fica desprevenido e lento. Sofre –5 em testes de perícias baseadas em Força ou Destreza. Todos os alvos têm cobertura total contra seus ataques.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica desprevenido",
|
|
7
|
+
"Fica lento",
|
|
8
|
+
"-5 em testes de perícias baseadas em Força ou Destreza",
|
|
9
|
+
"Todos os alvos têm cobertura total contra seus ataques"
|
|
10
|
+
],
|
|
11
|
+
"condition_type": "sentidos",
|
|
12
|
+
"escalates_to": null
|
|
13
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "confuso",
|
|
3
|
+
"name": "Confuso",
|
|
4
|
+
"description": "Você age de forma aleatória e imprevisível. No início de cada turno, role 1d6: 1–2 age normalmente, 3–4 não faz nada, 5–6 ataca o alvo mais próximo (aliado ou inimigo).",
|
|
5
|
+
"effects": [
|
|
6
|
+
"No início do turno role 1d6: 1-2 age normalmente, 3-4 fica pasmo, 5-6 ataca o alvo mais próximo"
|
|
7
|
+
],
|
|
8
|
+
"condition_type": "mental",
|
|
9
|
+
"escalates_to": null
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "debilitado",
|
|
3
|
+
"name": "Debilitado",
|
|
4
|
+
"description": "Seu corpo está seriamente comprometido. Sofre –5 em testes de Força, Destreza e Constituição. Se ficar debilitado novamente, fica inconsciente.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"-5 em testes de Força, Destreza e Constituição",
|
|
7
|
+
"Se ficar debilitado novamente → fica inconsciente"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": null,
|
|
10
|
+
"escalates_to": "inconsciente"
|
|
11
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "doente",
|
|
3
|
+
"name": "Doente",
|
|
4
|
+
"description": "Você está acometido por uma doença. Os efeitos variam conforme a doença específica.",
|
|
5
|
+
"effects": ["Efeitos variam conforme a doença (veja a descrição da doença)"],
|
|
6
|
+
"condition_type": "metabolismo",
|
|
7
|
+
"escalates_to": null
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "em_chamas",
|
|
3
|
+
"name": "Em Chamas",
|
|
4
|
+
"description": "Você está pegando fogo. Sofre 1d6 pontos de dano de fogo no início de cada turno. Você pode apagar as chamas usando uma ação padrão para se jogar no chão e rolar.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"1d6 pontos de dano de fogo no início de cada turno",
|
|
7
|
+
"Ação padrão para apagar (jogar no chão e rolar)"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": null,
|
|
10
|
+
"escalates_to": null
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "enfeiticado",
|
|
3
|
+
"name": "Enfeitiçado",
|
|
4
|
+
"description": "Você está sob encantamento e considera a fonte do efeito como amiga. A fonte recebe +10 em testes de Diplomacia contra você.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Considera a fonte do efeito como aliada",
|
|
7
|
+
"A fonte recebe +10 em testes de Diplomacia contra você"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": "mental",
|
|
10
|
+
"escalates_to": null
|
|
11
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "enjoado",
|
|
3
|
+
"name": "Enjoado",
|
|
4
|
+
"description": "Você está com náusea. Em cada rodada, pode usar apenas uma ação padrão ou uma ação de movimento (não ambas).",
|
|
5
|
+
"effects": ["Pode usar apenas uma ação padrão OU uma ação de movimento por rodada (não ambas)"],
|
|
6
|
+
"condition_type": "metabolismo",
|
|
7
|
+
"escalates_to": null
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "enredado",
|
|
3
|
+
"name": "Enredado",
|
|
4
|
+
"description": "Você está preso por teias, cipós ou efeito similar. Fica lento e vulnerável, e sofre –2 em jogadas de ataque.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica lento",
|
|
7
|
+
"Fica vulnerável",
|
|
8
|
+
"-2 em jogadas de ataque"
|
|
9
|
+
],
|
|
10
|
+
"condition_type": "movimento",
|
|
11
|
+
"escalates_to": null
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "envenenado",
|
|
3
|
+
"name": "Envenenado",
|
|
4
|
+
"description": "Você está sob efeito de veneno. Os efeitos variam conforme o veneno específico.",
|
|
5
|
+
"effects": ["Efeitos variam conforme o veneno (veja a descrição do veneno)"],
|
|
6
|
+
"condition_type": "veneno",
|
|
7
|
+
"escalates_to": null
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "esmorecido",
|
|
3
|
+
"name": "Esmorecido",
|
|
4
|
+
"description": "Sua mente está seriamente abalada. Sofre –5 em testes de Inteligência, Sabedoria e Carisma.",
|
|
5
|
+
"effects": ["-5 em testes de Inteligência, Sabedoria e Carisma"],
|
|
6
|
+
"condition_type": "mental",
|
|
7
|
+
"escalates_to": null
|
|
8
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "exausto",
|
|
3
|
+
"name": "Exausto",
|
|
4
|
+
"description": "Você está exausto de fadiga. Fica debilitado, lento e vulnerável. Se ficar exausto novamente, fica inconsciente.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica debilitado",
|
|
7
|
+
"Fica lento",
|
|
8
|
+
"Fica vulnerável",
|
|
9
|
+
"Se ficar exausto novamente → fica inconsciente"
|
|
10
|
+
],
|
|
11
|
+
"condition_type": "cansaco",
|
|
12
|
+
"escalates_to": "inconsciente"
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "fascinado",
|
|
3
|
+
"name": "Fascinado",
|
|
4
|
+
"description": "Você está hipnotizado por um estímulo. Sofre –5 em testes de Percepção e só pode fazer ações de observar o que o fascina (não pode atacar, se mover ou fazer outras ações).",
|
|
5
|
+
"effects": [
|
|
6
|
+
"-5 em testes de Percepção",
|
|
7
|
+
"Só pode observar a fonte da fascinação",
|
|
8
|
+
"Não pode atacar, se mover ou realizar outras ações"
|
|
9
|
+
],
|
|
10
|
+
"condition_type": "mental",
|
|
11
|
+
"escalates_to": null
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "fatigado",
|
|
3
|
+
"name": "Fatigado",
|
|
4
|
+
"description": "Você está cansado. Fica fraco e vulnerável. Se ficar fatigado novamente, fica exausto.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica fraco",
|
|
7
|
+
"Fica vulnerável",
|
|
8
|
+
"Se ficar fatigado novamente → fica exausto"
|
|
9
|
+
],
|
|
10
|
+
"condition_type": "cansaco",
|
|
11
|
+
"escalates_to": "exausto"
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "fraco",
|
|
3
|
+
"name": "Fraco",
|
|
4
|
+
"description": "Seu corpo está enfraquecido. Sofre –2 em testes de Força, Destreza e Constituição. Se ficar fraco novamente, fica debilitado.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"-2 em testes de Força, Destreza e Constituição",
|
|
7
|
+
"Se ficar fraco novamente → fica debilitado"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": null,
|
|
10
|
+
"escalates_to": "debilitado"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "frustrado",
|
|
3
|
+
"name": "Frustrado",
|
|
4
|
+
"description": "Você está mentalmente abalado. Sofre –2 em testes de Inteligência, Sabedoria e Carisma. Se ficar frustrado novamente, fica esmorecido.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"-2 em testes de Inteligência, Sabedoria e Carisma",
|
|
7
|
+
"Se ficar frustrado novamente → fica esmorecido"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": "mental",
|
|
10
|
+
"escalates_to": "esmorecido"
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "inconsciente",
|
|
3
|
+
"name": "Inconsciente",
|
|
4
|
+
"description": "Você está desmaiado ou dormindo. Fica indefeso e não pode realizar nenhuma ação.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica indefeso",
|
|
7
|
+
"Não pode realizar nenhuma ação"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": null,
|
|
10
|
+
"escalates_to": null
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "indefeso",
|
|
3
|
+
"name": "Indefeso",
|
|
4
|
+
"description": "Você está completamente vulnerável. Fica desprevenido, sofre –10 na Defesa, falha automaticamente em Reflexos e pode sofrer um golpe de misericórdia.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica desprevenido",
|
|
7
|
+
"-10 na Defesa",
|
|
8
|
+
"Falha automaticamente em testes de Reflexos",
|
|
9
|
+
"Pode sofrer golpe de misericórdia"
|
|
10
|
+
],
|
|
11
|
+
"condition_type": null,
|
|
12
|
+
"escalates_to": null
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "lento",
|
|
3
|
+
"name": "Lento",
|
|
4
|
+
"description": "Você está se movendo devagar. Seu deslocamento é reduzido à metade e você não pode correr nem fazer investidas.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Deslocamento reduzido à metade",
|
|
7
|
+
"Não pode correr",
|
|
8
|
+
"Não pode fazer investidas"
|
|
9
|
+
],
|
|
10
|
+
"condition_type": "movimento",
|
|
11
|
+
"escalates_to": null
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "ofuscado",
|
|
3
|
+
"name": "Ofuscado",
|
|
4
|
+
"description": "Sua visão está prejudicada por luz intensa ou escuridão parcial. Sofre –2 em jogadas de ataque e em testes de Percepção.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"-2 em jogadas de ataque",
|
|
7
|
+
"-2 em testes de Percepção"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": "sentidos",
|
|
10
|
+
"escalates_to": null
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "paralisado",
|
|
3
|
+
"name": "Paralisado",
|
|
4
|
+
"description": "Seu corpo está completamente imóvel. Fica imóvel e indefeso. Só pode realizar ações mentais (como ativar habilidades que não exijam movimento).",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica imóvel",
|
|
7
|
+
"Fica indefeso",
|
|
8
|
+
"Só pode realizar ações mentais"
|
|
9
|
+
],
|
|
10
|
+
"condition_type": null,
|
|
11
|
+
"escalates_to": null
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "petrificado",
|
|
3
|
+
"name": "Petrificado",
|
|
4
|
+
"description": "Você foi transformado em pedra ou material inerte. Fica inconsciente e ganha RD 8 (contra todos os tipos de dano). Efeito do tipo metamorfose.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica inconsciente",
|
|
7
|
+
"Ganha RD 8 (todos os tipos de dano)"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": "metamorfose",
|
|
10
|
+
"escalates_to": null
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "sangrando",
|
|
3
|
+
"name": "Sangrando",
|
|
4
|
+
"description": "Você está com uma ferida aberta e sangrando. No início de cada turno, deve fazer um teste de Constituição (CD 15) ou sofrer 1d6 pontos de dano.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"No início de cada turno: teste de Constituição CD 15 ou sofre 1d6 de dano"
|
|
7
|
+
],
|
|
8
|
+
"condition_type": "metabolismo",
|
|
9
|
+
"escalates_to": null
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "sobrecarregado",
|
|
3
|
+
"name": "Sobrecarregado",
|
|
4
|
+
"description": "Você está carregando peso excessivo. Sofre –5 na penalidade de armadura e seu deslocamento é reduzido em –3m.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"-5 na penalidade de armadura",
|
|
7
|
+
"Deslocamento reduzido em –3m"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": null,
|
|
10
|
+
"escalates_to": null
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "surdo",
|
|
3
|
+
"name": "Surdo",
|
|
4
|
+
"description": "Você não consegue ouvir. Falha automaticamente em testes de Percepção baseados em audição e sofre –5 em testes de Iniciativa. Há chance de falha ao lançar magias com componente verbal.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Falha automática em testes de Percepção auditiva",
|
|
7
|
+
"-5 em testes de Iniciativa",
|
|
8
|
+
"Chance de falha em magias com componente verbal"
|
|
9
|
+
],
|
|
10
|
+
"condition_type": "sentidos",
|
|
11
|
+
"escalates_to": null
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "surpreendido",
|
|
3
|
+
"name": "Surpreendido",
|
|
4
|
+
"description": "Você foi pego de surpresa no início do combate. Fica desprevenido e não pode realizar ações no turno de surpresa.",
|
|
5
|
+
"effects": [
|
|
6
|
+
"Fica desprevenido",
|
|
7
|
+
"Não pode realizar ações no turno de surpresa"
|
|
8
|
+
],
|
|
9
|
+
"condition_type": null,
|
|
10
|
+
"escalates_to": null
|
|
11
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "active_record"
|
|
4
|
+
require "json"
|
|
5
|
+
|
|
6
|
+
module Tormenta20
|
|
7
|
+
module Models
|
|
8
|
+
# Model representing a Condição (Status Condition) in Tormenta20.
|
|
9
|
+
#
|
|
10
|
+
# Conditions represent temporary states that affect a character's
|
|
11
|
+
# capabilities during play (e.g., Abalado, Cego, Paralisado).
|
|
12
|
+
#
|
|
13
|
+
# @example Find all conditions
|
|
14
|
+
# Tormenta20.condicoes.all
|
|
15
|
+
#
|
|
16
|
+
# @example Find conditions of a specific type
|
|
17
|
+
# Tormenta20.condicoes.by_type("medo")
|
|
18
|
+
#
|
|
19
|
+
# @!attribute [rw] id
|
|
20
|
+
# @return [String] Unique identifier (e.g., "abalado")
|
|
21
|
+
# @!attribute [rw] name
|
|
22
|
+
# @return [String] Condition name in Portuguese (e.g., "Abalado")
|
|
23
|
+
# @!attribute [rw] description
|
|
24
|
+
# @return [String, nil] Full description of the condition
|
|
25
|
+
# @!attribute [rw] effects
|
|
26
|
+
# @return [Array<String>] List of mechanical effects
|
|
27
|
+
# @!attribute [rw] condition_type
|
|
28
|
+
# @return [String, nil] Category (medo, mental, metabolismo, movimento, veneno, sentidos, cansaco, metamorfose)
|
|
29
|
+
# @!attribute [rw] escalates_to
|
|
30
|
+
# @return [String, nil] ID of the condition this escalates into when reapplied
|
|
31
|
+
class Condicao < Base
|
|
32
|
+
self.table_name = "condicoes"
|
|
33
|
+
|
|
34
|
+
TYPES = %w[
|
|
35
|
+
medo
|
|
36
|
+
mental
|
|
37
|
+
metabolismo
|
|
38
|
+
movimento
|
|
39
|
+
veneno
|
|
40
|
+
sentidos
|
|
41
|
+
cansaco
|
|
42
|
+
metamorfose
|
|
43
|
+
].freeze
|
|
44
|
+
|
|
45
|
+
validates :id, presence: true, uniqueness: true
|
|
46
|
+
validates :name, presence: true
|
|
47
|
+
|
|
48
|
+
scope :by_type, ->(t) { where(condition_type: t) }
|
|
49
|
+
scope :medo, -> { where(condition_type: "medo") }
|
|
50
|
+
scope :mental, -> { where(condition_type: "mental") }
|
|
51
|
+
scope :metabolismo, -> { where(condition_type: "metabolismo") }
|
|
52
|
+
scope :movimento, -> { where(condition_type: "movimento") }
|
|
53
|
+
|
|
54
|
+
def to_h
|
|
55
|
+
{
|
|
56
|
+
id: id,
|
|
57
|
+
name: name,
|
|
58
|
+
description: description,
|
|
59
|
+
effects: effects,
|
|
60
|
+
condition_type: condition_type,
|
|
61
|
+
escalates_to: escalates_to
|
|
62
|
+
}.compact
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -25,6 +25,7 @@ module Tormenta20
|
|
|
25
25
|
seed_equipamentos
|
|
26
26
|
seed_itens_superiores
|
|
27
27
|
seed_regras
|
|
28
|
+
seed_condicoes
|
|
28
29
|
|
|
29
30
|
log "Database seeded successfully!"
|
|
30
31
|
end
|
|
@@ -309,6 +310,14 @@ module Tormenta20
|
|
|
309
310
|
)
|
|
310
311
|
end
|
|
311
312
|
|
|
313
|
+
def seed_condicoes
|
|
314
|
+
import_json_files(
|
|
315
|
+
"condicoes",
|
|
316
|
+
Models::Condicao,
|
|
317
|
+
%i[id name description effects condition_type escalates_to]
|
|
318
|
+
)
|
|
319
|
+
end
|
|
320
|
+
|
|
312
321
|
def import_json_files(subdir, model, attrs, extra_attrs: {}, transform: nil)
|
|
313
322
|
json_dir = File.join(JSON_BASE_PATH, subdir)
|
|
314
323
|
return unless Dir.exist?(json_dir)
|
data/src/ruby/tormenta20.rb
CHANGED
|
@@ -172,6 +172,16 @@ module Tormenta20
|
|
|
172
172
|
Models::Raca
|
|
173
173
|
end
|
|
174
174
|
|
|
175
|
+
# Access the Condicao (Status Condition) model for querying conditions.
|
|
176
|
+
#
|
|
177
|
+
# @return [Class<Models::Condicao>] The Condicao model class
|
|
178
|
+
# @example
|
|
179
|
+
# Tormenta20.condicoes.all
|
|
180
|
+
# Tormenta20.condicoes.by_type("medo")
|
|
181
|
+
def condicoes
|
|
182
|
+
Models::Condicao
|
|
183
|
+
end
|
|
184
|
+
|
|
175
185
|
# @!endgroup
|
|
176
186
|
end
|
|
177
187
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- LuanGB
|
|
@@ -103,6 +103,41 @@ files:
|
|
|
103
103
|
- src/json/classes/lutador.json
|
|
104
104
|
- src/json/classes/nobre.json
|
|
105
105
|
- src/json/classes/paladino.json
|
|
106
|
+
- src/json/condicoes/abalado.json
|
|
107
|
+
- src/json/condicoes/agarrado.json
|
|
108
|
+
- src/json/condicoes/alquebrado.json
|
|
109
|
+
- src/json/condicoes/apavorado.json
|
|
110
|
+
- src/json/condicoes/atordoado.json
|
|
111
|
+
- src/json/condicoes/caido.json
|
|
112
|
+
- src/json/condicoes/cego.json
|
|
113
|
+
- src/json/condicoes/confuso.json
|
|
114
|
+
- src/json/condicoes/debilitado.json
|
|
115
|
+
- src/json/condicoes/desprevenido.json
|
|
116
|
+
- src/json/condicoes/doente.json
|
|
117
|
+
- src/json/condicoes/em_chamas.json
|
|
118
|
+
- src/json/condicoes/enfeiticado.json
|
|
119
|
+
- src/json/condicoes/enjoado.json
|
|
120
|
+
- src/json/condicoes/enredado.json
|
|
121
|
+
- src/json/condicoes/envenenado.json
|
|
122
|
+
- src/json/condicoes/esmorecido.json
|
|
123
|
+
- src/json/condicoes/exausto.json
|
|
124
|
+
- src/json/condicoes/fascinado.json
|
|
125
|
+
- src/json/condicoes/fatigado.json
|
|
126
|
+
- src/json/condicoes/fraco.json
|
|
127
|
+
- src/json/condicoes/frustrado.json
|
|
128
|
+
- src/json/condicoes/imovel.json
|
|
129
|
+
- src/json/condicoes/inconsciente.json
|
|
130
|
+
- src/json/condicoes/indefeso.json
|
|
131
|
+
- src/json/condicoes/lento.json
|
|
132
|
+
- src/json/condicoes/ofuscado.json
|
|
133
|
+
- src/json/condicoes/paralisado.json
|
|
134
|
+
- src/json/condicoes/pasmo.json
|
|
135
|
+
- src/json/condicoes/petrificado.json
|
|
136
|
+
- src/json/condicoes/sangrando.json
|
|
137
|
+
- src/json/condicoes/sobrecarregado.json
|
|
138
|
+
- src/json/condicoes/surdo.json
|
|
139
|
+
- src/json/condicoes/surpreendido.json
|
|
140
|
+
- src/json/condicoes/vulneravel.json
|
|
106
141
|
- src/json/deuses/aharadak.json
|
|
107
142
|
- src/json/deuses/allihanna.json
|
|
108
143
|
- src/json/deuses/arsenal.json
|
|
@@ -1214,6 +1249,7 @@ files:
|
|
|
1214
1249
|
- src/ruby/tormenta20/models/armadura.rb
|
|
1215
1250
|
- src/ruby/tormenta20/models/base.rb
|
|
1216
1251
|
- src/ruby/tormenta20/models/classe.rb
|
|
1252
|
+
- src/ruby/tormenta20/models/condicao.rb
|
|
1217
1253
|
- src/ruby/tormenta20/models/divindade.rb
|
|
1218
1254
|
- src/ruby/tormenta20/models/escudo.rb
|
|
1219
1255
|
- src/ruby/tormenta20/models/item.rb
|