Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}
h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}
.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}
.tabSelected{color:[[ColorPalette::PrimaryDark]];
background:[[ColorPalette::TertiaryPale]];
border-left:1px solid [[ColorPalette::TertiaryLight]];
border-top:1px solid [[ColorPalette::TertiaryLight]];
border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}
.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}
.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0em 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0em 1em;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #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;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<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 class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser
Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs)
<<option txtUserName>>
<<option chkSaveBackups>> SaveBackups
<<option chkAutoSave>> AutoSave
<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations
----
Also see AdvancedOptions
Type the text for '(built-in shadow tiddler)'
Nine circles of Heaven, nine of Hell, this is what lies between...
----
[img[http://www.alisachristopher.us/avatarsd/aang.png]]
!!Airbender
Aang will be able to use the Airbender moves at any time.
!!!!Hang Glide: UP - UP
Aang does a high jump with a little hang time. Great for reaching high platforms or avoiding enemy attacks.
!!!!Air Shield: BK - (BK+Block)
!!!!Air Blast: FW - BK - (FW+Punch)
!!!!Tornado: FW - BK - (FW+Strong)
!!!!Air Scooter: BK - DN - FW
!!!!Bison Whistle: BK + (FW+Block)
Aang blows the Bison whistle and is assisted by either Momo or Appa. If it's in versus mode and either of these two are already in play, they won't come to Aang's aid.
!!Waterbender
Only available during Story Mode after Aang has been taught by Katara.
!!!!Water Whip: BK - BK - (FW+Punch)
!!!!Octopus Stance: BK - DN - (FW+Block)
!!Earthbender
Only available during Story Mode after Aang has been taught by Toph.
!!!!Rock Toss DN - (FW+Punch)
!!!!Rock Line DN - (FW+Kick)
!!Firebender
Only available during Story Mode after Aang has been taught by Zuko.
!!!!Flame Kick: BK - (FW+Kick)
!!!!Fire Balls: BK - FW - (FW+Punch)
!!Avatar State FW - BK - UP - DN - Punch - Kick - Strong
During Story Mode, if Aang's health gets low, he'll unlock the Avatar State, and unleash a powerful attack. It won't guarantee a win, but it might help the player stay in it a little longer. However, there will be some matches where the Avatar State will be unavailable, such as in Book 3.
----
[img[http://www.alisachristopher.us/avatarsd/appa.png]]
When Nick released the Avatar animated short Bending Battle, I thought that it would be fun to have a fighting game based on that graphic style. Well, Nick did release a game, Bobble Battles, but it was a 3d strategy game that played like Warcraft. booooo
So I've decided to make my own game.
+++![Story Mode]
//''Story Mode is not currently available''//
--I'd like the first time through in story mode, to only allow the player to play as Aang. Then, after completing story mode to unlock a second version with Zuko.
Needless to say, story mode will roughly follow the plot of the series.--
!!--Aang--
+++!!!![Book One]>
1 and 2: Aang's first battle will be with a Firebender and a Fire Nation soldier, followed shortly by a fight with Zuko. These first two fights, Aang won't be able to access the Avatar State, and he'll only have Air Bending. After a cut scene where Aang goes into the Avatar State to damage Zuko's boat, he'll be able to use it when his HP get low enough.
3: Then another Battle with Zuko and the Firebender on Kyoshi Island, but Aang will be joined by Suki. Team Battle style.
4: On to Omashu for a fight with Bumi.
Imprisoned, and Winter Solstace will probably be skipped. But there will be a cutscene explaining about the Comet.
5: Then the first Training round with Katara. he'll learn the Water Whip and the Ice Dagger.
6: Then a fight with Jet.
7: The Blue Spirit and Aang will team up to fight Zhao next.
8: Another fight with Zuko, he may be joined by Jun, and Aang may have Katara to help.
9: Next, its off to the North Pole, where Aang will fight Zhao mano y mano followed by a big cut scene to end Book One.
===
+++!!!![Book Two]>
1: Will start with another training session with Katara, where he learns the Octopus Stance and probably one more move.
2: Back at Omashu, Aang will have to fight Azula, Ty Lee and Mai, aided by Katara and Sokka.
3: Then a fight with Toph at Earth Rumble 6.
4: For the Chase, Aang will fight Zuko and Azula as a free for all.
5: Then Aang gets his first training session with Toph.
6: Skip ahead to the Drill where Aang fights Azula alone for the first time.
7: Then for the Earth King, it'll be a big team battle against Earth Benders.
8: Aang will have a different sort of training session with Guru Pathik, made up of six mini battles to open his chakra, but when he gets to the 7th, it's interrupted by a cut scene and Aang won't be able to use the Avatar State after this.
The Chakras:
*Fear - Shadowy Ozai
*Guilt - Roku
*Shame - Kyoshi
*Grief - Kuruk
*Lies - Yangchen
*Illusion - Avatar Spirit
9: Lastly, a team battle with Katara against Zuko and Azula, to end Book 2.
===
+++!!!![Book Three]>
1:General Mung and Fire Benders, with Katara as the Painted Lady
2:Combustion Man (Beach/Runaway)
3:Large scale invasion fight(?)
4:Fighting Azula and Dai Li with Sokka and Toph.
5:Combustion Man (WAT)
6:Training with Zuko
7:Melon Lord (with Gaang)
8:The Four previous Avatars
9:Final Boss Ozai (2 Part)
===
!!--Zuko--
+++!!!![Book One]>
1: Warpaint Sokka
2: Aang
3: Zhao (Probably wont do Agni Kai clothes tho)
4: Aang and Suki, with the help of a Firebender.
5: Earth Benders, with the help of Iroh (Winter Solstice 1)
6: River Pirates
7: Zhao, as the Blue Spirit with Aang. No Bending!
8: Aang and Katara (With Jun?)
9: Zhao, then a cut scene that ends book 1.
===
+++!!!![Book Two]>
1: Azula and a Firebender, with Iroh
2: Jump ahead to Zuko Alone, where he fights that Gao
3: Azula and Aang Free for All
4: Train with Iroh
5: Jet (Just cause)
6: Dai Li Agent (Lake Laogai)
7: Blue Spirit Dream Self - Like Aang, this is where Zuko had to fight with himself.
8: Azula and the Dai Li, with Iroh
9: Aang and Katara with Azula. - Cut scene to end Book 2.
===
+++!!!![Book Three]>
1:Azula on the Beach
2:Ozai - no bending
3:Combustion Man, with Aang
4:Train with Aang
5:Mai (Boiling Rock)
6:Azula and Ty Lee, with Sokka and Suki
7:Yon Rha, with Katara
8:Melon Lord (with Gaang)
9:Final Boss: Azula (2 Part)
===
===
+++![Versus Mode]
At first players should be able to select Aang, Katara, Toph, Sokka, Zuko and Azula. I will have other unlockable characters. VS Mode Aang will be basic, not having access to any of the leveled up techniques he'll learn in story mode; just to keep things fair.
Players will be able to choose stages, and like characters, I'll probably have unlockable stages.
Players will be able to choose match style, at 30, 60 and 90 seconds, one round --or two out of three--, as well as single or team battles. --Every successful match will award [[PaiSho Tiles]] that players can spend to unlock extras.--
===
----
[img[http://www.alisachristopher.us/avatarsd/azula.png]]
!!!!Flame Kick: BK - (FW+Kick)
A fiery blast that can knock opponents down.
!!!!Firewall: FW - FW - (DN+Strong)
A barrage of 3 or 4 fireballs
!!!!Fire Storm: BK - DN - FW - (FW+Kick)
A whirling fire surrounds Zuko like a shield, while damaging foes
!!!!Lighting: BK - FW - BK - (FW+Strong)
!!!!Flaming Disk: BK - FW - (FW+Strong)
!!!!Rocket Blast: UP - (UP+Strong)
----
[img[http://www.alisachristopher.us/avatarsd/bumi.png]]
Background: #9b886d
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #5b482d
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #ffc
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #cbb89d
TertiaryLight: #5b482d
TertiaryMid: #cbb89d
TertiaryDark: #666
Error: #f88
[img[http://www.alisachristopher.us/avatarsd/sparky.png]]
*Ctrl Q - Quit
*F9 - Reset
On the Option Screen
*Up/Down arrows - Move between options
*Right/Left arrows - toggle options
*Enter - activates option for keyboard input
*Esc - jumps to "Done"
On the Character Select Screen
*Arrows - Moves cursor
*Enter - Selects highlighted character
*--Space - toggles character's appearance--
*Esc - undoes last choice
During a Match
*Esc - Pauses the match and displays special moves for your character
*Arrows - Moves cursor on pause screen
*Enter - Selects pause screen option
+++!![Initial Characters]>
{{accordionEffect{<<slider2 Aang '1. Aang'>><<slider2 Katara '2. Katara'>><<slider2 Toph '3. Toph'>><<slider2 Sokka '4. Sokka'>><<slider2 Zuko '5. Zuko'>><<slider2 Azula '6. Azula'>>}}}
===
+++!![Unlockable Characters]>
{{accordionEffect{<<slider2 Suki '7. Suki'>><<slider2 Jet '8. Jet'>><<slider2 TyLee '9. TyLee'>><<slider2 Mai '10. Mai'>><<slider2 Iroh '11. Iroh'>><<slider2 Zhao '12. Zhao'>><<slider2 Bumi '13. Bumi'>><<slider2 Haru '14. Haru'>><<slider2 CombustionMan '15. CombustionMan'>><<slider2 Jun '16. Jun'>><<slider2 Hakoda '17. Hakoda'>><<slider2 Ozai '18. Ozai'>><<slider2 Momo '19. Momo'>><<slider2 Appa '20. Appa'>>}}}
===
/***
|Name|DcTableOfContentsPlugin|
|Created by|Doug Compton|
|Source|http://www.zagware.com/tw/plugins.html#DcTableOfContentsPlugin|
|Version|0.3.0 - 4/12/2006|
<<showtoc>>
!Description
This macro will insert a table of contents reflecting the headings that are used in a tiddler and will be automatically updated when you make changes. Each item in the table of contents can be clicked on to jump to that heading. It can be used either inside of select tiddlers or inside a system wide template.
A parameter can be used to show the table of contents of a seperate tiddler, <<showtoc tiddlerTitle>>
It will also place a link beside each header which will jump the screen to the top of the current tiddler. This will only be displayed if the current tiddler is using the <<showtoc>> macro.
The appearance of the table of contents and the link to jump to the top can be modified using CSS. An example of this is given below.
!Examples
If you had a tiddler with the following headings
! Heading1
!! Heading2
!! Heading3
!!! Heading4
! Heading5
this table of contents would be automatically generated
*Heading1
**Heading2
**Heading3
***Heading4
*Heading5
!Changing how it looks
To modifiy the appearance, you can use CSS similiar to the below.
//{{{
.dcTOC ul {
color: red;
list-style-type: lower-roman;
}
.dcTOC a {
color: green;
border: none;
}
.dcTOC a:hover {
background: white;
border: solid 1px;
}
.dcTOCTop {
font-size: 2em;
color: green;
}
//}}}
!Usage
!!Only in select tiddlers
The table of contents above is an example of how to use this macro in a tiddler. Just insert <<showtoc>> in a tiddler on a line by itself.
It can also display the table of contents of another tiddler by using the macro with a parameter, <<showtoc tiddlerTitle>>
!!On every tiddler
It can also be used in a template to have it show on every tiddler. An example ViewTemplate is shown below.
//{{{
<div class='toolbar' macro='toolbar -closeTiddler closeOthers +editTiddler permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'>Created <span macro='view created date DD-MM-YY'></span>, updated <span macro='view modified date DD-MM-YY'></span></div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class="toc" macro='showtoc'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
//}}}
!History
!!0.3.0 - 04/12/2006
*Added the ability to show the table of contents of a seperate tiddler.
*Fixed an error when a heading had a ~WikiLink in it.
!!0.2.0 - 04/10/2006
*Added the [top] link on headings to jump to the top of the current tiddler.
*The appearance can now be customized using CSS.
*All event handlers now return false.
!!0.1.0 - 04/07/2006
*Initial version
!Code
***/
//{{{
version.extensions.DcTableOfContentsPlugin= {
major: 0, minor: 3, revision: 0,
date: new Date(2006, 4, 12),
type: 'macro',
source: "http://www.zagware.com/tw/plugins.html#DcTableOfContentsPlugin"
};
// Replace heading formatter with our own
for (var n=0; n<config.formatters.length; n++) {
var format = config.formatters[n];
if (format.name == 'heading') {
format.handler = function(w) {
// following two lines is the default handler
//var e = createTiddlyElement(w.output, "h" + w.matchLength);
//w.subWikify(e, this.terminator);
w.subWikifyTerm(createTiddlyElement(w.output,"h" + w.matchLength),this.termRegExp);
// Only show [top] if current tiddler is using showtoc
if (w.tiddler.isTOCInTiddler == 1) {
// Create to outter SPAN containing the default CSS values
var span = createTiddlyElement(w.output,"h", "span");
// Create the link to jump to the top
createTiddlyButton(span, " [top]", "Go to top of tiddler", window.scrollToTop, "dcTOCTop", null, null);
}
}
break;
}
}
config.macros.showtoc = {
handler: function(place, macroName, params, wikifier, paramString, tiddler) {
var text = "";
var title = "";
var myTiddler = null;
// Did they pass in a tiddler?
if (params.length) {
title = params[0];
myTiddler = store.getTiddler(title);
} else {
myTiddler = tiddler;
}
if (myTiddler == null) {
wikify("ERROR: Could not find " + title, place);
return;
}
var lines = myTiddler .text.split("\n");
myTiddler.isTOCInTiddler = 1;
// Create to SPAN so the TOC can be customized using CSS
var span = createTiddlyElement(place, "span", null, "dcTOC");
if (lines != null) {
for (var x=0; x<lines.length; x++) {
var line = lines[x];
if (line.substr(0,1) == "!") {
// Find first non ! char
for (var i=0; i<line.length; i++) {
if (line.substr(i, 1) != "!") {
break;
}
}
var desc = line.substring(i);
// Remove WikiLinks
desc = desc.replace(/\[\[/g, "");
desc = desc.replace(/\]\]/g, "");
text += line.substr(0, i).replace(/[!]/g, '*');
text += '<html><a href="javascript:;" onClick="window.scrollToHeading(\'' + title + '\', \'' + desc+ '\', event)">' + desc+ '</a></html>\n';
}
}
}
wikify(text, span);
}
}
window.scrollToTop = function(evt) {
if (! evt)
var evt = window.event;
var target = resolveTarget(evt);
var tiddler = story.findContainingTiddler(target);
if (! tiddler)
return false;
window.scrollTo(0, ensureVisible(tiddler));
return false;
}
window.scrollToHeading = function(title, anchorName, evt) {
var tiddler = null;
if (! evt)
var evt = window.event;
if (title) {
story.displayTiddler(store.getTiddler(title), title, null, false);
tiddler = document.getElementById(story.idPrefix + title);
} else {
var target = resolveTarget(evt);
tiddler = story.findContainingTiddler(target);
}
if (tiddler == null)
return false;
var children1 = tiddler.getElementsByTagName("h1");
var children2 = tiddler.getElementsByTagName("h2");
var children3 = tiddler.getElementsByTagName("h3");
var children4 = tiddler.getElementsByTagName("h4");
var children5 = tiddler.getElementsByTagName("h5");
var children = new Array();
children = children.concat(children1, children2, children3, children4, children5);
for (var i = 0; i < children.length; i++) {
for (var j = 0; j < children[i].length; j++) {
var heading = children[i][j].innerHTML;
// Remove all HTML tags
while (heading.indexOf("<") >= 0) {
heading = heading.substring(0, heading.indexOf("<")) + heading.substring(heading.indexOf(">") + 1);
}
// Cut off the code added in showtoc for TOP
heading = heading.substr(0, heading.length);
if (heading == anchorName) {
var y = findPosY(children[i][j]);
window.scrollTo(0,y);
return false;
}
}
}
return false
}
//}}}
AvatarSD is built using the Adventure Game Studio (AGS) engine for Windows. This will not run on Mac or Linux unless you have a Windows emulator, or a dual boot.
The latest version available for download is ''> >[[V0.1.5.5|http://www.alisachristopher.us/avatarsd/InstallAvatarSD.zip]]< <''
>''Bugs''
>Please note that there are a few bugs, such as the characters appearing to spin if they're too close to one another. I've temporarily disabled Teams Mode while I work on it.
!!Installation
It comes in a zip file. You'll need to save the file, then right click and choose "Extract All..." and follow the wizard. If you don't see that option, you'll need to download an extractor such as ~WinZip, ~WinRar or 7Zip.
There's a Winsetup.exe file which you should probably run first, to set screen size, as not all monitors can support the 320x240 fullscreen resolution.
>''If you are running this off of a CD or other read-only device, you will probably get an error. Please run it from your hard drive!''
Please note this game is still in the Early Beta stages.
Nickelodeon also has nothing to do with this game, and this game is Freeware.
I'd prefer if you didn't redistribute this, but please feel free to link back to this site!
[img[http://www.alisachristopher.us/avatarsd/firstframes.png]]
[img[http://www.alisachristopher.us/avatarsd/avatarSDcaps.jpg]]
[img[http://www.alisachristopher.us/fm2k2/airscooteraang.gif]][img[http://www.alisachristopher.us/fm2k2/avatarsd/lightning.gif]][img[http://www.alisachristopher.us/fm2k2/avatarsd/TheThing.gif]][img[http://www.alisachristopher.us/fm2k2/avatarsd/stinkbomb.gif]][img[http://www.alisachristopher.us/fm2k2/avatarsd/waterwhip.gif]]
[img[http://www.alisachristopher.us/fm2k2/avatarsd/appasummon.gif]]
[img[http://fc05.deviantart.com/fs24/f/2007/349/0/9/Avatar_SD_Mock_up_by_AlisaChristopher.png]]
[img[http://fc01.deviantart.com/fs31/f/2008/234/f/3/Sukka___Blitz_by_AlisaChristopher.png]]
[img[http://www.alisachristopher.us/fm2k2/avatarsd/southpole.png]]
[img[http://www.alisachristopher.us/fm2k2/avatarsd/kyoshiisland.png]]
[img[http://www.alisachristopher.us/fm2k2/avatarsd/omashu1.png]]
[img[http://www.alisachristopher.us/avatarsd/hakoda.png]]
[img[http://www.alisachristopher.us/avatarsd/haru.png]]
!~FighterMaker and ~GameMaker
Since Mugen is a horrible engine for non-programmers, my first attempt at this game was in Enterbrain's Fightermaker2k2. However, the limits on the game, and lack of documentation for this engine proved difficult. I moved on to ~GameMaker, using a platformer engine. However, ~GameMaker proved too limited and frustrating, with it's gui trying to make programming easier for the non programmers being a complete fail.
!Adventure Game Studio
A great engine, designed for making a variety of games, mostly the old point and click Sierra style games, such as King's Quest. Fortunately, there are also a few platformer templates available. After an hour or so of tweaking, my brother and I were able to come up with a decently passable alpha demo.
+++!![Alpha >]>
!!V0.01
Quite laughable demo, not with the platformer template, but with a fighter template.
!!V0.02
Again using just the basic fighter template, movement is jerky, and characters are just templates. No jumping, and the screen centers on player one, instead of on both characters.
!!V0.03
Changed to a platformer template, without the AI character, just a demo of player movement.
!!V0.04
AI added, but no collision detection, so you can't actually fight.
!!V0.05
Working AI and match mechanics
!!V0.06
New version of AGS released, ported over and fixed a few bugs. Character Select screen added, you can now choose your character and your enemy
>''V0.065''
>Added Special moves for Aang, and a background music for the match
!!V0.07
Added keyboard customization, and changed character select screen to work with keyboard.
!!V0.08
Tweaked the character select screen - now includes framework for outfit selection. Doesn't actually change outfits on characters yet. Adjusted the options menu. Added Katara and Toph's special moves for player.
===
+++!![Early Beta>]>
!!V0.1
!!!''First Official Beta!''
Completely rewrote control scheme for player and AI. Finished special moves for core characters. Added more backgrounds and stage select screen. Added team battles. Added match time options. Added AI difficulty and specials. HUGE upadate!!
>Please note that there are a few bugs, such as placement of secondary characters in a teams battle after doing a standard battle, and Toph's rock punch doesn't seem to work.
[img[http://www.alisachristopher.us/avatarsd/iroh.png]]
[img[http://www.alisachristopher.us/avatarsd/jet.png]]
[img[http://www.alisachristopher.us/avatarsd/jun.png]]
----
[img[http://www.alisachristopher.us/avatarsd/katara.png]]
!!!!Ice Daggers: DN - (FW+Punch)
A frozen projectile
!!!!Water Whip: BK - BK - (FW+Punch)
A medium ranged attack
!!!!Octopus Stance: BK - DN - (FW+Block)
See Cave of Two Lovers episode
!!!!DeepFreeze: FW - BK - (DN+Strong)
Freeze opponents in their tracks
!!!!Water Blades: BK - FW - (FW+Strong)
A series of water blades slice through enemies
!!!!Maelstrom: DN - BK - (FW+Strong)
Katara creates and rides this funnel of water
----
[img[http://www.alisachristopher.us/avatarsd/mai.png]]
[[Download]]
[[History]]
[[Controls]]
[[Gallery]]
[[ToDoList]]
[img[http://www.alisachristopher.us/avatarsd/momo.png]]
/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|
|Version|2.4.5|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Options|##Configuration|
|Description|show content in nest-able sliding/floating panels, without creating separate tiddlers for each panel's content|
!!!!!Documentation
>see [[NestedSlidersPluginInfo]]
!!!!!Configuration
<<<
<<option chkFloatingSlidersAnimate>> allow floating sliders to animate when opening/closing
>Note: This setting can cause 'clipping' problems in some versions of InternetExplorer.
>In addition, for floating slider animation to occur you must also allow animation in general (see [[AdvancedOptions]]).
<<<
!!!!!Revisions
<<<
2008.06.07 - 2.4.5 in 'onmouseover' handler for 'open on hover' slider buttons,<br>use call() method when invoking document.onclick function (avoids error in IE)
|please see [[NestedSlidersPluginInfo]] for additional revision details|
2005.11.03 - 1.0.0 initial public release. Thanks to RodneyGomes, GeoffSlocock, and PaulPetterson for suggestions and experiments.
<<<
!!!!!Code
***/
//{{{
version.extensions.nestedSliders = {major: 2, minor: 4, revision: 5, date: new Date(2008,6,7)};
// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkFloatingSlidersAnimate===undefined)
config.options.chkFloatingSlidersAnimate=false; // avoid clipping problems in IE
// default styles for 'floating' class
setStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");
config.formatters.push( {
name: "nestedSliders",
match: "\\n?\\+{3}",
terminator: "\\s*\\={3}\\n?",
lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\@\\[\\>]*\\^)?)?(\\*)?(\\@)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\>)?(\\.\\.\\.)?\\s*",
handler: function(w)
{
lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
{
var defopen=lookaheadMatch[1];
var cookiename=lookaheadMatch[2];
var header=lookaheadMatch[3];
var panelwidth=lookaheadMatch[4];
var transient=lookaheadMatch[5];
var hover=lookaheadMatch[6];
var buttonClass=lookaheadMatch[7];
var label=lookaheadMatch[8];
var openlabel=lookaheadMatch[9];
var panelID=lookaheadMatch[10];
var blockquote=lookaheadMatch[11];
var deferred=lookaheadMatch[12];
// location for rendering button and panel
var place=w.output;
// default to closed, no cookie, no accesskey, no alternate text/tip
var show="none"; var cookie=""; var key="";
var closedtext=">"; var closedtip="";
var openedtext="<"; var openedtip="";
// extra "+", default to open
if (defopen) show="block";
// cookie, use saved open/closed state
if (cookiename) {
cookie=cookiename.trim().slice(1,-1);
cookie="chkSlider"+cookie;
if (config.options[cookie]==undefined)
{ config.options[cookie] = (show=="block") }
show=config.options[cookie]?"block":"none";
}
// parse label/tooltip/accesskey: [label=X|tooltip]
if (label) {
var parts=label.trim().slice(1,-1).split("|");
closedtext=parts.shift();
if (closedtext.substr(closedtext.length-2,1)=="=")
{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
openedtext=closedtext;
if (parts.length) closedtip=openedtip=parts.join("|");
else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }
}
// parse alternate label/tooltip: [label|tooltip]
if (openlabel) {
var parts=openlabel.trim().slice(1,-1).split("|");
openedtext=parts.shift();
if (parts.length) openedtip=parts.join("|");
else openedtip="hide "+openedtext;
}
var title=show=='block'?openedtext:closedtext;
var tooltip=show=='block'?openedtip:closedtip;
// create the button
if (header) { // use "Hn" header format instead of button/link
var lvl=(header.length>5)?5:header.length;
var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,buttonClass,title);
btn.onclick=onClickNestedSlider;
btn.setAttribute("href","javascript:;");
btn.setAttribute("title",tooltip);
}
else
var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,buttonClass);
btn.innerHTML=title; // enables use of HTML entities in label
// set extra button attributes
btn.setAttribute("closedtext",closedtext);
btn.setAttribute("closedtip",closedtip);
btn.setAttribute("openedtext",openedtext);
btn.setAttribute("openedtip",openedtip);
btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
btn.defOpen=defopen!=null; // save default open/closed state (boolean)
btn.keyparam=key; // save the access key letter ("" if none)
if (key.length) {
btn.setAttribute("accessKey",key); // init access key
btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus
}
btn.setAttribute("hover",hover?"true":"false");
btn.onmouseover=function(ev) {
// optional 'open on hover' handling
if (this.getAttribute("hover")=="true" && this.sliderPanel.style.display=='none') {
document.onclick.call(document,ev); // close transients
onClickNestedSlider(ev); // open this slider
}
// mouseover on button aligns floater position with button
if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel);
}
// create slider panel
var panelClass=panelwidth?"floatingPanel":"sliderPanel";
if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
var panel=createTiddlyElement(place,"div",panelID,panelClass,null);
panel.button = btn; // so the slider panel know which button it belongs to
btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
panel.defaultPanelWidth=(panelwidth && panelwidth.length>2)?panelwidth.slice(1,-1):"";
panel.setAttribute("transient",transient=="*"?"true":"false");
panel.style.display = show;
panel.style.width=panel.defaultPanelWidth;
panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this); }
// render slider (or defer until shown)
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
if ((show=="block")||!deferred) {
// render now if panel is supposed to be shown or NOT deferred rendering
w.subWikify(blockquote?createTiddlyElement(panel,"blockquote"):panel,this.terminator);
// align floater position with button
if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel);
}
else {
var src = w.source.substr(w.nextMatch);
var endpos=findMatchingDelimiter(src,"+++","===");
panel.setAttribute("raw",src.substr(0,endpos));
panel.setAttribute("blockquote",blockquote?"true":"false");
panel.setAttribute("rendered","false");
w.nextMatch += endpos+3;
if (w.source.substr(w.nextMatch,1)=="\n") w.nextMatch++;
}
}
}
}
)
function findMatchingDelimiter(src,starttext,endtext) {
var startpos = 0;
var endpos = src.indexOf(endtext);
// check for nested delimiters
while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
// count number of nested 'starts'
var startcount=0;
var temp = src.substring(startpos,endpos-1);
var pos=temp.indexOf(starttext);
while (pos!=-1) { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
// set up to check for additional 'starts' after adjusting endpos
startpos=endpos+endtext.length;
// find endpos for corresponding number of matching 'ends'
while (startcount && endpos!=-1) {
endpos = src.indexOf(endtext,endpos+endtext.length);
startcount--;
}
}
return (endpos==-1)?src.length:endpos;
}
//}}}
//{{{
window.onClickNestedSlider=function(e)
{
if (!e) var e = window.event;
var theTarget = resolveTarget(e);
while (theTarget && theTarget.sliderPanel==undefined) theTarget=theTarget.parentNode;
if (!theTarget) return false;
var theSlider = theTarget.sliderPanel;
var isOpen = theSlider.style.display!="none";
// toggle label
theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");
// toggle tooltip
theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));
// deferred rendering (if needed)
if (theSlider.getAttribute("rendered")=="false") {
var place=theSlider;
if (theSlider.getAttribute("blockquote")=="true")
place=createTiddlyElement(place,"blockquote");
wikify(theSlider.getAttribute("raw"),place);
theSlider.setAttribute("rendered","true");
}
// show/hide the slider
if(config.options.chkAnimate && (!hasClass(theSlider,'floatingPanel') || config.options.chkFloatingSlidersAnimate))
anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
else
theSlider.style.display = isOpen ? "none" : "block";
// reset to default width (might have been changed via plugin code)
theSlider.style.width=theSlider.defaultPanelWidth;
// align floater panel position with target button
if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider);
// if showing panel, set focus to first 'focus-able' element in panel
if (theSlider.style.display!="none") {
var ctrls=theSlider.getElementsByTagName("*");
for (var c=0; c<ctrls.length; c++) {
var t=ctrls[c].tagName.toLowerCase();
if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")
{ ctrls[c].focus(); break; }
}
}
var cookie=theTarget.sliderCookie;
if (cookie && cookie.length) {
config.options[cookie]=!isOpen;
if (config.options[cookie]!=theTarget.defOpen)
saveOptionCookie(cookie);
else { // remove cookie if slider is in default display state
var ex=new Date(); ex.setTime(ex.getTime()-1000);
document.cookie = cookie+"=novalue; path=/; expires="+ex.toGMTString();
}
}
// prevent SHIFT-CLICK from being processed by browser (opens blank window... yuck!)
// prevent clicks *within* a slider button from being processed by browser
// but allow plain click to bubble up to page background (to close transients, if any)
if (e.shiftKey || theTarget!=resolveTarget(e))
{ e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); }
Popup.remove(); // close open popup (if any)
return false;
}
//}}}
//{{{
// click in document background closes transient panels
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);
if (document.nestedSliders_savedOnClick)
var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
// if click was inside a popup... leave transient panels alone
var p=target; while (p) if (hasClass(p,"popup")) break; else p=p.parentNode;
if (p) return retval;
// if click was inside transient panel (or something contained by a transient panel), leave it alone
var p=target; while (p) {
if ((hasClass(p,"floatingPanel")||hasClass(p,"sliderPanel"))&&p.getAttribute("transient")=="true") break;
p=p.parentNode;
}
if (p) return retval;
// otherwise, find and close all transient panels...
var all=document.all?document.all:document.getElementsByTagName("DIV");
for (var i=0; i<all.length; i++) {
// if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;
// otherwise, if the panel is currently visible, close it by clicking it's button
if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button})
}
return retval;
};
//}}}
//{{{
// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel) {
if (hasClass(panel,"floatingPanel")) {
var rightEdge=document.body.offsetWidth-1;
var panelWidth=panel.offsetWidth;
var left=0;
var top=btn.offsetHeight;
if (place.style.position=="relative" && findPosX(btn)+panelWidth>rightEdge) {
left-=findPosX(btn)+panelWidth-rightEdge; // shift panel relative to button
if (findPosX(btn)+left<0) left=-findPosX(btn); // stay within left edge
}
if (place.style.position!="relative") {
var left=findPosX(btn);
var top=findPosY(btn)+btn.offsetHeight;
var p=place; while (p && !hasClass(p,'floatingPanel')) p=p.parentNode;
if (p) { left-=findPosX(p); top-=findPosY(p); }
if (left+panelWidth>rightEdge) left=rightEdge-panelWidth;
if (left<0) left=0;
}
panel.style.left=left+"px"; panel.style.top=top+"px";
}
}
//}}}
//{{{
// TW2.1 and earlier:
// hijack Slider stop handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
// TW2.2+
// hijack Morpher stop handler so sliderPanel/floatingPanel overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
Morpher.prototype.coreStop = Morpher.prototype.stop;
Morpher.prototype.stop = function() {
this.coreStop.apply(this,arguments);
var e=this.element;
if (hasClass(e,"sliderPanel")||hasClass(e,"floatingPanel")) {
// adjust panel overflow and position after animation
e.style.overflow = "visible";
if (window.adjustSliderPos) window.adjustSliderPos(e.parentNode,e.button,e);
}
};
}
//}}}
[img[http://www.alisachristopher.us/avatarsd/ozai.png]]
<!--{{{-->
<div class='header' height='120px'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<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>
<!--}}}-->
Awarded for winning battles in [[Versus Mode]] or meeting certain conditions in [[Story Mode]] such as getting a "perfect" on a match, Players can redeem these tiles for a variety of unlockable items, such as outfits, backgrounds and characters.
!Clothing
Each character will start with just one clothing choice in [[Versus Mode]], but spending tiles will allow players to choose alternative appearances for some of the characters. Most characters will have 3 outfits to unlock, but some may only have 1 or 2.
!Backgrounds
There will be 8 backgrounds available by default, and more can be purchased with tiles.
[img[http://www.alisachristopher.us/fm2k2/avatarsd/title.png]]
/***
!Metadata:
|''Name:''|Slider2Plugin|
|''Description:''||
|''Version:''|1.0.1|
|''Date:''|Mar 20, 2007|
|''Source:''|http://www.sourceforge.net/projects/ptw/|
|''Author:''|BramChen (bram.chen (at) gmail (dot) com)|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 1.5+ (the firefox extension, XTML Ruby support, is required)|
!Syntax:
{{{
<<slider2 tiddlerTitle sliderTitle toolsip>>
or {{custClass{<<slider2 tiddlerTitle sliderTitle toolsip>><<slider2 ...>>...<slider2...>>}}}
}}}
<<<
tiddlerTitle: the title of tiddler to include in the slider
sliderTitletitle: text of the slider
toolsip: tooltip text of the slider
custClass: optional, for grouping the sliders and/or assigning a group style.
<<<
!Revision History:
|''Version''|''Date''|''Note''|
|1.0.1|Mar 20, 2007|Added animation collapse|
|1.0.0|Mar 18, 2007|Initial release|
!Code section:
***/
//{{{
config.slider2 = {};
config.macros.slider2 = {
onClickSlider: function(e){
if (!e) var e = window.event;
var n = this.nextSibling;
var isOpen = n.style.display != "none";
var nodes = this.parentNode.childNodes;
for(var i=0; i<nodes.length; i++){
if(nodes[i].title && nodes[i].title != this.title){
if(nodes[i].nextSibling.className = "sliderPanel"){
if(config.slider2[this.parentNode.className] == nodes[i].title){
if(config.options.chkAnimate)
anim.startAnimating(new Slider(nodes[i].nextSibling, false,e.shiftKey || e.altKey,"none"));
else
nodes[i].nextSibling.style.display = "none";
}
}
}
}
if (config.options.chkAnimate)
setTimeout(function(){anim.startAnimating(new Slider(n,!
isOpen,null,"none"));},300);
// anim.startAnimating(new Slider(n,!isOpen,e.shiftKey || e.altKey,"none"));
else
n.style.display = isOpen ? "none" : "block";
config.slider2[this.parentNode.className] = isOpen ? "" : this.title;
return false;
},
createSlider: function(place,title,tooltip){
var btn = createTiddlyButton(place,title,tooltip,this.onClickSlider);
var panel = createTiddlyElement(place,"div",null,"sliderPanel",null);
panel.style.display = "none";
return panel;
},
handler: function(place,macroName,params){
params[2] = params[2]?params[2]:params[0];
var panel = this.createSlider(place,params[1],params[2]);
var text = store.getTiddlerText(params[0]);
if(text)
wikify(text,panel,null,store.getTiddler(params[0]));
}
};
//}}}
----
[img[http://www.alisachristopher.us/avatarsd/sokka.png]]
!!!!Boomerang: BK - (FW+Punch)
Ranged attack
!!!!War Club: BK - FW - (DN+Punch)
Medium strength attack
!!!!Space Sword: BK - DN - (FW+Strong)
A strong whirling attack
!!!!Stinkbomb: FW - (FW+Punch)
Throws a stinkbomb that paralyzes enemies
!!!!Dual Attack: FW - BK - (DN+Strong)
Sokka throws his boomerang, and then quickly attacks with his sword
!!!!Wolf Howl: DN - BK - (FW+Strong)
Think Odin from FF
----
/*{{{*/
body {background: url(http://www.alisachristopher.us/fm2k2/avatarsd/background.png);}
.tiddler {background: white; border: #ff9700 thick ridge; padding: 8px; margin:10px;
margin-right:25px;}
#mainMenu {background: white; border: #ff9700 thick ridge; text-align:left; padding: 8px;
margin-left:25px; margin-right:10px; width:120px;}
.header {background: #9b886d;border: thick #ff9700 ridge; padding:0px; margin:25px;
height:140px;}
.siteTitle{position:absolute; top:10px;}
#sidebar {border: thick #ff9700 ridge; padding:5px;
margin-left:10px; margin-right:25px; background: #9b886d;}
.tiddlyLinkExisting {font-weight:bold; text-decoration:underline;}
.tiddlyLinkNonExisting {font-style:italic; text-decoration:line-through;}
h1 {padding-bottom:1px; margin-top:1em;margin-bottom:0.5em;}
h2, h3, h4,h5,h6 {margin-top:0.2em;margin-bottom:0.1em;}
h2 {font-size:1.1em;}
h3 {font-size:1em;}
h4 {font-size:.9em;}
h5 {font-size:.8em;}
.accordionEffect .button{display: block;color:#841; padding-bottom:1px;
margin:0px; margin-top:2px; font-weight:bold; border:none;}
.viewer blockquote{border-left:solid 2px #9b886d;]
.subtitle {display:none;}
.dcTOC {float:left; border:thin solid #5b482d; margin: 10px; margin-right:15px;
padding:7px; background-color:#cbb89d; color:#5b482d;}
.dcTOCTop {float:right; position:relative; top:-23px;}
/*}}}*/
[img[http://www.alisachristopher.us/avatarsd/suki.png]]
/***
|Name|SuppressEmptyTagsPlugin|
|Source|[[FND's DevPad|http://devpad.tiddlyspot.com/#SuppressEmptyTagsPlugin]]|
|Version|1.1|
|Author|FND|
|Contributors|[[Saq Imtiaz|http://tw.lewcid.org]], [[Eric Shulman|http://www.tiddlytools.com]]|
|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|config.macros.tags.handler|
|Description|suppress tagged box when tiddler is untagged|
!Changelog
!!v0.5 (2007-06-11)
* initial release
!!v1.0 (2007-06-11)
* proper overriding of core function (thanks Saq)
* changed ~CoreVersion to 2.1 (from 2.2)
!!v1.1 (2007-06-11)
* further improved hijacking method (thanks Eric)
!Code
***/
//{{{
config.macros.tags.oldHandler = config.macros.tags.handler;
config.macros.tags.handler = function(place, macroName, params, wikifier, paramString, tiddler) {
place.style.display = 'none';
};
//}}}
Version numbers are just projections.
!!Bugs
Teams Mode placement bug
Rapid flipping when characters are on the same x
!!v0.16
Match Count Option
SFX Options
!!v0.17 ~ v0.18
--Background Plates: Book One--
Alternative Outfit Sprites: Aang ~ Toph
Adjust Teams ~AIs
!!v0.19 ~ v0.235
Character Sprites: ~FireBender, ~FireSoldier, Suki, Bumi, Jet, Zhao, Jun
Special Moves: ~FireBender, ~FireSoldier, Suki, Bumi, Jet, Zhao, Jun
!!v0.24
Character Outfit Selection
Pai Sho Tiles: Buy Backgrounds
Pai Sho Tiles: Buy Outfits
!!v0.25
Cut Scenes: Book One
Story Mode: Book One
----
[img[http://www.alisachristopher.us/avatarsd/toph.png]]
All of Toph's moves, except for the Rock Toss, must be done while standing on the bottom-most ground level.
!!!!Rock Toss: DN - (FW+Punch)
She throws a rock. At your head.
!!!!Rock Armor: DN - BK - (FW+Block)
Creates an armor made of solid rock. Lasts for a limited time.
!!!!Rock Punch: BK - (FW+Punch)
Can only be used after using Rock Armor
!!!!Burrow: BK - DN - (FW+Kick)
Toph disappears into the earth below, resurfacing at a different place on screen.
!!!!Rock Line: DN - (FW+Kick)
A wave of earth
!!!!Tremor:FW - DN - BK - (DN+Kick)
Think Titan from FF
----
[img[http://www.alisachristopher.us/avatarsd/tylee.png]]
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
[img[http://www.alisachristopher.us/avatarsd/zhao.png]]
----
[img[http://www.alisachristopher.us/avatarsd/zuko.png]]
!!Firebender
!!!!Flame Daggers: FW - BK - (FW+Punch)
A quick, light attack
!!!!Flame Whip: FW - BK - (FW+Strong)
A medium ranged attack
!!!!Fire Kick: BK - (FW+Kick)
A fiery blast that can knock opponents down.
!!!!Dragon Kick: FW - BK - (FW+Kick)
!!!!Fire Balls: BK - FW - (FW+Punch)
A barrage of 3 or 4 fireballs
!!!!Fire Storm: BK - DN - FW - (FW+Kick)
A whirling fire surrounds Zuko like a shield, while damaging foes
!!Nonbender
At points in Zuko's storymode, he'll be unable to firebend. Instead he'll have special moves using his swords.
!!!!Dual Sword
He uses his two broad swords for a double attack
----