Someone wrote an excel file, where you could put a bunch of data into rows and then do a whole process with cut/paste to get it to replace the content.xml file of a maptool table. I've used it before, with varying degrees of success.
But what I was currently working on was pushing past the 32k limit on excel cells, so I had to come up with something else.
In this case, I was trying to get this string, from excel...
[{"Name":"Bypass the Shield","Brief":"With a twist you can out maneuver almost any shield.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"Melee (1 Target)","Speed":1,"AsPush":0,"Recovery":2,"ToHit":1,"DamageMod":0,"Effect":"If your opponent is wielding a shield you gain an additional +1 to hit.","TrickId":1,"NoDmg":0},{"Name":"Crippling Shot","Brief":"A well-placed shot you can slow almost any opponent.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"60 (1 Target)","Speed":2,"AsPush":0,"Recovery":4,"ToHit":0,"DamageMod":0,"Effect":"If your attack roll also surpasses your target's fortitude, their pace is reduced by half for the remainder of the scene.","TrickId":2,"NoDmg":0},{"Name":"Crushing Blow","Brief":"Swinging upwards you catch your opponent in a venerable spot staggering them for a moment.","Category":"Base","Targets":"Avoidance ","Uses":"Might","Range":"Melee (1 Target)","Speed":2,"AsPush":0,"Recovery":1,"ToHit":0,"DamageMod":0,"Effect":"If your attack roll also surpasses your target's fortitude, advance your target's clock by push 2.","TrickId":3,"NoDmg":0},{"Name":"Darken the Sky","Brief":"Your speed and aim are nothing but remarkable.","Category":"Base","Targets":"Avoidance ","Uses":"Quickness","Range":"120 (3 or more Targets)","Speed":3,"AsPush":0,"Recovery":6,"ToHit":0,"DamageMod":0,"Effect":"You attack 3 targets for every hero tier you possess. as long as you're armed, regardless of the amount of arrows you currently possess you always have enough normal arrows to perform this weapon trick at least once per scene (these arrows cannot be sold, collected, and so on. they are provided simply for cinematic effect).","TrickId":4,"NoDmg":0},{"Name":"Dismount Opponent","Brief":"A mounted opponent can quickly find themselves on their backs.","Category":"Base","Targets":"Avoidance ","Uses":"Might","Range":"Melee (1 Target)","Speed":1,"AsPush":0,"Recovery":3,"ToHit":0,"DamageMod":0,"Effect":"Target must be mounted. the target must succeed in a dynamic ride (qu) action skill roll against your attack roll result or be dismounted.","TrickId":5,"NoDmg":0},{"Name":"Edge of the Shield","Brief":"You slam the hard edge of your shield into your opponent, dazing your foe.","Category":"Base","Targets":"Fortitude ","Uses":"Might","Range":"Melee (1 Target)","Speed":2,"AsPush":0,"Recovery":3,"ToHit":0,"DamageMod":0,"Effect":"Target is stunned and their initiative count is pushed by 5.","TrickId":6,"NoDmg":1},{"Name":"Entangle Opponent","Brief":"You entrap and entangle your target with your weapon.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"30 (1 Target)","Speed":2,"AsPush":0,"Recovery":3,"ToHit":0,"DamageMod":0,"Effect":"Your target must perform a dynamic athletics (qu) action skill roll against the result of your attack roll. if they fail, they become immobilized and prone. the target may spend two complex skill actions to work their way free regardless of the amount of active entangle opponent effects on them (for example, multiple bolas).","TrickId":7,"NoDmg":0},{"Name":"From Earth to Sky","Brief":"Turning your opponent's momentum against them you can send a charging foe flying.","Category":"Advanced","Targets":"Avoidance ","Uses":"Quickness","Range":"Melee (1 Target)","Speed":4,"AsPush":1,"Recovery":0,"ToHit":0,"DamageMod":0,"Effect":"Any time you are charged, you may strike your attacker and send him sprawling onto the ground. roll your attack normally. if you hit, your target automatically fails his attack roll. if your attack roll also surpasses your target's fortitude, he is thrown 5' in a direction of your choice and is knocked prone.","TrickId":8,"NoDmg":1},{"Name":"Grasp the Blade","Brief":"The look on an opponent's face when you grab their blade mid swing, priceless.","Category":"Advanced","Targets":"Avoidance ","Uses":"Quickness","Range":"Melee (1 Target)","Speed":3,"AsPush":1,"Recovery":0,"ToHit":0,"DamageMod":0,"Effect":"You may use this weapon trick in response to a melee attack against you. if you succeed in your attack, you grasp/entangle your opponent's weapon negating their attack. you retain your hold on their weapon until you release it or your opponent takes a push 2 action to pull it free.","TrickId":9,"NoDmg":1},{"Name":"Hamstring","Brief":"A slice to the legs will slow just about anyone.","Category":"Base","Targets":"Avoidance ","Uses":"Prowess","Range":"Melee (1 Target)","Speed":2,"AsPush":0,"Recovery":1,"ToHit":0,"DamageMod":0,"Effect":"If your attack roll also surpasses your target's fortitude, their pace is reduced by half until your next action.","TrickId":10,"NoDmg":0},{"Name":"Juggernauts’ Hammer","Brief":"With a mighty swing, you send your opponents flying, even though doors.","Category":"Base","Targets":"Avoidance ","Uses":"Might","Range":"Melee (1 Target)","Speed":2,"AsPush":0,"Recovery":3,"ToHit":0,"DamageMod":0,"Effect":"Target is knocked back 5' + 5' for every 5 points of damage dealt (before ar). if your attack roll also surpasses your target's fortitude, they are knocked prone. if, for any reason, your target hits a solid object when they are knocked back, you deal damage to the object equal to the damage you dealt to the target.","TrickId":11,"NoDmg":0},{"Name":"Long Strike","Brief":"With a quick extension of your swing you can reach much farther than most would expect.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"10 (1 Target)","Speed":1,"AsPush":0,"Recovery":0,"ToHit":0,"DamageMod":0,"Effect":"Increases the weapon's range to 10","TrickId":12,"NoDmg":0},{"Name":"Mighty Swing","Brief":"Stepping into your swing you deliver a bone crushing strike.","Category":"Base","Targets":"Avoidance ","Uses":"Might","Range":"Melee (1 Target)","Speed":1,"AsPush":0,"Recovery":3,"ToHit":0,"DamageMod":5,"Effect":"Adds 5 to the damage done","TrickId":13,"NoDmg":0},{"Name":"Mighty Throw","Brief":"Pulling you back into your throw, your throws are bone jarring to say the least.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"60 (1 Target)","Speed":1,"AsPush":0,"Recovery":2,"ToHit":0,"DamageMod":5,"Effect":"Adds 5 to the damage done and increases your weapons range increment by 10'","TrickId":14,"NoDmg":0},{"Name":"Pin Them Down!","Brief":"Stabbing at your opponent you can pin them against a wall or even the floor.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"Melee (1 Target)","Speed":2,"AsPush":0,"Recovery":2,"ToHit":0,"DamageMod":0,"Effect":"If you successfully bypass your target's fortitude, you also pin their foot to the ground. this reduces their pace to 0 and grants them a -2 to avoidance and all action skill rolls until the weapon is removed. they may release themselves or be released by an ally as a demanding skill action.","TrickId":15,"NoDmg":0},{"Name":"Pinning Shot","Brief":"A well placed shot keeps your opponent in place.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"30 (6sq) (1 Target)","Speed":2,"AsPush":0,"Recovery":4,"ToHit":0,"DamageMod":0,"Effect":"If you successfully hit, you pin the target's clothes to the nearest hard surface (which may be the floor). the target must be wearing some kind of garment. the target must use a complex skill action to pull free of the pin.","TrickId":16,"NoDmg":1},{"Name":"Point Blank Shot","Brief":"You opponents quickly learn to keep their distance.","Category":"Automatic","Targets":"Avoidance","Uses":"Prowess","Range":"15 (1 Target)","Speed":0,"AsPush":0,"Recovery":0,"ToHit":0,"DamageMod":0,"Effect":"Anytime you attack a target within 15' you reduce the target's ar by 2. (to a minimum of 0)","TrickId":17,"NoDmg":0},{"Name":"Pommel Strike","Brief":"In your hands, it's not only the pointy end which hurts.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"Melee (1 Target)","Speed":0,"AsPush":0,"Recovery":1,"ToHit":0,"DamageMod":-1,"Effect":"Weapon does -1 damage and you deal bludgeoning damage instead of piercing or slashing damage.","TrickId":18,"NoDmg":0},{"Name":"Quick Reload","Brief":"With practiced hands you can reload with impressive speed.","Category":"Automatic","Targets":"None","Uses":"None","Range":"Self","Speed":0,"AsPush":0,"Recovery":0,"ToHit":0,"DamageMod":0,"Effect":"You can reload your weapon quicker than most. reduce your reload time by 2.","TrickId":19,"NoDmg":0},{"Name":"Quick Set","Brief":"Setting your weapon with lighting speed charging foes quickly learn the error of their ways.","Category":"Base","Targets":"Avoidance ","Uses":"Quickness","Range":"Melee (1 Target)","Speed":0,"AsPush":1,"Recovery":3,"ToHit":0,"DamageMod":0,"Effect":"Any time you are charged, you may set your weapon to strike the incoming target. roll your attack normally. if you hit, your target misses their attack. push your clock speed by the speed of your weapon.","TrickId":20,"NoDmg":0},{"Name":"Ranged Disarm","Brief":"Yes, I can shoot a sword out of someone hand at 30 paces.","Category":"Advanced","Targets":"Avoidance ","Uses":"Quickness","Range":"30 (1 Target)","Speed":3,"AsPush":0,"Recovery":4,"ToHit":0,"DamageMod":0,"Effect":"You fire at your opponent's hand in an attempt to force them to drop their weapon. you may perform a disarm maneuver at range. naturally opponents cannot take a free strike against you unless they are in melee with you.","TrickId":21,"NoDmg":0},{"Name":"Rapid Strike","Brief":"With a flick of the wrist you can strike faster than any serpent.","Category":"Base","Targets":"Avoidance ","Uses":"Quickness","Range":"Melee (1 Target)","Speed":-1,"AsPush":0,"Recovery":2,"ToHit":0,"DamageMod":-3,"Effect":"Weapon does -3 damage.","TrickId":22,"NoDmg":0},{"Name":"Render Shield Worthless","Brief":"With an attack you can make a shield simply too cumbersome to use.","Category":"Advanced","Targets":"Avoidance","Uses":"Prowess","Range":"Range (1 Target)","Speed":2,"AsPush":0,"Recovery":0,"ToHit":0,"DamageMod":0,"Effect":"If you successfully strike, your target's shield becomes worthless. the target is unable to defend with it or perform any weapon tricks which involve the shield. the target also suffers a penalty to avoidance equal to the shield's sp until the shield is dropped. the shield remains worthless until the weapon used in this maneuver is removed. the target or an ally of his may remove the weapon as a demanding skill action.","TrickId":23,"NoDmg":1},{"Name":"Shield Defense","Brief":"Ducking behind your shield you can weather the mightiest of attacks.","Category":"Advanced","Targets":"None","Uses":"None","Range":"Self","Speed":1,"AsPush":0,"Recovery":5,"ToHit":0,"DamageMod":0,"Effect":"Add your passive insight and vigor values to your avoidance and fortitude until your next action. any attack that would have hit you without the bonus hits your shield instead.","TrickId":24,"NoDmg":1},{"Name":"Shield Formation","Brief":"When used in formation, the true strength of the tower shield is realized.","Category":"Automatic","Targets":"None","Uses":"None","Range":"Self","Speed":0,"AsPush":0,"Recovery":0,"ToHit":0,"DamageMod":0,"Effect":"If you are adjacent to any ally wielding a tower shield, you gain a +1 bonus to your ar.","TrickId":25,"NoDmg":1},{"Name":"Shield Throw","Brief":"You can send your send your shield flying.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"20 (1 Target)","Speed":1,"AsPush":0,"Recovery":0,"ToHit":0,"DamageMod":3,"Effect":"Adds 3 to the damage done","TrickId":26,"NoDmg":0},{"Name":"Shield Slam","Brief":"Stepping into the attack you send your shield crashing into your foe knocking them to the ground.","Category":"Base","Targets":"Fortitude ","Uses":"Might","Range":"Melee (1 Target)","Speed":0,"AsPush":0,"Recovery":4,"ToHit":0,"DamageMod":0,"Effect":"Target is knocked prone and their clock is pushed by 3. you lose any benefit from the shield until you recover.","TrickId":27,"NoDmg":1},{"Name":"Shielding","Brief":"You can quickly bring your shield to bear","Category":"Advanced","Targets":"None","Uses":"None","Range":"Self","Speed":3,"AsPush":1,"Recovery":0,"ToHit":0,"DamageMod":0,"Effect":"You use this trick in response to an incoming melee attack. you must declare you are using this trick before any attacks are rolled. you gain +2 to avoidance against that attack. if you are using two weapons, and you know this trick with both weapons, you gain +3 to avoidance instead.","TrickId":28,"NoDmg":1},{"Name":"Slashing Disarm","Brief":"A slash to your opponent's arms sends their weapon flying.","Category":"Advanced","Targets":"None","Uses":"None","Range":"Melee (1 Target)","Speed":2,"AsPush":0,"Recovery":2,"ToHit":0,"DamageMod":0,"Effect":"You do not suffer free strikes (see combat, pg. 302) when attempting to disarm a foe.","TrickId":29,"NoDmg":0},{"Name":"Snatch Object","Brief":"You can snatch things with you weapon at a distance.","Category":"Advanced","Targets":"Avoidance ","Uses":"Quickness","Range":"Melee (1 Target)","Speed":1,"AsPush":0,"Recovery":2,"ToHit":0,"DamageMod":0,"Effect":"You may use this weapon to grab unattended items or grip stationary objects up to 10' away. for example, you can use the whip to grasp a candelabrum and pull it to the ground, or you may wrap your whip around a beam allowing you to swing over a 5' area.","TrickId":30,"NoDmg":1},{"Name":"Steel Rain","Brief":"With a spin, you become a storm of iron and blood.","Category":"Base","Targets":"Avoidance ","Uses":"Quickness","Range":"All targets within 20","Speed":2,"AsPush":0,"Recovery":2,"ToHit":0,"DamageMod":0,"Effect":"You may throw a signal dagger at each target within range. as long as you're armed, regardless of the amount of daggers you currently possess, you always have enough normal daggers to perform this weapon trick at least once per scene. (these daggers cannot be sold, collected, and so on. they are provided simply for cinematic effect)","TrickId":31,"NoDmg":0},{"Name":"Stinging Shot","Brief":"With a shot in the right spot can you can stagger almost any opponent.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"60 (1 Target)","Speed":2,"AsPush":0,"Recovery":1,"ToHit":0,"DamageMod":0,"Effect":"If your attack roll also surpasses your target's fortitude, your target suffers push 2.","TrickId":32,"NoDmg":0},{"Name":"Stunning Strike","Brief":"With a quick shot you send your opponent's head spinning.","Category":"Base","Targets":"Avoidance ","Uses":"Might","Range":"Melee (1 Target)","Speed":2,"AsPush":0,"Recovery":4,"ToHit":0,"DamageMod":0,"Effect":"If your attack roll also surpasses your target's fortitude, they are stunned.","TrickId":33,"NoDmg":0},{"Name":"Throw the Blade","Brief":"You can throw any blade with impressive accuracy.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"10 (1 Target)","Speed":0,"AsPush":0,"Recovery":2,"ToHit":0,"DamageMod":1,"Effect":"Adds 1 to damage done and you throw your sword.","TrickId":34,"NoDmg":0},{"Name":"Twin Arrows","Brief":"You can set two arrows into the same foe.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"60 (1 Target)","Speed":1,"AsPush":0,"Recovery":4,"ToHit":0,"DamageMod":100,"Effect":"You deal an additional weapon damage die. for example, if you are using a weapon that deals 1d8 (qu) in damage, roll 2d8 (qu) instead.","TrickId":35,"NoDmg":0},{"Name":"Twin throw","Brief":"With a flick of the wrist you send twin blades flying.","Category":"Base","Targets":"Avoidance","Uses":"Prowess","Range":"30 (1 or 2 Targets)","Speed":1,"AsPush":0,"Recovery":5,"ToHit":0,"DamageMod":0,"Effect":"You may throw two daggers at two different targets at range or you may attack one target with two daggers in which case you simply deal an additional weapon damage die.","TrickId":36,"NoDmg":0}]
...to go into a maptool table, with each JSON object being its own line in the table.
Code: Select all
[h : longString = pasteMe]
[h : clearTable("Test")]
[h : x = 0]
[h, foreach(entry, longString), code : {
[h : x = x + 1]
[h : addTableEntry("Test",x,x,entry)]
}]
That did the trick. This particular table only has 36 entries in it, but one of the ones I need is like 300+...and the json entries themselves are a lot bigger. So, needed something to eventually handle that.