From 0f6b68f115d2d16c7ef73d80570b1b85a1368a43 Mon Sep 17 00:00:00 2001 From: David Gay Date: Wed, 16 Jun 2021 18:00:03 -0400 Subject: [data] New activities: havencast_dazzle, havencast_stinging_rays --- CHANGELOG.md | 4 ++- app/lib/activity_processor.rb | 4 +++ data/activities.yml | 62 ++++++++++++++++++++++++++++++++++++++++++- data/conditions.yml | 9 +++++++ data/items.yml | 6 +++++ 5 files changed, 83 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6fd397..aeb3184 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,7 +38,9 @@ All notable changes to this project will be documented in this file. - Purify iron ingot 115 -> 70 - Level requirements changes - Arcanite longsword 15 -> 17 (setting it to 15 was a programming error) -- The first havencast spells: Light, Dazzle +- Havencast + - New cantrips: Light, Dazzle + - New spells: Stinging Rays ### Items - New item: faint mana diff --git a/app/lib/activity_processor.rb b/app/lib/activity_processor.rb index 248ed9d..fb0b13d 100644 --- a/app/lib/activity_processor.rb +++ b/app/lib/activity_processor.rb @@ -97,6 +97,10 @@ class ActivityProcessor @results.push({ type: "message", body: result[:message] }) @results.push({ type: type, condition: condition }) end + when "decipher_magicscript" + Character.transaction do + # TODO: Add functionality + end when "activity" next if rand > (result[:chance] || 1) table_roll = rand diff --git a/data/activities.yml b/data/activities.yml index c9ea218..ebad3e1 100644 --- a/data/activities.yml +++ b/data/activities.yml @@ -2854,6 +2854,7 @@ havencast_dazzle: description: "Cast the Dazzle cantrip." whatnot: tags: + - "spell" - "cantrip" duration: base: 32 @@ -2876,4 +2877,63 @@ havencast_dazzle: message: "Sparkling lights distract your enemies." - type: "xp" gid: "havencast" - base: 6 + base: 5 +havencast_decipher_magicscript: + name: "Cast Decipher Magicscript" + description: "Cast the Decipher Magicscript cantrip." + whatnot: + tags: + - "spell" + - "cantrip" + duration: + base: 34 + minimum: 10 + scaling: + - type: "skill" + gid: "havencast" + scale_value: 1 + requirements: + - type: "skill" + gid: "havencast" + level: 3 + - type: "stat" + gid: "mana" + value: 1 + cost: + - type: "item" + gid: "spellpage" + quantity: 1 + results: + - type: "xp" + gid: "havencast" + base: 7 + - type: "decipher_magicscript" +havencast_stinging_rays: + name: "Cast Stinging Rays" + description: "Cast the Stinging Rays spell." + innate: false + whatnot: + tags: + - "spell" + duration: + base: 38 + minimum: 10 + scaling: + - type: "skill" + gid: "havencast" + scale_value: 1 + requirements: + - type: "skill" + gid: "havencast" + level: 5 + - type: "stat" + gid: "mana" + value: 1 + results: + - type: "condition" + gid: "stinging_rays" + duration: 300 # 10 minutes + message: "Beams of arcane energy shoot at your enemies from the air around you." + - type: "xp" + gid: "havencast" + base: 11 diff --git a/data/conditions.yml b/data/conditions.yml index e1a5d2d..c72cf36 100644 --- a/data/conditions.yml +++ b/data/conditions.yml @@ -114,3 +114,12 @@ dazzle: - type: "enemy_stat_change" gid: "accuracy" modifier: -1 +stinging_rays: + name: "stinging_rays" + description: "Adds arcane damage to your attacks." + whatnot: + effects: + - type: "damage" + gid: "arcane" + min: 1 + max: 3 diff --git a/data/items.yml b/data/items.yml index 224aac6..428a8a5 100644 --- a/data/items.yml +++ b/data/items.yml @@ -1106,3 +1106,9 @@ faint_mana: - type: "stat_change" gid: "mana" modifier: 1 +spellpage: + name: "spellpage" + description: "A piece of parchment covered in magical script. Deciphering it can yield knowledge of a spell." + whatnot: + tags: + - "materials" -- cgit v1.2.3