From 9e200db7b9cfac6ea1d6e7857c0d2b439fec476a Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Mon, 31 Aug 2015 15:51:52 +0200 Subject: [PATCH] Made carry capacity an attribute, migrations need testing --- rpg-docs/Model/Character/Characters.js | 1 + rpg-docs/Model/Character/Effects.js | 12 ++++++ .../carryCapacityTable.html | 8 ++-- rpg-docs/server/migrations/migrations.js | 42 +++++++++++++++++++ 4 files changed, 59 insertions(+), 4 deletions(-) diff --git a/rpg-docs/Model/Character/Characters.js b/rpg-docs/Model/Character/Characters.js index 3003dc16..cb09ce3b 100644 --- a/rpg-docs/Model/Character/Characters.js +++ b/rpg-docs/Model/Character/Characters.js @@ -33,6 +33,7 @@ Schemas.Character = new SimpleSchema({ age: {type: Schemas.Attribute}, ageRate: {type: Schemas.Attribute}, armor: {type: Schemas.Attribute}, + carryMultiplier: {type: Schemas.Attribute}, //resources level1SpellSlots: {type: Schemas.Attribute}, diff --git a/rpg-docs/Model/Character/Effects.js b/rpg-docs/Model/Character/Effects.js index 2c8b5367..6a6edeff 100644 --- a/rpg-docs/Model/Character/Effects.js +++ b/rpg-docs/Model/Character/Effects.js @@ -107,6 +107,18 @@ if (Meteor.isServer) Characters.after.insert(function(userId, char) { group: "Inate", }, }); + Effects.insert({ + charId: char._id, + name: "Natural Carrying Capacity", + stat: "carryMultiplier", + operation: "base", + value: "1", + parent: { + id: char._id, + collection: "Characters", + group: "Inate", + }, + }); }); Effects.attachBehaviour("softRemovable"); diff --git a/rpg-docs/client/views/character/stats/carryCapacityTable/carryCapacityTable.html b/rpg-docs/client/views/character/stats/carryCapacityTable/carryCapacityTable.html index 5e6313ca..ff2b1db0 100644 --- a/rpg-docs/client/views/character/stats/carryCapacityTable/carryCapacityTable.html +++ b/rpg-docs/client/views/character/stats/carryCapacityTable/carryCapacityTable.html @@ -2,19 +2,19 @@ - + - + - + @@ -25,4 +25,4 @@
Encumbered>{{evaluate charId "strength * 5"}}lbs>{{evaluate charId "strength * 5 * carryMultiplier"}}lbs Variant rule, encumbered characters move 10 feet slower
Heavily encumbered>{{evaluate charId "strength * 10"}}lbs>{{evaluate charId "strength * 10 * carryMultiplier"}}lbs Variant rule, heavily encumbered characters move 20 feet slower and have disadvantage on ability checks, attack rolls, and saving thows that use Strength, Dexterity, or Constitution
Over Encumbered>{{evaluate charId "strength * 15"}}lbs>{{evaluate charId "strength * 15 * carryMultiplier"}}lbs Characters that can only just lift, push or drag their current load can only move at 5 feet.
- \ No newline at end of file + diff --git a/rpg-docs/server/migrations/migrations.js b/rpg-docs/server/migrations/migrations.js index 9310c8e2..f8794092 100644 --- a/rpg-docs/server/migrations/migrations.js +++ b/rpg-docs/server/migrations/migrations.js @@ -108,3 +108,45 @@ Migrations.add({ ); }, }); + +Migrations.add({ + version: 4, + name: "Adds an effect to give characters a base carry capacity", + up: function() { + //update characters + + Characters.find().forEach(function(char){ + Characters.update(char._id, { + $set: { + carryMultiplier: { + adjustment: 0, + reset: "longRest", + } + } + }); + var effect = Effects.findOne({ + charId: char._id, name: "Natural Carrying Capacity" + }); + if (effect) return; + Effects.insert({ + charId: char._id, + name: "Natural Carrying Capacity", + stat: "carryMultiplier", + operation: "base", + value: "1", + parent: { + id: char._id, + collection: "Characters", + group: "Inate", + }, + }); + effect = Effects.findOne({ + charId: char._id, name: "Natural Carrying Capacity" + }); + if (!effect) throw "Carry capacity effect should be set by now." + }); + }, + down: function(){ + return; + }, +});