Browse Source

Supernal Will, and a ban on duplicate spells

master
The Stranjer 5 years ago
parent
commit
fd9e5bad3d
1 changed files with 32 additions and 1 deletions
  1. +32
    -1
      spells.rb

+ 32
- 1
spells.rb View File

@@ -492,7 +492,7 @@ class Spell
)

spells << Spell.new(
:name => "Disperse Wounds",
:name => "Cursed Wounds",
:death => 3,
:practice => "Perfecting",
:primary_factor => "Potency",
@@ -1021,6 +1021,37 @@ class Spell
:rules_text => "The Mage becomes particularly difficult to track. He naturally takes unexpected routes to his destination and people who would want to find him take routes other than the one he is. All mundane attempts to track him fail, and all supernatural attempts to do so provokes a Clash of Wills."
)

spells << Spell.new(
:name => "Supernal Will",
:mind => 4,
:practice => "Patterning",
:primary_factor => "Duration",
:suggested_rote_skills => ["Empathy", "Expression", "Survival"],
:authors => ["noire"],
:rules_text => "The mage taps into the deepest reserves of personal resolve and unleashes a tidal wave of conviction toward a single minded goal. When the target spends Willpower to go above and beyond what should be possible to achieve her goals, substitute her Resolve rating for the usual Willpower bonus. The spell cannot increase the subject’s Willpower bonus above her resolve.",
:reaches => [
[1, "If the roll gaining this benefit is contested, roll with 8-again"],
[1, "The spell may temporarily increase Resolve by one dot per level of Potency of the spell. The spell cannot increase the subject’s Resolve above their normal maximum. Sleepers compelled to above their natural Resolve gain the broken condition after the spell ends."],
[1, "For a point of Mana, the benefit of the spell may affect spellcasting."]

]
)

authors = {}
spells.each do |spell|
spell.authors.each do |author|
authors[author] = 0 if authors[author].nil?
authors[author] += 1
end
end

puts "The spell authors, of this fine grimoire are: #{authors.sort_by { |author, count| -count }.collect{ |author, count| "#{author}, with #{count} spells" }.to_list }"

duplicate_spells = spells.group_by(&:name).select {| k, v| v.length > 1 }
raise "Duplicate spells (on name) detected: #{duplicate_spells.collect{ |k,v| k}.to_list}" if duplicate_spells.length > 0

spells

end

Loading…
Cancel
Save