summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md3
-rw-r--r--app/models/character.rb2
-rw-r--r--app/models/concerns/has_costs_and_requirements.rb2
-rw-r--r--data/activities.yml37
-rw-r--r--data/items.yml13
5 files changed, 56 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e28aaf3..a06acbd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,9 +25,10 @@ All notable changes to this project will be documented in this file.
If you already have a level 2 amenity, you are grandfathered in and can continue using it as normal.
### Items
-- New items: pluma moss, laris strand, fine aethermesh, faint weaving haste
+- New items: pluma moss, laris strand, fine aethermesh, faint weaving haste, lusterlight brand
- Aethermesh now increases manatrawl speed by 2, and therefore can now break.
- Apprentice wand now requires havencast level 5 to equip.
+- Lusterlight tincture can now only be distilled during firstlight.
### Activities
- Synthsever rusted lockbox base duration reduced from 180 to 120.
diff --git a/app/models/character.rb b/app/models/character.rb
index 655bb82..4237d50 100644
--- a/app/models/character.rb
+++ b/app/models/character.rb
@@ -306,6 +306,8 @@ class Character < ApplicationRecord
return false unless self.skill_level(requirement[:gid]) >= requirement[:level]
when "hearth_amenity"
return false unless self.hearth.has_amenity?(requirement[:gid], requirement[:level])
+ when "time_of_day"
+ return false unless requirement[:times].include? World.time_of_day.to_s
else
raise "Invalid requirement type string (#{requirement[:type]})"
end
diff --git a/app/models/concerns/has_costs_and_requirements.rb b/app/models/concerns/has_costs_and_requirements.rb
index 9c4abf8..61ce461 100644
--- a/app/models/concerns/has_costs_and_requirements.rb
+++ b/app/models/concerns/has_costs_and_requirements.rb
@@ -29,6 +29,8 @@ module HasCostsAndRequirements
end
when "hearth_amenity"
requirements.push "level #{req[:level]} #{HearthAmenity.find_by_gid(req[:gid]).name}"
+ when "time_of_day"
+ requirements.push "a certain time of day (#{req[:times].join(", ")})"
else
raise "Invalid requirement type string (#{req[:type]})"
end
diff --git a/data/activities.yml b/data/activities.yml
index f141500..bafb674 100644
--- a/data/activities.yml
+++ b/data/activities.yml
@@ -1923,6 +1923,9 @@ craft_lusterlight_tincture:
- type: "skill"
gid: "fluxseethe"
level: 7
+ - type: "time_of_day"
+ times:
+ - "firstlight"
duration:
base: 180
minimum: 35
@@ -3170,6 +3173,40 @@ craft_faint_weaving_haste:
xp:
- gid: "omenbind"
value: 12
+craft_lusterlight_brand:
+ name: "Bind lusterlight brand"
+ description: "Bind an omen of lusterlight."
+ whatnot:
+ requirements:
+ - type: "hearth_amenity"
+ gid: "binding_array"
+ level: 2
+ - type: "skill"
+ gid: "omenbind"
+ level: 11
+ duration:
+ base: 92
+ minimum: 35
+ scaling:
+ - type: "skill"
+ gid: "omenbind"
+ scale_value: 0.5
+ - type: "stat"
+ gid: "omenbind_speed"
+ scale_value: 1
+ cost:
+ - type: "item"
+ gid: "lusterlight_tincture"
+ quantity: 1
+ - type: "item"
+ gid: "vestige"
+ quantity: 20
+ results:
+ - type: "item"
+ gid: "lusterlight_brand"
+ xp:
+ - gid: "omenbind"
+ value: 18
craft_minor_mana:
name: "Bind minor mana"
description: "Bind an omen of minor mana."
diff --git a/data/items.yml b/data/items.yml
index 44da7b5..f54b0f6 100644
--- a/data/items.yml
+++ b/data/items.yml
@@ -1228,6 +1228,19 @@ faint_weaving_haste:
- type: "stat_change"
gid: "aetherweave_speed"
modifier: 2
+lusterlight_brand:
+ name: "lusterlight brand"
+ description: "A radiant omen."
+ whatnot:
+ tags:
+ - "omen"
+ infix_skills:
+ - gid: "beastslay"
+ infix_effects:
+ - type: "damage"
+ gid: "radiant"
+ min: 1
+ max: 3
simple_spellpage:
name: "simple spellpage"
description: "An old piece of parchment covered in magical script. Deciphering it can yield knowledge of a spell."