Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
The first player takes the first turn and is able to give one of four actions ([[move|Move Action]], [[explore|Explore Action]], [[shoot|Shoot Action]], or [[repair|Repair Action]]) to each of his or her ships. You can give actions only to ships in your fleet.
You may give actions to each of your ships, but you may choose not to do so. If a ship has two or more actions due to an ability you may give actions to other ships after completing that ship's primary action and before using its additional action(s). Each individual action, however, must be resolved before giving an action to another piece. (Source: [[FAQ|Actions FAQ]])
''Free action''. Unless a game effect specifically requires one of the four actions, that effect is a free action. Free actions happen automatically and immediately. A free action does not count as a ship’s action for the turn on which it occurs.
Q: On my turn, can I give actions to all of my ships or just a certain number?
//A: You may give actions to all members of your fleet.//
Q: Do I have to give actions to all of my ships?
//A: No.//
Q: If my ship has an ability that allows an extra action or the same action twice, do I have to give it both of those actions right in a row or can I give an action to a different ship in between?
//A: If a ship has multiple full actions available you do not have to resolve them immediately after completing the ship’s primary action; you may give actions to other members of your fleet before giving the additional action or actions.//
Q: Can I split an action or give actions to two ships simultaneously? For example, could I move two ships, reveal captains on each, and then have both shoot at the same time, or could I use an additional action to move my ship twice and then reveal a captain to have it shoot twice?
//A: No. When you give a ship an action, you must completely resolve that action and any free actions directly triggered by it (such as shooting with a captain, ramming, or using an explorer) before you can give another separate action to that ship or to any other member of your fleet.//
Once per turn, roll a d6. On a 1-4, you may give this ship an extra move action; on a 5, you may give any ship you control an extra action; on a 6, you may give an enemy ship an action.
Assignment refers both to the act of placing or loading crew on a ship and to the constant state of a crew being carried by a ship.
The following are the basic crew types. Each provides an ability to the ship that carries it.
*''1 Point''
**[[Explorer]]
**[[Oarsman]]
*''2 Points''
**[[Cannoneer]]
**[[Chainshot Specialist]]
**[[Firepot Specialist]]
**[[Helmsman]]
**[[Shipwright]]
**[[Stinkpot Specialist]]
*''3 Points''
**[[Captain]]
**[[Musketeer]]
**[[Silver Explorer]]
**[[Smokepot Specialist]]
//The riches of the Spanish Main supported the Castile throne and made Spain into a world power for over 100 years. But great riches always attract attention, and now the other thrones of Europe—as well as every rogue on the seas—have set sail for the Spanish Main, intending to make it their own.
As a result the Spanish Main has been in an almost constant state of war, with the outposts of the European thrones at battle with each other, and the pirates exploiting the current situation to their own advantage.//
This scenario may be played by more than two players. Use the multiplayer rules for setup.
!Setup
Use all the normal rules for setup except that each player provides at least a 100-point fleet of ships and crew and three islands. Each player should provide one additional island for every 25 points of fleet over 100.
!Special Rules
#There is no gold in this scenario; the winner is the player with the last ship afloat or the player with the most points (ships and crew) in play at the end of 50 minutes (crew on islands do not count).
#Ships docked at home islands can repair two masts per turn, but they may be fired at while there. Ships docked at wild islands can repair one mast per turn. Shipwrights increase repairs at islands by one mast.
This crew can start the game as if it belongs to the Cursed nation instead of its nation. If it does, place it face up on the ship to which it is assigned; that ship is considered to fly the Cursed flag instead of the flag of her nation. If placed face up in this way, this crew’s point cost is increased by 1.
Q: Can boarding happen only after ramming?
//A: Yes, unless an ability specifically allows you to board at some other time.//
Q: How many boarding actions can occur after a ram?
//A: Only one boarding action can occur immediately following a ram, regardless of which player initiates it.//
<<<
El Leon (Spanish) rams HMS Bolingbroke (English).
Immediately after the ram has been resolved the Spanish player has the first chance to initiate a boarding.
#If the Spanish player chooses to initiate it, a boarding action occurs following the standard rules. Since there can be only one boarding action per ram, the English player does not get to initiate a second boarding.
#If the Spanish player decides not to board, then the English player gets the option to initiate boarding. If the English player chooses to initiate it, a boarding action occurs following the standard rules.
#If neither player chooses to board, then that opportunity for a boarding action is done. No other boarding can happen until another ram occurs or unless an ability is used that allows boarding without a ram.
<<<
Q: During a boarding action, who gets to decide whether a crew is eliminated or a treasure is stolen?
//A: The player who lost the boarding action may choose whether a crew is eliminated or if a treasure is stolen, as well as which specific one is eliminated or stolen.//
Q: If my ship has no treasure onboard when my opponent wins a boarding action, can I still choose to have a treasure stolen in order to prevent my ship from losing crew?
//A: No, you can only choose from the options that are available. If there is no treasure to steal or the winner's ship is unable to load it, a crew must be eliminated instead. Likewise, if a ship has no crew onboard or its crew “cannot be eliminated”, a treasure must be stolen instead.//
Q: My opponent’s ship has an ability which allows it to eliminate all of an opposing ship’s crew when it wins a boarding action. If I lose a boarding to that ship, can I choose to have a treasure stolen instead of losing all of my crew?
//A: No, abilities that modify what happens after a ship wins a boarding action override the defender’s choice, unless the winner of the boarding action chooses not to use the ability.//
The front of the ship. It begins where the front of the ship actually touches the table and extends forward (including any masts, mastheads, etc.).
!FAQ
Q: Where, exactly, is the bow of a ship or submarine?
//A: The bow of a ship or submarine is everything in front of and including the forward-most points where its hull touches the playing surface or its baseplate.//
When a ship with this keyword is given a shoot action, you can choose to reduce each of her cannons to <S>-range and shoot at only one target. Roll only a d6; the result must be higher than each cannon’s rank. If it is, all cannons hit, and the ship also gets one extra hit. No other abilities can apply to this action.
Once per turn, one of this ship’s cannons may shoot again if it misses.
''Cost:'' 2 Points
This ship may be given a free shoot action immediately after she completes a non-free move action, but before any other free actions.
''Cost:'' 3 Points
A ship with this keyword has a second, smaller hull. Each time this ship is hit, roll a d6. On a 5 or 6, this ship is not hit instead. The first time this ship is successfully hit, eliminate her second hull. Without her second hull, hits eliminate this ship’s masts normally. This ship can’t be rammed, this ship can't be pinned or boarded if she has her second hull.
Once per turn when this ship is given a shoot action, one of her cannons may shoot a chainshot at a target within S of her. You must declare which cannon will shoot the chainshot before rolling the d6. If the chainshot hits, do not eliminate a mast; instead, the target cannot move on her next turn.
''Cost:'' 2 Points
Events are special cards you purchase when building your fleet. The point cost of each event counts toward the game’s build total, and each event is printed with ability text explaining when and how to play it. Events are not assigned to ships.
Source: [[Pirates of the Revolution]]
The second player chooses which island will be the home island of the first player. The first player places his or her ships so that their [[bows|Bow]] touch that island. The first player then chooses a different island to be the second player's home island, and that player places his or her ships so that their bows touch that island. The remaining islands are called [[wild islands|Wild Island]].
A [[mysterious island|Mysterious Island]] that becomes a home island has no special rules; it is a regular home island in all respects. ([[Pirates of the Mysterious Islands]])
To create a fleet, determine the build total at which you will play your game. We recommend a game with a 40-point build total; that is, choose ships, crew, and sea creatures (crew and sea creatures are optional) with a combined point cost up to 40 points. Any build total can be chosen as long as both fleets use the same build total. If a ship comes with a flag, she must fly it from her [[stern|Stern]]. Players can build mixed-nationality fleets.
''No-duplicates Rule.'' A player cannot have two or more of the same character, ship, creature, event token, or fort in their fleet at the same time unless it is captured from an opposing player. Generic crew are not limited in this way. (FAQ/Errata)
Note: [[Pirates of the Spanish Main]] recommends a 30-point game, but every expansion recommends 40-points. 40-points is considered the "standard build."
/***
|''Name:''|CryptoFunctionsPlugin|
|''Description:''|Support for cryptographic functions|
***/
//{{{
if(!version.extensions.CryptoFunctionsPlugin) {
version.extensions.CryptoFunctionsPlugin = {installed:true};
//--
//-- Crypto functions and associated conversion routines
//--
// Crypto "namespace"
function Crypto() {}
// Convert a string to an array of big-endian 32-bit words
Crypto.strToBe32s = function(str)
{
var be = Array();
var len = Math.floor(str.length/4);
var i, j;
for(i=0, j=0; i<len; i++, j+=4) {
be[i] = ((str.charCodeAt(j)&0xff) << 24)|((str.charCodeAt(j+1)&0xff) << 16)|((str.charCodeAt(j+2)&0xff) << 8)|(str.charCodeAt(j+3)&0xff);
}
while (j<str.length) {
be[j>>2] |= (str.charCodeAt(j)&0xff)<<(24-(j*8)%32);
j++;
}
return be;
};
// Convert an array of big-endian 32-bit words to a string
Crypto.be32sToStr = function(be)
{
var str = "";
for(var i=0;i<be.length*32;i+=8)
str += String.fromCharCode((be[i>>5]>>>(24-i%32)) & 0xff);
return str;
};
// Convert an array of big-endian 32-bit words to a hex string
Crypto.be32sToHex = function(be)
{
var hex = "0123456789ABCDEF";
var str = "";
for(var i=0;i<be.length*4;i++)
str += hex.charAt((be[i>>2]>>((3-i%4)*8+4))&0xF) + hex.charAt((be[i>>2]>>((3-i%4)*8))&0xF);
return str;
};
// Return, in hex, the SHA-1 hash of a string
Crypto.hexSha1Str = function(str)
{
return Crypto.be32sToHex(Crypto.sha1Str(str));
};
// Return the SHA-1 hash of a string
Crypto.sha1Str = function(str)
{
return Crypto.sha1(Crypto.strToBe32s(str),str.length);
};
// Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words
Crypto.sha1 = function(x,blen)
{
// Add 32-bit integers, wrapping at 32 bits
add32 = function(a,b)
{
var lsw = (a&0xFFFF)+(b&0xFFFF);
var msw = (a>>16)+(b>>16)+(lsw>>16);
return (msw<<16)|(lsw&0xFFFF);
};
// Add five 32-bit integers, wrapping at 32 bits
add32x5 = function(a,b,c,d,e)
{
var lsw = (a&0xFFFF)+(b&0xFFFF)+(c&0xFFFF)+(d&0xFFFF)+(e&0xFFFF);
var msw = (a>>16)+(b>>16)+(c>>16)+(d>>16)+(e>>16)+(lsw>>16);
return (msw<<16)|(lsw&0xFFFF);
};
// Bitwise rotate left a 32-bit integer by 1 bit
rol32 = function(n)
{
return (n>>>31)|(n<<1);
};
var len = blen*8;
// Append padding so length in bits is 448 mod 512
x[len>>5] |= 0x80 << (24-len%32);
// Append length
x[((len+64>>9)<<4)+15] = len;
var w = Array(80);
var k1 = 0x5A827999;
var k2 = 0x6ED9EBA1;
var k3 = 0x8F1BBCDC;
var k4 = 0xCA62C1D6;
var h0 = 0x67452301;
var h1 = 0xEFCDAB89;
var h2 = 0x98BADCFE;
var h3 = 0x10325476;
var h4 = 0xC3D2E1F0;
for(var i=0;i<x.length;i+=16) {
var j,t;
var a = h0;
var b = h1;
var c = h2;
var d = h3;
var e = h4;
for(j = 0;j<16;j++) {
w[j] = x[i+j];
t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=16;j<20;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=20;j<40;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k2);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=40;j<60;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),(b&c)|(d&(b|c)),w[j],k3);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
for(j=60;j<80;j++) {
w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k4);
e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
}
h0 = add32(h0,a);
h1 = add32(h1,b);
h2 = add32(h2,c);
h3 = add32(h3,d);
h4 = add32(h4,e);
}
return Array(h0,h1,h2,h3,h4);
};
}
//}}}
//Cardinal Torres was on special assignment from the high council of the Spanish Inquisition to discover and punish heretics in the New World. After being “abandoned” in the wilderness of South America for over a decade, whatever humanity lived in Torres’ soul washed away, leaving nothing but unbridled cruelty.
The warped cardinal decided to send the high council a “gift” from him and the heretics of the New World, so he minted a set of coins, each embossed with the face of a high council member. The coins were forged using heat created by burning infidel bodies and were cooled in the blood of heretics. They are the rarest—and most damned—coins in the world, but they are worth a king’s ransom.//
Up to six players may participate in this scenario.
!Setup
Use all the normal rules for setup, with the following exceptions regarding placing treasure:
*Divide treasure coins into stacks of the same gold value (all the 1s in one pile, all the 2s in another pile, etc.).
*Each player is assigned one type of coin and receives a number of them equal to twice the number of players. For example, if three people are playing, player 1 would receive six coins with the number 1 on them, player 2 would receive six coins with the number 2 on them, and player 3 would receive six coins with the number 3 on them.
*All of a player’s coins must be placed on his or her ships, in any combination the player wishes. These coins take up no cargo space, so a ship may have any number of coins on her.
!Special Rules
#The winner of this scenario is the first player to unload one coin of each value onto his or her home island.
#You may not unload duplicate versions of the same coin onto your home island.
#If a ship sinks, any coins on it are distributed as equally as possible on wild islands by the player whose ship sunk.
Scenarios where the objective is to sink the most enemy ships or have the most ships remaining.
/***
|''Name:''|DeliciousTaggingPlugin|
|''Version:''|0.1|
|''Source''|http://jackparke.googlepages.com/jtw.html#DeliciousTaggingPlugin ([[del.icio.us|http://del.icio.us/post?url=http://jackparke.googlepages.com/jtw.html%DeliciousTaggingPlugin]])|
|''Author:''|[[Jack]]|
!Description
Allows easy 'del.icio.us'-like tagging in the EditTemplate by showing all tags as a list of link-buttons.
!Usage
Replace your the editorFooter div in your [[EditTemplate]] with the following:
{{{
<div class='editorFooter' macro='deliciousTagging'></div>
}}}
!Code
***/
//{{{
version.extensions.deliciousTagging = {major: 0, minor: 1, revision: 0, date: new Date("June 11, 2007")};
config.macros.deliciousTagging= {};
config.macros.deliciousTagging.onTagClick = function(e)
{
if(!e) var e = window.event;
var tag = this.getAttribute("tag");
var title = this.getAttribute("tiddler");
if(!readOnly)
story.setTiddlerTag(title,tag,0);
return false;
};
config.macros.deliciousTagging.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
if(tiddler instanceof Tiddler) {
var title = tiddler.title;
if(!e) var e = window.event;
var tags = store.getTags();
var lingo = config.views.editor.tagChooser;
for(var t=0; t<tags.length; t++) {
var theTag = createTiddlyButton(place,tags[t][0],lingo.tagTooltip.format([tags[t][0]]),config.macros.deliciousTagging.onTagClick);
theTag.setAttribute("tag",tags[t][0]);
theTag.setAttribute("tiddler",tiddler.title);
place.appendChild(document.createTextNode(" "));
}
}
};
//}}}
/***
|''Name:''|DeprecatedFunctionsPlugin|
|''Description:''|Support for deprecated functions removed from core|
***/
//{{{
if(!version.extensions.DeprecatedFunctionsPlugin) {
version.extensions.DeprecatedFunctionsPlugin = {installed:true};
//--
//-- Deprecated code
//--
// @Deprecated: Use createElementAndWikify and this.termRegExp instead
config.formatterHelpers.charFormatHelper = function(w)
{
w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);
};
// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp instead
config.formatterHelpers.monospacedByLineHelper = function(w)
{
var lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source);
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var text = lookaheadMatch[1];
if(config.browser.isIE)
text = text.replace(/\n/g,"\r");
createTiddlyElement(w.output,"pre",null,null,text);
w.nextMatch = lookaheadRegExp.lastIndex;
}
};
// @Deprecated: Use <br> or <br /> instead of <<br>>
config.macros.br = {};
config.macros.br.handler = function(place)
{
createTiddlyElement(place,"br");
};
// Find an entry in an array. Returns the array index or null
// @Deprecated: Use indexOf instead
Array.prototype.find = function(item)
{
var i = this.indexOf(item);
return i == -1 ? null : i;
};
// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()
// @Deprecated: Use store.getLoader().internalizeTiddler instead
Tiddler.prototype.loadFromDiv = function(divRef,title)
{
return store.getLoader().internalizeTiddler(store,this,title,divRef);
};
// Format the text for storage in an HTML DIV
// @Deprecated Use store.getSaver().externalizeTiddler instead.
Tiddler.prototype.saveToDiv = function()
{
return store.getSaver().externalizeTiddler(store,this);
};
// @Deprecated: Use store.allTiddlersAsHtml() instead
function allTiddlersAsHtml()
{
return store.allTiddlersAsHtml();
}
// @Deprecated: Use refreshPageTemplate instead
function applyPageTemplate(title)
{
refreshPageTemplate(title);
}
// @Deprecated: Use story.displayTiddlers instead
function displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3)
{
story.displayTiddlers(srcElement,titles,template,animate);
}
// @Deprecated: Use story.displayTiddler instead
function displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3)
{
story.displayTiddler(srcElement,title,template,animate);
}
// @Deprecated: Use functions on right hand side directly instead
var createTiddlerPopup = Popup.create;
var scrollToTiddlerPopup = Popup.show;
var hideTiddlerPopup = Popup.remove;
// @Deprecated: Use right hand side directly instead
var regexpBackSlashEn = new RegExp("\\\\n","mg");
var regexpBackSlash = new RegExp("\\\\","mg");
var regexpBackSlashEss = new RegExp("\\\\s","mg");
var regexpNewLine = new RegExp("\n","mg");
var regexpCarriageReturn = new RegExp("\r","mg");
}
//}}}
A ship is derelict (can’t move) if she has no masts. A derelict can be given only explore or repair actions. A derelict can still carry treasure and crew. If a derelict ship is hit, she sinks. A ship that is able to move when she has no masts, such as a Galley or Longship, is still considered derelict in regards to being towed.
As a free action, a ship docked at (touching) an island can drop off and board crew, or transfer crew to and from another ship docked at the same island. You can't dock at an opponent's home island.
''Unloading Treasure.'' When you dock at your home island, you can must unload all treasure worth gold points; this is a free action.
''Docking at mysterious islands.'' When a ship first docks at a mysterious island, turn over the island so that its special effects are face up (the mysterious island remains face up the rest of the game). The ship’s player then rolls a d6. Match the die roll result to the corresponding number on the wild island; that effect comes into play when its criterion is met. If a rolled effect would be impossible, it is ignored; do not re-roll for effect. Each time a ship docks at a mysterious island, her player rolls for effect. ([[Pirates of the Mysterious Islands]])
A ship with this keyword has two smaller hulls.ach time this ship is hit, roll a d6. On a 5 or 6, this ship is not hit instead. The first time this ship is successfully hit, eliminate a smaller hull instead of a mast. When both of this ship's samller hulls are eliminated, hits eliminate this ship’s masts normally. This ship can’t be rammed, this ship can't be pinned or boarded if she has a smaller hull.
<!--{{{-->
<div class="toolbar" macro="toolbar +saveTiddler closeOthers -cancelTiddler deleteTiddler"></div>
<div class="title" macro="view title"></div>
<div class="editLabel">Title</div><div class="editor" macro="edit title"></div>
<div class="editLabel">Tags</div><div class="editor" macro="edit tags"></div>
<div class="editorFooter"><span macro="message views.editor.tagPrompt"></span><span macro="tagChooser"></span></div>
<div class="editor" macro="edit text"></div>
<br/>
<!--}}}-->
This crew may use its abilities only aboard the Baochuan. Once at the beginning of each of your turns, roll a d6. On a result of 6, any ship in your fleet may be given two actions that turn. Once per turn, if this ship is within S of an island, you may mark the island as explored without docking at it. The island becomes unexplored in regards to all other players.
When this ship is sunk, do not remove her from the game. Instead, place her docked with no masts at your home island; she keeps all crew aboard her, but any teasure she carries is devided as normal. You can repair her as normal at your home island.
This crew can be assigned to any ship. Any ship to which this crew is assigned gains the Mercenary keyword, marking her a member of the Mercenary nation. If this crew is assigned to its linked ship, when the ship rolls for effect at a mysterious island, add 1 to the die roll result.
Q: How many treasure tokens can I load onto my ship with one explore action?
//A: You may load as many items as you have available cargo space.//
Q: Can I unload treasure or crew from my ship when it explores a wild island?
//A: Yes, cargo may be unloaded to a wild island during an explore action, but the effects of any unique treasures on the island must be resolved before any other cargo can be transferred. Cargo that is unloaded to an island is fair game for another player to collect.//
Q: Can I unload treasure to a wild island without using an explore action?
//A: Transferring cargo to or from an island or another ship always requires an explore action, unless an ability or action specifically allows otherwise.//
Q: If my ship docks at a wild island and uses an explorer crew to explore the island, can I unload that explorer to make room for more treasure?
//A: Yes, you may unload the explorer to make room for treasure, but when he leaves the ship the free explore action he provided immediately ends. In order to load treasure back into that empty cargo space, another explore action is required.//
<<<
A ship with three cargo spaces docks at an unexplored wild island. Two of its spaces are taken by crew and one is taken by a treasure token worth one gold. One of those crew happens to be an explorer, which is revealed so the ship can explore the island. The island contains four treasures; two are unique treasure and two are standard gold tokens. The unique treasures are revealed to be the Marksman’s Map and Rum. Both must be loaded onto the ship, but fortunately neither takes up a cargo space. Since there are two crew onboard, Rum takes on a value of four gold. Both of the standard gold coins on the island have high values, so the ship’s owner wants to load them as well. In order to make room for them, he unloads the token worth one gold, and one of the crew. If he unloaded the explorer, the explore action would end immediately and he would have to wait until the next turn to load the remaining treasure into that spot, so instead he unloads the other crewmember, a helmsman.
The explore action ends with two unique treasures, two standard treasures, and an explorer onboard the ship, and a helmsman and a standard (1-gold) treasure on the island. The ship’s owner decides that he no longer needs the explorer, so he then uses the free crew transfer rule to unload him, and then uses another free crew transfer to load the helmsman into the vacated spot. Due to Rum’s ability the ship loses its next turn, but the turn after that it sails away leaving the explorer and the 1-gold coin behind…
<<<
Q: When my ship docks at my home island, do I have to unload all of my treasure or can I select which to unload?
//A: You have to unload all treasure with a gold value when you dock at your home island. This happens immediately and automatically.//
Q: If treasure is transferred to my ship while it is docked at my home island, does it unload automatically?
//A: No, treasure only unloads automatically when the ship first docks at its home island. To unload again, the ship must move away and re-dock or it must be given an explore action targeting the home island, at which point all treasure with a gold value currently onboard is immediately unloaded.//
Q: Can cargo, treasure, or crew be transferred between friendly ships?
//A: Yes. The two ships must be touching and one of them must be given an explore action to transfer the cargo. You may also explore an enemy derelict in this way.//
If a ship begins one of your turns docked at a wild island, give her an explore action to look at all the treasure on that island (without revealing it to the other player) and choose as much treasure as you want to take (within the ship’s cargo capacity limits). Place each chosen treasure face down on the ship’s deckplate card. Any treasure not taken is left face down on the island.
Crew and cargo may be transferred to an island during an explore action, but effects of any unique treasures loaded face-up must be resolved first. If an explorer is transferred to an island during an explore action its benefit is lost and an additional explore action is required to fill the empty cargo space it leaves behind. (Source:[[FAQ|Exploration FAQ]])
When you leave a wild island, mark that you have explored it by leaving a streamer (or other token) on the island; if you dock at an island with your streamer on it, you can explore it as a free action after docking.
A unique treasure does not take up a cargo space. A unique treasure must be taken by the first player to explore the island on which it is placed. Place it face up on the ship’s deckplate card; any ability a face-up unique treasure has comes into play as a free action.
You can also explore any allied ship or derelict that your ship touches, which allows you to transfer crew and treasure between ships. This requires a ship’s action as an explorer can only explore wild islands.
This ship may dock and explore a wild island using the same move action.
''Cost:'' 1 Point
Updated: February 2008
*[[Setup FAQ]]
*[[Actions FAQ]]
**[[Movement FAQ]]
***[[Ramming FAQ]]
***[[Pinning FAQ]]
***[[Boarding FAQ]]
***[[Towing FAQ]]
**[[Exploration FAQ]]
**[[Shooting FAQ]]
*[[Terrain FAQ]]
**[[Fog Bank FAQ]]
*[[Keyword FAQ]]
*[[Unique Treasure FAQ]]
For each target enemy ship within <S> of this ship at the beginning of this ship’s turn, roll a d6. On a result of 5, none of the target’s ship or crew abilities can be used this turn. On a 6, the target’s base speed is <S> on her next turn.
Once per turn when this ship is given a shoot action, one of her cannons may shoot a firepot at a target within S of her. Declare which cannon will shoot the firepot before rolling the d6. If it hits, the target’s controller replaces one of her masts with a fire mast. At the beginning of every turn, roll one d6 for each fire mast. On a result of 6, remove the fire mast; on a 1–3, the ship’s controller replaces another of her masts with a fire mast. When a ship has only fire masts, she must be scuttled on her next turn. When a ship docks at her home island or a fort, remove all of her fire masts as a free action.
''Cost:'' 2 Points
Fleet creation occurs before the set-up phase. Standard games use a 40-point limit for crew, events, ships, and creatures, although the base [[Pirates of the Spanish Main]] game recommends a 30-point limit. Non-standard [[scenarios|Scenarios]] may use any mutually agreed upon number of points and treasure coins.
#[[Creating a Fleet]]
#[[Choosing Events]] ([[Pirates of the Revolution]])
See also: [[Setup FAQ]]
A game piece with this keyword is a floating gun platform; treat it like a ship, with the following exceptions. Flotillas can be given only shoot actions and repair actions (it can repair at sea). A flotilla in your fleet has a movement of <T>, indicating that it can be moved only by being towed by a ship of the same nationality in your fleet. When a ship tows a flotilla, any of her or her crews' abilities that affect her base move are ignored. As a free action a ship towing a flotilla can stop towing the flotilla, which remains in place until towed again or sunk.
A flotilla has no masts. Instead it has a flag, which can be eliminated only if the flotilla is hit twice on the same turn from the same shoot action. When a flotilla has no flag, any hit sinks it. A flotilla can't be rammed or boarded.
A fog bank has the numbers 1–6 printed around its edges.
When any part of a ship or sea creature touches a fog bank, the entire game piece must be placed within the fog bank as a free action; the game piece’s turn ends, even if she could move farther that turn. A game piece in a fog bank is lost. Lost game pieces cannot shoot, be shot at, ram or be rammed, pin or be pinned, or board or be boarded by other ships. Fog banks block lines of fire.
Game pieces exit fog banks in random directions. When a game piece is given a move action that would cause her to exit a fog bank, roll one d6 before moving it. Place the game piece outside of the fog bank with her stern touching the number on the fog bank that matches the die result; it can face in any direction and is no longer lost. Begin moving the game piece from that point.
Q: If I roll to exit a fog bank but an island or ship is blocking that number, what happens? What if another piece of terrain is there?
//A: If the exit point is blocked by an island or a ship, place your ship as close as possible to the rolled number instead. If the ship touches another piece of terrain when it exits, the effects of that terrain apply normally.//
Q: How do I determine if an ability or action can affect a ship within a Fog Bank?
//A: If an ability, action, or other effect has a fixed range, requires a line of sight, affects an area, or requires direct contact between ships, it cannot be used against (or by) a ship that is “lost” in a fog bank. If the ability, action, or effect does not have one or more of those requirements, it may be used against (or by) a ship in a fog bank.//
Q: If my ship enters a fog bank while towing a derelict, what happens to the derelict?
//A: Both ships immediately become “lost” in the fog bank. When the towing ship leaves the fog, you may move the derelict behind it following the normal rules for towing.//
Q: If a derelict enters a fog bank by some other means, what happens to it?
//A: If the derelict has the ability to move it may be given a move action to exit normally. If it carries a shipwright it may be given a repair action and then exit on a subsequent turn. If the derelict lacks the capability to move or repair, it remains “lost” indefinitely.//
Forts are printed on two cards and are assembled like ships. Fort flags represent cannons, and you can customize a fort by placing flags on either its corners or walls. Forts are not placed during setup; rather, they are purchased and built during the game on wild islands you have explored. A wild island may have only one fort on it at a time.
<<ToC>>
!Building Forts
To build a fort, the following three conditions must be met:
*You must have the fort in your Pirates collection.
*You must have an amount of gold points on your home island equal to or greater than the fort’s gold point cost.
*You must have a ship docked at a wild island you have explored in order to build a fort there.
If these three prerequisites are met at the end of one of your turns, you may build the fort as a free action. Take the gold used to pay for it from your home island and place it inside of the assembled fort; this gold still counts toward winning the game. Place the assembled fort on any wild island at which you have a ship docked. The fort must be placed on the island such that two of its opposite corners are completely on the island.
!Treasure
If there is any face-down treasure on the island where the fort is built, move that treasure inside of the assembled fort; it is now yours. You may use a ship to load treasure from a fort and move it to another fort or to your home island, but a fort must always have a number of gold points inside of it equal to or greater than its gold point cost.
!Shooting
Forts may be given only shoot actions. Shooting with fort cannons is just like shooting with ship cannons; use the indicated ranges and ranks on the flags and measure distance from the flags. Lines of fire drawn from forts are not blocked by other ships or islands.
!Abandoned Forts
When a fort is hit, its player eliminates a flag. When all of a fort’s flags are eliminated, it is abandoned and may not be given actions.
!Destroying Forts
If an abandoned fort is hit, remove it from the game and place all of the gold that was inside of it back on the island, which reverts to an unexplored wild island.
A ship with this keyword can’t pin or be pinned. If this ship rams, she can’t eliminate a mast from the rammed ship. As a free action, this ship can rotate on her [[stern|Stern]] in any direction after she completes a move action. If derelict, this ship can move <S>.
If a ship has this keyword, or a crew aboard a ship has this keyword, decide if the ship is ghostly at the beginning of each of your turns. If ghostly, the ship gains the following abilities: She ignores islands, terrain, and other ships when moving; she can’t end a move with any part of her physically overlapping an island or another ship; she can’t be rammed or pinned; and she can’t dock.
This ship gets +S to her base move.
''Cost:'' 2 Points
If this ship wins a boarding party, she may take as much treasure from the other ship as she can carry.
A game piece with this keyword can't be in the same fleet starting fleet with what ever is indicated by the X. If the X is a nation, then neither crew nor ships of that nation can be in the same starting fleet with this game piece.
An iceberg has the numbers 1–6 printed around its edge, as well as a number printed at its center.
At the beginning of each player’s turn, before any actions are assigned, that player must roll a d6. Compare the result to the center number printed on all icebergs in play. If the result matches any iceberg(s), those icebergs move that turn. For each iceberg that will move, roll another d6 and match the result to the number printed around the iceberg’s edge. Measuring straight out from that number away from the iceberg, move the iceberg S.
Do not turn or rotate it.
If an iceberg touches any ship or sea creature, stop moving it and eliminate one mast or segment from the touched ship or sea creature. If an iceberg hits an island, it can no longer move the rest of the game.
This ship ignores terrain, except icebergs, when she is given a move action (islands are not terrain). This ship can ram an iceberg as if ramming an enemy ship. If she does, remove the iceberg from the game; this ship is not pinned.
This ship’s masts do not block her line of fire.
Type the text for 'K2BlogTheme'
A keyword represents an ability a card has. If a card has a keyword, it appears in bold on the front of the card. When playing that card, following the rules of that keyword in addition to any other ability text the card might have.
Q: Are keywords considered to be abilities?
//A: Yes.//
Q: If a ship or crew has printed ability text that is the same as the complete text of a keyword, is it considered to have that keyword?
//A: Yes.//
<<<
The Spanish ship San Cristobal (~RF-004) has an ability that says, “If this ship has a crew with the Captain keyword, she gets +L to her base move.”, and it also has a link to Victor de Alva (~OE-069). Victor has the printed text version of the captain ability, which counts as the Captain keyword, so when he is onboard San Cristobal the ship gains the benefits of both the link (+1 cargo) and its ability (+L movement).
<<<
/***
|''Name:''|LegacyStrikeThroughPlugin|
|''Description:''|Support for legacy (pre 2.1) strike through formatting|
|''Version:''|1.0.2|
|''Date:''|Jul 21, 2006|
|''Source:''|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin|
|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|
|''License:''|[[BSD open source license]]|
|''CoreVersion:''|2.1.0|
***/
//{{{
// Ensure that the LegacyStrikeThrough Plugin is only installed once.
if(!version.extensions.LegacyStrikeThroughPlugin) {
version.extensions.LegacyStrikeThroughPlugin = {installed:true};
config.formatters.push(
{
name: "legacyStrikeByChar",
match: "==",
termRegExp: /(==)/mg,
element: "strike",
handler: config.formatterHelpers.createElementAndWikify
});
} //# end of "install only once"
//}}}
You can have only one card with this keyword in your fleet.
When you give this ship a shoot action, roll two dice and count each die as a separate attack (this ship has two cannons on each mast). This ship can’t pin or be pinned. If this ship rams, she gets +1 to her boarding roll. As a free action, this ship can rotate on her [[stern|Stern]] in any direction after she completes a move action. If derelict, this ship gains a base move of <S>.
In order for a game piece with this keyword to be included in you starting fleet, whatever is indicated by the X must also be in your starting fleet, whether that be a specific crew, ship, or any game piece of a specific nation.
[[Fleet Building]]
[[Scenarios]]
[[Setup]]
[[Rules]]
[[Winning|Winning the Game]]
[[Terrain]]
[[Terms|Term]]
[[Basic Crew]]
[[Keywords|Keyword]]
[[FAQ]]
A crew with this keyword can be dropped off on any island (except on an opponent’s home island). Whether on a ship or an island, it can be given its own shoot action each turn, just like a ship; it has a <S2>-rank gun. Opposing players can target this crew with shoot actions only if it is on an island, but it must be hit twice in the same turn in order to be eliminated—a single hit has no effect. Unlike other abilities, the Marine ability is cumulative. For example, if two crew with Marine are assigned to the same ship, they can both use it on the same turn.
This ship can’t dock at any home island, and she begins the game <S> away from your home island. In all other ways, she behaves as a ship in your fleet.
A ship can’t move through any island or another ship. If a ship has a combination move, such as L + S, you can choose to move her either L or S first, though she can change direction only at the beginning of each movement segment. Ships are not required to move the entire length of a movement segment and ships with multiple movement segments are not required to use them all. If a ship touches another ship or an island during her movement, she must stop, even if she could move farther that turn.
''Turning.'' Ships may change heading only before a movement segment unless an ability allows them to do otherwise. Turning angle is normally limited only by the shape of the ship's hull. (Source: [[FAQ|Movement FAQ]])
''[[Derelict]]''. A ship is derelict (can’t move) if she has no masts. A derelict can be given only explore or repair actions. A derelict can still carry treasure and crew. If a derelict ship is hit, she sinks. A ship that is able to move when she has no masts, such as a Galley or Longship, is still considered derelict in regards to being towed.
The following game functions can be performed using a move action or as the result of a move action:
*[[Dock]]
*[[Ram]]
*[[Tow]]
Q: If my ship has multiple segments of movement (i.e. S+L), when can I change heading?
//A: You can change heading at the beginning of each segment of movement, including the first.//
Q: Is there a limit to the turning angle, such as 90° or 45°?
//A: The physical shape of a ship’s hull provides the only limit to its turning angle. Most ship types are capable of turning up to 160° or more to either side.//
Q: Do I have to move the full length of the movement bar or use the entire base move?
//A: Your ship may move any distance up to the full length of each movement segment, and you do not have to use all available segments.//
Q: Can a ship continue movement after coming into contact with an island or another ship?
//A: No, if a ship touches another ship or an island during her movement she must stop, even if there are additional movement segments remaining.//
Q: When can I use the “stern turn” ability of the Galley, Longship, or Schooner keywords?
//A: The “stern turn” is considered the final segment of movement, so it is applied after the base move and any other movement bonuses, but before using abilities like those of a captain or explorer and before ramming.//
Q: If my ship is derelict but has a helmsman onboard, can it be given a move action?
//A: No it cannot, unless it also has an oarsman or some other ability that provides it with a base move while derelict. Abilities like a helmsman that give a ship +S or +L only add to an existing base move, but they do not provide a move action to the ship.//
//Playing Pirates of the Spanish Main with more than two players uses all the standard rules found in the rulebook, with the following exceptions.//
!Preparation
Each player brings three islands and six treasure tokens of any value or type.
!Setup
Each player rolls a d6. The player with the highest result (reroll ties) is the first player, and he or she places the first island. The player to the left of the first player then places one island. Continue this process, with each player placing one island, until all islands are placed.
The last player to place an island picks his or her home island first. The player to that player's right then picks a home island that hasn't already been chosen. Continue this process, with each player choosing a home island.
Once all home islands are chosen, the first place takes the first turn, with subsequent turns proceeding to that player's left.
Place per treasure per the standard rules, each island should have three treasure tokens on it.
!Treasure and Victory
Unlike the standard rules, treasure is ''not'' revealed when it is brought back to a player's home island. Any unique treasure, however, is revealed at the wild island per the standard rules. Once the last treasure token is loaded on a ship, mark that ship with an "end" token (use a bead, penny, or other small object as the end token).
The game ends when any one of the following three conditions is met:
*The ship with the end token unloads the last treasure onto its home island; OR
*The ship with the end token is sunk; OR
*At any point there is only one player with a non-derelict ship.
For games with four or more players, there is an additional possible condition for ending the game: half of the players have had all of their ships sunk.
When one of the four above conditions is met, reveal all treasure, including any treasure on ships. Each player adds up his or her total treasure value on his or her home island and/or ships. The player with the highest treasure total wins.
''Note'': Treasure on a ship that is sunk does not count toward victory for any player.
This ship gains one short range rank 3 cannon that may not have its range or cannon roll increased. It can shoot from any mast (even an eliminated mast).
''Cost:'' 3 Points
/***
|Name|NewHereCommand|
|Source|http://simonbaird.com/mptw/#NewHereCommand|
|Version|1.0|
Code originally by ArphenLin. Small tweak by SimonBaird
http://aiddlywiki.sourceforge.net/NewHere_demo.html#NewHereCommand
To use this you must edit your ViewTemplate and add newHere to the toolbar div, eg
{{{<div class='toolbar' macro='toolbar ... newHere'></div>}}}
***/
//{{{
config.commands.newHere = {
text: 'new here',
tooltip: 'Create a new tiddler tagged as this tiddler',
hideReadOnly: true,
handler: function(e,src,title) {
if (!readOnly) {
clearMessage();
var t=document.getElementById('tiddler'+title);
story.displayTiddler(t,config.macros.newTiddler.title,DEFAULT_EDIT_TEMPLATE);
story.setTiddlerTag(config.macros.newTiddler.title, title, 0);
story.focusTiddler(config.macros.newTiddler.title,"title");
return false;
}
}
};
config.commands.newJournalHere = {
//text: 'new journal here', // too long
text: 'new journal',
hideReadOnly: true,
dataFormat: 'YYYY-0MM-0DD 0hh:0mm', // adjust to your preference
tooltip: 'Create a new journal tiddler tagged as this tiddler',
handler: function(e,src,title) {
if (!readOnly) {
clearMessage();
var now = new Date();
var t=document.getElementById('tiddler'+title);
var newtitle = now.formatString(this.dataFormat)
story.displayTiddler(t,newtitle,DEFAULT_EDIT_TEMPLATE);
story.setTiddlerTag(newtitle, title, 0);
story.focusTiddler(newtitle,"title");
return false;
}
}
};
//}}}
If derelict, this ship gains a base move of S. This crew takes up no cargo space.
''Cost:'' 1 Point
Scenarios with special victory conditions.
An octopus is a sea creature. On your turn, if your octopus’ base is within <S> of an opponent’s ship, you can immediately place the octopus’ base beneath the ship so that its tentacles are surrounding her. If more than one ship is within <S>, the octopus can surround only one of them. An octopus can’t be shot at unless it surrounds a ship — and then only the surrounded ship can shoot at the octopus. The surrounded ship can’t be given a move action until the ocotpus is eliminated or moves away.
If an octopus surrounds a ship, it can be given a shoot action to shoot at the surrounded ship (only). An octopus can’t both surround and shoot at a ship on the same turn, and it can’t surround a docked ship or another octopus.
<div class='header' macro='gradient vert #FFF #FFF '>
<div class='gradient'>
<div class='titleLine' >
<span class='searchBar' macro='search'></span>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div id='topMenu' refresh='content' tiddler='MainMenu'></div>
</div>
</div>
<div id='bodywrapper'>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<div id='displayFooter'></div>
</div>
If a ship is given a shoot action to shoot at a target ship with this keyword, before any dice are rolled the target’s player can parley for safe passage. In order to parley, the target must be carrying treasure coins or her player must have treasure coins on his or her home island. The attacking player receives one treasure coin at random from either the target or her player’s home island (chosen by the target’s player). The treasure coin is automatically placed on the attacking player’s home island, and the target can’t be shot at the remainder of that turn.
Q: Is pinning an action, and does it require ramming?
//A: Pinning (or being pinned) is not an action, but a condition or state of being that occurs only after a ship rams an opposing ship. Ramming is required, unless an ability specifically states otherwise.//
Q: Can I pin an enemy ship with my move action?
//A: No, a pin can occur only after ramming, unless an ability specifically allows otherwise.//
Q: If my ship is pinned, can it still shoot? Can it still use its non-movement abilities?
//A: Yes. Pinning only restricts movement, not shooting or the use of most abilities.//
Q: My ship has an ability that triggers when it is pinned. If I move that ship so its bow touches an enemy ship, can I use that ability before rolling for the ram?
//A: No. The ship is not considered pinned until the ram has been resolved. You may, however, use that “when pinned” ability before boarding.//
Q: My ship rammed an enemy ship, and is now pinned because its front mast is touching the mast of the other ship. If either mast is removed and the two game pieces are no longer in direct physical contact, is my ship still pinned?
//A: Yes, your ship remains pinned until the enemy ship moves away or becomes derelict.//
<<<
Only the two following situations can result in a pin:
#A ship rams an enemy ship. (The ship that moved is pinned.)
#A ship with the Sea Monster or Titan keyword rams an enemy ship. (Enemy ship is pinned.)
<<<
If you have chosen crew, put them face down either on your home island or on the deckplate card of the ship to which you assign them. Each crew takes up one cargo space on a ship. No matter what a ship’s cargo capacity, it can’t carry crew with a combined point cost higher than the ship’s point cost.
Crew can use their abilities only on ships, never on islands. If a crew and ship are not of the same nationality, that crew can’t use its ability while on that ship. A crew with a point cost of 0 can be assigned only to a ship that shares its nationality. You must reveal (turn face up) a crew when using its ability, and it must remain face up the remainder of the game.
''Linked crew and ships.'' Some crew are “linked” to other crew and ships (as noted by the symbol printed on their cards). When two linked crew are assigned to the same ship, that ship gets +1 cargo space. In the same way, if one crew is assigned to a ship to which it is linked, that ship gets +1 cargo space. Multiple links on the same ship stack; that is, a ship gains +1 cargo spaces each time two linked crew are assigned to her, or a crew linked to her is assigned to her.
See also: [[Basic Crew]]
For a 40-point game, players must use six islands. If you don't have enough islands, use similarly sized and shaped objects to represent them.
Starting with the first player, players take turns randomly choosing an island and placing it on the play area. Islands must be placed at least 3@@color(red):L@@, but not more than 6@@color(red):L@@ from eachother.
Source: [[Rise of the Fiends]]
Note: [[Pirates of the Spanish Main]] recommends islands be placed at least 2@@color(red):L@@, but no more than 4@@color(red):L@@ from eachother for its 30-point recommended build.
[[Terrain]] is printed on the backs of islands. Using terrain is optional. If you use terrain, players should agree on the number of terrain pieces that will be used; we recommend that players place the same number of terrain pieces, in the same order that they placed islands. Terrain can be placed anywhere on the play area, but each piece must be placed at least S from any island other piece of terrain. See "[[Terrain]]" for details.
Each treasure coin is printed with a number indicating how much gold it is worth. For a 40-point game, each player should contribute eight treasure coins totaling 15 gold points. Shuffle this treasure with the numbers face down, and then randomly distribute four coins to each wild island.
''[[Unique treasure]].'' Some treasure is unique. A player can’t contribute more than one unique treasure with the same name to the total treasure contributed to the game. At the beginning of the game, each unique treasure is worth 0 gold. A unique treasure’s value can change later in the game, depending on its ability text. Players can insert unique treasure into the treasure that is randomly sorted and placed on wild islands. If you contribute unique treasure, however, the rest of the treasure you contribute must still total 15 gold points (for a 40-point game).
/***
| Name:|QuickOpenTagPlugin|
| Purpose:|Makes tag links into a Taggly style open tag plus a normal style drop down menu|
| Creator:|SimonBaird|
| Source:|http://simonbaird.com/mptw/#QuickOpenTagPlugin|
| Requires:|TW 2.x|
| Version|1.1.1 (19-May-06)|
!History
* Version 1.1.1 (19/05/2006)
** Added a little more CSS so the tags look good in standard main menus and normal tiddlers
* Version 1.1 (07/02/2006)
** Fix Firefox 1.5.0.1 crashes
** Updated by ~BidiX[at]~BidiX.info
* Version 1.0 (?/01/2006)
** First release
***/
//{{{
//⊻ ⊽ ⋁ ▼
window.createTagButton_orig_mptw = createTagButton;
window.createTagButton = function(place,tag,excludeTiddler) {
var sp = createTiddlyElement(place,"span",null,"quickopentag");
createTiddlyLink(sp,tag,true,"button");
var theTag = createTiddlyButton(sp,config.macros.miniTag.dropdownchar,config.views.wikified.tag.tooltip.format([tag]),onClickTag);
theTag.setAttribute("tag",tag);
if(excludeTiddler)
theTag.setAttribute("tiddler",excludeTiddler);
return(theTag);
};
config.macros.miniTag = {handler:function(place,macroName,params,wikifier,paramString,tiddler) {
var tagged = store.getTaggedTiddlers(tiddler.title);
if (tagged.length > 0) {
var theTag = createTiddlyButton(place,config.macros.miniTag.dropdownchar,config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);
theTag.setAttribute("tag",tiddler.title);
theTag.className = "miniTag";
}
}};
config.macros.miniTag.dropdownchar = (document.all?"▼":"▾"); // the fat one is the only one that works in IE
config.macros.allTags.handler = function(place,macroName,params)
{
var tags = store.getTags();
var theDateList = createTiddlyElement(place,"ul",null,null,null);
if(tags.length === 0)
createTiddlyElement(theDateList,"li",null,"listTitle",this.noTags);
for (var t=0; t<tags.length; t++)
{
var theListItem =createTiddlyElement(theDateList,"li",null,null,null);
var theLink = createTiddlyLink(theListItem,tags[t][0],true);
var theCount = " (" + tags[t][1] + ")";
theLink.appendChild(document.createTextNode(theCount));
var theDropDownBtn = createTiddlyButton(theListItem," "+config.macros.miniTag.dropdownchar,this.tooltip.format([tags[t][0]]),onClickTag);
theDropDownBtn.setAttribute("tag",tags[t][0]);
}
};
// probably could redo these styles a bit cleaner..
setStylesheet(
".tagglyTagged .quickopentag, .tagged .quickopentag \n"+
" { margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }\n"+
".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }\n"+
".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}\n"+
// extra specificity to make it work?
"#displayArea .viewer .quickopentag a.button, \n"+
"#displayArea .viewer .quickopentag a.tiddyLink, \n"+
"#mainMenu .quickopentag a.tiddyLink, \n"+
"#mainMenu .quickopentag a.tiddyLink \n"+
" { border:0px solid black; }\n"+
"#displayArea .viewer .quickopentag a.button, \n"+
"#mainMenu .quickopentag a.button \n"+
"{ margin-left:0px; padding-left:2px; }\n"+
"#displayArea .viewer .quickopentag a.tiddlyLink, \n"+
"#mainMenu .quickopentag a.tiddlyLink \n"+
" { margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }\n"+
"a.miniTag {font-size:150%;} \n"+
"#mainMenu .quickopentag a.button \n"+
"{ margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }\n"+ // looks better in right justified main menus
"",
"QuickOpenTagStyles");
//}}}
/***
<html>⊻ ⊽ ⋁ ▼ ▾</html>
***/
After a ship resolves a move action, and at no other time, if any part of her bow physically touches any part of an enemy ship, she must ram that ship. Roll one d6; if the result is higher than the number of masts remaining on the enemy ship, the enemy ship’s player must choose and eliminate (remove from the game) one mast from that ship. Derelict ships may not be sunk in this way. Unless the enemy ship becomes derelict from being rammed, the ramming ship automatically becomes pinned. Ships can’t ram each other while they are pinned. Derelict ships may not ram, even if they can move. (Source: [[FAQ|Ramming FAQ]])
''Pin.'' A ship is pinned when her bow is in contact with any part of an enemy ship following a ram. The pinned ship can’t move until the other ship moves away or is derelict.
Pinning requires a ram unless an ability says otherwise; you cannot normally pin an enemy ship with your move action. If damage changes the physical configuration of a ship so that your bow is no longer in contact with it (ie, a mast you were touching is removed) you are still pinned until that ship moves away or becomes derelict. (Source: [[FAQ|Pinning FAQ]])
''Board''. After a ship rams another ship, either player can initiate one (and only one) boarding party as a free action; the player whose turn it is decides first. Each player rolls one d6 and adds the result to the number of masts remaining on his or her ship involved in the ram. The player with the highest total can eliminate one crew on, or steal one treasure from, the other ship. The losing player chooses whether to eliminate a crew member or lose a treasure as well as which specific one is eliminated or stolen.
Only one boarding action may occur after a ram unless an ability states otherwise. If neither player chooses to board the opportunity is lost until another ram action is given. (Source: [[FAQ|Boarding FAQ]])
Q: Can you sink a derelict by ramming it?
//A: No, ramming can only remove masts.//
Q: If my ship is moved by some ability and its bow touches an enemy ship, or I move my ship so a non-bow part is touching the bow of an enemy ship, does a ram occur?
//A: No, a ship can only ram when it has been given a move action.//
Q: If I give my ship a move action and it ends the movement with its bow touching an enemy ship, can I choose not to ram?
//A: No, ramming happens automatically when a ship completes a move action with its bow in contact with an enemy ship. If you do not wish to ram an enemy ship, do not move your ship’s bow in contact with that ship.//
Q: If I move my ship in such a way that its bow is touching more than one opposing ship at the same time, can I ram them both?
//A: No, you can ram only one ship at a time unless an ability specifically allows otherwise.//
Q: If my ship is derelict but has an ability that allows it to move, can it ram an opposing ship?
//A: No, derelicts cannot ram.//
If a crew with this keyword is transferred to an enemy ship, it becomes treasure worth 5 gold to the capturer. If eliminated by an opposing player, it becomes treasure worth 1 gold to that player and appears on that player’s home island as a free action.
When any part of a ship or sea creature moves onto a reef, roll a d6. The result is the reef’s rating until the end of that player’s turn. Place the die result on the reef to remind you what the rating is. Compare the rating to how many masts or segments the game piece had when it was constructed. If the reef’s rating is lower than this number of masts or segments, the game piece has a number of masts eliminated equal to the difference.
For example, if a 3-mast ship sails over a reef with a rating of 4, no masts are eliminated. If a 4-mast ship sails over a reef with a rating of 2, two masts are eliminated. If the reef rating and number of masts or segments are the same, no masts or segments are eliminated.
A game piece that begins its turn on a reef does not have to roll to see if masts or segments are eliminated when it moves off the reef.
If a ship takes more damage than the number of masts remaining as a result of sailing over a reef, she is wrecked and remains on the reef; a wreck blocks movement and lines of fire. To signify that a ship is a wreck, remove one of her hull pieces. This will cause the ship to “lean” onto the reef and look like she is wrecked there. Any crew or treasure on a wreck remains on the wreck, and wrecks may be explored. Sea creatures that have all of their segments removed as the result of a reef are eliminated as normal.
/***
| Name:|RenameTagsPlugin|
| Purpose:|Allows you to easily rename tags|
| Creator:|SimonBaird|
| Source:|http://simonbaird.com/mptw/#RenameTagsPlugin|
| Version:|1.0.1 (5-Mar-06)|
!Description
If you rename a tiddler/tag that is tagging other tiddlers this plugin will ask you if you want to rename the tag in each tiddler where it is used. This is essential if you use tags and ever want to rename them. To use it, open the tag you want to rename as a tiddler (it's the last option in the tag popup menu), edit it, rename it and click done. You will asked if you want to rename the tag. Click OK to rename the tag in the tiddlers that use it. Click Cancel to not rename the tag.
!Example
Try renaming [[Plugins]] or [[CSS]] on this site.
!History
* 1.0.1 (5-Mar-06) - Added feature to allow renaming of tags without side-effect of creating a tiddler
* 1.0.0 (5-Mar-06) - First working version
!Code
***/
//{{{
version.extensions.RenameTagsPlugin = {
major: 1, minor: 0, revision: 0,
date: new Date(2006,3,5),
source: "http://simonbaird.com/mptw/#RenameTagsPlugin"
};
config.macros.RenameTagsPlugin = {};
config.macros.RenameTagsPlugin.prompt = "Rename the tag '%0' to '%1' in %2 tidder%3?";
// these are very useful, perhaps they should be in the core
if (!store.addTag) {
store.addTag = function(title,tag) {
var t=this.getTiddler(title); if (!t || !t.tags) return;
t.tags.push(tag);
};
};
if (!store.removeTag) {
store.removeTag = function(title,tag) {
var t=this.getTiddler(title); if (!t || !t.tags) return;
if (t.tags.find(tag)!=null) t.tags.splice(t.tags.find(tag),1);
};
};
store.saveTiddler_orig_tagrename = store.saveTiddler;
store.saveTiddler = function(title,newTitle,newBody,modifier,modified,tags) {
if (title != newTitle && this.getTaggedTiddlers(title).length > 0) {
// then we are renaming a tag
var tagged = this.getTaggedTiddlers(title);
if (confirm(config.macros.RenameTagsPlugin.prompt.format([title,newTitle,tagged.length,tagged.length>1?"s":""]))) {
for (var i=0;i<tagged.length;i++) {
store.removeTag(tagged[i].title,title);
store.addTag(tagged[i].title,newTitle);
// if tiddler is visible refresh it to show updated tag
story.refreshTiddler(tagged[i].title,false,true);
}
}
if (!this.tiddlerExists(title) && newBody == "") {
// dont create unwanted tiddler
return null;
}
}
return this.saveTiddler_orig_tagrename(title,newTitle,newBody,modifier,modified,tags);
}
//}}}
The repair action allows a ship docked at her home island to repair (bring back into play) one mast.
*Six-sided dice are abbreviated "d6."
*Ability text (found on the fronts of cards) supersedes these rules; that is, abilities are meant to be exceptions to these rules. The only rule that is never supeseded is that a cannon die roll result of 1 always missed.
*Flavor text (found on the back of cards) has no bearing on game play; it is there merely to tell part of the game's story. Reference a card's ability text to see what it can do in the game.
*Two sources of the same ability text on a ship (such as from the ship and a crew, or from one crew and another crew) are not cumulative; that is, you can use that ability on that ship only once per turn.
*The [[bow|Bow]] of a ship is a zone at the front of the ship. It begins where the front of the ship actually touches the table and extends forward (including any masts, mastheads, etc.).
*[[Setup]]
*[[Actions]]
**[[Moving|Move Action]]
***[[Dock]]
***[[Ram]]
***[[Tow]]
**[[Exploring|Explore Action]]
**[[Shooting|Shoot Action]]
***[[Scuttling|Scuttle]]
**[[Repairing|Repair Action]]
*[[Winning|Winning the Game]]
When a ship or sea creature moves over a Sargasso Sea, roll one six-sided die. The result is the Sargasso Sea’s rating until the end of that player’s turn. Compare the rating to how many masts or segments the game piece had when it was constructed. If the Sargasso Sea’s rating is higher than the number of masts or segments, the game piece is tangled in the weeds and might not be able to move.
For example, if a 3-masted ship sails over a Sargasso Sea with a rating of 4, she is tangled. If a 4-masted ship sails over a Sargasso Sea with a rating of 2, the ship is unaffected. If the Sargasso Sea rating and the number of masts or segments are the same, the game piece is unaffected.
If a game piece is tangled, you may use its action for the turn to try to free its. Roll a d6 and add the current number of masts or segments on the tangled game piece to the result. If the result is more than 6, the game piece is untangled. Orient it in any direction, facing away from the Sargasso Sea and touching any edge of the Sargasso Sea. It can be given a move action to move normally next turn.
As a free action, a ship with this keyword can rotate on her stern (the rear of the ship) in any direction after she completes a move action. She can’t use this ability if she has just rammed another ship.
A ship with this keyword has a movable "blade" that can slash your enemies. After a scorpion ship has completed a move action or shoot action, if you can move her blade si that it touches a target opposing ship, the target is immediatly attacked as a free action (using the rank of the blade).
If the attack hits, eliminate a mast from the target (no ability can prevent this). The target is pinned (even sea creatures can be pinned by this ability) and can be boarded (sea creatures still can't be boarded), but this ship is not pinned. This blade attack functions even when this ship is derelict.
If a scorpion ship rams a target on a turn, she can't also use her scorpion blade that turn
Sometimes you may want to sink your own ship rather than have her fall to your opponent. At any time during your turn, you can give one of your derelict ships a free action and declare that you plan to scuttle that ship. Roll a d6. On a result of 5 or 6, that derelict ship sinks at the beginning of your next turn. If an opponent begins to tow that ship before the beginning of your next turn, the scuttle attempt fails. All crew and treasure on a scuttled ship are removed from the game when she sinks.
A sea dragon is a sea creature. A sea dragon has a base move of <D>, meaning that is has unlimited movement: It can move anywhere on the play area, and it ignores all terrain and islands when it moves.
A sea dragon can be given two types of shoot actions: a normal shoot action and a swoop attack. A normal shoot action follows all normal shoot action rules. A swoop attack allows the sea dragon to attack a target (either submerged or on the surface) within L+L of the sea dragon’s base. Roll a d6; the swoop attack hits on a result of 4 or higher, and deals 2 damage if it hits. After the swoop attack resolves, place the sea dragon as close as possible to its target without touching the target. If given a shoot action on its turn, a sea dragon can make only one attack: either a normal shoot action or a swoop attack.
A game piece with this keyword is made up of segments that act as masts in the game. These segments come in many different forms, such as tentacles, coils, heads, tails, and so on. A sea monster can be given only move and shoot actions. A sea monster’s movement is measured from the white dot on its base or from its base nearest the tentacles. Before each turn, a sea monster’s controller decides if it is submerged or on the surface. If submerged, a sea monster can only move—not shoot or be shot at. If it is on the surface, it acts like a ship with the following modifications.
A sea monster pins a ship if it rams any part of the ship; it can’t be pinned. After winning a boarding party, if a sea monster chooses to take a unique treasure, eliminate that treasure. A sea monster can’t tow. A sea monster can’t be assigned crew. A sea monster is eliminated immediately if it has no segments.
The game can be played on any tabletop or other flat surface. Each player rolls a d6 (reroll ties). The player who rolls the highest result is the first player; the other is the second player.
#[[Place islands|Placing Islands]]
#[[Place terrain|Placing Terrain]] (all expansions after [[Pirates of the Spanish Main]])
#[[Choose home islands|Choosing Home Islands]]
#[[Place crew|Placing Crew]]
#[[Place treasure|Placing Treasure]]
See also: [[Multiplayer|Multiplayer Variant]], [[Scenarios]]
Q: Do I build my fleet during setup?
//A: No, you build your fleet before setup begins.//
Q: How many treasures and what values should be used for a multiplayer or non-standard (40-point build) game?
//A: Unless specified by an event description, players may use any mutually agreed-upon quantities and values.//
Q: What are the restrictions for island placement?
//A: Each island must be placed at least 3L away from all other islands, but no more than 6L away from at least one other island.//
<<<
A legal, albeit extreme, island placement:
(Island) <-6L-> (Island) <-6L-> (Island) <-6L-> (Island) <-6L-> (Island) <-6L-> (Island)
<<<
Q: What is the required size for a playing area?
//A: The overall size of the playing area is limited only by the island placement restrictions and total space available. As a minimum, an area approximately 3ft x 3ft (1m x 1m) is recommended.//
Q: Do all players have to agree to use the mysterious islands, like they do with terrain?
//A: No, each individual player may decide if the islands they contribute to the game are mysterious or not.//
This ship may repair at sea or at any island. Silver Explorer (3 pts): This ship may dock and explore a wild island using the same move action.
''Cost:'' 2 Points
When a cannon shoots, draw an invisible "line of fire" from the printed die on the mast to any part of the target. If this line crosses your own ship's masts or sails, an island, or ships other than the target the line of fire is being drawn to, the shot can't be made. You can't shoot at ships docked at their home islands, and you can't shoot at ships in your own fleet.
You may choose to fire any number of a ship's cannons in a single shoot action and targets may be chosen before each roll. Cannons may only fire at valid targets. (Source:[[FAQ|Shooting FAQ]])
A die roll result of "1" automatically misses.
''Sinking a ship.'' When a ship sinks, remove her and any crew on her from the game.
''Sinking a ship with treasure on her.'' Add together all the gold on the sunken ship and divide it equally between the ship's controller and the player who sank the ship. If the total gold can't be divided equally, the player who sank the ship gets the greater amount. Place treasure you gain in this way on your home island as a free action. Unique treasure is removed from the game when it sinks.
Q: During a shoot action, how many cannons can I fire?
//A: During a single shoot action, you may fire each of your ship’s cannons provided that they have valid targets and a clear line of fire.//
Q: Do I have to pick targets and roll for all of my cannons at the same time?
//A: No, you may fire each cannon individually and choose the target before each roll.//
Q: If my cannon can only reach the flag or the oars of a ship, can I shoot it?
//A: Yes. You may target any part of a ship, including flags, sails, oars, and the base of a submarine or sea creature.//
Q: Do I have to have a target, or can my ship shoot at the water?
//A: A ship cannot be given a shoot action if it does not have a valid target, unless it has an ability that allows it to shoot without a specific target.//
Q: If I sink a ship carrying a single treasure worth 5 gold, do I get the single treasure token or is the value split with the odd amount going to me?
//A: When a ship is sunk, the total value of gold onboard is split evenly with the odd amount going to the attacker. In this example, the attacker would receive 3 gold and the owner of the sunken ship would receive 2 gold.//
<<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change TiddlyWiki advanced options'>>
This ship may dock and explore a wild island using the same move action. Any treasure coin printed with a silver number that this ship unloads at your home island is worth +1 gold.
''Cost:'' 3 Points
Pirates of the Cursed Seas
Once per turn when this ship is given a shoot action, you may declare that one of her cannons is shooting a smokepot instead of a cannon; you do not need to target a ship. Simply place the center of a fog bank within S of this ship; it may not touch an island or any ship docked at an island. Remove the fog bank at the beginning of your next turn.
''Cost:'' 3 Points
/***
|''Name:''|SparklinePlugin|
|''Description:''|Sparklines macro|
***/
//{{{
if(!version.extensions.SparklinePlugin) {
version.extensions.SparklinePlugin = {installed:true};
//--
//-- Sparklines
//--
config.macros.sparkline = {};
config.macros.sparkline.handler = function(place,macroName,params)
{
var data = [];
var min = 0;
var max = 0;
var v;
for(var t=0; t<params.length; t++) {
v = parseInt(params[t]);
if(v < min)
min = v;
if(v > max)
max = v;
data.push(v);
}
if(data.length < 1)
return;
var box = createTiddlyElement(place,"span",null,"sparkline",String.fromCharCode(160));
box.title = data.join(",");
var w = box.offsetWidth;
var h = box.offsetHeight;
box.style.paddingRight = (data.length * 2 - w) + "px";
box.style.position = "relative";
for(var d=0; d<data.length; d++) {
var tick = document.createElement("img");
tick.border = 0;
tick.className = "sparktick";
tick.style.position = "absolute";
tick.src = "data:image/gif,GIF89a%01%00%01%00%91%FF%00%FF%FF%FF%00%00%00%C0%C0%C0%00%00%00!%F9%04%01%00%00%02%00%2C%00%00%00%00%01%00%01%00%40%02%02T%01%00%3B";
tick.style.left = d*2 + "px";
tick.style.width = "2px";
v = Math.floor(((data[d] - min)/(max-min)) * h);
tick.style.top = (h-v) + "px";
tick.style.height = v + "px";
box.appendChild(tick);
}
};
}
//}}}
Once per turn when this ship is given a shoot action, one of her cannons may shoot a stinkpot at a target within S of her. You must declare which cannon will shoot the stinkpot before rolling the d6. If the stinkpot hits, do not eliminate a mast; instead, the target’s crew cannot use their abilities on the target’s next turn.
''Cost:'' 2 Points
/***
Inspired by k2
!General
***/
/*{{{*/
body {
background: #EDEDED;
}
#contentWrapper{
background: #fff;
border:1px solid #DDD;
margin: 0 auto;
width: 780px;
padding:0;
}
/*}}}*/
/***
!Links
***/
/*{{{*/
a,
a.tiddlyLink,
a.button,
a.externalLink,
#sidebarOptions .sliderPanel a{
color: #1D65BC;
text-decoration: none;
background: transparent;
border: 0;
}
a:hover,
a.tiddlyLink:hover,
a.button:hover,
a.externalLink:hover,
#sidebarOptions .sliderPanel a:hover
{
border: 0;
color: #1D65BC;
text-decoration: underline;
background:transparent;
}
.button:active {background:#1d65bc; border:0;}
.viewer .button:active, .viewer .marked, .viewer .highlight {
color: #fff !important;
background: #3371a3;
border: 0;
}
/*}}}*/
/***
!Header
***/
/*{{{*/
.gradient {margin-top:20px; background:#3371A3;}
.titleLine{padding: 80px 40px 32px 40px;}
.titleLine a:hover{color:#fff; border-bottom:1px dotted #eee; text-decoration:none;}
.titleLine a{color:#fff; border-bottom:1px dotted #ccc;}
.siteTitle {
font-size: 2.2em;
font-weight: bold;
color:#fff;
}
.siteSubtitle {
font-size: 1.0em;
display: block;
margin: .3em auto 1em;
color:#fff;
}
/*}}}*/
/***
!TopMenu
***/
/*{{{*/
#topMenu br {display:none; }
#topMenu { background: #3371A3; font-size:1em; }
#topMenu { padding:5px 32px; }
#topMenu .button, #topMenu .tiddlyLink {
margin-left:0.1em; margin-right:0.1em;
padding:0.5em;
color:white; font-weight:normal;
}
#topMenu a.button:hover, #topMenu a.tiddlyLink:hover { background:#fff; color:#333; text-decoration:none;}
.searchBar {float:right; font-size:0.9em;}
.searchBar .button {display:block; border:none; color:#ccc;}
.searchBar .button:hover{border:none; color:#eee;}
.searchBar input{
border: 1px inset #1d65bc; background:#dbdee3;
}
.searchBar input:focus {
border: 1px inset #3371a3; background:#fff;
}
/*}}}*/
/***
!Display
***/
/***
!!!Display General
***/
/*{{{*/
#displayArea { margin: 0em 15.7em 0em 1em; }
#displayFooter {
clear: both;
}
#displayFooter {
clear: both;
}
#tiddlerDisplay{padding-top:1em;}
/*}}}*/
/***
!!!Tiddler
***/
/*{{{*/
.tiddler {margin-bottom:1em; padding-bottom:1em;}
.tiddler {padding-left:2em;}
.title {color:#333; font-size:1.8em; border-bottom:1px solid #333; padding-bottom:0.3px;}
.subtitle { font-size:90%; color:#bbb; padding-left:0.25em; margin-top:0.1em; }
.shadow .title {
color: #aaa;
}
h1,h2,h3,h4,h5 { color: #333; background: transparent; padding-bottom:2px; border-bottom: 1px dotted #666; }
* html .viewer pre {
margin-left: 0em;
}
.viewer hr {
border: 0;
border-top: solid 1px #333;
margin: 0 8em;
color: #333;
}
.viewer a.button {color:#000; border:1px solid #1D65BC; font-weight:bold;}
.viewer a.button:hover{color:#fff; background:#3371a3; text-decoration:none;}
.tagClear {clear:none;}
.toolbar .button {color:#bbb; border:none;}
.toolbar .button:hover, .toolbar .highlight, .toolbar .marked, .toolbar a.button:active {background:transparent; color:#111; border:none; text-decoration:underline;}
.tiddler {border-bottom:3px solid #EEF1F3; padding-bottom:2em; padding-top:0em;}
.title {border-bottom:none; margin-right:8em;}
h1,h2,h3,h4,h5 { color: #333; background: transparent; padding-bottom:2px; border-bottom: none; }
.viewer pre, .viewer code {
border: 1px solid #B2B6BE;
background: #EBEEF1;}
.tagging, .tagged {
border: 1px solid #dbdee3;
background-color: #ebeef1;
}
.tagglyTaggingBox{border:1px solid #1D65BC}
.selected .tagging, .selected .tagged {
background-color: #dbdee3;
border: 1px solid #B2B6BE;
}
.tagging .listTitle, .tagged .listTitle {
color: #bbb;
}
.selected .tagging .listTitle, .selected .tagged .listTitle {
color: #014;
}
.tagging .button:hover, .tagged .button:hover {
border: none; background:transparent; text-decoration:underline; color:#014;
}
.tagged .highlight, .tagged .marked, .tagged a.button:active {text-decoration:underline; background:transparent; color:#014;}
.tagging .button, .tagged .button {
color:#bbb;
}
.selected .tagging .button, .selected .tagged .button {
color:#014;
}
.viewer blockquote {
border-left:7px solid #ebeef1;
}
.viewer table {
border: 1px solid #3371a3;
}
.viewer th, thead td {
background: #3371a3;
border: 1px solid #3371a3;
color: #fff;
}
.viewer td, .viewer tr {
border: 1px solid #3371a3;
}
/*}}}*/
/***
!!!Editor
***/
/*{{{*/
* html .editor textarea, * html .editor input {
width: 98%;
}
.editor input, .editor textarea {
border: 1px solid #1d65bc; background:#ebeef1;
}
.editor {padding-top:0.3em;}
.editor textarea:focus, .editor input:focus {
border: 1px inset #3371a3; background:#fff;
}
/*}}}*/
/***
!Sidebar
***/
/*{{{*/
#sidebar{
position:relative;
float:right;
margin-bottom:1em;
display:inline;
width: 16em;
}
#sidebar .tabSelected, #sidebar .tabSected:hover {
color: #000;
background: #dbdee3;
border-top: solid 1px #B2B6BE;
border-left: solid 1px #B2B6BE;
border-right: solid 1px #B2B6BE;
border-bottom:solid 1px #dbdee3 !important;
padding-bottom:1px;
text-decoration:none;
}
#sidebarOptions, #sidebarTabs {border-left: 1px solid #B2B6BE;}
#sidebarTabs {border-bottom: 1px solid #B2B6BE;}
#sidebar .tabUnselected, #sidebar .tabUnselected:hover {
color: #F0F3F5;
background: #B2B6BE ;
border: solid 1px #B2B6BE ;
padding-bottom:1px;
}
#sidebarTabs .tabContents {border:none; background:#DBDEE3; }
#sidebarTabs .tabContents {border-top:1px solid #B2B6BE;}
#sidebarTabs .tabContents .tabContents {border-left:1px solid #b2b6be;}
#sidebarOptions .sliderPanel {
background: #EBEEF1; border:none;
}
#sidebarOptions input {
border: 1px solid #1d65bc;
}
#sidebarOptions input:hover, #sidebarOptions input:active, #sidebarOptions input:focus {
border: 1px inset #3371a3;
}
#sidebar {background: #EBEEF1 ; right:0;}
#sidebar .button:active, #sidebar .marked, #sidebar .highlight {color:#014; background:transparent;text-decoration:none}
/*}}}*/
/***
!!Popups
***/
/*{{{*/
.popup {
background: #3371a3;
border: 1px solid #333;
}
.popup hr {
color: #333;
background: #333;
border-bottom: 1px;
}
.popup li.disabled {
color: #333;
}
.popup li a, .popup li a:visited {
color: #eee;
border: none;
}
.popup li a:hover {
background: #3371a3;
color: #fff;
border: none;
text-decoration:underline;
}
/*}}}*/
/***
!!Message Area
***/
/*{{{*/
#messageArea {
border: 2px dashed #3371a3;
background: #dbdee3;
color: #fff;
font-size:90%;
}
#messageArea .button {
color: #1d65bc;
background: #ebeef1;
text-decoration:none;
font-weight:bold;
border:none;
}
#messageArea a.button {color:#1d65bc;}
#messageArea .button:hover {text-decoration:underline;}
/*}}}*/
/***
!!Tabs
***/
/*{{{*/
.viewer .tabSelected, .viewer .tabSelected:hover{
color: #014;
background: #eee;
border-left: 1px solid #B2B6BE;
border-top: 1px solid #B2B6BE;
border-right: 1px solid #B2B6BE;
}
.viewer .tabUnselected, .viewer .tabUnselected:hover {
color: #fff;
background: #B2B6BE;
}
. viewer .tabContents {
color: #014;
background: #ebeef1;
border: 1px solid #B2B6BE;
}
/*}}}*/
.blog h2, .blog h3, .blog h4{
margin:0;
padding:0;
border-bottom:none;
}
.blog {margin-left:1.5em;}
.blog .excerpt {
margin:0;
margin-top:0.3em;
padding: 0;
margin-left:1em;
padding-left:1em;
font-size:90%;
border-left:1px solid #ddd;
}
#tiddlerWhatsNew h1, #tiddlerWhatsNew h2 {border-bottom:none;}
div[tags~="RecentUpdates"], div[tags~="lewcidExtension"] {margin-bottom: 2em;}
#topMenu .fontResizer {float:right;}
#topMenu .fontResizer .button{border:1px solid #3371A3;}
#topMenu .fontResizer .button:hover {border:1px solid #fff; color:#3371A3;}
#sidebarTabs .txtMainTab .tiddlyLinkExisting {
font-weight: normal;
font-style: normal;
}
#sidebarTabs .txtMoreTab .tiddlyLinkExisting {
font-weight: bold;
font-style: normal;
}
/*{{{*/
@media print {
#mainMenu, #titleLine, #topMenu, .subtitle, .header, .tagglyTagging, .siteTitle, .siteSubtitle, .searchBar, #sidebar, #messageArea, .toolbar, .tagglyTagged, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
A game piece with this keyword is a ship with a hull composed of two or three hull pieces that act as masts in the game. Submarines can’t pin or be pinned, or tow or be towed. A submarine can either move on the surface or dive underwater and become submerged. Before each of his or her turns, a submarine’s player decides whether or not she is submerged.
If a submarine is submerged, lift off her hull so that only her base and circular “spine” are showing. A submerged submarine can only move—not shoot, be shot at, or be rammed. She can ram another ship, but regardless of success, the submarine must be moved <S> away from the target ship in any direction as a free action after the ram attempt.
If a submarine is on the surface, replace her hull (minus any removed hull pieces). A submarine uses all the rules for ships, with the following modifications.
A submarine can be rammed (and boarded), but she is not damaged when rammed. Each time a submarine is hit, remove one of her hull pieces. When she has no more hull pieces, she is derelict.
/***
|Name|TagglyListPlugin|
|Created by|SimonBaird|
|Location|http://simonbaird.com/mptw/#TagglyListPlugin|
|Version|1.1.2 25-Apr-06|
|Requires|See TagglyTagging|
!History
* 1.1.2 (25-Apr-2006) embedded TagglyTaggingStyles. No longer need separated tiddler for styles.
* 1.1.1 (6-Mar-2006) fixed bug with refreshAllVisible closing tiddlers being edited. Thanks Luke Blanshard.
***/
/***
!Setup and config
***/
//{{{
version.extensions.TagglyListPlugin = {
major: 1, minor: 1, revision: 2,
date: new Date(2006,4,25),
source: "http://simonbaird.com/mptw/#TagglyListPlugin"
};
config.macros.tagglyList = {};
config.macros.tagglyListByTag = {};
config.macros.tagglyListControl = {};
config.macros.tagglyListWithSort = {};
config.macros.hideSomeTags = {};
// change this to your preference
config.macros.tagglyListWithSort.maxCols = 6;
config.macros.tagglyList.label = "Tagged as %0:";
// the default sort options. set these to your preference
config.macros.tagglyListWithSort.defaults = {
sortBy:"title", // title|created|modified
sortOrder: "asc", // asc|desc
hideState: "show", // show|hide
groupState: "nogroup", // nogroup|group
numCols: 1
};
// these tags will be ignored by the grouped view
config.macros.tagglyListByTag.excludeTheseTags = [
"systemConfig",
"TiddlerTemplates"
];
config.macros.tagglyListControl.tags = {
title:"sortByTitle",
modified: "sortByModified",
created: "sortByCreated",
asc:"sortAsc",
desc:"sortDesc",
hide:"hideTagged",
show:"showTagged",
nogroup:"noGroupByTag",
group:"groupByTag",
cols1:"list1Cols",
cols2:"list2Cols",
cols3:"list3Cols",
cols4:"list4Cols",
cols5:"list5Cols",
cols6:"list6Cols",
cols7:"list7Cols",
cols8:"list8Cols",
cols9:"list9Cols"
}
// note: should match config.macros.tagglyListControl.tags
config.macros.hideSomeTags.tagsToHide = [
"sortByTitle",
"sortByCreated",
"sortByModified",
"sortDesc",
"sortAsc",
"hideTagged",
"showTagged",
"noGroupByTag",
"groupByTag",
"list1Cols",
"list2Cols",
"list3Cols",
"list4Cols",
"list5Cols",
"list6Cols",
"list7Cols",
"list8Cols",
"list9Cols"
];
//}}}
/***
!Utils
***/
//{{{
// from Eric
function isTagged(title,tag) {
var t=store.getTiddler(title); if (!t) return false;
return (t.tags.find(tag)!=null);
}
// from Eric
function toggleTag(title,tag) {
var t=store.getTiddler(title); if (!t || !t.tags) return;
if (t.tags.find(tag)==null) t.tags.push(tag);
else t.tags.splice(t.tags.find(tag),1);
}
function addTag(title,tag) {
var t=store.getTiddler(title); if (!t || !t.tags) return;
t.tags.push(tag);
}
function removeTag(title,tag) {
var t=store.getTiddler(title); if (!t || !t.tags) return;
if (t.tags.find(tag)!=null) t.tags.splice(t.tags.find(tag),1);
}
// from Udo
Array.prototype.indexOf = function(item) {
for (var i = 0; i < this.length; i++) {
if (this[i] == item) {
return i;
}
}
return -1;
};
Array.prototype.contains = function(item) {
return (this.indexOf(item) >= 0);
}
//}}}
/***
!tagglyList
displays a list of tagged tiddlers.
parameters are sortField and sortOrder
***/
//{{{
// not used at the moment...
function sortedListOfOtherTags(tiddler,thisTag) {
var list = tiddler.tags.concat(); // so we are working on a clone..
for (var i=0;i<config.macros.hideSomeTags.tagsToHide.length;i++) {
if (list.find(config.macros.hideSomeTags.tagsToHide[i]) != null)
list.splice(list.find(config.macros.hideSomeTags.tagsToHide[i]),1); // remove hidden ones
}
for (var i=0;i<config.macros.tagglyListByTag.excludeTheseTags.length;i++) {
if (list.find(config.macros.tagglyListByTag.excludeTheseTags[i]) != null)
list.splice(list.find(config.macros.tagglyListByTag.excludeTheseTags[i]),1); // remove excluded ones
}
list.splice(list.find(thisTag),1); // remove thisTag
return '[[' + list.sort().join("]] [[") + ']]';
}
function sortHelper(a,b) {
if (a == b) return 0;
else if (a < b) return -1;
else return +1;
}
config.macros.tagglyListByTag.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
var sortBy = params[0] ? params[0] : "title";
var sortOrder = params[1] ? params[1] : "asc";
var result = store.getTaggedTiddlers(tiddler.title,sortBy);
if (sortOrder == "desc")
result = result.reverse();
var leftOvers = []
for (var i=0;i<result.length;i++) {
leftOvers.push(result[i].title);
}
var allTagsHolder = {};
for (var i=0;i<result.length;i++) {
for (var j=0;j<result[i].tags.length;j++) {
if (
result[i].tags[j] != tiddler.title // not this tiddler
&& config.macros.hideSomeTags.tagsToHide.find(result[i].tags[j]) == null // not a hidden one
&& config.macros.tagglyListByTag.excludeTheseTags.find(result[i].tags[j]) == null // not excluded
) {
if (!allTagsHolder[result[i].tags[j]])
allTagsHolder[result[i].tags[j]] = "";
allTagsHolder[result[i].tags[j]] += "**[["+result[i].title+"]]\n";
if (leftOvers.find(result[i].title) != null)
leftOvers.splice(leftOvers.find(result[i].title),1); // remove from leftovers. at the end it will contain the leftovers...
}
}
}
var allTags = [];
for (var t in allTagsHolder)
allTags.push(t);
allTags.sort(function(a,b) {
var tidA = store.getTiddler(a);
var tidB = store.getTiddler(b);
if (sortBy == "title") return sortHelper(a,b);
else if (!tidA && !tidB) return 0;
else if (!tidA) return -1;
else if (!tidB) return +1;
else return sortHelper(tidA[sortBy],tidB[sortBy]);
});
var markup = "";
if (sortOrder == "desc") {
allTags.reverse();
}
else {
// leftovers first...
for (var i=0;i<leftOvers.length;i++)
markup += "*[["+leftOvers[i]+"]]\n";
}
for (var i=0;i<allTags.length;i++)
markup += "*[["+allTags[i]+"]]\n" + allTagsHolder[allTags[i]];
if (sortOrder == "desc") {
// leftovers last...
for (var i=0;i<leftOvers.length;i++)
markup += "*[["+leftOvers[i]+"]]\n";
}
wikify(markup,place);
}
config.macros.tagglyList.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
var sortBy = params[0] ? params[0] : "title";
var sortOrder = params[1] ? params[1] : "asc";
var numCols = params[2] ? params[2] : 1;
var result = store.getTaggedTiddlers(tiddler.title,sortBy);
if (sortOrder == "desc")
result = result.reverse();
var listSize = result.length;
var colSize = listSize/numCols;
var remainder = listSize % numCols;
var upperColsize;
var lowerColsize;
if (colSize != Math.floor(colSize)) {
// it's not an exact fit so..
lowerColsize = Math.floor(colSize);
upperColsize = Math.floor(colSize) + 1;
}
else {
lowerColsize = colSize;
upperColsize = colSize;
}
var markup = "";
var c=0;
var newTaggedTable = createTiddlyElement(place,"table");
var newTaggedBody = createTiddlyElement(newTaggedTable,"tbody");
var newTaggedTr = createTiddlyElement(newTaggedBody,"tr");
for (var j=0;j<numCols;j++) {
var foo = "";
var thisSize;
if (j<remainder)
thisSize = upperColsize;
else
thisSize = lowerColsize;
for (var i=0;i<thisSize;i++)
foo += ( "*[[" + result[c++].title + "]]\n"); // was using splitList.shift() but didn't work in IE;
var newTd = createTiddlyElement(newTaggedTr,"td",null,"tagglyTagging");
wikify(foo,newTd);
}
};
/* snip for later.....
//var groupBy = params[3] ? params[3] : "t.title.substr(0,1)";
//var groupBy = params[3] ? params[3] : "sortedListOfOtherTags(t,tiddler.title)";
//var groupBy = params[3] ? params[3] : "t.modified";
var groupBy = null; // for now. groupBy here is working but disabled for now.
var prevGroup = "";
var thisGroup = "";
if (groupBy) {
result.sort(function(a,b) {
var t = a; var aSortVal = eval(groupBy); var aSortVal2 = eval("t".sortBy);
var t = b; var bSortVal = eval(groupBy); var bSortVal2 = eval("t".sortBy);
var t = b; var bSortVal2 = eval(groupBy);
return (aSortVal == bSortVal ?
(aSortVal2 == bSortVal2 ? 0 : (aSortVal2 < bSortVal2 ? -1 : +1)) // yuck
: (aSortVal < bSortVal ? -1 : +1));
});
}
if (groupBy) {
thisGroup = eval(groupBy);
if (thisGroup != prevGroup)
markup += "*[["+thisGroup+']]\n';
markup += "**[["+t.title+']]\n';
prevGroup = thisGroup;
}
*/
//}}}
/***
!tagglyListControl
Use to make the sort control buttons
***/
//{{{
function getSortBy(title) {
var tiddler = store.getTiddler(title);
var defaultVal = config.macros.tagglyListWithSort.defaults.sortBy;
if (!tiddler) return defaultVal;
var usetags = config.macros.tagglyListControl.tags;
if (tiddler.tags.contains(usetags["title"])) return "title";
else if (tiddler.tags.contains(usetags["modified"])) return "modified";
else if (tiddler.tags.contains(usetags["created"])) return "created";
else return defaultVal;
}
function getSortOrder(title) {
var tiddler = store.getTiddler(title);
var defaultVal = config.macros.tagglyListWithSort.defaults.sortOrder;
if (!tiddler) return defaultVal;
var usetags = config.macros.tagglyListControl.tags;
if (tiddler.tags.contains(usetags["asc"])) return "asc";
else if (tiddler.tags.contains(usetags["desc"])) return "desc";
else return defaultVal;
}
function getHideState(title) {
var tiddler = store.getTiddler(title);
var defaultVal = config.macros.tagglyListWithSort.defaults.hideState;
if (!tiddler) return defaultVal;
var usetags = config.macros.tagglyListControl.tags;
if (tiddler.tags.contains(usetags["hide"])) return "hide";
else if (tiddler.tags.contains(usetags["show"])) return "show";
else return defaultVal;
}
function getGroupState(title) {
var tiddler = store.getTiddler(title);
var defaultVal = config.macros.tagglyListWithSort.defaults.groupState;
if (!tiddler) return defaultVal;
var usetags = config.macros.tagglyListControl.tags;
if (tiddler.tags.contains(usetags["group"])) return "group";
else if (tiddler.tags.contains(usetags["nogroup"])) return "nogroup";
else return defaultVal;
}
function getNumCols(title) {
var tiddler = store.getTiddler(title);
var defaultVal = config.macros.tagglyListWithSort.defaults.numCols; // an int
if (!tiddler) return defaultVal;
var usetags = config.macros.tagglyListControl.tags;
for (var i=1;i<=config.macros.tagglyListWithSort.maxCols;i++)
if (tiddler.tags.contains(usetags["cols"+i])) return i;
return defaultVal;
}
function getSortLabel(title,which) {
// TODO. the strings here should be definable in config
var by = getSortBy(title);
var order = getSortOrder(title);
var hide = getHideState(title);
var group = getGroupState(title);
if (which == "hide") return (hide == "show" ? "−" : "+"); // 0x25b8;
else if (which == "group") return (group == "group" ? "normal" : "grouped");
else if (which == "cols") return "cols±"; // ±
else if (by == which) return which + (order == "asc" ? "↓" : "↑"); // ↑ ↓
else return which;
}
function handleSortClick(title,which) {
var currentSortBy = getSortBy(title);
var currentSortOrder = getSortOrder(title);
var currentHideState = getHideState(title);
var currentGroupState = getGroupState(title);
var currentNumCols = getNumCols(title);
var tags = config.macros.tagglyListControl.tags;
// if it doesn't exist, lets create it..
if (!store.getTiddler(title))
store.saveTiddler(title,title,"",config.options.txtUserName,new Date(),null);
if (which == "hide") {
// toggle hide state
var newHideState = (currentHideState == "hide" ? "show" : "hide");
removeTag(title,tags[currentHideState]);
if (newHideState != config.macros.tagglyListWithSort.defaults.hideState)
toggleTag(title,tags[newHideState]);
}
else if (which == "group") {
// toggle hide state
var newGroupState = (currentGroupState == "group" ? "nogroup" : "group");
removeTag(title,tags[currentGroupState]);
if (newGroupState != config.macros.tagglyListWithSort.defaults.groupState)
toggleTag(title,tags[newGroupState]);
}
else if (which == "cols") {
// toggle num cols
var newNumCols = currentNumCols + 1; // confusing. currentNumCols is an int
if (newNumCols > config.macros.tagglyListWithSort.maxCols || newNumCols > store.getTaggedTiddlers(title).length)
newNumCols = 1;
removeTag(title,tags["cols"+currentNumCols]);
if (("cols"+newNumCols) != config.macros.tagglyListWithSort.defaults.groupState)
toggleTag(title,tags["cols"+newNumCols]);
}
else if (currentSortBy == which) {
// toggle sort order
var newSortOrder = (currentSortOrder == "asc" ? "desc" : "asc");
removeTag(title,tags[currentSortOrder]);
if (newSortOrder != config.macros.tagglyListWithSort.defaults.sortOrder)
toggleTag(title,tags[newSortOrder]);
}
else {
// change sortBy only
removeTag(title,tags["title"]);
removeTag(title,tags["created"]);
removeTag(title,tags["modified"]);
if (which != config.macros.tagglyListWithSort.defaults.sortBy)
toggleTag(title,tags[which]);
}
store.setDirty(true); // save is required now.
story.refreshTiddler(title,false,true); // force=true
}
config.macros.tagglyListControl.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
var onclick = function(e) {
if (!e) var e = window.event;
handleSortClick(tiddler.title,params[0]);
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return false;
};
createTiddlyButton(place,getSortLabel(tiddler.title,params[0]),"Click to change sort options",onclick,params[0]=="hide"?"hidebutton":"button");
}
//}}}
/***
!tagglyListWithSort
put it all together..
***/
//{{{
config.macros.tagglyListWithSort.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
if (tiddler && store.getTaggedTiddlers(tiddler.title).length > 0)
// todo make this readable
wikify(
"<<tagglyListControl hide>>"+
(getHideState(tiddler.title) != "hide" ?
'<html><span class="tagglyLabel">'+config.macros.tagglyList.label.format([tiddler.title])+' </span></html>'+
"<<tagglyListControl title>><<tagglyListControl modified>><<tagglyListControl created>><<tagglyListControl group>>"+(getGroupState(tiddler.title)=="group"?"":"<<tagglyListControl cols>>")+"\n" +
"<<tagglyList" + (getGroupState(tiddler.title)=="group"?"ByTag ":" ") + getSortBy(tiddler.title)+" "+getSortOrder(tiddler.title)+" "+getNumCols(tiddler.title)+">>" // hacky
// + \n----\n" +
//"<<tagglyList "+getSortBy(tiddler.title)+" "+getSortOrder(tiddler.title)+">>"
: ""),
place,null,tiddler);
}
config.macros.tagglyTagging = { handler: config.macros.tagglyListWithSort.handler };
//}}}
/***
!hideSomeTags
So we don't see the sort tags.
(note, they are still there when you edit. Will that be too annoying?
***/
//{{{
// based on tags.handler
config.macros.hideSomeTags.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
var theList = createTiddlyElement(place,"ul");
if(params[0] && store.tiddlerExists[params[0]])
tiddler = store.getTiddler(params[0]);
var lingo = config.views.wikified.tag;
var prompt = tiddler.tags.length == 0 ? lingo.labelNoTags : lingo.labelTags;
createTiddlyElement(theList,"li",null,"listTitle",prompt.format([tiddler.title]));
for(var t=0; t<tiddler.tags.length; t++)
if (!this.tagsToHide.contains(tiddler.tags[t])) // this is the only difference from tags.handler...
createTagButton(createTiddlyElement(theList,"li"),tiddler.tags[t],tiddler.title);
}
//}}}
/***
!Refresh everything when we save a tiddler. So the tagged lists never get stale. Is this too slow???
***/
//{{{
function refreshAllVisible() {
story.forEachTiddler(function(title,element) {
if (element.getAttribute("dirty") != "true")
story.refreshTiddler(title,false,true);
});
}
story.saveTiddler_orig_mptw = story.saveTiddler;
story.saveTiddler = function(title,minorUpdate) {
var result = this.saveTiddler_orig_mptw(title,minorUpdate);
refreshAllVisible();
return result;
}
store.removeTiddler_orig_mptw = store.removeTiddler;
store.removeTiddler = function(title) {
this.removeTiddler_orig_mptw(title);
refreshAllVisible();
}
config.shadowTiddlers.TagglyTaggingStyles = "/***\nTo use, add {{{[[TagglyTaggingStyles]]}}} to your StyleSheet tiddler, or you can just paste the CSS in directly. See also ViewTemplate, EditTemplate and TagglyTagging.\n***/\n/*{{{*/\n.tagglyTagged li.listTitle { display:none;}\n.tagglyTagged li { display: inline; font-size:90%; }\n.tagglyTagged ul { margin:0px; padding:0px; }\n.tagglyTagging { padding-top:0.5em; }\n.tagglyTagging li.listTitle { display:none;}\n.tagglyTagging ul { margin-top:0px; padding-top:0.5em; padding-left:2em; margin-bottom:0px; padding-bottom:0px; }\n\n/* .tagglyTagging .tghide { display:inline; } */\n\n.tagglyTagging { vertical-align: top; margin:0px; padding:0px; }\n.tagglyTagging table { margin:0px; padding:0px; }\n\n\n.tagglyTagging .button { display:none; margin-left:3px; margin-right:3px; }\n.tagglyTagging .button, .tagglyTagging .hidebutton { color:#aaa; font-size:90%; border:0px; padding-left:0.3em;padding-right:0.3em;}\n.tagglyTagging .button:hover, .hidebutton:hover { background:#eee; color:#888; }\n.selected .tagglyTagging .button { display:inline; }\n\n.tagglyTagging .hidebutton { color:white; } /* has to be there so it takes up space. tweak if you're not using a white tiddler bg */\n.selected .tagglyTagging .hidebutton { color:#aaa }\n\n.tagglyLabel { color:#aaa; font-size:90%; }\n\n.tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }\n.tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}\n.tagglyTagging ul ul li {margin-left:0.5em; }\n\n.editLabel { font-size:90%; padding-top:0.5em; }\n/*}}}*/\n";
refreshStyles("TagglyTaggingStyles");
//}}}
// // <html>▸▾−±</html>
<!---
| Name:|~TagglyTaggingEditTemplate |
| Version:|1.1 (12-Jan-2006)|
| Source:|http://simonbaird.com/mptw/#TagglyTaggingEditTemplate|
| Purpose:|See TagglyTagging for more info|
| Requires:|You need the CSS in TagglyTaggingStyles to make it look right|
--->
<!--{{{-->
<div class="toolbar" macro="toolbar +saveTiddler closeOthers -cancelTiddler deleteTiddler"></div>
<div class="title" macro="view title"></div>
<div class="editLabel">Title</div><div class="editor" macro="edit title"></div>
<div class="editLabel">Tags</div><div class="editor" macro="edit tags"></div>
<div class="editorFooter"><span macro="message views.editor.tagPrompt"></span><span macro="tagChooser"></span></div>
<div class="editor" macro="edit text"></div>
<br/>
<!--}}}-->
<!---
| Name:|~TagglyTaggingViewTemplate |
| Version:|1.2 (16-Jan-2006)|
| Source:|http://simonbaird.com/mptw/#TagglyTaggingViewTemplate|
| Purpose:|See TagglyTagging for more info|
| Requires:|You need the CSS in TagglyTaggingStyles to make it look right|
!History
* 16-Jan-06, version 1.2, added tagglyListWithSort
* 12-Jan-06, version 1.1, first version
!Notes
Remove the miniTag if you don't like it or you don't use QuickOpenTagPlugin
--->
<!--{{{-->
<div class="toolbar" macro="toolbar -closeTiddler closeOthers +editTiddler permalink references jump newHere"></div>
<div class="tagglyTagged" macro="hideSomeTags"></div>
<div><span class="title" macro="view title"></span><span class="miniTag" macro="miniTag"></span></div>
<div class='subtitle'>Updated <span macro='view modified date [[DD-MMM-YY]]'></span></div>
<div class="viewer" macro="view text wikified"></div>
<div class="tagglyTagging" macro="tagglyTagging"></div>
<!--}}}-->
Definitions for game terms.
Terrain is printed on the backs of island cards. You may choose to use the terrain side (per the rules for that terrain,below) or the island side (per the normal rules for islands).
//Each year the famous black fleet sails from Panama, through the Caribbean, and then onto Spain to bring the crown the gold pulled from the mountains of South America. Although the route and timing of the fleet are among the mostly tightly held secrets of the Spanish Empire, this year everyone knows where one of the Spanish galleons is—it has struck a reef off of the island of Cuba and is slowly sinking! Every ship in the area races to be of assistance—not to the crew, but to save the gold from sinking to the bottom of the sea.//
Any number of players may participate in this scenario.
!Setup
Use all the normal rules for setup, with the following exceptions:
*The Black Galleon. To recreate the sinking Black Galleon, assemble any 5-masted ship (a Spanish one is preferred, but not required) so that it has only one side of its hull; when set on the table, it will roughly appear to be listing and sinking into the water; it blocks line of fire.
*Islands. Roll the die to see who goes first. The first player places his or her home island 4L from the Black Galleon. Other players then place their islands in the same way, starting with the player to the left of the first player.
*Treasure. Each player provides six treasure totaling 12 gold. Unique treasure may be used. Place all the treasure on (or near, for game play purposes) the Black Galleon, face down.
!Special Rules
*The winner of this scenario is the player who has unloaded the most gold onto his or her home island or ships by the time the ship sinks.
*To reflect that the ship is sinking, before the first player takes his or her first turn, place a six-sided die next to the ship, with the 6 showing. At the end of each turn during which treasure is removed, lower the number showing on the die by 1. The ship sinks at the beginning of the turn after the 1 shows on the die.
*You cannot shoot at the Black Galleon.
/***
|Name|TiddlerToCPlugin|
|Source|[[FND's DevPad|http://devpad.tiddlyspot.com/#TiddlerToCPlugin]]|
|Version|0.7|
|Author|FND|
|Contributors|[[Saq|http://tw.lewcid.org]]|
|License|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires|N/A|
|Overrides|N/A|
|Description|create a table of contents from a tiddler's headings|
!Notes
Doug Compton has written a similar, though much more advanced plugin for this purpose, called [[DcTableOfContentsPlugin|http://devpad.tiddlyspot.com/#DcTableOfContentsPlugin]].
!Usage
Add {{{<<ToC>>}}} to the desired tiddler(s). Alternatively, a parameter can be used to display the table of contents for another tiddler: {{{<<ToC "tiddlerName">>}}}.
The styling can be modified in the [[StyleSheetTableOfContents]] shadow tiddler.
<<ToC>>
!Changelog
!!v0.5a (2007-05-20)
* initial release
!!v0.5b (2007-05-20)
* renamed to TiddlerToCPlugin (to prevent confusion with the existing [[TableOfContentsPlugin|http://tiddlytools.com/#TableOfContentsPlugin]])
!!v0.6 (2007-05-21)
* several bugfixes and significant improvements regarding the macro code (thanks Saq)
!!v0.7 (2007-08-29)
* fixed error for tiddlers not containing any headings
!Issues / To Do
* add links to sections (problematic, as there are no anchors, yet?)
* introduce thresholds (minimum amount of headings to show a ToC, maximum depth)
!Code
***/
//{{{
/*
** Styles (can be customized in the StyleSheetTableOfContents shadow tiddler)
*/
config.shadowTiddlers.StyleSheetTableOfContents = "/*{{{*/\n"
+ ".ToC {\n\tfloat: left; /* auto-width */\n\tmargin: 0 2em 2em 0;\n\tborder: 1px solid #aaa;\n\tpadding: 5px;\n\tbackground-color: #eee;\n}\n\n"
+ ".ToC ol {\n\tmargin: 0 1em;\n}\n\n"
+ "h1 {\n\tclear: left;\n}\n"
+ "/*}}}*/";
store.addNotification("StyleSheetTableOfContents", refreshStyles);
/*
** Macro Code
*/
config.macros.ToC = { label: "Add Table of Contents", prompt: "Add Table of Contents" }; // DEBUG: obsolete?
config.macros.ToC.handler =
function(place, macroName, params, wikifier, paramString, tiddler) {
// process parameters
if (params[0]) { // tiddler name
tiddler = store.getTiddler(params[0]);
}
// create table of contents
generateToC(place, tiddler);
return false; // DEBUG: ?
}
/*
** Main Code
*/
generateToC = function(place, tiddler) {
// retrieve headings
var RegEx = /^!+(.*)$/gim;
var tiddlerContents = tiddler.text.match(RegEx);
// create ToC
if(tiddlerContents) {
var ToC = "";
for(var i = 0; i < tiddlerContents.length; i++) {
ToC += tiddlerContents[i] + "\n";
}
// replace headings markup with list markup
for(var i = 0; i < 6; i++) { // DEBUG: inefficient!? (use a single RegEx instead? problem: JavaScript RegEx limitations)
ToC = ToC.replace(/^(#*)!/gim, "$1#");
}
// add ToC wrapper container
ToC = "{{ToC{\n''Table of Contents''\n" + ToC + "}}}\n";
// add ToC to tiddler
wikify(ToC, place);
}
return false;
}
//}}}
A game piece with this keyword is made up of segments that act as masts in the game. These segments come in many different forms, such as claws, legs, and so on. Titans can’t be given repair actions. A titan’s movement may be measured from any part of its body; it can’t change its facing during the move. Titans can move across islands and end their moves (“dock”) on islands (except enemy home islands); they can be shot at while docked at any island.
A titan can be assigned crew and load treasure like a ship. A titan pins a ship if it rams any part of the ship; it can’t be pinned. A titan can tow. A titan is eliminated immediately if it has no segments.
After a ship is given a move action, if any part of her is touching the bow of any derelict, she can tow that derelict as a free action. As a free action, move the derelict so that her bow touches the stern of the towing ship. The towed ship and any crew and treasure on that ship become part of the towing player’s fleet. The base move of the towing ship becomes S; the towed ship moves with the towing ship as a free action. When the towing ship docks, dock the towed ship at the same island as a free action.
Tows must be initiated before engaging in any "damaging" action such as shooting with a captain, ramming, or boarding. When towing an enemy derelict it switches ownership to you immediately and can be given actions like any other ship in your fleet. Towed ships may be released at any time as a free action and only one ship may be towed at a time by any single ship. ((Source: [[FAQ|Towing FAQ]])
Q: When can I initiate a tow?
//A: You may initiate a tow at the beginning or end of your ship’s move action. This must occur before using any “damaging” effects, such as shooting with a captain, ramming, or boarding.//
Q: After I tow a ship, when, exactly does it become mine? Do I have to tow it home before giving it actions?
//A: When you tow a derelict, that ship (and its crew) immediately becomes yours and can be given actions normally like any other ship in your fleet. It does not have to be towed to your home island.//
Q: If a ship has no masts but can still move because of an ability, can it be towed?
//A: Yes, if a ship has no masts it is derelict and can be towed. The ability to move is irrelevant.//
Q: Can you voluntarily release a towed vessel at any time?
//A: Yes.//
Q: Can you steal a towed derelict from an enemy by moving your ship so that it touches the bow of the towed derelict? What about a derelict that is docked?
//A: You cannot tow a derelict while it is being towed by an opponent’s ship. You may tow a derelict that is docked, if your ship can be positioned so that it touches the derelict’s bow.//
Q: Can a ship tow two ships at the same time or “chain tow” a derelict that is towing another derelict?
//A: No, only one ship can be towed at a time.//
Q: When a ship is towing a derelict but there isn’t enough room behind for the towed ship to be aligned straight out, can it be placed at an angle?
//A: Yes. The derelict should be placed as straight as possible behind the towing ship.//
//At any port in the Spanish Main, you can buy an “authentic” map showing the way to treasure hidden by the mysterious pirate band known as the Scarlet Saber. Of course, these maps will lead you to an isolated spot where you will likely be robbed and murdered, but that does not mean that the treasure of the Scarlet Saber does not exist; it merely means that fools are easily separated from their money. Captain Jack Hawkins is no fool— totally crazy in a romantic sort of way, yes, but no fool. So when he says that he has discovered the location of the Scarlet Sabers’ treasure, people listen.
Unfortunately for him, however, Jack tends to talk a bit too often.//
Any number of players may participate in this scenario.
!Setup
Use all the normal rules for setup, with the following exceptions:
*''Wild Islands.'' Roll a d6 to see who goes first. The first player places one island at the center of the table; each of these islands must touch. If using official ~WizKids islands, have the cardboard islands touch (note that there is water between the land, this water cannot be traveled through by any ship). All islands must have some point that actually opens to the sea and can be docked at.
*''Home Islands.'' The first player places his or her home island at least 4L from the edge of any island placed at the center of the table. Other players then place their home islands in the same way, starting with the player to the left of the first player.
*''Treasure.'' Each player provides six treasure totaling 12 gold. Unique treasure may be used. Place all the treasure face down in a pile and, in the same order home islands were placed, players take turns picking six treasure and placing them face down on one of the center islands.
!Special Rules
*The winner of this scenario is the first player to unload 13 gold onto his or her home island.
*Each player may explore only one island at a time; that is, you must remove all treasure from a wild island before you may explore another.
Scenarios where the objective is to acquire the most treasure.
This ship must begin the game with Admiral Zheng He aboard. Crew do not take up cargo space on this ship, though their combined point cost still may not exceed this ship’s point cost. Once per turn, this ship may move S after loading or unloading cargo.
A ship with this keyword is not derelict when all her masts are eliminated. If she has no masts, she is still sunk if hit.
When this ship is hit, remove one of her turtle shell panels. When no panels remain, remove masts as normal. This ship can’t be boarded if she has turtle shell panels. If derelict, this ship gains a base move of <S>.
Q: When you find a unique treasure and its ability doesn’t seem to work properly due to the interaction with other abilities on your ship, what happens?
//A: Unique treasure is always picked up when found. However, if a specific UT ability cannot be used due to some other, then that UT ability has no effect until circumstances change to allow it to work properly. Any other additional abilities of the UT still function normally.//
<<<
Darkhawk II with Captain Blackheart, Jonah, a helmsman, and an oarsman onboard explores an island and finds the Plague. The first part of Plague’s ability is that it eliminates all crew onboard the ship, but Jonah’s ability says that he cannot be eliminated. So, Plague is loaded onto the ship and it kills everyone on the ship except for Jonah. The rest of Plague’s abilities also work, so now the Darkhawk II can’t dock but if it touches another ship Plague will be passed to the next ship.
That next ship happens to be the Revenant, with El Fantasma, Ghost Crew, and a Firepot Specialist onboard. The two ships touch and Plague gets passed to the Revenant. The ability of the Ghost Crew, unlike Jonah, protects the ship’s entire crew from elimination so when Plague gets loaded none of the crew are harmed. However, the rest of Plague’s abilities still work,so Revenant cannot dock but it can still pass Plague to the next ship it touches.
<<<
Q: If a unique treasure can be loaded face down, must I reveal it to my opponent?
//A: No, ~UTs that can be loaded face down do not have to be revealed or loaded.//
Q: Can I transfer a unique treasure off my ship and on to another?
//A: Yes, you may transfer unique treasure from one ship to another using an explore action, unless an ability specifically states that a UT cannot be unloaded.//
Q: Can unique treasures be stolen during a boarding action or with an ability that allows you to steal/trade treasure from another ship?
//A: Yes, unique treasures can be stolen during boarding actions or with abilities that steal/trade treasure, unless an ability specifically states that the UT cannot be unloaded.//
Q: If a unique treasure has a gold value that is determined when it is loaded, what happens when I transfer it to another ship?
//A: The gold value of a UT is determined when it is first loaded from a wild island, so transferring it to another ship will not reset it. However, any other effects of that UT will still apply normally when loaded onto another ship.//
Q: Can unique treasures be eliminated by abilities that target cargo?
//A: Yes, ~UTs are a form of cargo so they can be affected by abilities that eliminate cargo.//
Q: Can I unload a unique treasure when I dock at or explore an island?
//A: If a UT has a gold value it must be unloaded when you dock at your home island. No other face-up UT can be unloaded to an island unless an ability specifically allows otherwise.//
Some treasure is unique. A player can’t contribute more than one unique treasure with the same name to the total treasure contributed to the game. At the beginning of the game, each unique treasure is worth 0 gold. A unique treasure’s value can change later in the game, depending on its ability text. Players can insert unique treasure into the treasure that is randomly sorted and placed on wild islands. If you contribute unique treasure, however, the rest of the treasure you contribute must still total 15 gold points (for a 40-point game).
<!--{{{-->
<div class="toolbar" macro="toolbar -closeTiddler closeOthers +editTiddler permalink references jump newHere"></div><br>
<div class="tagglyTagged" macro="hideSomeTags"></div><br>
<div><span class="title" macro="view title"></span><span class="miniTag" macro="miniTag"></span></div>
<div class='subtitle'>Updated <span macro='view modified date [[DD-MMM-YY]]'></span></div>
<div class="viewer" macro="view text wikified"></div><br>
<div class="tagglyTagging" class="tagglyTaggingBox" macro="tagglyTagging"></div>
<!--}}}-->
When any part of your ship or sea creature touches a whirlpool, you may choose to place it so that it touches any other whirlpool on the play area. If you do, roll a d6 after it is moved. On a result of 4-6, eliminate either one mast or segment, one treasure, or one crew from the game piece.
A ship with this keyword can have her movement measured from either her bow or stern. If measured from the stern, turn the ship as a free action so that she faces the correct direction for movement.
The first player to get more than half of the starting treasure (measured in gold points) to his or her home island wins the game! Be Careful! If your opponent has more combined gold on his or her home island and forts than you do, he or she wins the game! (FAQ ~July-Aug 2007)
After the game, return any ships that changed fleets (such as if a player towed a derelict belonging to another player back to his or her home island) during the game to their owners.
''Keeping treasure won''. As an optional rule, the winning player can permanently keep all the treasure used in the game except for the treasure located on the home island of the other player.
Type the text for 'hideTagged'
Type the text for 'list3Cols'