fix some lifepaths in the wizard world

pull/1/head
Michael Hansen 5 years ago
parent 03dd07fc9e
commit 285d6ce773
  1. 12
      CHANGELOG.md
  2. 2
      src/data/gold/lifepaths/man.json
  3. 6
      src/data/wizard/lifepaths.json
  4. 25
      src/lib/data/wizard.rb
  5. 2
      src/public/js/server_settings.js

@ -13,10 +13,14 @@ and this project adheres to [Semantic Versioning](semver).
- Custom upload for your own data files - Custom upload for your own data files
- Updates to Roden and Great Wolves files (currently the data comes from Monster Burner and not Codex) - Updates to Roden and Great Wolves files (currently the data comes from Monster Burner and not Codex)
## [2.2.1] - 2019-07-28
### Fixed
- Wizard's Apprentice should count as Neophyte Sorcerer, and Junior Student counts as Arcane Devotee and Neophyte Sorcerer (thanks StubbsPKS!)
## [2.2.0] - 2019-07-14 ## [2.2.0] - 2019-07-14
### Added ### Added
- Added the troll stock. - Added the Troll stock.
- Dark Elf - Spite calculations for Bitter Reminders - Dark Elf Spite calculations include "Bitter Reminders"
### Changed ### Changed
- Wizard trait "Misunderstood" was renamed to "Outsider" to avoid conflict with Roden trait of the same name - Wizard trait "Misunderstood" was renamed to "Outsider" to avoid conflict with Roden trait of the same name
@ -33,11 +37,11 @@ and this project adheres to [Semantic Versioning](semver).
- README.md and CHANGELOG.md - README.md and CHANGELOG.md
### Changed ### Changed
- Spite is calculated using the Grief value, and this required some updates to the - Spite is calculated using the Grief value, this required some updates to stat calculation to prevent an infinite loop.
## [2.0.1] - 2019-07-10 ## [2.0.1] - 2019-07-10
### Fixed ### Fixed
- First Mate LP is now selectable with 2 seafaring LPs. Previously: if Son of a Gun was the first LP, it was not selectable. Example: Son of a Gun -> Officer's Mate -> First Mate. - First Mate LP is now selectable with 2 seafaring LPs. Previously: if Son of a Gun was the first LP, it was not selectable. Example: Son of a Gun -> Officer's Mate -> First Mate. (thanks Dave's Not Here!)
## [2.0.0] - 2019-07-09 ## [2.0.0] - 2019-07-09
### Added ### Added

@ -4522,6 +4522,7 @@
"noble setting:student", "noble setting:student",
"noble setting:squire", "noble setting:squire",
"noble setting:arcane devotee", "noble setting:arcane devotee",
"junior student",
"noble setting:religious acolyte", "noble setting:religious acolyte",
"noble setting:young lady", "noble setting:young lady",
"noble setting:knight", "noble setting:knight",
@ -7212,6 +7213,7 @@
"noble setting:student", "noble setting:student",
"noble setting:squire", "noble setting:squire",
"noble setting:arcane devotee", "noble setting:arcane devotee",
"junior student",
"noble setting:religious acolyte", "noble setting:religious acolyte",
"noble setting:young lady", "noble setting:young lady",
"noble setting:knight", "noble setting:knight",

@ -103,6 +103,8 @@
"augur", "augur",
"crazy witch", "crazy witch",
"neophyte sorcerer", "neophyte sorcerer",
"junior student",
"wizard's apprentice",
"elder" "elder"
], ],
"key_leads": [ "key_leads": [
@ -307,6 +309,7 @@
"requires": "Senior Student, Neophyte Sorcerer, Apt Pupil or Wizard's Apprentice", "requires": "Senior Student, Neophyte Sorcerer, Apt Pupil or Wizard's Apprentice",
"requires_expr": [ "requires_expr": [
"senior student", "senior student",
"junior student",
"neophyte sorcerer", "neophyte sorcerer",
"apt pupil", "apt pupil",
"wizard's apprentice" "wizard's apprentice"
@ -523,7 +526,8 @@
"supplicant", "supplicant",
"arcane devotee", "arcane devotee",
"apt pupil", "apt pupil",
"neophyte sorcerer" "neophyte sorcerer",
"wizard's apprentice"
], ],
"key_leads": [ "key_leads": [
"City Dweller Setting", "City Dweller Setting",

@ -88,22 +88,25 @@ module Charred
end end
end end
# backfill Apt Pupil == Neophyte Sorcerer connection # backfill Neophyte Sorcerer and Arcane Devotee connections
man.keys.each do |man_set| man.keys.each do |man_set|
man[man_set].keys.each do |man_lp| man[man_set].keys.each do |man_lp|
requirements = self.lifepath_requirements(man[man_set][man_lp]['requires_expr']) requirements = self.lifepath_requirements(man[man_set][man_lp]["requires_expr"])
next if requirements.include? 'apt pupil' requirements.collect! { |req| req.include?(':') ? req.split(":")[1].downcase : req.downcase }
requirements.each do |req|
setting = nil
req_lp = req
setting, req_lp = req.split(':') if req.include? ':'
next unless req_lp.downcase == 'neophyte sorcerer' if requirements.include? "neophyte sorcerer"
if man[man_set][man_lp]["requires_expr"].include? "neophyte sorcerer"
man[man_set][man_lp]["requires_expr"] |= ["apt pupil", "wizard's apprentice", "junior student"]
else
puts "warning, could not add neophyte sorcerer connection to deep requirements array at #{man_set}:#{man_lp}"
end
end
if man[man_set][man_lp]['requires_expr'].include? 'neophyte sorcerer' if requirements.include? "arcane devotee"
man[man_set][man_lp]['requires_expr'] |= ['apt pupil'] if man[man_set][man_lp]["requires_expr"].include? "arcane devotee"
man[man_set][man_lp]["requires_expr"] |= ["junior student"]
else else
puts "warning, could not add apt pupil to deep requirements array at #{man_set}:#{man_lp}" puts "warning, could not add arcane devotee connection to deep requirements array at #{man_set}:#{man_lp}"
end end
end end
end end

@ -1,5 +1,5 @@
var serverSettings = { var serverSettings = {
'versionString' : '2.2.0', 'versionString' : '2.2.1',
'storageType' : 'client', 'storageType' : 'client',
'displayAttrMath' : 'false' 'displayAttrMath' : 'false'
} }

Loading…
Cancel
Save