RPTools.net

Discussion and Support

Skip to content

It is currently Tue Nov 21, 2017 3:25 am 






Reply to topic  [ 3 posts ] 

Previous topic | Next topic 

  Print view

Author Message
 Offline
Kobold
 
Joined: Thu Feb 21, 2013 12:00 am
Posts: 6
 Post subject: Traveller: Mongoose 2nd Ed
PostPosted: Mon May 16, 2016 6:44 am 
Does anyone use MapTool for Mongoose Traveller 2nd ed?
I do, and I'm working on some very basic macros for the game.
So far I have a skill check macro, that I have shared below.
It requires that the stats & skills are included in the token properties.
Stats need an entry for "stat" and "statCurrent" - such as "Endurance" and "EnduranceCurrent".
Skills should default at -3, which I have setup in my campaign properties. I'd gladly share that as well if anyone is interested, though it is quite basic at the moment.
In addition to the player tokens, I am working on star system token properties as well, so the players can easily reference the characteristics of the star systems they have visited (and others they happen to have information on). That's proving to require much more work, as my scripts to generate the star map from my data files are not working at the moment...

I hope this helps someone out there. I'm sure there's someone else playing traveller with MapTool.

Code:
[H: skillList = "Admin , Advocate , Animals [Handling] , Animals [Veterinary] , Animals [Training] , Art [Performer] , Art [Holography] , Art [Instrument] , Art [Visual Media] , Art [Write] , Astrogation , Athletics [Dexterity] , Athletics [Endurance] , Athletics [Strength] , Broker , Carouse , Deception , Diplomat , Drive [Hovercraft] , Drive [Mole] , Drive [Track] , Drive [Walker] , Drive [Wheel] , Electronics [Comms] , Electronics [Computers] , Electronics [Remote Ops] , Electronics [Sensors] , Engineer [J-drive] , Engineer [Life Support] , Engineer [M-drive] , Engineer [Power] , Explosives , Flyer [Airship] , Flyer [Grav] , Flyer [Ornithopter] , Flyer [Rotor] , Flyer [Wing] , Gambler , Gun Combat [Archaic] , Gun Combat [Energy] , Gun Combat [Slug] , Gunner [Capital] , Gunner [Ortillery] , Gunner [Screen] , Gunner [Turret] , Heavy Weapons [Artillery] , Heavy Weapons [Man Portable] , Heavy Weapons [Vehicle] , Investigate , Jack-of-All-Trades , Language [Anglic] , Language [Aslan] , Language [Oynprith] , Language [Vargr] , Language [Vilani] , Language [Zdetl] , Leadership , Mechanic , Medic , Melee [Blade] , Melee [Bludgeon] , Melee [Natural] , Melee [Unarmed] , Navigation , Persuade , Pilot [Capital Ships] , Pilot [Small Craft] , Pilot [Spacecraft] , Profession [Belter] , Profession [Biologicals] , Profession [Civil Engineering] , Profession [Construction] , Profession [Hydroponics] , Profession [Merchant] , Profession [Polymers] , Recon , Science [Archaeology] , Science [Astronomy] , Science [Biology] , Science [Chemistry] , Science [Cosmology] , Science [Cybernetics] , Science [Economics] , Science [Genetics] , Science [History] , Science [Linguistics] , Science [Philosophy] , Science [Physics] , Science [Planetology] , Science [Psionicology] , Science [Psychology] , Science [Robotics] , Science [Sophontology] , Science [Xenology] , Seafarer [Ocean Ships] , Seafarer [Personal] , Seafarer [Sail] , Seafarer [Submarine] , Stealth , Steward , Streetwise , Survival , Tactics [Military] , Tactics [Naval] , Vacc Suit , Psionic [Awareness] , Psionic [Clairvoyance] , Psionic [Telekinesis] , Psionic [Telepathy] , Psionic [Teleportation]"]
[H: statList = "Strength,Dexterity,Endurance,Intelligence,Education,Social,Psionic"]
[H: rollTypeList = "Normal,Boon,Bane"]
[H: TimingList = "Seconds,Combat Rounds,Tens of seconds,Minutes,Tens of minutes,Hours,Four hours,Tens of hours,Days"]
[H: DifficultyList = "Formidable (14+), Very Difficult (12+), Difficult (10+), Average (8+), Routine (6+), Easy (4+), Simple (2+)"]
[H: abort(input(
   strformat("input.rolltype|%{rollTypeList}|Choose Roll Type|RADIO|ORIENT=H SELECT=0"),
   strformat("input.skill|%{skillList}|Pick a skill|LIST|VALUE=STRING SELECT=40"),
   strformat("input.stat|%{statList}|Pick a stat|RADIO|VALUE=STRING SELECT=1"),
   strformat("input.difficulty|%{DifficultyList}|Pick the Difficulty|RADIO|ORIENT=V SELECT=3"),
   "input.mod|0|Additional Modifier|TEXT",
   strformat("input.DefaultTiming|%{TimingList}|Enter Defualt Timeframe|RADIO|ORIENT=H SELECT=0"),
   "input.TimeFrameShift|0|Enter Timeframe Steps Shift (- for faster, + for slower)|TEXT"
))]
[H: statValue = getProperty(input.stat)]

