summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gay <david@davidgay.org>2021-06-16 18:00:03 -0400
committerDavid Gay <david@davidgay.org>2021-06-16 18:00:03 -0400
commit0f6b68f115d2d16c7ef73d80570b1b85a1368a43 (patch)
tree95d8f054cad792209300513f1d374cd0ae80c44f
parentecf1d03813e75b2929dce4cfc68352ad5b1a1377 (diff)
[data] New activities: havencast_dazzle, havencast_stinging_rays
-rw-r--r--CHANGELOG.md4
-rw-r--r--app/lib/activity_processor.rb4
-rw-r--r--data/activities.yml62
-rw-r--r--data/conditions.yml9
-rw-r--r--data/items.yml6
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"