Feats data added.

merge-requests/35/head
Wesley Webb 2019-08-19 00:15:23 -04:00
parent 9d36e46265
commit 61a5c55f60
10 changed files with 1123 additions and 856 deletions

File diff suppressed because it is too large Load Diff

19
data/frequency.sql 100644
View File

@ -0,0 +1,19 @@
-- -*- mode:sql sql-product:sqlite -*-
PRAGMA foreign_keys = ON; -- database requires foreign key checking to be turned
-- on PER CONNECTION
INSERT INTO frequency (
freq_id,
freq_descr
)
VALUES
(1, 'once per round'),
(2, 'once per turn'),
(3, 'once per minute'),
(4, 'once every 10 minutes'),
(5, 'once per hour'),
(6, 'once per day');
-- (7, 'once per week'),
-- (8, 'once per month'),
-- (9, 'once per year');

View File

@ -0,0 +1,74 @@
-- -*- mode:sql sql-product:sqlite -*-
PRAGMA foreign_keys = ON; -- database requires foreign key checking to be turned
-- on PER CONNECTION
INSERT INTO requirements (
requirements_id,
requirements_descr
)
VALUES
(1, 'You are holding an infused alchemical bomb you crafted, with a level at least 3 lower than your advanced alchemy level.'),
(2, 'You havent used this ability since you last Raged.'),
(3, 'You are Medium or smaller.'),
(4, 'You have a foe grabbed.'),
(5, 'Your last action was a successful Strike.'),
(6, 'Your last action was a successful Strike, and either you have a hand free or your Strike used a grapple weapon.'),
(7, 'You are unarmored or wearing light armor.'),
(8, 'Youre under the effect of Come and Get Me.'),
(9, 'You havent acted yet on your turn.'),
(10, 'You are wielding a shield.'),
(11, 'Fiendsbane Oath'), -- May be errated to a requirement. Marking it incase to find easier.
(12, 'Shining Oath'), -- May be errated to a requirement. Marking it incase to find easier.
(13, 'exalt and Vengeful Oath'),
(14, 'Dragonslayer Oath'),
(15, 'You have a banishment spell prepared.'),
(16, 'You have at least 1 available Focus Point.'),
(17, 'You are wielding two melee weapons, each in a different hand.'),
(18, 'You are wielding a ranged weapon.'),
(19, 'You have one hand free, and your target is within reach of that hand.'),
(20, 'You are wielding a two-handed melee weapon.'),
(21, 'You are wielding only a single one-handed melee weapon and have your other hand or hands free.'),
(22, 'You are wielding a melee weapon.'),
(23, 'You are wielding a ranged weapon with reload 0.'),
(24, 'You are wielding a one-handed melee weapon and have a free hand.'),
(25, 'You are flanked by at least two enemies.'),
(26, 'You are wielding two melee weapons, one in each hand.'),
(27, 'You are wielding a single one-handed melee weapon and have your other hand or hands free.'),
(28, 'You are wielding a melee weapon that deals piercing damage.'),
(29, 'A frightened creature is in your melee reach.'),
(30, 'You are benefiting from Dueling Parry.'),
(31, 'You are wielding a two-handed melee weapon and your target is within your reach.'),
(32, 'You have a shield raised.'),
(33, 'You are wielding a melee weapon in two hands.'),
(34, 'You are adjacent to an enemy.'),
(35, 'You meet the requirements to use an action with the press trait.'),
(36, 'You are wielding two weapons, each in a different hand.'),
(37, 'You are wielding a ranged weapon with the volley trait and reload 0.'),
(38, 'You are unarmored.'),
(39, 'You are unarmored and touching the ground.'),
(40, 'Youre aware of the attack, are not flat-footed against it, and have a hand free.'),
(41, 'You are in Crrane Stance.'),
(42, 'You are in Dragon Stance.'),
(43, 'You are in Mountain Stance.'),
(44, 'You are in Tiger Stance.'),
(45, 'You have a creature grabbed or restrained.'),
(46, 'You are in Wolf Stance.'),
(47, 'You are in Ironblood Stance.'),
(48, 'You are in Tangled Forest Stance.'),
(49, 'You are in Wild Winds Stance.'),
(50, 'This is the first action of your turn.'),
(51, 'You are not armored or fatigued.'),
(52, 'You are benefiting from Twin Parry.'),
(53, 'You are wielding a loaded ranged weapon with reload 1 or more, and you have not reloaded your weapon since your last turn.'),
(54, 'You are not encumbered.'),
(55, 'You are wielding a piercing or slashing weapon and have a free hand.'),
(56, 'You have a free hand.'),
(57, 'Your last action was a melee Strike that dealt sneak attack damage to a flat-footed target.'),
(58, 'You are currently affected by a mental effect that you gained by failing, but not critically failing, a saving throw.'),
(59, 'You are adjacent to a floor or vertical wall.'),
(60, 'When you make your daily preparations, you must specify a trigger for this reaction using the same restrictions as the triggers for the Ready action. You also choose a single spell from the arcane, divine, occult, or primal list of 4th level or lower. The spell cant have a cost, nor can its casting time be more than 10 minutes. The spell must be able to target a single creature, and you must be a valid target for it.'),
(61, 'You have Perfect Distraction ready to use.'),
(62, 'You have an unexpended spell slot you could use to cast the triggered spell.'),
(63, 'Your most recent action was to cast a non-cantrip spell.'),
(64, 'The last action you used was Drain Bonded Item.');