[H,switch(input.rolltype),code:
case 0: {
   [H: RolltypeText = "Normal Roll -"]
   [H: dieroll = 2d6]
   [H: BoonBaneExtraText = ""]
};
case 1: {
   [H: RolltypeText = "Boon Roll -"]
   [H: dieroll1 = 1d6]
   [H: dieroll2 = 1d6]
   [H: dieroll3 = 1d6]
   [H: dieroll = dieroll1+dieroll2]
   [H, if(dieroll1 < dieroll2 && dieroll1 < dieroll3) : dieroll = dieroll2+dieroll3]
   [H, if(dieroll2 < dieroll1 && dieroll2 < dieroll3) : dieroll = dieroll1+dieroll3]
   [H: BoonBaneExtraText = " || Boon Roll Dice Breakdown: " + dieroll1 + ", " + dieroll2 + ", " + dieroll3]
};
case 2: {
   [H: RolltypeText = "Bane Roll -"]
   [H: dieroll1 = 1d6]
   [H: dieroll2 = 1d6]
   [H: dieroll3 = 1d6]
   [H: dieroll = dieroll1+dieroll2]
   [H, if(dieroll1 > dieroll2 && dieroll1 > dieroll3) : dieroll = dieroll2+dieroll3]
   [H, if(dieroll2 > dieroll1 && dieroll2 > dieroll3) : dieroll = dieroll1+dieroll3]
   [H: BoonBaneExtraText = " || Bane Roll Dice Breakdown: " + dieroll1 + ", " + dieroll2 + ", " + dieroll3]
};
]

[H: skillDM = getProperty(input.skill)]
[H: CurrentStat = getProperty(input.stat+"Current")]
[H: statDM = floor((CurrentStat-6)/3)]
[H, if(CurrentStat > 0): statDM = floor((CurrentStat-6)/3) ; statDM = -3]

[H: finaltimeframe = input.DefaultTiming + input.TimeFrameShift]
<!-- deal with case where going out of bounds -->
[H, if(finaltimeframe < 0) : finaltimeframe = 0]
[H, if(finaltimeframe > 8) : finaltimeframe = 8]

[H: timingDM = 2*(finaltimeframe-input.DefaultTiming)]

[h,switch(finaltimeframe),code:
case 0: {   
   [h: timeRollMultiplier = 1]
   [h: timeFrameText = " Seconds"]
};
case 1: {   
   [h: timeRollMultiplier = 1]
   [h: timeFrameText = " Combat Rounds"]
};
case 2: {   
   [h: timeRollMultiplier = 10]
   [h: timeFrameText = " Seconds"]
};
case 3: {   
   [h: timeRollMultiplier = 1]
   [h: timeFrameText = " Minutes"]
};
case 4: {   
   [h: timeRollMultiplier = 10]
   [h: timeFrameText = " Minutes"]
};
case 5: {   
   [h: timeRollMultiplier = 1]
   [h: timeFrameText = " Hours"]
};
case 6: {   
   [h: timeRollMultiplier = 4]
   [h: timeFrameText = " Hours"]
};
case 7: {   
   [h: timeRollMultiplier = 10]
   [h: timeFrameText = " Hours"]
};
case 8: {   
   [h: timeRollMultiplier = 1]
   [h: timeFrameText = " Days"]
};
]
[H: timeroll = 1d6*timeRollMultiplier]


