Power LevelProfessionRaceCultureLevelEPFate PointsRealmReligionAgeSkinEyesHairGenderBuildHeightWeightyWeight allowance
+
Power LevelProfessionRaceCultureLevelEPFate PointsTap AddictionRealmReligionAgeSkinEyesHairGenderBuildHeightWeightyWeight allowance
CarriedLoad (%)Max PaceEnc PenaltyyBase Move (BMR)
SizeRecovery MultiplierFeats of StrengthRoutineEasyLightMediumHardVery HardExt. HardSheer FollyAbsurdNigh Impossible
@@ -6559,7 +6559,7 @@ Sheet Version:
-Revision 431e011329e7d31f8f0255db42e76b5e7ce7755c
+Revision 970113d8130099f7e1b243119c7ee670ee6f496c
@@ -17784,17 +17784,17 @@ creature.parseAttackString = function(string) {
string = string.replace(">", ">")
// 1.OB 2.Size 3.sizen 4.Attack type 5 [] 6 > 7 >> 8. extra
- match = string.match(/^(-?\d+)([A-Za][Ii]?)\((\d*)\)([a-z]*)(?:\[(\w*)])?(>)?(≫)?(?:\(.*\))?$/);
+ match = string.match(/^(-?\d+)([A-Za][Ii]?)\((\d*)\)([a-z]*)(?:\[(\w*)])?(>)?(≫)?\s*(\(.*\))?$/);
if (match) {
return {
OB: match[1],
size: match[2],
sizen: parseInt(match[3]),
- type: match[4],
- crit: match[5],
+ type: match[4] || false,
+ crit: match[5] || false,
nextround: match[6] ? true : false,
bonus: match[7] ? true : false,
- extra: match[8],
+ extra: match[8] || false,
}
}
@@ -17809,7 +17809,7 @@ creature.parseAttackString = function(string) {
type: match[4],
nextround: false,
bonus: false,
- extra: ""
+ extra: false
}
}
@@ -17839,14 +17839,16 @@ creature.parseAttack = function(attack, cdata, updates) {
let attacksize = info.sizen + wc.size;
{
+ // All the displayed ones
updates[`${prefix}_attacksize`] = attacksize;
updates[`${prefix}_attacksizedisplay`] = creature.getLongDescriptionFromNumber(attacksize);
+ updates[`${prefix}_attackname`] = wc.display || wc.table;
+ updates[`${prefix}_notes`] = info.extra || "";
}
updates[`${prefix}_attack`] = attack.attack;
updates[`${prefix}_ob`] = ob;
updates[`${prefix}_attackersize`] = cdata.size;
- updates[`${prefix}_attackname`] = wc.display || wc.table;
let table = wc.table;
getCompendiumPage(`AttackTable:${table}`, cdata => {
@@ -17943,7 +17945,7 @@ creature.newCreature = function(name, jdata) {
updates.hits = parseInt(cdata.hits);
updates.hp = updates.hits;
updates.hp_max = updates.hp;
- updates.hitsscaled = cdata.hitsscaled || 0;
+ updates.scaledhits = cdata.scaledhits || 0;
updates.pp = parseInt(cdata.PP);
updates.pp_max = updates.pp;
updates.size = cdata.size;
diff --git a/RolemasterUnified_Official/sheet.json b/RolemasterUnified_Official/sheet.json
index fc16219d5a..82ade3da17 100644
--- a/RolemasterUnified_Official/sheet.json
+++ b/RolemasterUnified_Official/sheet.json
@@ -36,5 +36,5 @@
"description": "Show FX when available based on the sheets guess of the attack"
}
],
- "version": "1759382016"
+ "version": "1759818293"
}
diff --git a/RolemasterUnified_Official/updates.md b/RolemasterUnified_Official/updates.md
index 20bdb669c4..b643b43b3b 100644
--- a/RolemasterUnified_Official/updates.md
+++ b/RolemasterUnified_Official/updates.md
@@ -1,3 +1,17 @@
+# 2025-10-04
+
+- Fix display of scaled hits.
+- Reenable base spells during levelup
+- Get rid of spell lists errors
+- Banecroft:
+ - Fix creatures defenses
+ - Fix Giant A
attacks
+- Fix template for spell lists to display notes
+- Arcane:
+ - Start on Arcanist list
+ - Costs for Arcanist & Evoker
+- Add Tap Addiction to sheet
+
# 2025-09-23
- Creature Law (new upload)