64
data/triggers.sql 100644
View File

@ -0,0 +1,64 @@
-- -*- mode:sql sql-product:sqlite -*-
PRAGMA foreign_keys = ON; -- database requires foreign key checking to be turned
-- on PER CONNECTION
INSERT INTO triggers (
triggers_id,
triggers_descr
)
VALUES
(1, 'An ally ends a move action adjacent to you.'),
(2, 'You fail a skill check or saving throw.'),
(3, 'You attempt a check using a skill youre untrained in.'),
(4, 'You would be reduced to 0 Hit Points but not immediately killed.'),
(5, 'You attempt a saving throw against a spell or magical effect, before rolling.'),
(6, 'You bring a foe to 0 Hit Points.'),
(7, 'You use Quick Alchemy to craft an alchemical bomb with a level at least 1 lower than your advanced alchemy level.'),
(8, 'You use Quick Alchemy to craft an alchemical item that has the elixer trait and is at least 2 levels lower than your advanced alchemy level.'),
(9, 'You use Quick Alchemy to craft an alchemical bomb that is at least 2 levels lower than your advanced alchemy level.'),
(10, 'You craft an elixer of life using Quick Alchemy, and that elixir is at least 2 levels lower than your advanced alchemy level.'),
(11, 'You craft an alchemical bomb using Quick Alchemy thats at least 2 levels lower than your advanced alchemy level.'),
(12, 'A foe within reach attempts to move away from you.'),
(13, 'You take damage and are capable of entering a rage.'),
(14, 'A creature within your reach uses a manipulate action or a move action, makes a ranged attack, or leaves a square during a move action its using.'),
(15, 'Your melee Strike kills a creature or knocks it unconscious, and another foe is adjacent to that creature.'),
(16, 'A creature within your reach succeeds or critically succeeds at an attack against you.'),
(17, 'Your turn begins, and you are at half or fewer Hit Points.'),
(18, 'You fail or critically fail an attack roll or Will save.'),
(19, 'You attempt a save against a spell, before you roll.'),
(20, 'A foes attack against an ally matches the trigger for both your Shield Block reaction and your champions reaction.'),
(21, 'You finish Casting a Spell using one of your divine spell slots on your turn.'),
(22, 'You critically hit a creature that is not on its home plane.'),
(23, 'An opponent adjacent to you critically hits you with a melee weapon or melee unarmed attack.'),
(24, 'An enemy hits you with a melee Strike.'),
(25, 'You use the Shield Block reaction, and the opponent that triggered Shield Block is adjacent to you and is your size or smaller.'),
(26, 'An ally within your melee reach is hit by an attack, you can see the attacker, and the ally gaining a +2 circumstance bonus to AC would turn the critical hit into a hit or the hit into a miss.'),
(27, 'A creature within your reach critically fails a Strike against you.'),
(28, 'An opponent casting a spell that targets you critically fails a speel attack roll against your AC.'),
(29, 'You complete the last action on your turn, and your turn has not ended yet.'),
(30, 'You roll initiative.'),
(31, 'You are the target of a physical ranged attack.'),
(32, 'A creature within your reach uses a move action or leaves a square during a move action its using.'),
(33, 'You are targeted with a melee attack by an attacker you can see.'),
(34, 'Your turn ends and you have a status penalty to your Speed or are immobilized or slowed.'),
(35, 'An enemys attack hits you or you fail a saving throw against an enemys ability.'),
(36, 'Your hunted prey is within your reach, and it uses a manipulate action, uses a move action, or leaves a square during a move action its using.'),
(37, 'You are about to roll a Perception or Survival check for initiative.'),
(38, 'You fail a check to Seek.'),
(39, 'A creature targets you with an attack and you can see the attacker.'),
(40, 'You reduce an enemy to 0 hit points.'),
(41, 'An adjacent foe moves away from you, and you can reach at least one space adjacent to the foe with a Stride action.'),
(42, 'A trap within your reach is triggered.'),
(43, 'A creature within your melee reach is hit by a melee attack from one of your allies.'),
(44, 'The attack roll for a Strike targeting you fails or critically fails.'),
(45, 'An adjacent enemy begins to use a reaction.'),
(46, 'A physical attack would reduce you to 0 Hit Points.'),
(47, 'Your turn ends.'),
(48, 'You specify the trigger when your daily preparations(see Requirements).'),
(49, 'You successfully use Stealth to Hide and become hidden from all of your current foes, or use Stealth to Sneak and become undetected to all your current foes.'),
(50, 'You would be hit by an attack or targeted by an effect, or you are within an effects area.'),
(51, 'A creature casts a spell that you have in your repertoire.'),
(52, 'A creature Casts a Spell that you have prepared.'),
(53, 'A creature within line of sight casts a spell that you dont have prepared or in your spell repertoire, or a trap or similar object casts such a spell. You must be aware of the casting.'),
(54, 'While you have your shield raised, you would take damage from a physical attack.');