[h,switch(input.difficulty),code:
case 0: {   
   [h: targetRoll = 14]
   [h: difficultyText = " Formidable "]
};
case 1: {   
   [h: targetRoll = 12]
   [h: difficultyText = " Very Difficult "]
};
case 2: {   
   [h: targetRoll = 10]
   [h: difficultyText = " Difficult "]
};
case 3: {   
   [h: targetRoll = 8]
   [h: difficultyText = " Average "]
};
case 4: {   
   [h: targetRoll = 6]
   [h: difficultyText = " Routine "]
};
case 5: {   
   [h: targetRoll = 4]
   [h: difficultyText = " Easy "]
};
case 6: {   
   [h: targetRoll = 2]
   [h: difficultyText = " Simple "]
};
]

[H: sCheckTotal = dieroll+skillDM+statDM+timingDM+input.mod]
[H: effect = sCheckTotal - targetRoll]


[H: sCheck = "<b>Total: " + sCheckTotal + "</b> || <b>Effect: " + effect + "</b> || Die Roll: " + dieroll + ", Skill DM: " + skillDM + ", Stat DM: " + statDM + ", Time Shift DM: " + timingDM + ", Misc DMs: " + input.mod + " || Target: " + targetRoll + " || Time Required: " + timeroll + timeFrameText + BoonBaneExtraText]

[H: output = "<b>"+ token.name + "</b> -- <i> " + RolltypeText + difficultyText + input.skill + " (" + input.stat + ") Check</i>" + ":  " + sCheck]

[R, S, G: output ]


Top
 Profile  
 
 Offline
Kobold
 
Joined: Thu Feb 21, 2013 12:00 am
Posts: 6
 Post subject: Re: Traveller: Mongoose 2nd Ed
PostPosted: Thu May 19, 2016 4:55 pm 
I found a bug that comes up on boon/bane rolls.
Actually a player found it - rolled a boon and got 1,1,2 - due to the bug, it calculated 2 instead of the proper 3.
Even without the bug, that horrible roll ruined that character's day... :D

anyway... Here's the fix.
Swap out case 1 & 2 of this switch
Code:
[H,switch(input.rolltype),code: ...


with:

Code:
case 1: {
   [H: RolltypeText = "Boon Roll -"]
   [H: dieroll1 = 1d6]
   [H: dieroll2 = 1d6]
   [H: dieroll3 = 1d6]
   [H: dieroll = dieroll1+dieroll2]
   [H, if(dieroll1 <= dieroll2 && dieroll1 <= dieroll3) : dieroll = dieroll2+dieroll3]
   [H, if(dieroll2 <= dieroll1 && dieroll2 <= dieroll3) : dieroll = dieroll1+dieroll3]
   [H: BoonBaneExtraText = " || Boon Roll Dice Breakdown: " + dieroll1 + ", " + dieroll2 + ", " + dieroll3]
};
case 2: {
   [H: RolltypeText = "Bane Roll -"]
   [H: dieroll1 = 1d6]
   [H: dieroll2 = 1d6]
   [H: dieroll3 = 1d6]
   [H: dieroll = dieroll1+dieroll2]
   [H, if(dieroll1 >= dieroll2 && dieroll1 >= dieroll3) : dieroll = dieroll2+dieroll3]
   [H, if(dieroll2 >= dieroll1 && dieroll2 >= dieroll3) : dieroll = dieroll1+dieroll3]
   [H: BoonBaneExtraText = " || Bane Roll Dice Breakdown: " + dieroll1 + ", " + dieroll2 + ", " + dieroll3]
};
]


Top
 Profile  
 
 Offline
Kobold
 
Joined: Sat Aug 06, 2016 1:41 pm
Posts: 1
 Post subject: Re: Traveller: Mongoose 2nd Ed
PostPosted: Sat Aug 06, 2016 1:47 pm 
Good job! Looking forward to more.

I am new to the RPToolset, but am willing to help out with Traveller related stuff!


Top
 Profile  
 
Display posts from previous:  Sort by  
Reply to topic  [ 3 posts ] 

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:

Who is online

In total there are 3 users online :: 0 registered, 0 hidden and 3 guests (based on users active over the past 5 minutes)
Most users ever online was 243 on Sun Nov 04, 2012 6:14 am

Users browsing this forum: No registered users and 3 guests





Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group

Style based on Andreas08 by Andreas Viklund

Style by Elizabeth Shulman