Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

API Rolemaster/MERP

November 23 (3 years ago)

Would it be possible to create an API that helps replicate the attack and critical charts for MERP? Or would this be done more efficiently with MACROS for each chart? 
I am primarily looking at MERP as it has about 7 or 8 attack charts (including spells and unarmed/animal/creature attacks) and a bunch of critical and fumble attacks but nor as much as Rolemaster.

November 23 (3 years ago)

Edited November 24 (3 years ago)
GiGs
Pro
Sheet Author
API Scripter

I'm inclined to think a script would be better than macros (especially since you can then break out things like bleeding and stuns and have them have an automated effect), especially since in MERP at least critical rolls can be modified. Implementing those modifiers in a macro would be tricky.

Either way it's going to demand a lot of text entry.

November 24 (3 years ago)
timmaugh
Pro
API Scripter

Short of a whole script from the ground up, you could cobble together something using Muler. Rolemaster tables are exactly what I had in mind with the static access tables that are a part of Muler, and with ZetoFrame, you could expand recursive Muler calls, if one chart referenced another.

November 24 (3 years ago)
timmaugh
Pro
API Scripter

Digging through some old posts, here is a post where I addressed using Muler to handle Rolemaster tables...

November 24 (3 years ago)

There is also a Rolemaster character sheet that someone created for the game.

https://app.roll20.net/forum/post/8471390/rmss-character-sheet-update#post-8853205

December 11 (3 years ago)
Manny L.
Pro
Marketplace Creator

I've been working on a MERP setup for the last few months and have managed to use a macro to generate a powercard that then links to a rollable table to generate critical results.

Here's an example of a weapon attack, specifically the missile weapon attack macro:

!power {{ 
  --name|Missile Attack
  --tokenid|@{selected|token_id}
  --target_list|@{target|token_id}
  --emote|@{selected|character_name}^^Attacking^^@{target|character_name}
  --leftsub|Against @{target|token_name}
  --rightsub|Missile Attack
  --Attack Total | [[ [$atk] 1d100!>95cs>95cf<5 + [[ @{selected|skill_missile_total_bonus} ]] [Attacker Skill Bonus] +[[ @{selected|total_hitloss_penalty} ]] [Attacker Hit Loss Penalty] + @{selected|activity_penalty} [Attacker Activity Penalty] + [[ @{selected|armgreaves_penalty} ]] [Arm Greaves OB Penalty] - [[ @{target|defensive_total_bonus} ]] [Target DB] + [[ ?{Attacker Modifiers (e.g. -30 for drawing a weapon)|0} ]] [Attacker Modifiers] - [[ ?{Defender Modifiers (e.g. defender parry amount)|0} ]] [Defender Modifiers] ]]
  --Dice Roll | [^atk.base]
  --?? $atk.base <= 5 ?? Fumble|You stumble and fail to attack
  --?+ $atk.total > 5 AND @{target|armorworn} == no_armor +? api_rt|AT-4_MissileWeaponsAttackvsNone [^atk]
  --?+ $atk.total > 5 AND @{target|armorworn} == soft_leather +? api_rt|AT-4_MissileWeaponsAttackvsSoftLeather [^atk]
  --?+ $atk.total > 5 AND @{target|armorworn} == rigid_leather +? api_rt|AT-4_MissileWeaponsAttackvsRigidLeather [^atk]
  --?+ $atk.total > 5 AND @{target|armorworn} == chain_armor +? api_rt|AT-4_MissileWeaponsAttackvsChain [^atk]
  --?+ $atk.total > 5 AND @{target|armorworn} == plate_armor +? api_rt|AT-4_MissileWeaponsAttackvsPlate [^atk]
}}


I know there must be a better way of doing this but it does work pretty well. There's a lot of setting-up of tables though, which I find super clunky. If anyone could explain how to convert this into an API script, I'd be all ears!

December 11 (3 years ago)

Edited December 12 (3 years ago)
Manny L.
Pro
Marketplace Creator

I found The Aaron's awesome Import and Export table script and so can also provide you with a sample attack table. This one is for AT-4_MissileWeaponsAttackvsNone. The links are further (excrutiatingly) hand-typed full critical table handouts, which help with a modified critical e.g. via an ambush. Just FYI, in case someone does look at this and wonders what's going on with the 146-150 result: I am testing being able to click in the result and output the critical automatically .. which does actually work. Hope that helps someone!


!import-table --AT-4_MissileWeaponsAttackvsNone --show
!import-table-item --AT-4_MissileWeaponsAttackvsNone -- <%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=01-08}} {{Description=Possible Fumble}} --8 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone -- <%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=09-90}} {{Description=miss}} --82 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone -- <%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=91-95}} {{Description=8A}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=96-100}} {{Description=10B}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=101-105}} {{Description=11C}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=106-110}} {{Description=13C}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=111-115}} {{Description=15C}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=116-120}} {{Description=16D}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=121-125}} {{Description=18D}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=126-130}} {{Description=20D}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=131-135}} {{Description=22E}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=136-140}} {{Description=23E}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=141-145}} {{Description=25E}} {{Critical Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --
!import-table-item --AT-4_MissileWeaponsAttackvsNone --<%%amp%%>{template:default} {{name=Missile Weapon vs No Armour}} {{Roll=146-150}} {{Description=27E}} {{Regular Target = <%%91%%>Click Here<%%93%%>(!rt CT-3_PunctureCritical 1d100+70)}} {{Large or Super-Large Target = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} {{Open Crit Tables = <%%91%%>Click Here<%%93%%>(http://journal.roll20.net/handout/-MShIVMDThE-Ri1Bpb2H)}} --5 --