View File

@ -3,19 +3,37 @@ del pf2.db
:: Loading schema :: Loading schema
sqlite3 pf2.db < schema/sources.sql sqlite3 pf2.db < schema/sources.sql
sqlite3 pf2.db < schema/alignments.sql
sqlite3 pf2.db < schema/skills.sql
sqlite3 pf2.db < schema/movements.sql
sqlite3 pf2.db < schema/damagetypes.sql
sqlite3 pf2.db < schema/conditions.sql
sqlite3 pf2.db < schema/backgrounds.sql sqlite3 pf2.db < schema/backgrounds.sql
sqlite3 pf2.db < schema/abilityscores.sql sqlite3 pf2.db < schema/abilityscores.sql
sqlite3 pf2.db < schema/bulks.sql sqlite3 pf2.db < schema/bulks.sql
sqlite3 pf2.db < schema/sizes.sql sqlite3 pf2.db < schema/sizes.sql
sqlite3 pf2.db < schema/langs.sql sqlite3 pf2.db < schema/langs.sql
sqlite3 pf2.db < schema/traits.sql sqlite3 pf2.db < schema/traits.sql
sqlite3 pf2.db < schema/actions.sql
sqlite3 pf2.db < schema/spells.sql
sqlite3 pf2.db < schema/frequency.sql
sqlite3 pf2.db < schema/requirements.sql
sqlite3 pf2.db < schema/triggers.sql
sqlite3 pf2.db < schema/feats.sql sqlite3 pf2.db < schema/feats.sql
sqlite3 pf2.db < schema/senses.sql sqlite3 pf2.db < schema/senses.sql
sqlite3 pf2.db < schema/ancestries.sql sqlite3 pf2.db < schema/ancestries.sql
sqlite3 pf2.db < schema/armor.sql sqlite3 pf2.db < schema/armor.sql
sqlite3 pf2.db < schema/gear.sql
sqlite3 pf2.db < schema/weapons.sql
sqlite3 pf2.db < schema/ammunition.sql
:: Loading data :: Loading data
sqlite3 pf2.db < data/sources.sql sqlite3 pf2.db < data/sources.sql
sqlite3 pf2.db < data/alignments.sql
sqlite3 pf2.db < data/skills.sql
sqlite3 pf2.db < data/movements.sql
sqlite3 pf2.db < data/damagetypes.sql
sqlite3 pf2.db < data/conditions.sql
sqlite3 pf2.db < data/backgrounds.sql sqlite3 pf2.db < data/backgrounds.sql
sqlite3 pf2.db < data/abilityscores.sql sqlite3 pf2.db < data/abilityscores.sql
sqlite3 pf2.db < data/bulks.sql sqlite3 pf2.db < data/bulks.sql
@ -23,10 +41,21 @@ sqlite3 pf2.db < data/senses.sql
sqlite3 pf2.db < data/sizes.sql sqlite3 pf2.db < data/sizes.sql
sqlite3 pf2.db < data/langs.sql sqlite3 pf2.db < data/langs.sql
sqlite3 pf2.db < data/traits.sql sqlite3 pf2.db < data/traits.sql
sqlite3 pf2.db < data/actions.sql
sqlite3 pf2.db < data/spells.sql
sqlite3 pf2.db < data/frequency.sql
sqlite3 pf2.db < data/requirements.sql
sqlite3 pf2.db < data/triggers.sql
sqlite3 pf2.db < data/feats.sql sqlite3 pf2.db < data/feats.sql
sqlite3 pf2.db < data/ancestries.sql sqlite3 pf2.db < data/ancestries.sql
sqlite3 pf2.db < data/heritages.sql
sqlite3 pf2.db < data/armor.sql sqlite3 pf2.db < data/armor.sql
sqlite3 pf2.db < data/gear.sql
sqlite3 pf2.db < data/heritages.sql
sqlite3 pf2.db < data/weapons.sql
sqlite3 pf2.db < data/ammunition.sql
cd data/third_party_json
python spells.py
cd ../..
:: Wait for keypress :: Wait for keypress
pause pause

View File

@ -15,6 +15,9 @@ sqlite3 pf2.db < schema/langs.sql
sqlite3 pf2.db < schema/traits.sql sqlite3 pf2.db < schema/traits.sql
sqlite3 pf2.db < schema/actions.sql sqlite3 pf2.db < schema/actions.sql
sqlite3 pf2.db < schema/spells.sql sqlite3 pf2.db < schema/spells.sql
sqlite3 pf2.db < schema/frequency.sql
sqlite3 pf2.db < schema/requirements.sql
sqlite3 pf2.db < schema/triggers.sql
sqlite3 pf2.db < schema/feats.sql sqlite3 pf2.db < schema/feats.sql
sqlite3 pf2.db < schema/senses.sql sqlite3 pf2.db < schema/senses.sql
sqlite3 pf2.db < schema/ancestries.sql sqlite3 pf2.db < schema/ancestries.sql
@ -38,6 +41,9 @@ sqlite3 pf2.db < data/langs.sql
sqlite3 pf2.db < data/traits.sql sqlite3 pf2.db < data/traits.sql
sqlite3 pf2.db < data/actions.sql sqlite3 pf2.db < data/actions.sql
sqlite3 pf2.db < data/spells.sql sqlite3 pf2.db < data/spells.sql
sqlite3 pf2.db < data/frequency.sql
sqlite3 pf2.db < data/requirements.sql
sqlite3 pf2.db < data/triggers.sql
sqlite3 pf2.db < data/feats.sql sqlite3 pf2.db < data/feats.sql
sqlite3 pf2.db < data/ancestries.sql sqlite3 pf2.db < data/ancestries.sql
sqlite3 pf2.db < data/armor.sql sqlite3 pf2.db < data/armor.sql

View File

@ -11,10 +11,15 @@ CREATE TABLE feats (
sources_pages TEXT NOT NULL, sources_pages TEXT NOT NULL,
short_name TEXT NOT NULL UNIQUE, short_name TEXT NOT NULL UNIQUE,
descr TEXT NOT NULL, descr TEXT NOT NULL,
frequency TEXT, action_id INTEGER,
triggers TEXT, frequency_id INTEGER,
reqs TEXT, triggers_id INTEGER,
FOREIGN KEY (sources_id) REFERENCES sources(sources_id) requirements_id INTEGER,
FOREIGN KEY (sources_id) REFERENCES sources(sources_id),
FOREIGN KEY (action_id) REFERENCES actioncosts(actioncosts_id),
FOREIGN KEY (frequency_id) REFERENCES frequency(freq_id),
FOREIGN KEY (triggers_id) REFERENCES triggers(triggers_id),
FOREIGN KEY (requirements_id) REFERENCES requirements(requirements_id)
); );
CREATE TABLE featprereqs ( CREATE TABLE featprereqs (

View File

@ -0,0 +1,6 @@
-- -*- mode:sql sql-product:sqlite -*-
CREATE TABLE frequency (
freq_id INTEGER PRIMARY KEY,
freq_descr TEXT NOT NULL UNIQUE
);

View File

@ -0,0 +1,6 @@
-- -*- mode:sql sql-product:sqlite -*-
CREATE TABLE requirements (
requirements_id INTEGER PRIMARY KEY,
requirements_descr TEXT NOT NULL UNIQUE
);

View File

@ -0,0 +1,6 @@
-- -*- mode:sql sql-product:sqlite -*-
CREATE TABLE triggers (
triggers_id INTEGER PRIMARY KEY,
triggers_descr TEXT NOT NULL UNIQUE
);