STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
229455
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2574 · P5148

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/86273344?noj=FRM86273344-5DC" width="1" height="1"></div>

PitSweeper.swf

This is the info page for
Flash #76403

(Click the ID number above for more basic data on this flash file.)


Text
<p align="left"></p>

<p align="center"><font face="Arial" size="18" color="#000000" letterSpacing="0.000000" kerning="0">Z</font></p>

<p align="left"></p>

Set

Cancel

Missile Weapon: 1-4 of 18

Would you like to donate 250 gold and increase your STR by +1?

Altar Of Grace

Melee Weapon

Ranged Weapon

Ready Item A

Ready Item B

Dim Numbers

Turn 36232

Level 1: Dark Heart of Hades

Tyrant's Gate Oh Wait

Level 1

Sweeper entered the dungeon with trepidation.  The Tyrant of the Pit waited far below; buried beneath layers and layers of his minions.

His first hope lay in the deaths of those that came before him; they had left behind treasures and artifacts, that hopefully Sweeper could use.

But his real hope lay in his ability to sweep...

Cancel

<p align="center"><font face="Book Antiqua" size="20" color="#ffffcc" letterSpacing="0.000000" kerning="0"><b><i>123456789</i></b></font></p>

Would you like to learn how to play?

In PitSweeper, little Sweeper here..

Needs to get to the end of the ninth dungeon,
and defeat the terrible Tyrant of the Pit.

He has some fighting and adventuring skills,
but his big advantage is his ability to sweep -
to detect monsters and treasures ahead of
time.

SWEEPING

Click on a grey square to find out what's under
it - or what's nearby!

Green numbers mean
walls or treasures.

Red numbers mean
monsters are near.

Yellow means that a
mix of treasures,
walls, and monsters
are near.

The number indicates
how many things are
around this square.

1 2 3

TREASURES

Did you find something good?  Head on over
and pick it up!

To move Sweeper,
click on an
empty space.

To pick something
up, click on it when
Sweeper is next to it.

SETTING EQUIPMENT

When you find weapons and tools, make sure
you equip them.

Click on the
inventory slots to the
right to set items
from your inventory.

Short Sword

It's a sword - and it's short.

DAM 1d6(+1)

MONSTERS

If you unleash a monster, it will chase you until
you defeat it.

Click on a monster
to either fight it or
shoot it, depending
on range.

Monsters take a turn
every time you do -
don't waste time
equipping in the
middle of a fight!

Z

EXIT

When you find the exit, you can leave the level.

Click on the exit
when Sweeper is
next to it to end the
level.

You're one level
closer to reaching
the Tyrant!

PitSweeper

kinsmangames.com

Died on Level 5

Monsters Defeated: 26
Treasures Got: 33
Turns Taken: 1230

Tyrants Defeated: 0

You Lose

Died on Level 5

Monsters Defeated: 26
Treasures Got: 33
Turns Taken: 1230

Tyrants Defeated: 0

You Win

Unrevealed Monsters

Unrevealed Treasures

Level X

Bonus: 8 - 6 = 2XP

ONWARD DOWN

<p align="center"><font face="Arial" size="12" color="#ffffff" letterSpacing="0.000000" kerning="0">Miss</font></p>

<p align="center"><font face="Consolas" size="18" color="#000000" letterSpacing="0.000000" kerning="0">4</font></p>

ActionScript [AS3]

Section 1
//Ancestor (bestiary.Ancestor) package bestiary { public dynamic class Ancestor extends Enemy { public function Ancestor(){ name = "Ancestor"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#aa7700'>A</FONT>"; this.maxhp = 12; this.hp = 12; this.str = 0; this.maxstr = 0; this.agi = 1; this.maxagi = 1; this.extratext = "This ancestor is angered that Sweeper abused the Ancestor Sword."; this.dicenumber = 1; this.dicetype = 6; } } }//package bestiary
Section 2
//Bat (bestiary.Bat) package bestiary { import flash.geom.*; public dynamic class Bat extends Enemy { public function Bat(){ name = "Bat"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#996633'>b</FONT>"; this.maxhp = 4; this.hp = 4; this.str = -2; this.maxstr = -2; this.agi = 2; this.maxagi = 2; this.extratext = "Bats flutter about in dark places, in a mostly harmless manner."; this.dicenumber = 1; this.dicetype = 3; } override public function action(){ var _local1:TileBoard; var _local2:Player; var _local3:Point; var _local4:Point; var _local5:int; var _local6:int; _local1 = Main.singleton.tb; _local2 = Main.singleton.player; _local3 = _local1.getIndexOfThing(_local2); _local4 = _local1.getIndexOfThing(this); _local5 = (Math.floor((Math.random() * 3)) - 1); _local6 = (Math.floor((Math.random() * 3)) - 1); if ((_local4.x + _local5) > 15){ _local5--; }; if ((_local4.x + _local5) < 0){ _local5++; }; if ((_local4.y + _local6) > 15){ _local6--; }; if ((_local4.y + _local6) < 0){ _local6--; }; if (_local1.areAdjacent(this, _local2)){ tryToHit(_local1, _local3.x, _local3.y, _local2); } else { _local3 = _local1.getIndexOfThing(_local2); tryToMove(_local1, (_local4.x + _local5), (_local4.y + _local6)); }; } } }//package bestiary
Section 3
//Beast (bestiary.Beast) package bestiary { public dynamic class Beast extends Enemy { public function Beast(){ name = "Beast"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#660000'>B</FONT>"; this.maxhp = 28; this.hp = 28; this.str = 3; this.maxstr = 3; this.agi = 3; this.maxagi = 3; this.armor = 1; this.extratext = "A rampaging, lunging whirlwind of thick fur and sharp teeth and red, red eyes."; this.dicenumber = 1; this.dicetype = 8; } } }//package bestiary
Section 4
//Behemoth (bestiary.Behemoth) package bestiary { public dynamic class Behemoth extends Enemy { public function Behemoth(){ name = "Behemoth"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#00cc33'>B</FONT>"; this.maxhp = 36; this.hp = 36; this.str = 4; this.maxstr = 4; this.agi = -2; this.maxagi = -2; this.armor = 2; this.extratext = "A massive creature of scales, muscle, and sharp glaring eyes."; this.dicenumber = 1; this.dicetype = 8; } } }//package bestiary
Section 5
//Cat (bestiary.Cat) package bestiary { import flash.geom.*; public dynamic class Cat extends Enemy { public function Cat(){ name = "Cat"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#AA5511'>c</FONT>"; this.maxhp = 3; this.hp = 3; this.str = -2; this.maxstr = -2; this.agi = 4; this.maxagi = 4; this.extratext = "How'd you get down here? Go away, kitty!"; this.dicenumber = 1; this.dicetype = 3; } override public function action(){ var _local1:TileBoard; var _local2:Player; var _local3:Point; var _local4:Point; var _local5:int; var _local6:int; var _local7:Tile; _local1 = Main.singleton.tb; _local2 = Main.singleton.player; _local3 = _local1.getIndexOfThing(_local2); _local4 = _local1.getIndexOfThing(this); if ((((Math.random() < 0.2)) || (_local1.areAdjacent(this, _local2)))){ Main.singleton.queue.addQueue({type:"msg", text:"<FONT COLOR='#aa0000'><B>Cat</B></FONT> mews."}); return; }; _local5 = (Math.floor((Math.random() * 3)) - 1); _local6 = (Math.floor((Math.random() * 3)) - 1); if ((_local4.x + _local5) > 15){ _local5--; }; if ((_local4.x + _local5) < 0){ _local5++; }; if ((_local4.y + _local6) > 15){ _local6--; }; if ((_local4.y + _local6) < 0){ _local6++; }; _local7 = _local1.getTileAt((_local4.x + _local5), (_local4.y + _local6)); if (_local7.revealed == false){ Main.singleton.queue.addQueue({type:"msg", text:"<FONT COLOR='#aa0000'><B>Cat</B></FONT> steps on a tile!"}); Main.singleton.revealFromPoint(_local1, (_local4.x + _local5), (_local4.y + _local6)); } else { tryToMove(_local1, (_local4.x + _local5), (_local4.y + _local6)); }; } } }//package bestiary
Section 6
//Cultist (bestiary.Cultist) package bestiary { public dynamic class Cultist extends Enemy { public function Cultist(){ name = "Cultist"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#aa0000'>C</FONT>"; this.maxhp = 9; this.hp = 9; this.str = 0; this.maxstr = 0; this.agi = 0; this.maxagi = 0; this.extratext = "Cultists are crazed humans, sworn to protect and serve the Tyrant."; this.dicenumber = 1; this.dicetype = 4; } } }//package bestiary
Section 7
//CultistLeader (bestiary.CultistLeader) package bestiary { public dynamic class CultistLeader extends Enemy { public function CultistLeader(){ name = "Cultist Leader"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#aaaa00'>C</FONT>"; this.maxhp = 15; this.hp = 15; this.str = 2; this.maxstr = 2; this.agi = 2; this.maxagi = 2; this.extratext = "This cultist has struggled to the top of the Tyrant's dire ladder, and gained the strength necessary to lead."; this.dicenumber = 1; this.dicetype = 6; } } }//package bestiary
Section 8
//EnlargedBadger (bestiary.EnlargedBadger) package bestiary { public dynamic class EnlargedBadger extends Enemy { public function EnlargedBadger(){ name = "Enlarged Badger"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#eeeeee'>b</FONT>"; this.maxhp = 8; this.hp = 8; this.str = 0; this.maxstr = 0; this.agi = 2; this.maxagi = 2; this.extratext = "A badger is a fierce little animal - oh, wait. Maybe not that little."; this.dicenumber = 1; this.dicetype = 4; } } }//package bestiary
Section 9
//EnlargedRat (bestiary.EnlargedRat) package bestiary { import itemary.*; public dynamic class EnlargedRat extends Enemy { public function EnlargedRat(){ name = "Enlarged Rat"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#bb7700'>r</FONT>"; this.maxhp = 5; this.hp = 5; this.str = -1; this.maxstr = -1; this.agi = 1; this.maxagi = 1; this.extratext = "Rats have thrived down here, and grown large and strong."; this.dicenumber = 1; this.dicetype = 3; } override public function sideEffect(){ if (Math.random() < 0.05){ Main.singleton.queue.addQueue({type:"msg", text:"The rat's wound was venomous!"}); Main.singleton.player.addAffect(new AffectPoison()); }; } } }//package bestiary
Section 10
//EnlargedSerpent (bestiary.EnlargedSerpent) package bestiary { import itemary.*; public dynamic class EnlargedSerpent extends Enemy { public function EnlargedSerpent(){ name = "Enlarged Serpent"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#00cc00'>S</FONT>"; this.maxhp = 11; this.hp = 11; this.str = 1; this.maxstr = 1; this.agi = 2; this.maxagi = 2; this.extratext = "These underground snakes have somehow grown to the size of humans."; this.dicenumber = 1; this.dicetype = 4; } override public function sideEffect(){ if (Math.random() < 0.25){ Main.singleton.queue.addQueue({type:"msg", text:"The serpent's wound was venomous!"}); Main.singleton.player.addAffect(new AffectPoison()); }; } } }//package bestiary
Section 11
//Ghoul (bestiary.Ghoul) package bestiary { import itemary.*; public dynamic class Ghoul extends Enemy { public function Ghoul(){ name = "Ghoul"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#33AA00'>G</FONT>"; this.maxhp = 18; this.hp = 18; this.str = 1; this.maxstr = 1; this.agi = -1; this.maxagi = -1; this.extratext = "Ghouls are lost humans, on the very threshold of the undead world."; this.dicenumber = 1; this.dicetype = 6; } override public function sideEffect(){ if (Math.random() < 0.25){ Main.singleton.queue.addQueue({type:"msg", text:"A deep chill runs through <B>Sweeper</B>'s wound!"}); Main.singleton.player.addAffect(new AffectStiff()); }; } } }//package bestiary
Section 12
//Grunt (bestiary.Grunt) package bestiary { public dynamic class Grunt extends Enemy { public function Grunt(){ name = "Grunt"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#aa0000'>G</FONT>"; this.maxhp = 6; this.hp = 6; this.str = 0; this.maxstr = 0; this.agi = -1; this.maxagi = -1; this.extratext = "Grunts are dull-witted monsters that trod towards the nearest enemy, then thump away."; this.dicenumber = 1; this.dicetype = 4; } } }//package bestiary
Section 13
//InvisibleStalker (bestiary.InvisibleStalker) package bestiary { public dynamic class InvisibleStalker extends Enemy { public function InvisibleStalker(){ name = "Invisible Stalker"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#000000'> </FONT>"; this.maxhp = 18; this.hp = 18; this.str = 1; this.maxstr = 1; this.agi = 3; this.maxagi = 3; this.extratext = "It's not as big an advantage as you'd think."; this.dicenumber = 1; this.dicetype = 4; } } }//package bestiary
Section 14
//IronGolem (bestiary.IronGolem) package bestiary { import flash.geom.*; public dynamic class IronGolem extends Enemy { public var myturn:Boolean; public function IronGolem(){ name = "Iron Golem"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#DDDDDD'>I</FONT>"; this.maxhp = 25; this.hp = 25; this.str = 5; this.maxstr = 5; this.agi = -2; this.maxagi = -2; this.armor = 2; this.extratext = "A giant mechanical stomper of a creature - slow, but unstoppable."; this.dicenumber = 1; this.dicetype = 6; myturn = false; } override public function action(){ var _local1:TileBoard; var _local2:Player; var _local3:Point; if (myturn == false){ myturn = true; return; }; _local1 = Main.singleton.tb; _local2 = Main.singleton.player; _local3 = _local1.getIndexOfThing(_local2); if (_local1.areAdjacent(this, _local2)){ tryToHit(_local1, _local3.x, _local3.y, _local2); } else { _local3 = _local1.getIndexOfThing(_local2); tryToMove(_local1, _local3.x, _local3.y); }; myturn = false; } } }//package bestiary
Section 15
//Mosquito (bestiary.Mosquito) package bestiary { import itemary.*; public dynamic class Mosquito extends Enemy { public function Mosquito(){ name = "Mosquito"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#DD0000'>m</FONT>"; this.maxhp = 1; this.hp = 1; this.str = -2; this.maxstr = -2; this.agi = 2; this.maxagi = 2; this.extratext = "A tiny insect, mostly harmless; but sometimes it carries disease."; this.dicenumber = 1; this.dicetype = 2; } override public function sideEffect(){ if (Math.random() < 0.25){ Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> contracts anemia!"}); Main.singleton.player.addAffect(new AffectAnemic()); }; } } }//package bestiary
Section 16
//Reaper (bestiary.Reaper) package bestiary { public dynamic class Reaper extends Enemy { public function Reaper(){ name = "Reaper"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#555555'>R</FONT>"; this.maxhp = 999; this.hp = 999; this.str = 7; this.maxstr = 7; this.agi = 7; this.maxagi = 7; this.extratext = "The Reaper is a powerful, relentless spirit, who chases the dawdling and idling."; this.dicenumber = 1; this.dicetype = 12; } } }//package bestiary
Section 17
//Sentry (bestiary.Sentry) package bestiary { import flash.geom.*; public dynamic class Sentry extends Enemy { public function Sentry(){ name = "Sentry"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#EEEEEE'>S</FONT>"; this.maxhp = 10; this.hp = 10; this.str = 2; this.maxstr = 2; this.agi = 0; this.maxagi = 0; this.extratext = "A sentry doesn't move, but protects its space aggressively from any passers-by."; this.dicenumber = 1; this.dicetype = 8; this.armor = 1; } override public function action(){ var _local1:TileBoard; var _local2:Player; var _local3:Point; _local1 = Main.singleton.tb; _local2 = Main.singleton.player; _local3 = _local1.getIndexOfThing(_local2); if (_local1.areAdjacent(this, _local2)){ tryToHit(_local1, _local3.x, _local3.y, _local2); } else { return; }; } } }//package bestiary
Section 18
//Skeleton (bestiary.Skeleton) package bestiary { public dynamic class Skeleton extends Enemy { public function Skeleton(){ name = "Skeleton"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#FFFFCC'>S</FONT>"; this.maxhp = 12; this.hp = 12; this.str = 1; this.maxstr = 1; this.agi = 0; this.maxagi = 0; this.armor = 2; this.extratext = "Being nothing but bones, a rattling old skeleton is its own armor."; this.dicenumber = 1; this.dicetype = 4; } } }//package bestiary
Section 19
//Slime (bestiary.Slime) package bestiary { import flash.display.*; import flash.text.*; public dynamic class Slime extends Enemy { public function Slime(){ name = "Slime"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#00ff00'>s</FONT>"; this.maxhp = 12; this.hp = 12; this.str = -1; this.maxstr = -1; this.agi = -1; this.maxagi = -1; this.extratext = "A liquid body shrugs off swords, and energy blasts - humble, but difficult to kill."; this.armor = 5; this.dicenumber = 1; this.dicetype = 4; } override public function sideEffect(){ if ((((Math.random() < 0.15)) && (!((Main.singleton.player.meleeslot == Main.singleton.player.barehands))))){ Main.singleton.queue.addQueue({type:"msg", text:(("The <FONT COLOR='#aa0000'><B>Slime</B></FONT>'s touch rots away your <FONT COLOR='#00aa00'><B>" + Main.singleton.player.meleeslot.name) + "</B></FONT>!")}); Main.singleton.player.meleeslot.discard(); }; } } }//package bestiary
Section 20
//Spectre (bestiary.Spectre) package bestiary { public dynamic class Spectre extends Enemy { public function Spectre(){ name = "Spectre"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#6666AA'>S</FONT>"; this.maxhp = 21; this.hp = 21; this.str = -1; this.maxstr = -1; this.agi = 3; this.maxagi = 3; this.extratext = "Spectres are powerful ghosts, turned bitter and evil from loneliness."; this.dicenumber = 1; this.dicetype = 4; } override public function sideEffect(){ if ((((Math.random() < 0.25)) && ((Main.singleton.player.xp > 0)))){ Main.singleton.queue.addQueue({type:"msg", text:"The spectre siphons some of <B>Sweeper</B>'s life force!"}); Main.singleton.player.xp--; }; } } }//package bestiary
Section 21
//Tyrant (bestiary.Tyrant) package bestiary { public dynamic class Tyrant extends Enemy { public function Tyrant(){ name = "Tyrant"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#cc0000'>T</FONT>"; this.maxhp = 50; this.hp = 50; this.str = 7; this.maxstr = 7; this.agi = 5; this.maxagi = 5; this.extratext = "THE TYRANT OF THE PIT ABSOLUTELY HAS TO DIE."; this.dicenumber = 2; this.dicetype = 4; } } }//package bestiary
Section 22
//WhirlingSword (bestiary.WhirlingSword) package bestiary { import flash.geom.*; public dynamic class WhirlingSword extends Enemy { public var myturn:Boolean; public function WhirlingSword(){ name = "Whirling Sword"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#3333FF'>S</FONT>"; this.maxhp = 12; this.hp = 12; this.str = 2; this.maxstr = 2; this.agi = 2; this.maxagi = 2; this.extratext = "The whirling, animated sword advances - slowly, but surely."; this.dicenumber = 1; this.dicetype = 6; this.armor = 3; } override public function action(){ var _local1:TileBoard; var _local2:Player; var _local3:Point; if (myturn == false){ myturn = true; return; }; _local1 = Main.singleton.tb; _local2 = Main.singleton.player; _local3 = _local1.getIndexOfThing(_local2); if (_local1.areAdjacent(this, _local2)){ tryToHit(_local1, _local3.x, _local3.y, _local2); } else { _local3 = _local1.getIndexOfThing(_local2); tryToMove(_local1, _local3.x, _local3.y); }; } } }//package bestiary
Section 23
//Zombie (bestiary.Zombie) package bestiary { import flash.geom.*; public dynamic class Zombie extends Enemy { public function Zombie(){ name = "Zombie"; glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#338800'>Z</FONT>"; this.maxhp = 4; this.hp = 4; this.str = -1; this.maxstr = -1; this.agi = -3; this.maxagi = -3; this.extratext = "Zombies are slow, shuffling, and weak.. but they are almost never alone."; this.dicenumber = 1; this.dicetype = 3; } override public function action(){ var _local1:TileBoard; var _local2:Player; var _local3:Point; if (Math.random() < 0.4){ return; }; _local1 = Main.singleton.tb; _local2 = Main.singleton.player; _local3 = _local1.getIndexOfThing(_local2); if (_local1.areAdjacent(this, _local2)){ tryToHit(_local1, _local3.x, _local3.y, _local2); } else { _local3 = _local1.getIndexOfThing(_local2); tryToMove(_local1, _local3.x, _local3.y); }; } } }//package bestiary
Section 24
//AffectAgility (itemary.AffectAgility) package itemary { public class AffectAgility extends Affect { var turnson:int;// = 0 public function AffectAgility(){ turnson = 0; super(); this.name = "Agility+"; this.color = "#0000DD"; } override public function start(){ Main.singleton.player.agi = (Main.singleton.player.agi + 2); active = true; } override public function stop(){ Main.singleton.player.agi = (Main.singleton.player.agi - 2); active = false; } override public function endOfTurn(){ turnson++; if ((((Math.random() < 0.2)) && ((turnson > 6)))){ Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> feels less agile now."}); stop(); }; } } }//package itemary
Section 25
//AffectAnemic (itemary.AffectAnemic) package itemary { import flash.geom.*; public class AffectAnemic extends Affect { var turnson:int;// = 0 public function AffectAnemic(){ turnson = 0; super(); this.name = "Anemic"; this.color = "#FF0000"; } override public function start(){ var _local1:Point; active = true; _local1 = Main.singleton.tb.getIndexOfThing(Main.singleton.player); Main.singleton.queue.addQueue({type:"smallmsg", text:"Anemic", color:"#ff8800", tx:_local1.x, ty:_local1.y}); } override public function stop(){ active = false; } override public function endOfTurn(){ turnson++; if ((((Math.random() < 0.2)) && ((turnson > 6)))){ Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> feels better now."}); stop(); }; } } }//package itemary
Section 26
//AffectDrunk (itemary.AffectDrunk) package itemary { import flash.geom.*; public class AffectDrunk extends Affect { var turnson:int;// = 0 public function AffectDrunk(){ turnson = 0; super(); this.name = "Drunk"; this.color = "#000000"; } override public function start(){ var _local1:Point; Main.singleton.player.armor++; Main.singleton.player.agi--; active = true; _local1 = Main.singleton.tb.getIndexOfThing(Main.singleton.player); Main.singleton.queue.addQueue({type:"smallmsg", text:"Drunk", color:"#ff8800", tx:_local1.x, ty:_local1.y}); } override public function stop(){ Main.singleton.player.agi++; Main.singleton.player.armor--; active = false; } override public function endOfTurn(){ turnson++; if ((((Math.random() < 0.15)) && ((turnson > 6)))){ Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> feels more clear-headed now."}); stop(); }; } } }//package itemary
Section 27
//AffectPoison (itemary.AffectPoison) package itemary { import flash.geom.*; public class AffectPoison extends Affect { var turnson:int;// = 0 public function AffectPoison(){ turnson = 0; super(); this.name = "Poison"; this.color = "#00BB00"; } override public function start(){ var _local1:Point; active = true; Main.singleton.player.str = (Main.singleton.player.str - 2); _local1 = Main.singleton.tb.getIndexOfThing(Main.singleton.player); Main.singleton.queue.addQueue({type:"smallmsg", text:"Poison", color:"#ff8800", tx:_local1.x, ty:_local1.y}); } override public function stop(){ active = false; Main.singleton.player.str = (Main.singleton.player.str + 2); } override public function endOfTurn(){ turnson++; if ((((Math.random() < 0.2)) && ((turnson > 6)))){ Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> feels better now."}); stop(); }; } } }//package itemary
Section 28
//AffectRegen (itemary.AffectRegen) package itemary { public class AffectRegen extends Affect { var turnson:int;// = 0 public function AffectRegen(){ turnson = 0; super(); this.name = "Regeneration"; this.color = "#00AA00"; } override public function start(){ active = true; } override public function stop(){ active = false; } override public function endOfTurn(){ turnson++; if ((turnson % 4) == 0){ Main.singleton.player.hp++; if (Main.singleton.player.hp > Main.singleton.player.maxhp){ Main.singleton.player.hp = Main.singleton.player.maxhp; }; }; } } }//package itemary
Section 29
//AffectStiff (itemary.AffectStiff) package itemary { import flash.geom.*; public class AffectStiff extends Affect { var turnson:int;// = 0 public function AffectStiff(){ turnson = 0; super(); this.name = "Stiff"; this.color = "#0000BB"; } override public function start(){ var _local1:Point; active = true; Main.singleton.player.agi = (Main.singleton.player.agi - 2); _local1 = Main.singleton.tb.getIndexOfThing(Main.singleton.player); Main.singleton.queue.addQueue({type:"smallmsg", text:"Stiff", color:"#ff8800", tx:_local1.x, ty:_local1.y}); } override public function stop(){ active = false; Main.singleton.player.agi = (Main.singleton.player.agi + 2); } override public function endOfTurn(){ turnson++; if ((((Math.random() < 0.2)) && ((turnson > 6)))){ Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> feels better now."}); stop(); }; } } }//package itemary
Section 30
//AffectStrength (itemary.AffectStrength) package itemary { public class AffectStrength extends Affect { var turnson:int;// = 0 public function AffectStrength(){ turnson = 0; super(); this.name = "Strength+"; this.color = "#DD0000"; } override public function start(){ Main.singleton.player.str = (Main.singleton.player.str + 3); active = true; } override public function stop(){ Main.singleton.player.str = (Main.singleton.player.str - 3); active = false; } override public function endOfTurn(){ turnson++; if ((((Math.random() < 0.2)) && ((turnson > 6)))){ Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> feels less strong now."}); stop(); }; } } }//package itemary
Section 31
//AgilityPotion (itemary.AgilityPotion) package itemary { import flash.geom.*; public dynamic class AgilityPotion extends Treasure { public function AgilityPotion(){ name = "Dexterity Tonic"; glyph.visible = true; glyph.gotoAndStop("potion"); setTint(0, 0, 127); tfName.htmlText = ""; extratext = "The oil-like tonic limbers up your muscles."; usable = true; } override public function stat():String{ return ("Boosts +2 AGI"); } override public function onUse(_arg1:TileBoard, _arg2:Player){ var _local3:Point; _local3 = _arg1.getIndexOfThing(_arg2); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> drinks <B><FONT COLOR='#00aa00'>Dexterity Tonic</FONT></B>."}); discard(); if (Main.singleton.player.hasAffect("Anemic")){ Main.singleton.queue.addQueue({type:"msg", text:"But <B>Sweeper</B>'s anemia keeps the potion from working!"}); return; }; _arg2.addAffect(new AffectAgility()); Main.singleton.queue.addQueue({type:"smallmsg", text:"+2 AGI", color:"#0000ff", tx:_local3.x, ty:_local3.y}); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> feels more agile!"}); } } }//package itemary
Section 32
//AgilityRing (itemary.AgilityRing) package itemary { public dynamic class AgilityRing extends Treasure { public function AgilityRing(){ name = "Ring of Agility"; glyph.visible = true; glyph.gotoAndStop("ring"); setTint(0, 0, 127); tfName.htmlText = ""; extratext = "This ring has latent magic that reinforces the body."; usable = false; } override public function stat():String{ return ("Boosts +1 AGI"); } override public function onUnequip(_arg1:TileBoard, _arg2:Player){ _arg2.agi--; } override public function onUse(_arg1:TileBoard, _arg2:Player){ } override public function onEquip(_arg1:TileBoard, _arg2:Player){ _arg2.agi++; } } }//package itemary
Section 33
//AncestorSword (itemary.AncestorSword) package itemary { import bestiary.*; public class AncestorSword extends Weapon { public function AncestorSword(){ glyph.visible = true; glyph.gotoAndStop("sword"); setTint(220, 110, 0); tfName.htmlText = ""; name = "Ancestor Sword"; dicenumber = 1; dicetype = 10; ismissile = false; extratext = "A powerful ancient weapon of an old family. If you miss with it, their ancestors will be displeased!"; } public function maybePlaceAncestor(){ var _local1:TileBoard; var _local2:*; var _local3:*; var _local4:Tile; _local1 = Main.singleton.tb; _local2 = Math.floor((Math.random() * _local1.across)); _local3 = Math.floor((Math.random() * _local1.down)); _local4 = _local1.getTileAt(_local2, _local3); if ((((_local1.getThingAt(_local2, _local3) == null)) && ((_local4.revealed == true)))){ _local1.addThingAt(new Ancestor(), _local2, _local3); Main.singleton.queue.addQueue({type:"msg", text:"An angry <FONT COLOR='#aa0000'><B>Ancestor</B></FONT> appears!"}); }; } override public function afterMiss(){ maybePlaceAncestor(); } } }//package itemary
Section 34
//BattleAxe (itemary.BattleAxe) package itemary { public class BattleAxe extends Weapon { public function BattleAxe(){ glyph.visible = true; glyph.gotoAndStop("axe"); setTint(32, 0, 128); tfName.htmlText = ""; name = "Battle Axe"; dicenumber = 2; dicetype = 5; ismissile = false; extratext = "A battle-axe is a somewhat ponderous, but undeniably powerful weapon."; if (maybeNice() == false){ maybePoor(); }; } override public function onUnequip(_arg1:TileBoard, _arg2:Player){ _arg2.agi++; } override public function stat():String{ var _local1:*; _local1 = ((((((("DAM " + dicenumber) + "d") + dicetype) + "(") + ((Main.singleton.player.str)>=0) ? "+" : "") + Main.singleton.player.str) + ")"); if (ismissile){ _local1 = (_local1 + (" Ammo " + getShotsLeft())); }; _local1 = (_local1 + " AGI -1"); return (_local1); } override public function onEquip(_arg1:TileBoard, _arg2:Player){ _arg2.agi--; } } }//package itemary
Section 35
//BroadSword (itemary.BroadSword) package itemary { public class BroadSword extends Weapon { public function BroadSword(){ glyph.visible = true; glyph.gotoAndStop("sword"); setTint(64, 64, 200); tfName.htmlText = ""; name = "Broadsword"; dicenumber = 2; dicetype = 4; ismissile = false; extratext = "A reliable, but unexciting sword."; if (maybeNice() == false){ maybePoor(); }; } } }//package itemary
Section 36
//CapBreaker (itemary.CapBreaker) package itemary { public dynamic class CapBreaker extends Treasure { public function CapBreaker(){ name = "Cap Breaker"; glyph.visible = true; glyph.gotoAndStop("device"); setTint(32, 32, 32); tfName.htmlText = ""; extratext = "This device will uncover all tiles containing walls on the level."; usable = true; } override public function stat():String{ return ("Reveal walls"); } override public function onUse(_arg1:TileBoard, _arg2:Player){ var _local3:*; var _local4:*; var _local5:Thing; var _local6:Tile; Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> activates the Cap Breaker."}); _local3 = 0; while (_local3 < _arg1.across) { _local4 = 0; while (_local4 < _arg1.down) { _local5 = _arg1.getThingAt(_local3, _local4); if (_local5 != null){ if ((_local5 is Wall)){ _local6 = _arg1.getTileAt(_local3, _local4); if (_local6.revealed == false){ Main.singleton.revealFromPoint(_arg1, _local3, _local4); }; }; }; _local4++; }; _local3++; }; discard(); } } }//package itemary
Section 37
//Crossbow (itemary.Crossbow) package itemary { public class Crossbow extends Weapon { public function Crossbow(){ glyph.visible = true; glyph.gotoAndStop("crossbow"); setTint(128, 128, 0); tfName.htmlText = ""; dicenumber = 1; dicetype = 9; strengthadd = false; ismissile = true; ammotype = "bolts"; name = "Crossbow"; extratext = "An impressively powerful mechanical bow - but bolts for it are hard to find."; if (maybeNice() == false){ maybePoor(); }; } override public function getMissByRange(_arg1:int):int{ if (_arg1 <= 10){ return ((_arg1 * 4)); }; return ((40 + ((_arg1 - 10) * 15))); } } }//package itemary
Section 38
//FireWand (itemary.FireWand) package itemary { public class FireWand extends Weapon { public var burnout:int; public var burnt:Boolean; public function FireWand(){ glyph.visible = true; glyph.gotoAndStop("wand"); setTint(196, 0, 0); tfName.htmlText = ""; dicenumber = 2; dicetype = 6; strengthadd = false; ismissile = true; ammotype = "wand"; shotcolor = 0xFF0000; name = "Fire Wand"; extratext = "A magical wand that shoots blazing, burning fireballs."; burnout = (8 + Math.floor((Math.random() * 6))); burnt = false; if (maybeNice() == false){ maybePoor(); }; } override public function ammoDeduct(){ if ((Math.random() * 100) < burnout){ Main.singleton.queue.addQueue({type:"msg", text:"<FONT COLOR='#00aa00'><B>Fire Wand</B></FONT> burns out!"}); burnt = true; }; } override public function stat():String{ var _local1:*; _local1 = ((("DAM " + dicenumber) + "d") + dicetype); if (burnt == false){ _local1 = (_local1 + ((" Burnout " + burnout) + "%")); } else { _local1 = (_local1 + " <FONT COLOR='#aa0000'>Burned Out</FONT>"); }; return (_local1); } override public function getMissByRange(_arg1:int):int{ if (_arg1 <= 10){ return ((_arg1 * 4)); }; return ((40 + ((_arg1 - 10) * 15))); } override public function getShotsLeft(){ if (burnt == false){ return (1); }; return (0); } override public function getDamage(){ var _local1:int; var _local2:*; _local1 = 0; _local2 = 0; while (_local2 < dicenumber) { _local1 = (_local1 + (Math.floor((Math.random() * dicetype)) + 1)); _local2++; }; return (_local1); } } }//package itemary
Section 39
//GlassSword (itemary.GlassSword) package itemary { public class GlassSword extends Weapon { public function GlassSword(){ glyph.visible = true; glyph.gotoAndStop("sword"); setTint(210, 210, 210); tfName.htmlText = ""; name = "Glass Sword"; dicenumber = 2; dicetype = 6; ismissile = false; extratext = "A very sharp and fine sword, but one day it may shatter."; if (maybeNice() == false){ maybePoor(); }; } override public function afterHit(){ if (Math.random() < 0.15){ Main.singleton.queue.addQueue({type:"msg", text:"<FONT COLOR='#00aa00'><B>Glass Sword</B></FONT> shatters!"}); discard(); }; } } }//package itemary
Section 40
//HealingConcentrate (itemary.HealingConcentrate) package itemary { import flash.geom.*; public dynamic class HealingConcentrate extends Treasure { public function HealingConcentrate(){ name = "Healing Concentrate"; glyph.visible = true; glyph.gotoAndStop("potion"); setTint(0, 32, 0); tfName.htmlText = ""; extratext = "This dark green healing potion is extremely powerful."; usable = true; } override public function stat():String{ return ("Restores 50 HP"); } override public function onUse(_arg1:TileBoard, _arg2:Player){ var _local3:Point; var _local4:int; Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> drinks <B><FONT COLOR='#00aa00'>Healing Concentrate</FONT></B>."}); discard(); _local3 = _arg1.getIndexOfThing(_arg2); _local4 = 50; _arg2.hp = (_arg2.hp + 50); if (_arg2.hp > _arg2.maxhp){ _local4 = ((50 + _arg2.maxhp) - _arg2.hp); _arg2.hp = _arg2.maxhp; }; Main.singleton.queue.addQueue({type:"smallmsg", text:String(_local4), color:"#00ff00", tx:_local3.x, ty:_local3.y}); Main.singleton.queue.addQueue({type:"msg", text:(("<B>Sweeper</B> regains " + _local4) + " HP.")}); } } }//package itemary
Section 41
//HealingKeg (itemary.HealingKeg) package itemary { import flash.geom.*; public dynamic class HealingKeg extends Treasure { public var uses:int; public function HealingKeg(){ name = "Healing Keg"; glyph.visible = true; glyph.gotoAndStop("keg"); setTint(0, 127, 0); tfName.htmlText = ""; extratext = "The Healing Keg contains multiple drinks worth of healing potion."; usable = true; uses = (Math.floor((Math.random() * 4)) + 2); } override public function stat():String{ return (("Restores 8 HP Drinks Left " + uses)); } override public function onUse(_arg1:TileBoard, _arg2:Player){ var _local3:Point; var _local4:int; _local3 = _arg1.getIndexOfThing(_arg2); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> drinks from the <B><FONT COLOR='#00aa00'>Healing Keg</FONT></B>."}); uses--; if (uses <= 0){ discard(); }; if (Main.singleton.player.hasAffect("Anemic")){ Main.singleton.queue.addQueue({type:"msg", text:"But <B>Sweeper</B>'s anemia keeps the potion from working!"}); return; }; _local4 = 8; _arg2.hp = (_arg2.hp + 8); if (_arg2.hp > _arg2.maxhp){ _local4 = ((8 + _arg2.maxhp) - _arg2.hp); _arg2.hp = _arg2.maxhp; }; Main.singleton.queue.addQueue({type:"smallmsg", text:String(_local4), color:"#00ff00", tx:_local3.x, ty:_local3.y}); Main.singleton.queue.addQueue({type:"msg", text:(("<B>Sweeper</B> regains " + _local4) + " HP.")}); } } }//package itemary
Section 42
//HealingPotion (itemary.HealingPotion) package itemary { import flash.geom.*; public dynamic class HealingPotion extends Treasure { public function HealingPotion(){ name = "Healing Potion"; glyph.visible = true; glyph.gotoAndStop("potion"); setTint(0, 127, 0); tfName.htmlText = ""; extratext = "Healing potions repair wounds and restore health when drunk."; usable = true; } override public function stat():String{ return ("Restores 8 HP"); } override public function onUse(_arg1:TileBoard, _arg2:Player){ var _local3:Point; var _local4:int; Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> drinks <B><FONT COLOR='#00aa00'>Healing Potion</FONT></B>."}); discard(); if (Main.singleton.player.hasAffect("Anemic")){ Main.singleton.queue.addQueue({type:"msg", text:"But <B>Sweeper</B>'s anemia keeps the potion from working!"}); return; }; _local3 = _arg1.getIndexOfThing(_arg2); _local4 = 8; _arg2.hp = (_arg2.hp + 8); if (_arg2.hp > _arg2.maxhp){ _local4 = ((8 + _arg2.maxhp) - _arg2.hp); _arg2.hp = _arg2.maxhp; }; Main.singleton.queue.addQueue({type:"smallmsg", text:String(_local4), color:"#00ff00", tx:_local3.x, ty:_local3.y}); Main.singleton.queue.addQueue({type:"msg", text:(("<B>Sweeper</B> regains " + _local4) + " HP.")}); } } }//package itemary
Section 43
//HeavyArmor (itemary.HeavyArmor) package itemary { public dynamic class HeavyArmor extends Treasure { public function HeavyArmor(){ name = "Heavy Armor"; glyph.visible = true; glyph.gotoAndStop("armor"); setTint(100, 100, 100); tfName.htmlText = ""; extratext = "Metal plates clank together, impeding your movement but protecting handily."; usable = false; } override public function stat():String{ return ("Boosts +3 Armor, AGI -2"); } override public function onUnequip(_arg1:TileBoard, _arg2:Player){ _arg2.armor = (_arg2.armor - 3); _arg2.agi = (_arg2.agi + 2); } override public function onUse(_arg1:TileBoard, _arg2:Player){ } override public function onEquip(_arg1:TileBoard, _arg2:Player){ _arg2.armor = (_arg2.armor + 3); _arg2.agi = (_arg2.agi - 2); } } }//package itemary
Section 44
//Katana (itemary.Katana) package itemary { public class Katana extends Weapon { public function Katana(){ glyph.visible = true; glyph.gotoAndStop("sword"); setTint(100, 100, 0xFF); tfName.htmlText = ""; name = "Katana"; dicenumber = 1; dicetype = 7; ismissile = false; extratext = "A finely-made Eastern blade. Capable of sometimes making amazing cuts."; if (maybeNice() == false){ maybePoor(); }; } override public function getDamage(){ var _local1:int; var _local2:*; _local1 = 0; _local2 = 0; while (_local2 < dicenumber) { _local1 = (_local1 + (Math.floor((Math.random() * dicetype)) + 1)); _local2++; }; if (Math.random() < 0.15){ Main.singleton.queue.addQueue({type:"msg", text:"<FONT COLOR='#00aa00'><B>Katana</B></FONT> makes a critical hit!"}); _local1 = (_local1 * 2); }; return (_local1); } } }//package itemary
Section 45
//LightArmor (itemary.LightArmor) package itemary { public dynamic class LightArmor extends Treasure { public function LightArmor(){ name = "Light Armor"; glyph.visible = true; glyph.gotoAndStop("armor"); setTint(150, 150, 100); tfName.htmlText = ""; extratext = "Leather straps and buckles offer mild protection to the user."; usable = false; } override public function stat():String{ return ("Boosts +1 Armor, AGI -1"); } override public function onUnequip(_arg1:TileBoard, _arg2:Player){ _arg2.armor--; _arg2.agi++; } override public function onUse(_arg1:TileBoard, _arg2:Player){ } override public function onEquip(_arg1:TileBoard, _arg2:Player){ _arg2.armor++; _arg2.agi--; } } }//package itemary
Section 46
//LightningWand (itemary.LightningWand) package itemary { public class LightningWand extends Weapon { public var burnout:int; public var burnt:Boolean; public function LightningWand(){ glyph.visible = true; glyph.gotoAndStop("wand"); setTint(0, 0, 196); tfName.htmlText = ""; dicenumber = 2; dicetype = 6; strengthadd = false; ismissile = true; ammotype = "wand"; shotcolor = 0xFF; name = "Lighting Wand"; extratext = "A magical wand that shoots blue bolts of electricity."; burnout = (8 + Math.floor((Math.random() * 6))); burnt = false; if (maybeNice() == false){ maybePoor(); }; } override public function ammoDeduct(){ if ((Math.random() * 100) < burnout){ Main.singleton.queue.addQueue({type:"msg", text:"<FONT COLOR='#00aa00'><B>Lighting Wand</B></FONT> burns out!"}); burnt = true; }; } override public function stat():String{ var _local1:*; _local1 = ((("DAM " + dicenumber) + "d") + dicetype); if (burnt == false){ _local1 = (_local1 + ((" Burnout " + burnout) + "%")); } else { _local1 = (_local1 + " <FONT COLOR='#aa0000'>Burned Out</FONT>"); }; return (_local1); } override public function getMissByRange(_arg1:int):int{ if (_arg1 <= 10){ return ((_arg1 * 4)); }; return ((40 + ((_arg1 - 10) * 15))); } override public function getShotsLeft(){ if (burnt == false){ return (1); }; return (0); } override public function getDamage(){ var _local1:int; var _local2:*; _local1 = 0; _local2 = 0; while (_local2 < dicenumber) { _local1 = (_local1 + (Math.floor((Math.random() * dicetype)) + 1)); _local2++; }; return (_local1); } } }//package itemary
Section 47
//LongBow (itemary.LongBow) package itemary { public class LongBow extends Weapon { public function LongBow(){ glyph.visible = true; glyph.gotoAndStop("bow"); setTint(64, 64, 0); tfName.htmlText = ""; dicenumber = 1; dicetype = 7; ismissile = true; ammotype = "arrows"; name = "Long Bow"; extratext = "An powerful and accurate bow, strongly favoured in wartime."; if (maybeNice() == false){ maybePoor(); }; } override public function getMissByRange(_arg1:int):int{ if (_arg1 <= 8){ return ((_arg1 * 4)); }; return ((32 + ((_arg1 - 8) * 15))); } } }//package itemary
Section 48
//Milk (itemary.Milk) package itemary { public dynamic class Milk extends Treasure { public function Milk(){ name = "Milk"; glyph.visible = true; glyph.gotoAndStop("potion"); setTint(220, 220, 220); tfName.htmlText = ""; extratext = "Delicious, healthy milk washes out the blood and removes status effects."; usable = true; } override public function stat():String{ return ("Removes Status"); } override public function onUse(_arg1:TileBoard, _arg2:Player){ var _local3:*; var _local4:Affect; Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> drinks <B><FONT COLOR='#00aa00'>Milk</FONT></B>."}); discard(); _local3 = 0; while (_local3 < Main.singleton.player.affected.length) { _local4 = Main.singleton.player.affected[_local3]; if (_local4.active == true){ _local4.stop(); }; _local3++; }; } } }//package itemary
Section 49
//MithrilArmor (itemary.MithrilArmor) package itemary { public dynamic class MithrilArmor extends Treasure { public function MithrilArmor(){ name = "Mithril Armor"; glyph.visible = true; glyph.gotoAndStop("armor"); setTint(200, 200, 200); tfName.htmlText = ""; extratext = "You can always make some nice stuff when you're using mithril."; usable = false; } override public function stat():String{ return ("Boosts +3 Armor, AGI -1"); } override public function onUnequip(_arg1:TileBoard, _arg2:Player){ _arg2.armor = (_arg2.armor - 3); _arg2.agi = (_arg2.agi + 1); } override public function onUse(_arg1:TileBoard, _arg2:Player){ } override public function onEquip(_arg1:TileBoard, _arg2:Player){ _arg2.armor = (_arg2.armor + 3); _arg2.agi = (_arg2.agi - 1); } } }//package itemary
Section 50
//PanicButton (itemary.PanicButton) package itemary { public dynamic class PanicButton extends Treasure { public function PanicButton(){ name = "Panic Button"; glyph.visible = true; glyph.gotoAndStop("device"); setTint(64, 0, 0); tfName.htmlText = ""; extratext = "This device will teleport Sweeper to a random location in the level."; usable = true; } override public function stat():String{ return ("Teleport"); } override public function onUse(_arg1:TileBoard, _arg2:Player){ var _local3:Boolean; var _local4:int; var _local5:int; _local3 = false; while (_local3 == false) { _local4 = Math.floor((Math.random() * _arg1.across)); _local5 = Math.floor((Math.random() * _arg1.down)); if (_arg1.getThingAt(_local4, _local5) == null){ _arg1.moveThingTo(_arg2, _local4, _local5, true); Main.singleton.revealFromPoint(_arg1, _local4, _local5); _local3 = true; }; }; Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> presses the Panic Button."}); discard(); } } }//package itemary
Section 51
//Partisan (itemary.Partisan) package itemary { public class Partisan extends Weapon { public function Partisan(){ glyph.visible = true; glyph.gotoAndStop("partisan"); setTint(64, 64, 200); tfName.htmlText = ""; name = "Partisan"; dicenumber = 1; dicetype = 10; ismissile = false; extratext = "This long-handled blade is powerful, but somewhat clumsy."; if (maybeNice() == false){ maybePoor(); }; } override public function onUnequip(_arg1:TileBoard, _arg2:Player){ _arg2.agi++; } override public function stat():String{ var _local1:*; _local1 = ((((((("DAM " + dicenumber) + "d") + dicetype) + "(") + ((Main.singleton.player.str)>=0) ? "+" : "") + Main.singleton.player.str) + ")"); if (ismissile){ _local1 = (_local1 + (" Ammo " + getShotsLeft())); }; _local1 = (_local1 + " AGI -1"); return (_local1); } override public function onEquip(_arg1:TileBoard, _arg2:Player){ _arg2.agi--; } } }//package itemary
Section 52
//RegenerationRing (itemary.RegenerationRing) package itemary { public dynamic class RegenerationRing extends Treasure { public var regen:AffectRegen; public function RegenerationRing(){ name = "Ring of Regeneration"; glyph.visible = true; glyph.gotoAndStop("ring"); setTint(32, 150, 0); tfName.htmlText = ""; extratext = "The holder of this ring slowly has their wounds repair over time."; usable = false; regen = new AffectRegen(); } override public function stat():String{ return ("Regeneration"); } override public function onUnequip(_arg1:TileBoard, _arg2:Player){ regen.stop(); } override public function onEquip(_arg1:TileBoard, _arg2:Player){ _arg2.addAffect(regen); } } }//package itemary
Section 53
//Resealant (itemary.Resealant) package itemary { import flash.geom.*; public dynamic class Resealant extends Treasure { public function Resealant(){ name = "Resealant"; glyph.visible = true; glyph.gotoAndStop("device"); setTint(0, 0, 92); tfName.htmlText = ""; extratext = "This device surrounds Sweeper with a ring of tile caps."; usable = true; } override public function stat():String{ return ("Create tile caps"); } override public function onUse(_arg1:TileBoard, _arg2:Player){ var _local3:Point; var _local4:*; var _local5:*; var _local6:Tile; _local3 = _arg1.getIndexOfThing(_arg2); _local4 = -1; while (_local4 <= 1) { _local5 = -1; while (_local5 <= 1) { if (((!((_local4 == 0))) || (!((_local5 == 0))))){ _local6 = _arg1.getTileAt((_local3.x + _local4), (_local3.y + _local5)); if (_local6.revealed == true){ _local6.revealed = false; _local6.cap.visible = true; _local6.cap.gotoAndStop(1); }; }; _local5++; }; _local4++; }; Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> activates the Resealant."}); discard(); } } }//package itemary
Section 54
//ResilienceRing (itemary.ResilienceRing) package itemary { public dynamic class ResilienceRing extends Treasure { public function ResilienceRing(){ name = "Ring of Resilience"; glyph.visible = true; glyph.gotoAndStop("ring"); setTint(0, 127, 0); tfName.htmlText = ""; extratext = "This ring has latent magic that reinforces the body."; usable = false; } override public function stat():String{ return ("Boosts +2 MAX HP"); } override public function onUnequip(_arg1:TileBoard, _arg2:Player){ _arg2.maxhp = (_arg2.maxhp - 2); if (_arg2.hp > 2){ _arg2.hp = (_arg2.hp - 2); }; } override public function onUse(_arg1:TileBoard, _arg2:Player){ } override public function onEquip(_arg1:TileBoard, _arg2:Player){ _arg2.maxhp = (_arg2.maxhp + 2); _arg2.hp = (_arg2.hp + 2); } } }//package itemary
Section 55
//ShortBow (itemary.ShortBow) package itemary { public class ShortBow extends Weapon { public function ShortBow(){ glyph.visible = true; glyph.gotoAndStop("bow"); setTint(96, 96, 0); tfName.htmlText = ""; dicenumber = 1; dicetype = 4; ismissile = true; ammotype = "arrows"; name = "Short Bow"; extratext = "An ordinary wooden bow. More accurate at short ranges."; if (maybeNice() == false){ maybePoor(); }; } override public function getMissByRange(_arg1:int):int{ if (_arg1 <= 4){ return ((_arg1 * 5)); }; return ((20 + ((_arg1 - 4) * 15))); } } }//package itemary
Section 56
//ShortSword (itemary.ShortSword) package itemary { public class ShortSword extends Weapon { public function ShortSword(){ glyph.visible = true; glyph.gotoAndStop("sword"); setTint(127, 127, 0xFF); tfName.htmlText = ""; name = "Short Sword"; dicenumber = 1; dicetype = 6; ismissile = false; extratext = "A handy small blade."; if (maybeNice() == false){ maybePoor(); }; } } }//package itemary
Section 57
//SparkleSword (itemary.SparkleSword) package itemary { public class SparkleSword extends Weapon { public function SparkleSword(){ glyph.visible = true; glyph.gotoAndStop("sword"); setTint(0xFF, 200, 200); tfName.htmlText = ""; name = "Sparkle Sword"; dicenumber = 1; dicetype = 12; ismissile = false; strengthadd = false; extratext = "This sword's blade is made of sparkling pink energy instead of metal."; if (maybeNice() == false){ maybePoor(); }; } } }//package itemary
Section 58
//Stick (itemary.Stick) package itemary { public class Stick extends Weapon { public function Stick(){ glyph.visible = true; glyph.gotoAndStop("stick"); tfName.htmlText = ""; name = "Stick"; dicenumber = 1; dicetype = 3; ismissile = false; extratext = "A simple wooden stick. Better than nothing."; } } }//package itemary
Section 59
//StrengthPotion (itemary.StrengthPotion) package itemary { import flash.geom.*; public dynamic class StrengthPotion extends Treasure { public function StrengthPotion(){ name = "Power Tonic"; glyph.visible = true; glyph.gotoAndStop("potion"); setTint(127, 0, 0); tfName.htmlText = ""; extratext = "This tonic will set your muscles on fire! But in a good way."; usable = true; } override public function stat():String{ return ("Boosts +3 STR"); } override public function onUse(_arg1:TileBoard, _arg2:Player){ var _local3:Point; _local3 = _arg1.getIndexOfThing(_arg2); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> drinks <B><FONT COLOR='#00aa00'>Power Tonic</FONT></B>."}); discard(); if (Main.singleton.player.hasAffect("Anemic")){ Main.singleton.queue.addQueue({type:"msg", text:"But <B>Sweeper</B>'s anemia keeps the potion from working!"}); return; }; _arg2.addAffect(new AffectStrength()); Main.singleton.queue.addQueue({type:"smallmsg", text:"+3 AGI", color:"#ff0000", tx:_local3.x, ty:_local3.y}); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> feels stronger!"}); } } }//package itemary
Section 60
//StrengthRing (itemary.StrengthRing) package itemary { public dynamic class StrengthRing extends Treasure { public function StrengthRing(){ name = "Ring of Strength"; glyph.visible = true; glyph.gotoAndStop("ring"); setTint(127, 0, 0); tfName.htmlText = ""; extratext = "This ring has latent magic that reinforces the body."; usable = false; } override public function stat():String{ return ("Boosts +1 STR"); } override public function onUnequip(_arg1:TileBoard, _arg2:Player){ _arg2.str--; } override public function onUse(_arg1:TileBoard, _arg2:Player){ } override public function onEquip(_arg1:TileBoard, _arg2:Player){ _arg2.str++; } } }//package itemary
Section 61
//Sword (itemary.Sword) package itemary { public class Sword extends Weapon { public function Sword(){ glyph.visible = true; glyph.gotoAndStop("sword"); setTint(127, 127, 0xFF); tfName.htmlText = ""; name = "Sword"; dicenumber = 1; dicetype = 8; ismissile = false; extratext = "Everyone's old faithful and de facto weapon of choice."; if (maybeNice() == false){ maybePoor(); }; } } }//package itemary
Section 62
//TwinCrossbow (itemary.TwinCrossbow) package itemary { public class TwinCrossbow extends Weapon { public function TwinCrossbow(){ glyph.visible = true; glyph.gotoAndStop("crossbow"); setTint(128, 128, 0); tfName.htmlText = ""; dicenumber = 2; dicetype = 9; strengthadd = false; ismissile = true; ammotype = "bolts"; name = "Twin Crossbow"; extratext = "This crossbow is specially modified to fire two bolts at once."; if (maybeNice() == false){ maybePoor(); }; } override public function ammoDeduct(){ Main.singleton.player.bolts = (Main.singleton.player.bolts - 2); } override public function getMissByRange(_arg1:int):int{ if (_arg1 <= 10){ return ((_arg1 * 4)); }; return ((40 + ((_arg1 - 10) * 15))); } override public function getShotsLeft(){ return (Math.floor((Main.singleton.player.bolts / 2))); } } }//package itemary
Section 63
//Whiskey (itemary.Whiskey) package itemary { import flash.geom.*; public dynamic class Whiskey extends Treasure { public function Whiskey(){ name = "Whiskey"; glyph.visible = true; glyph.gotoAndStop("potion"); setTint(32, 32, 32); tfName.htmlText = ""; extratext = "You can't feel the pain. But you also can't feel your legs."; usable = true; } override public function stat():String{ return ("Boosts +1 Armor, AGI -1"); } override public function onUse(_arg1:TileBoard, _arg2:Player){ var _local3:Point; _local3 = _arg1.getIndexOfThing(_arg2); _arg2.addAffect(new AffectDrunk()); Main.singleton.queue.addQueue({type:"smallmsg", text:"Drunk", color:"#aaaaaa", tx:_local3.x, ty:_local3.y}); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> drinks <B><FONT COLOR='#00aa00'>Whiskey</FONT></B>."}); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> feels drunk!"}); discard(); } } }//package itemary
Section 64
//AssetHolder_1 (PitSweeper_fla.AssetHolder_1) package PitSweeper_fla { import flash.display.*; public dynamic class AssetHolder_1 extends MovieClip { public function AssetHolder_1(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PitSweeper_fla
Section 65
//YouWinGraphic_38 (PitSweeper_fla.YouWinGraphic_38) package PitSweeper_fla { import flash.events.*; import flash.display.*; public dynamic class YouWinGraphic_38 extends MovieClip { public var youwinstar:MovieClip; public function YouWinGraphic_38(){ addFrameScript(0, frame1); } function frame1(){ addEventListener("enterFrame", onStarRot); } public function onStarRot(_arg1:Event){ youwinstar.rotation = (youwinstar.rotation + 2); } } }//package PitSweeper_fla
Section 66
//Affect (Affect) package { public class Affect { public var color:String; public var active:Boolean;// = true public var name:String; public function Affect(){ active = true; super(); this.name = "Anemic"; this.color = "#DD0000"; } public function start(){ Main.singleton.player.str--; active = true; } public function stop(){ Main.singleton.player.str++; active = false; } public function stat():String{ return ((((("<FONT COLOR='" + this.color) + "'>") + this.name) + "</FONT>")); } public function endOfTurn(){ } } }//package
Section 67
//AltarOfDice (AltarOfDice) package { import flash.geom.*; public dynamic class AltarOfDice extends Landmark { public var price:int; public function AltarOfDice(){ glyph.visible = true; glyph.gotoAndStop("altar"); tfName.htmlText = ""; name = "Altar Of Dice"; price = 75; } public function nofunc(){ Main.singleton.endDialog(false); } public function yesfunc(){ var _local1:int; var _local2:Point; var _local3:Gold; if (Main.singleton.player.goldcount >= price){ Main.singleton.player.goldcount = (Main.singleton.player.goldcount - price); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> pays the <B>Altar Of Dice</B>, and rolls."}); _local1 = (Math.floor((Math.random() * 6)) + 1); _local1 = (_local1 + (Math.floor((Math.random() * 6)) + 1)); _local2 = Main.singleton.tb.getIndexOfThing(Main.singleton.player); Main.singleton.queue.addQueue({type:"msg", text:("<B>Sweeper</B> rolled a " + _local1)}); Main.singleton.queue.addQueue({type:"msg", text:(("A shower of " + (_local1 * 10)) + " <FONT COLOR='#aaaa00'><B>Gold</B></FONT> falls over <B>Sweeper</B>!")}); Main.singleton.queue.addQueue({type:"smallmsg", text:String((_local1 * 10)), color:"#aaaa00", tx:_local2.x, ty:_local2.y}); _local3 = new Gold(); _local3.amount = (_local1 * 10); _local3.onGet(); } else { Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> can't afford to pay the altar!"}); }; Main.singleton.endDialog(true); } override public function interact(){ var _local1:String; var _local2:*; _local1 = "Would you like to pay 75 gold and roll the dice?"; _local2 = new YesNoDialog(this, this.name, _local1, yesfunc, nofunc); Main.singleton.summonDialog(_local2); } override public function describe():String{ return ("Two dice rest on top of this altar. The presiding spirit is unknown."); } } }//package
Section 68
//AltarOfEnduring (AltarOfEnduring) package { public dynamic class AltarOfEnduring extends Landmark { public var price:int; public function AltarOfEnduring(){ glyph.visible = true; glyph.gotoAndStop("altar"); tfName.htmlText = ""; name = "Altar Of Enduring"; price = 200; } public function nofunc(){ Main.singleton.endDialog(false); } public function yesfunc(){ if (Main.singleton.player.goldcount >= price){ Main.singleton.player.goldcount = (Main.singleton.player.goldcount - price); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> offers to the <B>Altar Of Enduring</B>."}); Main.singleton.player.hp++; Main.singleton.player.maxhp++; } else { Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> can't afford to make the offering!"}); }; Main.singleton.endDialog(true); } override public function interact(){ var _local1:String; var _local2:*; _local1 = "Would you like to offer 200 gold, and gain +1 MAX HP?"; _local2 = new YesNoDialog(this, this.name, _local1, yesfunc, nofunc); Main.singleton.summonDialog(_local2); } override public function describe():String{ return ("This altar is watched eternally by a patient and unmoving spirit."); } } }//package
Section 69
//AltarOfFleet (AltarOfFleet) package { public dynamic class AltarOfFleet extends Landmark { public var price:int; public function AltarOfFleet(){ glyph.visible = true; glyph.gotoAndStop("altar"); tfName.htmlText = ""; name = "Altar Of Fleet"; price = 200; } public function nofunc(){ Main.singleton.endDialog(false); } public function yesfunc(){ if (Main.singleton.player.goldcount >= price){ Main.singleton.player.goldcount = (Main.singleton.player.goldcount - price); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> offers to the <B>Altar Of Fleet</B>."}); Main.singleton.player.str--; Main.singleton.player.maxstr--; Main.singleton.player.agi++; Main.singleton.player.maxagi++; } else { Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> can't afford to make the offering!"}); }; Main.singleton.endDialog(true); } override public function interact(){ var _local1:String; var _local2:*; _local1 = "Would you like to offer 200 gold, and gain +1 AGI, while losing -1 STR?"; _local2 = new YesNoDialog(this, this.name, _local1, yesfunc, nofunc); Main.singleton.summonDialog(_local2); } override public function describe():String{ return ("This altar is watched by a spritely demigod of action and speed."); } } }//package
Section 70
//AltarOfMight (AltarOfMight) package { public dynamic class AltarOfMight extends Landmark { public var price:int; public function AltarOfMight(){ glyph.visible = true; glyph.gotoAndStop("altar"); tfName.htmlText = ""; name = "Altar Of Might"; price = 200; } public function nofunc(){ Main.singleton.endDialog(false); } public function yesfunc(){ if (Main.singleton.player.goldcount >= price){ Main.singleton.player.goldcount = (Main.singleton.player.goldcount - price); Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> offers to the <B>Altar Of Might</B>."}); Main.singleton.player.str++; Main.singleton.player.maxstr++; Main.singleton.player.agi--; Main.singleton.player.maxagi--; } else { Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> can't afford to make the offering!"}); }; Main.singleton.endDialog(true); } override public function interact(){ var _local1:String; var _local2:*; _local1 = "Would you like to offer 200 gold, and gain +1 STR, while losing -1 AGI?"; _local2 = new YesNoDialog(this, this.name, _local1, yesfunc, nofunc); Main.singleton.summonDialog(_local2); } override public function describe():String{ return ("This altar is watched by a demigod of power and strength."); } } }//package
Section 71
//Animate (Animate) package { import flash.display.*; import flash.geom.*; import flash.text.*; public dynamic class Animate extends Thing { public var hp:int;// = 10 public var active:Boolean;// = true public var agi:int;// = 0 public var motiontable:Array; public var maxagi:int;// = 0 public var str:int;// = -1 public var armor:int;// = 0 public var dicetype:int;// = 6 public var maxhp:int;// = 10 public var maxstr:int;// = 0 public var level:int;// = 1 public var dicenumber:int;// = 1 public var xp:int;// = 0 public function Animate(){ hp = 10; maxhp = 10; str = -1; maxstr = 0; agi = 0; maxagi = 0; armor = 0; level = 1; xp = 0; dicenumber = 1; dicetype = 6; active = true; motiontable = [[0, 0], [[0, 0], [0, 0], [0, 0]], [0, 1], [[0, 1], [-1, 1], [1, 1]], [0, -1], [[0, -1], [-1, -1], [1, -1]], [-1, 0], [[-1, 0], [-1, 1], [-1, -1]], [-1, 1], [[-1, 1], [0, 1], [-1, 0]], [-1, -1], [[-1, -1], [0, -1], [-1, 0]], [1, 0], [[1, 0], [1, -1], [1, 1]], [1, -1], [[1, -1], [0, -1], [1, 0]], [1, 1], [[1, 1], [0, 1], [1, 0]]]; super(); glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#FF0000'>A</FONT>"; name = "Animate"; extratext = "This is an animate."; } public function getAnimateDamage():int{ var _local1:int; var _local2:*; _local1 = 0; _local2 = 0; while (_local2 < dicenumber) { _local1 = (_local1 + (Math.floor((Math.random() * dicetype)) + 1)); _local2++; }; _local1 = (_local1 + str); return (_local1); } public function tryToHit(_arg1:TileBoard, _arg2:int, _arg3:int, _arg4:Thing):Boolean{ var _local5:*; var _local6:Point; var _local7:int; var _local8:int; var _local9:String; var _local10:*; var _local11:String; _local5 = meleeChanceOfMiss(this, _arg4); _local6 = _arg1.getIndexOfThing(this); _local7 = 0; if (_local6.x < _arg2){ _local7 = 1; }; if (_local6.x > _arg2){ _local7 = -1; }; _local8 = 0; if (_local6.y < _arg3){ _local8 = 1; }; if (_local6.y > _arg3){ _local8 = -1; }; Main.singleton.queue.addQueue({type:"bump", thing:this, dirx:_local7, diry:_local8, inout:0, sofar:0}); Main.singleton.queue.addQueue({type:"wait", frames:10}); if (Math.floor((Math.random() * 100)) < _local5){ _local9 = (((("<B><FONT COLOR='#aa0000'>" + this.name) + "</FONT></B> misses <B>") + _arg4.name) + "</B>."); Main.singleton.queue.addQueue({type:"smallmsg", text:"Miss", color:"#ffff00", tx:_arg2, ty:_arg3}); Main.singleton.queue.addQueue({type:"msg", text:_local9}); } else { _local10 = (getAnimateDamage() - _arg4.armor); if (_local10 < 0){ _local10 = 0; }; _arg4.hp = (_arg4.hp - _local10); new SoundBump().play(0, 1, Main.singleton.soundVolume); _local11 = (((((("<B><FONT COLOR='#aa0000'>" + this.name) + "</FONT></B> hits <B>") + _arg4.name) + "</B> for ") + _local10) + " damage."); Main.singleton.queue.addQueue({type:"smallmsg", text:String(_local10), color:"#ff0000", tx:_arg2, ty:_arg3}); Main.singleton.queue.addQueue({type:"msg", text:_local11}); if (_arg4.hp <= 0){ Main.singleton.queue.addQueue({type:"playerdeath"}); }; sideEffect(); }; return (true); } override public function stat():String{ var _local1:*; _local1 = ""; if (str < maxstr){ _local1 = (_local1 + ((("STR <FONT COLOR='#aa0000'>" + ((this.str)>=0) ? "+" : "") + this.str) + "</FONT>")); } else { if (str > maxstr){ _local1 = (_local1 + ((("STR <FONT COLOR='#0000aa'>" + ((this.str)>=0) ? "+" : "") + this.str) + "</FONT>")); } else { _local1 = (_local1 + (("STR " + ((this.str)>=0) ? "+" : "") + this.str)); }; }; _local1 = (_local1 + " "); if (agi < maxagi){ _local1 = (_local1 + ((("AGI <FONT COLOR='#aa0000'>" + ((this.agi)>=0) ? "+" : "") + this.agi) + "</FONT>")); } else { if (agi > maxagi){ _local1 = (_local1 + ((("AGI <FONT COLOR='#0000aa'>" + ((this.agi)>=0) ? "+" : "") + this.agi) + "</FONT>")); } else { _local1 = (_local1 + (("AGI " + ((this.agi)>=0) ? "+" : "") + this.agi)); }; }; _local1 = (_local1 + " "); _local1 = (_local1 + ((("HP " + this.hp) + "/") + this.maxhp)); _local1 = (_local1 + " "); _local1 = (_local1 + ((("DAM " + this.dicenumber) + "d") + this.dicetype)); if (this.str != 0){ _local1 = (_local1 + (((this.str)>=0) ? "+" : "" + this.str)); }; return (_local1); } public function meleeChanceOfMiss(_arg1:Thing, _arg2:Thing){ var _local3:*; _local3 = 0; if (_arg1.agi > _arg2.agi){ _local3 = 0; } else { _local3 = (10 + ((_arg2.agi - _arg1.agi) * 10)); }; if (_local3 > 50){ _local3 = 50; }; return (_local3); } public function tryToMove(_arg1:TileBoard, _arg2:int, _arg3:int):Boolean{ var _local4:Point; var _local5:Point; var _local6:Boolean; var _local7:*; var _local8:*; var _local9:Array; var _local10:Point; if ((((((((_arg2 >= _arg1.across)) || ((_arg3 >= _arg1.down)))) || ((_arg2 < 0)))) || ((_arg3 < 0)))){ return (false); }; _local4 = _arg1.getIndexOfThing(this); _local5 = new Point(0, 0); if (_local4.x < _arg2){ _local5.x = 1; }; if (_local4.x > _arg2){ _local5.x = -1; }; if (_local4.y < _arg3){ _local5.y = 1; }; if (_local4.y > _arg3){ _local5.y = -1; }; _local6 = false; _local7 = 0; while (_local7 < motiontable.length) { if ((((motiontable[_local7][0] == _local5.x)) && ((motiontable[_local7][1] == _local5.y)))){ _local8 = 0; while (_local8 < motiontable[(_local7 + 1)].length) { _local9 = motiontable[(_local7 + 1)][_local8]; if (_arg1.getTileAt((_local4.x + _local9[0]), (_local4.y + _local9[1])) != null){ if ((((_arg1.getThingAt((_local4.x + _local9[0]), (_local4.y + _local9[1])) == null)) && ((_arg1.getTileAt((_local4.x + _local9[0]), (_local4.y + _local9[1])).revealed == true)))){ if (((((((((_local4.x + _local9[0]) < _arg1.across)) && (((_local4.x + _local9[0]) >= 0)))) && (((_local4.y + _local9[1]) < _arg1.down)))) && (((_local4.y + _local9[1]) >= 0)))){ _arg1.moveThingBy(this, _local9[0], _local9[1], false); Main.singleton.dirtyPoints.push(_local4); Main.singleton.dirtyPoints.push(new Point((_local4.x + _local9[0]), (_local4.y + _local9[1]))); _local10 = _arg1.centerOf((_local4.x + _local9[0]), (_local4.y + _local9[1])); Main.singleton.queue.addQueue({type:"travel", thing:this, destx:_local10.x, desty:_local10.y}); _local6 = true; break; }; }; }; _local8++; }; break; }; _local7 = (_local7 + 2); }; return (_local6); } public function sideEffect(){ } override public function describe():String{ var _local1:*; _local1 = ""; _local1 = (_local1 + this.extratext); return (_local1); } } }//package
Section 72
//Arrows (Arrows) package { public dynamic class Arrows extends Treasure { public function Arrows(){ glyph.visible = true; glyph.gotoAndStop("arrow"); tfName.htmlText = ""; name = "Arrows"; amount = (Math.floor((Math.random() * 5)) + 2); storable = false; } override public function stat():String{ var _local1:*; _local1 = ""; _local1 = (_local1 + (("Amount " + amount) + " Shots")); return (_local1); } override public function describe():String{ return ("Arrows are ammunition for bows."); } override public function onGet(){ Main.singleton.player.arrows = (Main.singleton.player.arrows + amount); } } }//package
Section 73
//BareHands (BareHands) package { public class BareHands extends Weapon { public function BareHands(){ glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#999999'>/</FONT>"; name = "Bare Hands"; dicenumber = 1; dicetype = 2; ismissile = false; } override public function stat():String{ return (((((((("DAM " + dicenumber) + "d") + dicetype) + "(") + ((Main.singleton.player.str)>=0) ? "+" : "") + Main.singleton.player.str) + ")")); } override public function describe():String{ var _local1:*; _local1 = "Your own bare hands."; return (_local1); } } }//package
Section 74
//Bolts (Bolts) package { public dynamic class Bolts extends Treasure { public function Bolts(){ glyph.visible = true; glyph.gotoAndStop("arrow"); tfName.htmlText = ""; name = "Bolts"; amount = (Math.floor((Math.random() * 5)) + 2); storable = false; } override public function stat():String{ var _local1:*; _local1 = ""; _local1 = (_local1 + (("Amount " + amount) + " Shots")); return (_local1); } override public function describe():String{ return ("Bolts are used to reload crossbows."); } override public function onGet(){ Main.singleton.player.bolts = (Main.singleton.player.bolts + amount); } } }//package
Section 75
//BoomAnimation (BoomAnimation) package { import flash.display.*; public dynamic class BoomAnimation extends MovieClip { public function BoomAnimation(){ addFrameScript(49, frame50); } function frame50(){ stop(); parent.removeChild(this); } } }//package
Section 76
//CaveBitmap (CaveBitmap) package { import flash.display.*; public dynamic class CaveBitmap extends BitmapData { public function CaveBitmap(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 77
//CryptBitmap (CryptBitmap) package { import flash.display.*; public dynamic class CryptBitmap extends BitmapData { public function CryptBitmap(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 78
//DirtBitmap (DirtBitmap) package { import flash.display.*; public dynamic class DirtBitmap extends BitmapData { public function DirtBitmap(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 79
//Enemy (Enemy) package { import flash.geom.*; public dynamic class Enemy extends Animate { public function action(){ var _local1:TileBoard; var _local2:Player; var _local3:Point; _local1 = Main.singleton.tb; _local2 = Main.singleton.player; _local3 = _local1.getIndexOfThing(_local2); if (_local1.areAdjacent(this, _local2)){ tryToHit(_local1, _local3.x, _local3.y, _local2); } else { _local3 = _local1.getIndexOfThing(_local2); tryToMove(_local1, _local3.x, _local3.y); }; } } }//package
Section 80
//Exit (Exit) package { public dynamic class Exit extends Thing { public function Exit(){ glyph.visible = true; glyph.gotoAndStop("exit"); tfName.htmlText = ""; name = "Exit"; extratext = "You've found the way to the next level!"; } } }//package
Section 81
//FanfareGameWon (FanfareGameWon) package { import flash.media.*; public dynamic class FanfareGameWon extends Sound { } }//package
Section 82
//FanfareLevelLost (FanfareLevelLost) package { import flash.media.*; public dynamic class FanfareLevelLost extends Sound { } }//package
Section 83
//FanfareLevelWon (FanfareLevelWon) package { import flash.media.*; public dynamic class FanfareLevelWon extends Sound { } }//package
Section 84
//GlassPane (GlassPane) package { import flash.display.*; public dynamic class GlassPane extends MovieClip { } }//package
Section 85
//Gold (Gold) package { public dynamic class Gold extends Treasure { public function Gold(){ glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#eeee00'>$</FONT>"; name = "Gold"; amount = (Math.floor((Math.random() * 100)) + 1); storable = false; extratext = "Every 1000 gold collected gives you a free level-up."; } override public function stat():String{ var _local1:*; _local1 = ""; _local1 = (_local1 + (("Amount " + amount) + " G")); return (_local1); } override public function onGet(){ Main.singleton.player.goldcount = (Main.singleton.player.goldcount + amount); if (Main.singleton.player.goldcount >= Main.singleton.player.goldthreshold){ Main.singleton.player.goldthreshold = (Main.singleton.player.goldthreshold + 1000); Main.singleton.queue.addQueue({type:"msg", text:"Every 1000 gold gives a free level-up!"}); Main.singleton.player.levelUp(); }; } } }//package
Section 86
//GoldHoard (GoldHoard) package { public dynamic class GoldHoard extends Gold { public function GoldHoard(){ glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#ffdd00'>$</FONT>"; name = "Gold Hoard"; amount = 500; storable = false; extratext = "Every 1000 gold collected gives you a free level-up."; } override public function title():String{ return ("Gold Hoard"); } } }//package
Section 87
//HellBitmap (HellBitmap) package { import flash.display.*; public dynamic class HellBitmap extends BitmapData { public function HellBitmap(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 88
//HelpDialog (HelpDialog) package { import flash.events.*; import flash.display.*; public dynamic class HelpDialog extends MovieClip { public var doMiddle:LabelButton; public var materials:MovieClip; public var doLeft:LabelButton; public var doRight:LabelButton; public var mode:int; public function HelpDialog(){ doLeft.tfLabel.text = "Yes"; doMiddle.visible = false; doRight.tfLabel.text = "No"; this.x = 55; this.y = 128; materials.gotoAndStop(1); doLeft.addEventListener("click", onClickLeft); doMiddle.addEventListener("click", onClickMiddle); doRight.addEventListener("click", onClickRight); mode = 1; } public function adjustVisibility(){ doLeft.visible = true; doRight.visible = true; if (materials.currentFrame == 7){ doRight.visible = false; }; if (materials.currentFrame == 2){ doLeft.visible = false; }; } public function onClickLeft(_arg1:Event){ if (mode == 1){ doLeft.tfLabel.text = "Prev"; doRight.tfLabel.text = "Next"; doMiddle.visible = true; doMiddle.tfLabel.text = "Done"; doLeft.visible = false; materials.gotoAndStop(2); mode = 2; } else { if (materials.currentFrame > 2){ materials.gotoAndStop((materials.currentFrame - 1)); } else { materials.gotoAndStop(1); }; adjustVisibility(); }; } public function onClickRight(_arg1:Event){ if (mode == 1){ Main.singleton.endDialog(false); } else { if (materials.currentFrame < 7){ materials.gotoAndStop((materials.currentFrame + 1)); } else { materials.gotoAndStop(7); }; adjustVisibility(); }; } public function onClickMiddle(_arg1:Event){ Main.singleton.endDialog(false); } } }//package
Section 89
//IntroMachine (IntroMachine) package { import flash.events.*; import flash.display.*; import flash.text.*; public dynamic class IntroMachine extends MovieClip { public var story:Array; public var tfTitle:TextField; public var tfLevel:TextField; public var frame:int;// = 0 public var doStart:WhiteLabelButton; public var pix:MovieClip; public var leveltitles:Array; public var tfStory:TextField; public var targetwindow:MovieClip; public var mode:int;// = 0 public var tfProgress:TextField; public function IntroMachine(){ leveltitles = ["Tyrant's Palace", "Onward Down", "End of Niceties", "Roots and Darkness", "Underworld", "Underworld II", "The Crypt", "Tyrant's Gate", "Tyrant's Lair"]; story = ["The palace was grand, but cold and grey; it was no place for humans. Instead, it was a front for the Tyrant of the Pit.\n\nFrom here, the world's evils poured out on the land, coming up from deep below the earth. Many heroes had tried to enter the palace and drill down below to defeat the Tyrant- but none ever succeeded.\n\nSweeper entered the palace with trepidation. He was by no means as strong or fast as the others, but he had one advantage - the ability to sweep..", "It was a strange palace - endless empty rooms of stone. No bedrooms, or throne rooms; no baths or gardens.\n\nIt was nothing but an empty mockery of human buildings, filled with nothing but monsters and the stray treasures of former heroes.\n\nThe Tyrant knew nothing of human ways, and only imitated them to further manipulate the humans above. Sweeper continued on.", "The stone hallways abruptly ended. Instead, there were tunnels - dug out of the dirt, quickly and haphazardly, with even roots sticking out of their walls, unremoved.\n\nThe Tyrant intimidated the humans above with his magnificent palace; but it was all posturing, and he had no need for such edifices down below. From this point on, Sweeper was face to face with the true pits of the Tyrant.", "Narrow hallways, pressing in with walls of crumbling, cold dirt; tons of earth above; suffocating darkness.\n\nIt was terrifying in these tunnels, but Sweeper continued on. These tunnels were the connection between the world above and the Underworld below, and he could only hope that the kingdom below was somehow more livable.", "The tunnels finally opened up. Labrynithe caves, with a soft luminous glow stretched out before Sweeper now.\n\nThis was the Underworld - the second world below the surface, filled with creatures of the dark and the cold.\n\nThe Tyrant oppressed this place too - it was where he summoned and gathered his troops, and methodically wiped out the weaker rest. Sweeper understood now just how much his mission mattered..", "Moving silently from stalagmite to stalagmite, Sweeper continued. Monsters wandered aimlessly in small groups, as if patrolling - though there was little to patrol for.\n\nSweeper knew that he was someone worth patrolling for. He had come so far in his quest to defeat the Tyrant - and now, he was determined to make it to the very end.", "Sweeper made it to the Tyrant's Lair. Or rather, he could see it in the distance - but what surrounded the lair chilled him to the bone.\n\nThe Tyrant had taken the heroes who he defeated - and made them all members of a vast crypt, that circled his lair a mile around.\n\nWhoever would approach the Tyrant would have to navigate this maze of the undead..", "Sweeper was here! Beneath him, the ground had changed - it rumbled, glowed red, and was heated beneath his feet.\n\nThis was truly the Tyrant's grounds, and his power was enough to change its very nature.\n\nSweeper knew that his quest was nearly over - one way or the other.", "There was no more distance to cross. The Tyrant was here.\n\nSomewhere amid the halls, the Tyrant stalked. He smelled Sweeper, knew he was there - and was ready to tear him apart if he saw him.\n\nThe Tyrant of the pit absolutely had to die - but Sweeper would have to handle the matter with the utmost caution."]; mode = 0; frame = 0; super(); doStart.tfLabel.text = "Start"; doStart.addEventListener("click", onClickStart); } public function animateAll(_arg1:Event){ frame++; if (mode == 0){ this.alpha = (this.alpha + 0.05); if (this.alpha >= 1){ frame = 0; mode = 1; }; } else { if (mode == 1){ if (frame == 30){ tfLevel.visible = true; tfLevel.alpha = 0; }; if (frame > 30){ tfLevel.alpha = (tfLevel.alpha + 0.1); if (tfLevel.alpha >= 1){ frame = 0; mode = 2; }; }; } else { if (mode == 2){ tfTitle.visible = true; tfTitle.alpha = (frame * 0.1); if (tfTitle.alpha >= 1){ frame = 0; mode = 3; }; } else { if (mode == 3){ if (frame > 40){ mode = 4; frame = 0; }; } else { if (mode == 4){ tfStory.visible = true; tfStory.alpha = (frame * 0.05); if (tfStory.alpha >= 1){ frame = 0; mode = 5; }; } else { if (mode == 5){ doStart.visible = true; removeEventListener("enterFrame", animateAll); }; }; }; }; }; }; } public function setLevel(_arg1:int){ var _local2:String; var _local3:*; tfLevel.text = ("Level " + _arg1); tfTitle.text = leveltitles[(_arg1 - 1)]; tfStory.text = story[(_arg1 - 1)]; tfProgress.htmlText = ""; _local2 = ""; _local3 = 1; while (_local3 <= 9) { if (_local3 == _arg1){ _local2 = (_local2 + (("<FONT SIZE='+6'>" + _arg1) + "</FONT>")); } else { _local2 = (_local2 + (("<FONT COLOR='#eeeeee'>" + String(_local3)) + "</FONT>")); }; if (_local3 != 9){ _local2 = (_local2 + " "); }; _local3++; }; tfProgress.htmlText = _local2; pix.gotoAndStop(_arg1); tfLevel.visible = false; tfTitle.visible = false; tfStory.visible = false; doStart.visible = false; mode = 0; frame = 0; addEventListener("enterFrame", animateAll); } public function onClickStart(_arg1:Event){ Main.singleton.newLevel(Main.singleton.gamelevel); } } }//package
Section 90
//LabelButton (LabelButton) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.filters.*; public dynamic class LabelButton extends MovieClip { public var tfLabel:TextField; public function LabelButton(){ this.buttonMode = true; this.useHandCursor = true; this.cacheAsBitmap = true; addEventListener("mouseOver", onHover); addEventListener("rollOut", onOut); } public function onHover(_arg1:Event){ tfLabel.filters = [new GlowFilter(0xFFFF00)]; } public function onOut(_arg1:Event){ tfLabel.filters = []; } } }//package
Section 91
//Landmark (Landmark) package { public dynamic class Landmark extends Thing { } }//package
Section 92
//LevelArrays (LevelArrays) package { public class LevelArrays { public static var rooms8 = [0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 64, 64, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 64, 64, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 240, 240, 240, 240, 240, 0, 64, 64, 0, 0, 0, 0, 0xFF, 0, 0, 0, 240, 0, 0, 0, 240, 0, 64, 64, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 240, 15, 15, 15, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 240, 15, 0, 15, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 240, 0, 0, 0, 240, 15, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 240, 240, 240, 240, 240, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 0, 0, 0, 0, 0, 15, 0, 0, 0, 15, 15, 0, 12, 0, 0, 12, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 12, 0, 0, 0, 0, 0, 12, 0, 0, 15, 15, 15, 15, 15, 15, 0, 12, 12, 12, 12, 12, 12, 12, 0, 0]; public static var rooms9 = [0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 3, 3, 3, 3, 3, 3, 15, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0, 12, 0, 0, 0, 0, 0, 0, 12, 0, 240, 240, 240, 0xFF, 0, 0xFF, 0, 60, 48, 63, 63, 63, 63, 48, 60, 0, 240, 0, 240, 0xFF, 0, 0, 0, 12, 0, 15, 0, 0, 15, 0, 12, 0, 0, 0, 240, 0xFF, 0, 0, 0, 12, 0, 15, 0, 0, 15, 0, 12, 0, 0, 0, 240, 0xFF, 0, 0, 0, 204, 192, 207, 192, 192, 207, 192, 204, 0, 0, 0, 240, 0xFF, 0, 0xFF, 0, 12, 0, 0, 0, 0, 0, 0, 12, 0, 240, 0, 240, 0xFF, 0xFF, 0xFF, 0, 15, 3, 3, 3, 3, 3, 3, 15, 0, 240, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF]; public static var palace = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 3, 12, 204, 12, 12, 12, 12, 3, 192, 0, 0, 0xFF, 0xFF, 0, 48, 48, 51, 60, 192, 0, 0, 0, 12, 0, 192, 0, 0, 0xFF, 0xFF, 0, 48, 0, 0, 12, 204, 192, 0, 12, 12, 195, 192, 0, 0, 0xFF, 0xFF, 3, 51, 3, 3, 48, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0xFF, 0xFF, 0, 48, 48, 48, 48, 3, 3, 51, 51, 48, 48, 48, 48, 48, 0xFF, 0xFF, 192, 192, 192, 192, 0, 3, 0, 48, 3, 0, 0, 0, 0, 0, 0xFF, 0xFF, 3, 3, 3, 195, 0, 3, 0, 48, 3, 0, 3, 195, 195, 195, 0xFF, 0xFF, 0, 0, 0, 3, 0, 15, 0, 0, 15, 0, 3, 192, 0, 0, 0xFF, 0xFF, 12, 12, 12, 0, 0, 12, 0, 0, 12, 0, 12, 12, 12, 12, 0xFF, 0xFF, 0, 0, 12, 3, 0, 12, 12, 12, 12, 0, 15, 0, 0, 0, 0xFF, 0xFF, 3, 3, 15, 195, 0, 0, 0, 48, 48, 48, 63, 243, 51, 51, 0xFF, 0xFF, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var rooms2 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 3, 3, 3, 3, 3, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 3, 0, 0, 0, 3, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 3, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 3, 0, 0, 0, 3, 0, 0xFF, 0xFF, 0xFF, 0, 0, 0xFF, 0xFF, 0xFF, 0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 240, 240, 240, 0, 0, 0xFF, 0xFF, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 240, 0, 0, 240, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 32, 0, 32, 240, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 32, 0, 32, 240, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 32, 0, 32, 240, 0, 0, 240, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 32, 0, 32, 240, 240, 240, 240, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 32, 32, 32]; public static var building = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0xFF, 0xFF, 0xFF, 240, 240, 0xFF, 0xFF, 0xFF, 3, 3, 3, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 48, 48, 48, 48, 0xFF, 0, 0xFF, 240, 240, 0xFF, 0xFF, 0xFF, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var snake = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 12, 0, 0, 0, 48, 48, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0, 3, 0, 0, 0xFF, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 3, 51, 192, 0, 0xFF, 0, 0, 240, 0xFF, 0, 0, 0, 3, 3, 3, 0xFF, 0, 48, 192, 195, 0xFF, 3, 0, 0, 0xFF, 0, 0, 0, 48, 240, 240, 0xFF, 0xFF, 60, 0, 0, 0xFF, 0, 12, 12, 0xFF, 0, 0, 0, 12, 204, 12, 0xFF, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0, 0, 0, 3, 3, 3, 0xFF, 12, 12, 0, 0xFF, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 51, 51, 0, 0xFF, 12, 204, 0, 0xFF, 0, 0, 0, 12, 0, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0xFF, 192, 192, 0, 0xFF, 195, 0, 0, 252, 204, 0xFF, 0, 12, 0, 0, 0, 0xFF, 3, 51, 48, 0xFF, 0, 0, 0, 240, 48, 0xFF, 0, 204, 195, 0, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0, 0, 0, 3, 3, 0xFF, 0, 48, 195, 0, 0xFF, 0, 0, 0, 0xFF, 0xFF, 195, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 48, 0, 0, 0xFF, 12, 204, 0, 0, 0, 0, 0, 3, 192, 0, 12, 48, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var tlevel = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 3, 3, 48, 48, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 48, 48, 3, 3, 3, 3, 48, 48, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 48, 48, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 3, 3, 192, 192, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 192, 192, 3, 3, 3, 3, 192, 192, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 192, 192, 3, 3, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var layers = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 204, 204, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0xFF, 0xFF, 80, 80, 0xFF, 0xFF, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 243, 0, 0, 65, 0, 0, 21, 21, 0, 0, 65, 0, 0, 243, 0, 0, 243, 0, 0, 65, 0, 0, 21, 21, 0, 0, 65, 0, 0, 243, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0xFF, 0xFF, 16, 16, 0xFF, 0xFF, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 15, 15, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var corners = [0xFF, 0xFF, 0, 0, 0, 240, 240, 240, 240, 240, 240, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 240, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 16, 0, 0, 0, 0, 16, 4, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0xFF, 0xFF, 3, 3, 0xFF, 0xFF, 16, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0, 3, 3, 0, 0, 0, 0, 16, 0xFF, 0xFF, 12, 12, 0xFF, 0xFF, 16, 0, 0, 0, 0, 0, 0, 0, 0, 4, 16, 0, 0, 0, 0, 16, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 240, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0, 0, 0, 240, 240, 240, 240, 240, 240, 0, 0, 0, 0xFF, 0xFF]; public static var blockades = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 192, 0xFF, 0xFF, 48, 0, 0xFF, 0xFF, 3, 0, 0xFF, 0xFF, 192, 192, 192, 192, 0, 0, 0xFF, 0xFF, 48, 0, 0xFF, 0xFF, 3, 0, 0xFF, 0xFF, 192, 0, 0, 0, 0, 0, 0, 0, 48, 0, 12, 0, 3, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 48, 0, 12, 0, 3, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 48, 12, 0xFF, 0xFF, 192, 12, 0xFF, 0xFF, 3, 3, 3, 0, 0, 0, 0xFF, 0xFF, 48, 12, 0xFF, 0xFF, 192, 12, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 3, 48, 0, 0, 0, 192, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 0, 0, 0, 192, 12, 0, 0, 0, 0, 0, 3, 3, 0xFF, 0xFF, 3, 0, 0xFF, 0xFF, 60, 12, 0xFF, 0xFF, 12, 0, 0, 0, 0, 0, 0xFF, 0xFF, 3, 0, 0xFF, 0xFF, 48, 0, 0xFF, 0xFF, 12, 0, 0, 0, 0, 0, 12, 0, 0, 0, 192, 0, 48, 0, 3, 0, 12, 0, 0, 0, 0, 0, 12, 0, 0, 0, 192, 0, 48, 0, 3, 0, 12, 0, 0, 0, 48, 48, 60, 0xFF, 0xFF, 0, 192, 0xFF, 0xFF, 192, 195, 0xFF, 0xFF, 48, 48, 48, 0, 0, 12, 0xFF, 0xFF, 3, 195, 0xFF, 0xFF, 0, 3, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var tribuilding = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 240, 240, 240, 15, 0, 0, 0xFF, 0, 4, 0, 0, 0, 0, 4, 0, 0xFF, 0, 0, 240, 15, 0, 0, 0xFF, 128, 0, 0, 0, 0, 0, 0, 128, 0xFF, 0, 0, 240, 15, 15, 0, 0xFF, 0, 4, 0, 0, 0, 0, 4, 0, 0xFF, 0, 240, 240, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0xFF, 32, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0, 32, 0xFF, 0xFF, 0, 0, 8, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 8, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var rooms = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 15, 15, 15, 15, 15, 15, 0, 0, 0xFF, 0, 0, 0, 0xFF, 0, 0, 0, 15, 8, 0, 0, 8, 15, 0, 0, 0xFF, 0, 72, 0, 0, 0, 130, 0, 15, 0, 1, 0, 0, 15, 0, 0, 0xFF, 0, 72, 0, 0, 0, 130, 0, 0xFF, 242, 242, 240, 240, 15, 0, 0, 0xFF, 0, 0, 0, 0xFF, 0, 130, 0, 0xFF, 0, 1, 0, 240, 15, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0, 36, 38, 2, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 37, 36, 0, 15, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 0xFF, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 15, 8, 2, 240, 240, 241, 240, 240, 15, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 15, 0, 2, 4, 4, 0, 0, 0, 15, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 245, 244, 241, 242, 0, 15, 0, 0, 0xFF, 0, 0, 0xFF, 0, 15, 8, 0, 0, 0, 0, 242, 8, 15, 0, 0, 0xFF, 0, 0xFF, 0xFF, 0, 15, 15, 15, 15, 0, 0, 0xFF, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 240, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var happy = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 15, 15, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0xFF, 0, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0xFF, 0, 0, 0, 0xFF, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0xFF, 3, 0, 0, 3, 0xFF, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 32, 32, 32, 32, 32, 32, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 240, 240, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var palace2 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 15, 15, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0xFF, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 64, 64, 0, 0xFF, 0, 0, 0, 0xFF, 0, 0xFF, 0, 0, 0, 0, 0, 0, 64, 64, 0, 15, 0, 0, 0, 0xFF, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 240, 0xFF, 0xFF, 0xFF, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0xFF, 0, 0, 0, 0, 0, 15, 15, 15, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0, 0xFF, 0, 0, 240, 0, 0, 0, 15, 0, 240, 0, 0, 0xFF, 0xFF, 0xFF, 0, 0xFF, 0, 0, 240, 0, 0, 0, 15, 0, 240, 0, 0, 240, 0, 0, 0, 0xFF, 0, 0, 240, 0, 0, 0, 15, 0, 240, 0, 0, 240, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 15, 15, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var trails = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 17, 17, 65, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 16, 80, 0, 1, 0, 0, 0, 0, 0, 0, 8, 0xFF, 0xFF, 0xFF, 0xFF, 4, 4, 84, 20, 5, 4, 4, 4, 0, 0, 0, 8, 32, 0, 2, 0, 0, 0, 64, 16, 17, 16, 0, 4, 0, 0, 0, 8, 32, 0, 2, 0, 0, 0, 64, 0, 1, 16, 0, 4, 0, 0, 0, 8, 32, 32, 34, 32, 32, 32, 96, 0xFF, 0xFF, 0xFF, 0xFF, 4, 0, 0, 0, 8, 32, 0, 2, 2, 2, 2, 66, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 8, 32, 0, 2, 4, 4, 4, 68, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 8, 32, 0, 2, 4, 0, 0, 64, 16, 1, 0, 8, 0, 0, 0, 0, 8, 32, 0, 2, 4, 0, 0, 80, 16, 1, 0, 8, 0, 0, 0, 0, 8, 0xFF, 0xFF, 0xFF, 0xFF, 65, 81, 81, 1, 1, 0, 8, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 16, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; public static var scattershot = [64, 4, 130, 0, 8, 0, 16, 0, 0, 128, 20, 32, 65, 0, 8, 64, 8, 145, 0, 52, 64, 128, 2, 16, 3, 0, 40, 0, 66, 16, 1, 8, 0, 32, 68, 0, 149, 34, 128, 8, 192, 4, 128, 8, 16, 128, 17, 0, 0, 10, 0, 2, 0, 0, 0, 33, 72, 18, 1, 65, 48, 2, 128, 64, 0, 192, 64, 25, 132, 0, 36, 0, 48, 192, 8, 0, 0, 8, 1, 0, 32, 0, 130, 36, 16, 8, 0, 128, 13, 128, 128, 132, 96, 4, 0, 36, 0, 88, 1, 0, 65, 134, 0, 2, 0, 16, 10, 96, 0, 3, 0, 0, 0, 33, 0, 32, 88, 2, 96, 16, 32, 4, 1, 4, 0, 128, 24, 33, 128, 0, 148, 0, 1, 0, 1, 128, 8, 0, 8, 0, 80, 6, 2, 0, 16, 36, 4, 2, 104, 16, 0, 36, 0, 64, 66, 128, 32, 128, 0, 128, 0, 0, 80, 96, 128, 9, 0, 16, 34, 1, 4, 16, 1, 32, 36, 16, 0, 2, 0, 4, 8, 0, 0, 132, 64, 8, 66, 0, 6, 89, 0, 0, 0, 96, 33, 145, 66, 16, 80, 32, 16, 161, 0, 160, 128, 32, 0, 16, 128, 76, 0, 2, 16, 6, 0, 0, 11, 0, 8, 1, 0, 4, 10, 64, 0, 1, 32, 8, 33, 8, 128, 16, 4, 0, 64, 32, 80, 3, 0, 0, 128, 0, 16, 128, 0, 0, 4, 0, 64, 32, 4, 128, 0, 128, 16, 64]; public static var rooms3 = [0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 79, 64, 64, 64, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 4, 79, 0, 0, 64, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 64, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 79, 0, 0, 64, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 64, 64, 0xFF, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0, 0, 0, 240, 240, 240, 0, 0, 0, 240, 240, 240, 0, 0xFF, 0, 0, 0, 0, 0, 240, 0, 64, 0, 0, 0, 64, 0, 240, 0, 0xFF, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0xFF, 0xFF, 0xFF, 0, 0, 0, 240, 240, 240, 240, 240, 240, 240, 240, 240, 0]; public static var rooms4 = [0xFF, 0xFF, 0, 0xFF, 0xFF, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0xFF, 0xFF, 0, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 15, 0xFF, 0xFF, 0xFF, 240, 240, 0, 0, 0, 15, 0, 0, 3, 0, 0, 0, 15, 0, 0, 0, 240, 240, 0, 0, 0, 15, 0, 0, 0, 3, 0, 0, 15, 0, 0, 0, 240, 240, 0, 0, 0, 15, 0, 0, 3, 3, 0, 0, 15, 0, 0, 0, 240, 240, 0, 0, 0, 15, 0, 0, 3, 0, 0, 0, 15, 0, 0, 0, 240, 240, 0xFF, 0xFF, 0xFF, 15, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0xFF, 240, 240, 240, 0, 0, 0, 0, 240, 240, 240, 0xFF, 0, 0, 48, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 48, 48, 0, 0xFF, 0, 0, 0, 15, 15, 15, 15, 0, 0, 0, 0xFF, 0, 48, 0, 0, 0xFF, 0, 0, 0, 15, 15, 15, 15, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0]; public static var rooms5 = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 3, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 0, 0, 64, 64, 64, 64, 0, 0, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 12, 15, 15, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 15, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 15, 15, 15, 15, 15, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]; public static var rooms6 = [16, 16, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0xFF, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0xFF, 15, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 15, 0, 0, 15, 0, 0, 0, 0, 0xFF, 0, 0, 240, 0, 64, 0, 0, 0, 0, 0, 15, 0, 0, 4, 15, 0xFF, 0, 0, 240, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 15, 0, 0, 240, 0, 0, 4, 15, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0xFF, 15, 0, 0, 240, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0xFF, 0xFF, 0, 15, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0, 0, 0xFF, 0xFF, 15, 4, 4, 0, 0, 0, 0, 0xFF, 0, 0, 48, 48, 48, 0, 0, 0xFF, 15, 0, 0, 0, 15, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0xFF, 15, 15, 15, 15, 15, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]; public static var rooms7 = [15, 15, 15, 15, 0, 240, 240, 240, 240, 0, 0, 15, 15, 15, 15, 15, 15, 0, 0, 15, 0, 240, 0, 0, 240, 0, 0, 15, 0, 0, 0, 15, 15, 1, 0, 0, 0, 240, 0, 0, 240, 0, 0, 0, 0, 0, 4, 15, 15, 0, 0, 0, 0, 240, 0, 0, 240, 0, 0, 0, 0, 0, 4, 15, 15, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 15, 15, 15, 15, 15, 240, 240, 240, 240, 240, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 240, 64, 0, 0, 0, 0, 0xFF, 0, 0, 0xFF, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 15, 15, 15, 15, 240, 240, 240, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 0, 0, 15, 15, 15, 0, 0, 15, 0, 8, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 15, 0, 0, 15, 15, 0, 8, 0, 8, 0, 0, 0, 0, 15, 0, 0, 15, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 15, 15, 15, 15]; } }//package
Section 93
//LevelMaker (LevelMaker) package { import flash.display.*; import itemary.*; import bestiary.*; public class LevelMaker { public var levelno:int; public var tier0; public var tier2; public var tier3; public var tier4:Array; public var tier1; public var themes:Array; public var badcount:int; public var tb:TileBoard; public var goodcount; public var levelarrays:Array; public var bgarrays:Array; public function LevelMaker(){ levelarrays = [LevelArrays.rooms, LevelArrays.layers, LevelArrays.scattershot, LevelArrays.snake, LevelArrays.happy, LevelArrays.blockades, LevelArrays.trails, LevelArrays.palace2, LevelArrays.rooms9, LevelArrays.rooms8, LevelArrays.tlevel, LevelArrays.rooms7, LevelArrays.rooms6, LevelArrays.rooms5, LevelArrays.rooms4, LevelArrays.tribuilding, LevelArrays.palace, LevelArrays.rooms3, LevelArrays.rooms2, LevelArrays.corners, LevelArrays.building]; bgarrays = [StoneBitmap, StoneBitmap, DirtBitmap, DirtBitmap, CaveBitmap, CaveBitmap, CryptBitmap, HellBitmap, HellBitmap]; tier0 = [Cultist, Grunt, Mosquito, Sentry, EnlargedRat, Bat, Cultist, Bat, EnlargedRat]; tier1 = [EnlargedRat, EnlargedSerpent, Cultist, Grunt, Bat, EnlargedRat, EnlargedSerpent, Grunt, Cat, EnlargedBadger, Mosquito]; tier2 = [Grunt, EnlargedSerpent, EnlargedRat, InvisibleStalker, Bat, Beast, Bat, EnlargedSerpent, EnlargedRat, Slime, IronGolem, Cultist]; tier3 = [Cultist, zombieHorde, Spectre, Ghoul, Skeleton, Skeleton, WhirlingSword, Skeleton, Cultist, Cat, CultistLeader, Slime]; tier4 = [Cultist, Behemoth, Beast, Spectre, InvisibleStalker, CultistLeader]; themes = [ThemeOne, ThemeTwo, ThemeOne, ThemeTwo, ThemeOne, ThemeTwo, ThemeCrypt, ThemeOne, ThemeTyrant]; } public function zombieHorde(_arg1, _arg2:int){ var _local3:*; var _local4:int; _local3 = -1; while (_local3 <= 1) { _local4 = -1; while (_local4 <= 1) { if (tb.getThingAt((_arg1 + _local3), (_arg2 + _local4)) == null){ tb.addThingAt(new Zombie(), (_arg1 + _local3), (_arg2 + _local4)); }; _local4++; }; _local3++; }; } public function randomLevel(_arg1:TileBoard, _arg2:int){ var _local3:Bitmap; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:Boolean; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:*; var _local14:int; var _local15:*; var _local16:int; var _local17:*; var _local18:*; var _local19:*; var _local20:*; var _local21:*; var _local22:*; var _local23:*; var _local24:Boolean; this.tb = _arg1; this.levelno = _arg2; goodcount = 0; badcount = 0; _local3 = new Bitmap(new bgarrays[(_arg2 - 1)](320, 320)); _arg1.backLayer.addChild(_local3); _local4 = levelarrays[Math.floor((Math.random() * levelarrays.length))]; _local5 = Math.floor((Math.random() * 8)); _local6 = [1, 2, 4, 8, 16, 32, 64, 128]; _local7 = _local6[_local5]; _local8 = 0; while (_local8 < _local4.length) { if ((_local4[_local8] & _local7)){ _local22 = new Wall(); _arg1.addThingAtIndex(_local22, _local8); }; _local8++; }; _local9 = false; _local10 = false; _local11 = false; _local12 = false; while (_local9 == false) { _local13 = Math.floor((Math.random() * _arg1.across)); _local14 = Math.floor((Math.random() * _arg1.down)); if (_arg1.getThingAt(_local13, _local14) == null){ _arg1.addThingAt(Main.singleton.player, _local13, _local14); _local9 = true; }; }; if (_arg2 != 9){ while (_local10 == false) { _local15 = Math.floor((Math.random() * _arg1.across)); _local16 = Math.floor((Math.random() * _arg1.down)); if ((((_arg1.getThingAt(_local15, _local16) == null)) && ((_arg1.distanceBetween(_local13, _local14, _local15, _local16) > 6)))){ _arg1.addThingAt(new Exit(), _local15, _local16); _local10 = true; }; }; }; if (_arg2 == 9){ while (_local11 == false) { _local15 = Math.floor((Math.random() * _arg1.across)); _local16 = Math.floor((Math.random() * _arg1.down)); if ((((_arg1.getThingAt(_local15, _local16) == null)) && ((_arg1.distanceBetween(_local13, _local14, _local15, _local16) > 6)))){ _arg1.addThingAt(new Tyrant(), _local15, _local16); _local11 = true; }; }; }; if ((_arg2 % 2) == 0){ while (_local12 == false) { _local15 = Math.floor((Math.random() * _arg1.across)); _local16 = Math.floor((Math.random() * _arg1.down)); if ((_arg1.getThingAt(_local15, _local16) == null)){ _arg1.addThingAt(new GoldHoard(), _local15, _local16); _local12 = true; }; }; }; _local17 = [[-1, -1], [-1, 0], [-1, 1], [0, -1], [0, 1], [1, -1], [1, 0], [1, 1]]; _local18 = 0; while (_local18 < _arg1.across) { _local19 = 0; while (_local19 < _arg1.down) { if (_arg1.getThingAt(_local18, _local19) == null){ _local23 = 0.03; _local24 = false; _local20 = 0; while (_local20 < 8) { _local21 = _arg1.getThingAt((_local18 + _local17[_local20][0]), (_local19 + _local17[_local20][1])); if (_local21 != null){ if ((_local21 is Wall)){ _local23 = (_local23 + 0.02); }; if ((((_local21 is Enemy)) || ((_local21 is Treasure)))){ _local24 = true; }; if ((_local21 is Exit)){ _local23 = (_local23 + 0.15); }; }; _local20++; }; if (_local24 == true){ _local23 = (_local23 + 0.2); }; if (Math.random() < _local23){ addSomething(_local18, _local19); }; }; _local19++; }; _local18++; }; } public function addRareItem(_arg1, _arg2:int){ var _local3:*; var _local4:*; _local3 = [RegenerationRing, LightningWand, FireWand, SparkleSword, MithrilArmor, GlassSword, Katana, TwinCrossbow, AncestorSword, AgilityPotion, StrengthPotion, PanicButton, CapBreaker, Resealant, HealingKeg, HealingConcentrate]; _local4 = Math.floor((Math.random() * _local3.length)); tb.addThingAt(new (_local3[_local4]), _arg1, _arg2); } public function addCommonItem(_arg1, _arg2:int){ var _local3:*; var _local4:*; _local3 = [VendingMachine, HealingPotion, HealingPotion, Stick, ShortSword, ShortBow, Arrows, LightArmor, HealingPotion, Milk]; _local4 = Math.floor((Math.random() * _local3.length)); tb.addThingAt(new (_local3[_local4]), _arg1, _arg2); } public function addEnemy(_arg1, _arg2:int){ var _local3:int; var _local4:*; var _local5:*; _local3 = 0; if (levelno > 2){ _local3 = 1; }; if (levelno > 4){ _local3 = 2; }; if (levelno == 7){ _local3 = 3; }; if (levelno > 7){ _local3 = 4; }; if (Math.random() < 0.03){ _local3++; } else { if (Math.random() < 0.1){ _local3--; }; }; if (_local3 > 4){ _local3 = 4; }; if (_local3 < 0){ _local3 = 0; }; _local4 = this[("tier" + _local3)]; _local5 = Math.floor((Math.random() * _local4.length)); if ((_local4[_local5] is Class)){ tb.addThingAt(new (_local4[_local5]), _arg1, _arg2); } else { var _local6 = _local4; _local6[_local5](_arg1, _arg2); }; } public function addSomething(_arg1, _arg2:int){ var _local3:int; var _local4:int; _local3 = 0; _local4 = 0; if (badcount > (goodcount + 3)){ _local3 = 5; }; if (goodcount > (badcount + 3)){ _local4 = 5; }; while ((((_local3 < 5)) && ((_local4 < 5)))) { if (Math.random() < 0.5){ _local3++; } else { _local4++; }; }; if (_local4 > _local3){ addEnemy(_arg1, _arg2); badcount++; } else { addTreasure(_arg1, _arg2); goodcount++; }; } public function addItem(_arg1, _arg2:int){ var _local3:*; _local3 = (Math.floor((Math.random() * 10)) + 1); if (_local3 == 1){ addRareItem(_arg1, _arg2); } else { if (_local3 >= 8){ addUncommonItem(_arg1, _arg2); } else { addCommonItem(_arg1, _arg2); }; }; } public function addTreasure(_arg1, _arg2:int){ if (Math.random() < 0.6){ tb.addThingAt(new Gold(), _arg1, _arg2); } else { addItem(_arg1, _arg2); }; } public function addUncommonItem(_arg1, _arg2:int){ var _local3:*; var _local4:*; _local3 = [AgilityPotion, StrengthPotion, PanicButton, CapBreaker, Resealant, Sword, BroadSword, LongBow, Partisan, Bolts, Crossbow, StrengthRing, AgilityRing, ResilienceRing, Whiskey, BattleAxe, HealingKeg, HeavyArmor, AltarOfMight, AltarOfFleet, AltarOfEnduring, AltarOfDice, Bolts, Bolts, HealingConcentrate]; _local4 = Math.floor((Math.random() * _local3.length)); tb.addThingAt(new (_local3[_local4]), _arg1, _arg2); } } }//package
Section 94
//LevelSummary (LevelSummary) package { import flash.events.*; import flash.display.*; import flash.text.*; public dynamic class LevelSummary extends MovieClip { public var doNext:WhiteLabelButton; public var itemcount:int;// = 0 public var bonusxp:int;// = 0 public var backdrop:MovieClip; public var tfLevelX:TextField; public var frame:int;// = 0 public var tb:TileBoard; public var greyboard:MovieClip; public var monsterlist:Array; public var tfSubTitle:TextField; public var tfUnrevealedTreasures:TextField; public var greyboard3:MovieClip; public var greyboard2:MovieClip; public var mode:int;// = 0 public var tfBonus:TextField; public var tfUnrevealedMonsters:TextField; public var treasurelist:Array; public function LevelSummary(){ frame = 0; mode = 0; itemcount = 0; bonusxp = 0; super(); monsterlist = new Array(); treasurelist = new Array(); tb = Main.singleton.tb; frame = 0; mode = 0; backdrop.alpha = 0; tfLevelX.visible = false; tfSubTitle.visible = false; tfUnrevealedMonsters.visible = false; tfUnrevealedTreasures.visible = false; tfBonus.visible = false; greyboard.visible = false; greyboard2.visible = false; greyboard3.visible = false; doNext.visible = false; doNext.tfLabel.text = "Next"; addEventListener("enterFrame", animateAll); } public function animateAll(_arg1:Event){ var _local2:int; var _local3:Thing; var _local4:Thing; var _local5:*; frame++; if (backdrop.alpha < 1){ backdrop.alpha = (backdrop.alpha + 0.1); if (backdrop.alpha >= 1){ Main.singleton.pb.removeChild(tb); frame = 0; mode = 1; }; } else { if (mode == 1){ if (frame >= 10){ cleanBoard(); getMonstersAndTreasures(); tb.scaleX = 0.25; tb.scaleY = 0.25; tb.x = (0xFF + 5); tb.y = (15 + 5); this.addChild(tb); tfLevelX.visible = true; greyboard.visible = true; tfLevelX.text = ("Level " + Main.singleton.gamelevel); tfSubTitle.text = Main.singleton.introMachine.leveltitles[(Main.singleton.gamelevel - 1)]; tfSubTitle.visible = true; mode = 2; frame = 0; }; } else { if (mode == 2){ if (frame > 50){ mode = 3; frame = 0; }; } else { if (mode == 3){ tfUnrevealedMonsters.visible = true; greyboard2.visible = true; if (frame > 5){ mode = 4; frame = 0; itemcount = 0; }; } else { if (mode == 4){ if (monsterlist.length == 0){ mode = 5; frame = 0; itemcount = 0; }; if ((frame % 2) == 1){ _local3 = Thing(monsterlist.pop()); _local2 = Math.floor((itemcount / 12)); _local3.x = ((tfUnrevealedMonsters.x + 20) + (24 * (itemcount % 12))); _local3.y = ((tfUnrevealedMonsters.y + 40) + (_local2 * 25)); addChild(_local3); new SoundTick().play(0, 1, Main.singleton.soundVolume); itemcount++; }; } else { if (mode == 5){ if (frame > 50){ mode = 6; frame = 0; }; } else { if (mode == 6){ tfUnrevealedTreasures.visible = true; greyboard3.visible = true; if (frame > 5){ mode = 7; frame = 0; itemcount = 0; }; } else { if (mode == 7){ if (treasurelist.length == 0){ mode = 8; frame = 0; itemcount = 0; }; if ((frame % 2) == 1){ _local4 = Thing(treasurelist.pop()); _local2 = Math.floor((itemcount / 12)); _local4.x = ((tfUnrevealedTreasures.x + 20) + (24 * (itemcount % 12))); _local4.y = ((tfUnrevealedTreasures.y + 40) + (_local2 * 25)); addChild(_local4); new SoundTick().play(0, 1, Main.singleton.soundVolume); itemcount++; }; } else { if (mode == 8){ if (frame > 50){ mode = 9; frame = 0; }; } else { if (mode == 9){ tfBonus.visible = true; new SoundBonusXP().play(0, 1, Main.singleton.soundVolume); _local5 = 0; while (_local5 < bonusxp) { Main.singleton.player.gainXP(1); _local5++; }; Main.singleton.refreshPlayerStats(); doNext.visible = true; doNext.addEventListener("click", summaryEnds); mode = 10; }; }; }; }; }; }; }; }; }; }; } public function cleanBoard(){ tb.capsLayer.visible = false; tb.tileLayer.visible = false; tb.clickLayer.visible = false; tb.removeEventListener("click", Main.singleton.onClickBoard); } public function getMonstersAndTreasures(){ var _local1:Tile; var _local2:*; var _local3:*; _local2 = 0; while (_local2 < tb.thingArray.length) { _local3 = tb.thingArray[_local2]; if ((_local3.th is Enemy)){ _local1 = tb.getTileAt(_local3.x, _local3.y); if (_local1.revealed == false){ monsterlist.push(_local3.th); }; }; if ((_local3.th is Treasure)){ _local1 = tb.getTileAt(_local3.x, _local3.y); if (_local1.revealed == false){ treasurelist.push(_local3.th); }; }; if ((_local3.th is Wall) == false){ tb.thingLayer.removeChild(_local3.th); }; _local2++; }; bonusxp = (monsterlist.length - treasurelist.length); if (bonusxp < 0){ bonusxp = 0; }; tfUnrevealedMonsters.text = (("Unrevealed Monsters (" + monsterlist.length) + ")"); tfUnrevealedTreasures.text = (("Unrevealed Treasures (" + treasurelist.length) + ")"); tfBonus.text = ((((("Bonus XP: " + monsterlist.length) + " - ") + treasurelist.length) + " = ") + bonusxp); trace(((("monsterlist is " + monsterlist.length) + " and treasurelist is ") + treasurelist.length)); } public function summaryEnds(_arg1:Event){ removeEventListener("enterFrame", animateAll); Main.singleton.gamelevel++; Main.singleton.endDialog(false); Main.singleton.introLevel(Main.singleton.gamelevel); } } }//package
Section 95
//LittleText (LittleText) package { import flash.events.*; import flash.display.*; import flash.text.*; public class LittleText extends MovieClip { public var timealive:int;// = 0 public var tfText:TextField; public function LittleText(_arg1:String, _arg2:String){ timealive = 0; super(); tfText.htmlText = (((("<FONT COLOR='" + _arg2) + "'>") + _arg1) + "</FONT>"); addEventListener("enterFrame", floatUp); } public function floatUp(_arg1:Event){ timealive++; tfText.y--; if (timealive > 10){ alpha = (alpha - 0.1); if (alpha < 0){ removeEventListener("enterFrame", floatUp); parent.removeChild(this); }; }; } } }//package
Section 96
//LongLabelButton (LongLabelButton) package { public dynamic class LongLabelButton extends LabelButton { } }//package
Section 97
//Main (Main) package { import flash.events.*; import flash.media.*; import flash.display.*; import flash.geom.*; import bestiary.*; import flash.net.*; import flash.ui.*; public dynamic class Main extends MovieClip { public var introMachine:IntroMachine; public var treasuresgot:int; public var tb:TileBoard; public var preloader:Preloader; public var swapperDialog:SwapperDialog; public var shifter:Shifter; public var gamelevel:int;// = 1 public var player:Player; public var titleScreen:TitleScreen; public var gp:GlassPane; public var reaperPlaced:Boolean; public var dialogLayer:MovieClip; public var turnstaken; public var soundVolume:SoundTransform; public var dialogMode:Boolean;// = false public var musicChannel:SoundChannel; public var queue:Queue; public var levelMaker:LevelMaker; public var turnstakenlevel:int; public var dirtyPoints:Array; public var helpSeen:Boolean; public var musicVolume:SoundTransform; public var gameover:Boolean;// = false public var helpDialog:HelpDialog; public var monstersdefeated:int; public var pb:PlayBoard; public static var kongregate = null; public static var singleton:Main; public function Main(){ var _local1:ContextMenu; dialogMode = false; gamelevel = 1; gameover = false; super(); addFrameScript(0, frame1, 2, frame3); singleton = this; _local1 = new ContextMenu(); _local1.hideBuiltInItems(); this.contextMenu = _local1; Main.contactKongregate(); preloader = new Preloader(); preloader.x = 225; preloader.y = 200; this.addChild(preloader); soundVolume = new SoundTransform(); musicVolume = new SoundTransform(); musicVolume.volume = 0.3; stop(); } public function endDialog(_arg1:Boolean){ dialogMode = false; checkPlayerControl(); while (dialogLayer.numChildren > 0) { dialogLayer.removeChildAt(0); }; if (_arg1){ endPlayerTurn(); }; } public function visualNicety(_arg1:Boolean){ pb.doDim.visible = _arg1; pb.doMute.visible = _arg1; pb.tfTurn.visible = _arg1; pb.tfCurrentLevel.visible = _arg1; } public function playerDeath(){ var _local1:YouLose; _local1 = new YouLose(); _local1.x = (pb.x + pb.targetwindow.x); _local1.y = (pb.y + pb.targetwindow.y); gameover = true; visualNicety(false); summonDialog(_local1); setFanfare(new FanfareLevelLost()); } public function mute(){ musicVolume.volume = 0; musicChannel.soundTransform = musicVolume; soundVolume.volume = 0; } public function maybePlaceReaper(){ var _local1:*; var _local2:*; var _local3:Tile; _local1 = Math.floor((Math.random() * tb.across)); _local2 = Math.floor((Math.random() * tb.down)); _local3 = tb.getTileAt(_local1, _local2); if ((((tb.getThingAt(_local1, _local2) == null)) && ((_local3.revealed == true)))){ tb.addThingAt(new Reaper(), _local1, _local2); Main.singleton.queue.addQueue({type:"msg", text:"The <FONT COLOR='#aa0000'><B>Reaper</B></FONT> finally appears!"}); reaperPlaced = true; }; } public function unmute(){ musicVolume.volume = 0.3; musicChannel.soundTransform = musicVolume; soundVolume.volume = 1; } public function attractMode(){ stopMusic(); titleScreen = new TitleScreen(); dialogLayer.addChild(titleScreen); setMusic(new ThemeOP()); } public function readShifter(_arg1:Event){ shifter.readShifter(); } public function endPlayerTurn(){ var _local1:*; var _local2:*; var _local3:*; removePlayerControl(); refreshPlayerStats(); _local1 = new Array(); _local2 = 0; while (_local2 < tb.thingArray.length) { if ((tb.thingArray[_local2].th is Enemy)){ _local3 = tb.getTileAt(tb.thingArray[_local2].x, tb.thingArray[_local2].y); if ((((_local3.revealed == true)) && ((tb.thingArray[_local2].th.active == true)))){ _local1.push(tb.thingArray[_local2].th); }; }; _local2++; }; _local1.sort(nearestToFarthest); _local2 = 0; while (_local2 < _local1.length) { _local1[_local2].action(); _local2++; }; inventoryAffectStep(); queue.addQueue({type:"turninc"}); if ((((turnstakenlevel == 300)) && ((reaperPlaced == false)))){ Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> is taking a while on this level.. the <FONT COLOR='#aa0000'><B>Reaper</B></FONT> may appear soon.."}); }; if ((((turnstakenlevel > 350)) && ((reaperPlaced == false)))){ maybePlaceReaper(); }; } public function tyrantDeath(){ var _local1:YouWin; _local1 = new YouWin(); _local1.x = (pb.x + pb.targetwindow.x); _local1.y = (pb.y + pb.targetwindow.y); gameover = true; visualNicety(false); summonDialog(_local1); setFanfare(new FanfareGameWon()); } public function refreshPlayerStats(){ pb.playercard.setThing(player); pb.meleeslot.setThing(player.meleeslot); pb.missileslot.setThing(player.missileslot); pb.toolaslot.setThing(player.toola); pb.toolbslot.setThing(player.toolb); if (((!((player.toola == player.nothing))) && ((player.toola.usable == true)))){ pb.toolaslot.overlay.tfCommand.text = "Use"; } else { pb.toolaslot.overlay.tfCommand.text = "Set"; }; if (((!((player.toolb == player.nothing))) && ((player.toolb.usable == true)))){ pb.toolbslot.overlay.tfCommand.text = "Use"; } else { pb.toolbslot.overlay.tfCommand.text = "Set"; }; if (tb != null){ if (tb.hovercard.myitem != null){ tb.hovercard.setThing(tb.hovercard.myitem); }; }; pb.tfTurn.text = ("Turn " + turnstakenlevel); if (pb.tfTurn.text == "Turn 0"){ pb.tfTurn.text = "Turn 1"; }; pb.tfCurrentLevel.text = ((("Level " + gamelevel) + ": ") + introMachine.leveltitles[(gamelevel - 1)]); } function frame1(){ stop(); } function frame3(){ stop(); afterPreloadDone(); } public function nearestToFarthest(_arg1:Thing, _arg2:Thing):Number{ var _local3:*; var _local4:*; _local3 = tb.distanceBetween(_arg1.x, _arg1.y, Main.singleton.player.x, Main.singleton.player.y); _local4 = tb.distanceBetween(_arg2.x, _arg2.y, Main.singleton.player.x, Main.singleton.player.y); if (_local3 > _local4){ return (1); }; if (_local3 < _local4){ return (-1); }; return (0); } public function introLevel(_arg1:int){ introMachine.setLevel(_arg1); visualNicety(false); introMachine.x = (pb.targetwindow.x + pb.x); introMachine.y = (pb.targetwindow.y + pb.y); summonDialog(introMachine); setMusic(new (levelMaker.themes[(_arg1 - 1)])); } public function scanDirtyPoints(_arg1:TileBoard){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; _local2 = 0; while (_local2 < dirtyPoints.length) { _local3 = -1; while (_local3 <= 1) { _local4 = -1; while (_local4 <= 1) { _local5 = _arg1.getTileAt((dirtyPoints[_local2].x + _local3), (dirtyPoints[_local2].y + _local4)); if (_local5 == null){ } else { if (_local5.revealed){ scanSingleTile(_local5, (dirtyPoints[_local2].x + _local3), (dirtyPoints[_local2].y + _local4)); }; }; _local4++; }; _local3++; }; _local2++; }; } public function revealFromPoint(_arg1:TileBoard, _arg2:int, _arg3:int):Boolean{ var _local4:Tile; var _local5:*; var _local6:*; var _local7:String; var _local8:*; var _local9:*; var _local10:*; var _local11:*; if ((((((((_arg2 >= _arg1.across)) || ((_arg3 >= _arg1.down)))) || ((_arg2 < 0)))) || ((_arg3 < 0)))){ return (false); }; _local4 = _arg1.getTileAt(_arg2, _arg3); if (_local4.revealed == false){ _local4.revealed = true; new SoundTile().play(0, 1, Main.singleton.soundVolume); _local4.cap.fade(); _local5 = _arg1.getThingAt(_arg2, _arg3); if (_local5 != null){ _local6 = "#000000"; if ((_local5 is Treasure)){ _local6 = "#00aa00"; }; if ((_local5 is Gold)){ _local6 = "#aaaa00"; }; if ((_local5 is Enemy)){ _local6 = "#aa0000"; }; _local7 = (((("<B><FONT COLOR='" + _local6) + "'>") + _local5.name) + "</FONT></B> is revealed!"); Main.singleton.queue.addQueue({type:"msg", text:_local7}); if ((_local5 is Enemy)){ new SoundBadFind().play(0, 1, Main.singleton.soundVolume); }; if ((_local5 is Treasure)){ new SoundGoodFind().play(0, 1, Main.singleton.soundVolume); }; if ((_local5 is Exit)){ new SoundGoodFind().play(0, 1, Main.singleton.soundVolume); }; if ((_local5 is Landmark)){ new SoundGoodFind().play(0, 1, Main.singleton.soundVolume); }; if ((_local5 is Zombie)){ _local8 = [[-1, -1], [-1, 0], [-1, 1], [0, -1], [0, 1], [1, -1], [1, 0], [1, 1]]; _local9 = 0; while (_local9 < _local8.length) { if ((_arg1.getThingAt((_arg2 + _local8[_local9][0]), (_arg3 + _local8[_local9][1])) is Zombie)){ revealFromPoint(_arg1, (_arg2 + _local8[_local9][0]), (_arg3 + _local8[_local9][1])); }; _local9++; }; }; return (true); } else { if (scanSingleTile(_local4, _arg2, _arg3) == null){ _local10 = [[-1, -1], [-1, 0], [-1, 1], [0, -1], [0, 1], [1, -1], [1, 0], [1, 1]]; _local11 = 0; while (_local11 < _local10.length) { revealFromPoint(_arg1, (_arg2 + _local10[_local11][0]), (_arg3 + _local10[_local11][1])); _local11++; }; }; return (true); }; //unresolved jump }; return (false); } public function setMusic(_arg1:Sound){ if (musicChannel != null){ musicChannel.stop(); }; musicChannel = _arg1.play(0, 1000, musicVolume); } public function setFanfare(_arg1:Sound){ if (musicChannel != null){ musicChannel.stop(); }; musicChannel = _arg1.play(0, 1, musicVolume); } public function scanNumbers(_arg1:TileBoard){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; _local2 = 0; while (_local2 < _arg1.across) { _local3 = 0; while (_local3 < _arg1.down) { _local5 = _arg1.getTileAt(_local2, _local3); if (_local5.revealed){ scanSingleTile(_local5, _local2, _local3); }; _local3++; }; _local2++; }; } public function siteLock(_arg1:String){ var _local2:*; var _local3:*; var _local4:Array; var _local5:Array; var _local6:String; _local2 = this.loaderInfo.loaderURL; _local3 = false; _local4 = _local2.split("://"); _local5 = _local4[1].split("/"); _local6 = _local5[0]; if (_local6 != _arg1){ _local3 = true; }; if (_local3){ this.visible = false; }; } public function checkPlayerControl(){ if (gp.visible == false){ return; }; if (queue == null){ if (dialogMode == true){ gp.visible = true; } else { refreshPlayerStats(); gp.visible = false; }; return; }; if ((((queue.length() > 0)) || ((dialogMode == true)))){ gp.visible = true; } else { refreshPlayerStats(); if (dirtyPoints.length > 0){ scanDirtyPoints(tb); while (dirtyPoints.length > 0) { dirtyPoints.pop(); }; }; gp.visible = false; }; } public function readQueue(_arg1:Event){ queue.readQueue(); } public function removePlayerControl(){ gp.visible = true; } public function preloadDone(){ play(); } public function stopMusic(){ if (musicChannel != null){ musicChannel.stop(); }; } public function endLevel(){ var _local1:LevelSummary; _local1 = new LevelSummary(); _local1.x = (pb.x + pb.targetwindow.x); _local1.y = (pb.y + pb.targetwindow.y); visualNicety(false); summonDialog(_local1); setFanfare(new FanfareLevelWon()); } public function scanSingleTile(_arg1:Tile, _arg2:int, _arg3:int){ var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:String; var _local9:*; _local4 = [[-1, -1], [-1, 0], [-1, 1], [0, -1], [0, 1], [1, -1], [1, 0], [1, 1]]; _local5 = -99; _local8 = ""; _local6 = 0; while (_local6 < 8) { _local7 = tb.getThingAt((_arg2 + _local4[_local6][0]), (_arg3 + _local4[_local6][1])); if (_local7 != null){ if ((((((((_local7 is Wall)) || ((_local7 is Treasure)))) || ((_local7 is Exit)))) || ((_local7 is Landmark)))){ if (_local5 == -99){ _local5 = 0; }; _local5++; if ((((_local8 == "")) || ((_local8 == "good")))){ _local8 = "good"; } else { _local8 = "mixed"; }; }; if ((_local7 is Enemy)){ if (_local5 == -99){ _local5 = 0; }; _local5++; if ((((_local8 == "")) || ((_local8 == "bad")))){ _local8 = "bad"; } else { _local8 = "mixed"; }; }; }; _local6++; }; _local7 = tb.getThingAt(_arg2, _arg3); _local9 = false; if (_local7 != null){ _local9 = true; }; if (_local5 == -99){ _arg1.clearCount(); return (null); }; if (_local9 == false){ _arg1.setCount(_local5, _local8); } else { _arg1.clearCount(); }; return (_local5); } public function onClickBoard(_arg1:MouseEvent){ var _local2:TileBoard; var _local3:Point; var _local4:Boolean; var _local5:Thing; _local2 = TileBoard(_arg1.currentTarget); _local3 = _local2.getIndexOfPixel((_arg1.stageX - _local2.x), (_arg1.stageY - _local2.y)); _local4 = false; if ((((((((_local3.x < 0)) || ((_local3.x >= _local2.across)))) || ((_local3.y < 0)))) || ((_local3.y >= _local2.down)))){ return; }; _local4 = revealFromPoint(_local2, _local3.x, _local3.y); _local5 = _local2.getThingAt(_local3.x, _local3.y); if (_local4 == false){ if (_local5 == null){ _local4 = player.tryToMove(_local2, _local3.x, _local3.y); } else { if ((_local5 is Player)){ _local4 = false; } else { if ((_local5 is Landmark)){ if (_local2.areAdjacent(player, _local5)){ _local4 = false; player.tryToInteract(_local2, _local5); } else { _local4 = player.tryToMove(_local2, _local3.x, _local3.y); }; } else { if ((_local5 is Wall)){ if (_local2.areAdjacent(player, _local5)){ _local4 = false; } else { _local4 = player.tryToMove(_local2, _local3.x, _local3.y); }; } else { if ((_local5 is Treasure)){ if (_local2.areAdjacent(player, _local5)){ _local4 = player.tryToGet(_local2, _local3.x, _local3.y); } else { _local4 = player.tryToMove(_local2, _local3.x, _local3.y); }; } else { if ((_local5 is Exit)){ if (_local2.areAdjacent(player, _local5)){ removePlayerControl(); endLevel(); } else { _local4 = player.tryToMove(_local2, _local3.x, _local3.y); }; } else { if ((_local5 is Enemy)){ if (_local2.areAdjacent(player, _local5)){ _local4 = player.tryToHit(_local2, _local3.x, _local3.y, _local5); } else { _local4 = player.tryToShoot(_local2, _local3.x, _local3.y, _local5); }; }; }; }; }; }; }; }; }; if (_local4 == false){ if ((((_local5 == null)) || ((_local5 is Exit))) == false){ new SoundNoGo().play(0, 1, Main.singleton.soundVolume); }; }; if (_local4){ endPlayerTurn(); }; } public function summonDialog(_arg1:MovieClip){ dialogMode = true; removePlayerControl(); dialogLayer.addChild(_arg1); } public function afterPreloadDone(){ gp = new GlassPane(); gp.x = 0; gp.y = 0; addChild(gp); gp.visible = false; dialogLayer = new MovieClip(); dialogLayer.x = 0; dialogLayer.y = 0; addChild(dialogLayer); swapperDialog = new SwapperDialog(); siteLock("uploads.ungrounded.net"); introMachine = new IntroMachine(); levelMaker = new LevelMaker(); helpSeen = false; removeChild(preloader); attractMode(); } public function newGame(){ gamelevel = 1; gameover = false; turnstaken = 1; monstersdefeated = 0; treasuresgot = 0; if (titleScreen.parent == dialogLayer){ dialogLayer.removeChild(titleScreen); }; if (pb != null){ removeChild(pb); }; pb = new PlayBoard(); pb.x = 0; pb.y = 0; addChildAt(pb, 0); player = new Player(); refreshPlayerStats(); introLevel(gamelevel); } public function newLevel(_arg1:int){ var _local2:Point; if (tb != null){ if (tb.parent == pb){ pb.removeChild(tb); }; }; endDialog(false); tb = new TileBoard(16, 16, 20, 20); tb.x = (pb.targetwindow.x + 20); tb.y = (pb.targetwindow.y + 20); levelMaker.randomLevel(tb, _arg1); pb.addChild(tb); tb.name = "tb"; tb.tileLayer.alpha = 1; if (pb.doDim.tfLabel.text != "Dim Numbers"){ tb.tileLayer.alpha = 0.3; }; tb.addEventListener("click", onClickBoard); shifter = new Shifter(); queue = new Queue(tb, this, shifter); removeEventListener("enterFrame", readQueue); addEventListener("enterFrame", readQueue); removeEventListener("enterFrame", readShifter); addEventListener("enterFrame", readShifter); dirtyPoints = new Array(); visualNicety(true); _local2 = tb.getIndexOfThing(player); revealFromPoint(tb, _local2.x, _local2.y); checkPlayerControl(); if (_arg1 == 1){ if (helpSeen == false){ helpDialog = new HelpDialog(); summonDialog(helpDialog); helpSeen = true; }; }; turnstakenlevel = 1; refreshPlayerStats(); reaperPlaced = false; } public function inventoryAffectStep(){ var _local1:*; player.meleeslot.endOfTurn(); player.missileslot.endOfTurn(); player.toola.endOfTurn(); player.toolb.endOfTurn(); _local1 = 0; while (_local1 < player.affected.length) { if (player.affected[_local1].active == true){ player.affected[_local1].endOfTurn(); }; if (player.affected[_local1].active == false){ player.affected.splice(_local1, 1); _local1--; }; _local1++; }; } public static function konSubmit(_arg1:String, _arg2:int){ if (Main.kongregate == null){ return; }; Main.kongregate.stats.submit(_arg1, _arg2); } public static function konLoadComplete(_arg1:Event){ var event = _arg1; try { Main.kongregate = event.target.content; Main.kongregate.services.connect(); } catch(e:Error) { Main.kongregate = null; }; } public static function contactKongregate(){ var paramObj:Object; var api_url:String; var request:URLRequest; var loader:Loader; paramObj = Main.singleton.loaderInfo.parameters; api_url = ((paramObj.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); trace(("API path: " + api_url)); try { request = new URLRequest(api_url); loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, Main.konLoadComplete); loader.load(request); Main.singleton.addChild(loader); } catch(e:Error) { Main.kongregate = null; }; } } }//package
Section 98
//MessageMask (MessageMask) package { import flash.display.*; public dynamic class MessageMask extends MovieClip { } }//package
Section 99
//MessageZone (MessageZone) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.filters.*; public dynamic class MessageZone extends MovieClip { public var messages:Array; public var messagesLayer; public var shiftupward:int;// = 0 public var overLayer:MovieClip; public function MessageZone(){ var _local1:MessageMask; shiftupward = 0; super(); messages = new Array(); overLayer = new MovieClip(); messagesLayer = new MovieClip(); addChild(messagesLayer); addChild(overLayer); _local1 = new MessageMask(); _local1.x = ((640 - _local1.width) - 425.9); _local1.y = ((480 - _local1.height) - 327); overLayer.addChild(_local1); addEventListener("enterFrame", onFrame); this.cacheAsBitmap = true; } public function addMessage(_arg1:String){ var _local2:*; _local2 = new TextField(); _local2.selectable = false; _local2.width = 190; _local2.multiline = true; _local2.wordWrap = true; _local2.autoSize = TextFieldAutoSize.LEFT; _local2.htmlText = (("<FONT FACE='Arial' SIZE='11'>" + _arg1) + "</FONT>"); _local2.background = true; _local2.backgroundColor = 16777164; _local2.border = true; _local2.borderColor = 0; _local2.y = (130 + shiftupward); _local2.x = 0; shiftupward = (shiftupward + _local2.height); messagesLayer.addChild(_local2); messages.push(_local2); } public function onFrame(_arg1:Event){ var _local2:*; if (shiftupward > 0){ _local2 = 0; while (_local2 < messages.length) { if (shiftupward > 3){ messages[_local2].y = (messages[_local2].y - 2); } else { messages[_local2].y--; }; if (messages[_local2].y < -100){ messagesLayer.removeChild(messages[_local2]); messages.splice(_local2, 1); _local2--; }; _local2++; }; if (shiftupward > 3){ shiftupward = (shiftupward - 2); } else { shiftupward--; }; }; } } }//package
Section 100
//NoThing (NoThing) package { public dynamic class NoThing extends Treasure { public function NoThing(){ glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#999999'>-</FONT>"; name = "None"; } override public function stat():String{ return (""); } override public function describe():String{ var _local1:*; _local1 = ""; return (_local1); } } }//package
Section 101
//PlayBoard (PlayBoard) package { import flash.events.*; import flash.display.*; import flash.text.*; public dynamic class PlayBoard extends MovieClip { public var tfTurn:TextField; public var missileslot:ThingCard; public var tfCurrentLevel:TextField; public var messagezone:MessageZone; public var doMute:LongLabelButton; public var toolaslot:ThingCard; public var playercard:ThingCard; public var meleeslot:ThingCard; public var targetwindow:MovieClip; public var toolbslot:ThingCard; public var doDim:LongLabelButton; public function PlayBoard(){ meleeslot.shortForm(); missileslot.shortForm(); toolaslot.shortForm(); toolbslot.shortForm(); meleeslot.activateOverlay(); missileslot.activateOverlay(); toolaslot.activateOverlay(); toolbslot.activateOverlay(); meleeslot.onClickFunction = setUpSwapper; missileslot.onClickFunction = setUpSwapper; toolaslot.onClickFunction = setUpSwapper; toolbslot.onClickFunction = setUpSwapper; doDim.tfLabel.text = "Dim Numbers"; doDim.addEventListener("click", onClickDim); doMute.tfLabel.text = "Mute"; doMute.addEventListener("click", onClickMute); if (Main.singleton.musicVolume.volume == 0){ doMute.tfLabel.text = "UnMute"; }; } public function setUpSwapper(_arg1:ThingCard){ var _local2:TileBoard; var _local3:Player; _local2 = TileBoard(getChildByName("tb")); _local3 = Main.singleton.player; if (((((((_arg1.myitem is Weapon) == false)) && (!((_arg1.myitem == _local3.nothing))))) && ((_arg1.myitem.usable == true)))){ _arg1.myitem.onUse(_local2, _local3); Main.singleton.endPlayerTurn(); } else { Main.singleton.swapperDialog.setSlot(_arg1.name); Main.singleton.swapperDialog.setThing(_arg1.myitem); Main.singleton.summonDialog(Main.singleton.swapperDialog); }; } public function onClickMute(_arg1:Event){ if (doMute.tfLabel.text == "Mute"){ Main.singleton.mute(); doMute.tfLabel.text = "UnMute"; } else { Main.singleton.unmute(); doMute.tfLabel.text = "Mute"; }; } public function onClickDim(_arg1:Event){ var _local2:TileBoard; _local2 = TileBoard(getChildByName("tb")); if (_local2.tileLayer.alpha == 1){ _local2.tileLayer.alpha = 0.3; } else { _local2.tileLayer.alpha = 1; }; if (_local2.tileLayer.alpha < 1){ doDim.tfLabel.text = "Light Numbers"; } else { doDim.tfLabel.text = "Dim Numbers"; }; } } }//package
Section 102
//Player (Player) package { import flash.display.*; import flash.geom.*; import flash.text.*; import bestiary.*; public dynamic class Player extends Animate { public var goldthreshold:int;// = 1000 public var missileslot:Thing; public var tonextlevel:int;// = 4 public var affected:Array; public var barehands:BareHands; public var bolts:int;// = 0 public var goldcount:int;// = 0 public var inventory:Array; public var meleeslot:Thing; public var arrows:int;// = 0 public var toola:Thing; public var toolb:Thing; public var nothing:NoThing; public function Player(){ tonextlevel = 4; goldcount = 0; goldthreshold = 1000; arrows = 0; bolts = 0; super(); glyph.visible = true; glyph.gotoAndStop("player"); tfName.htmlText = ""; name = "Sweeper"; affected = new Array(); this.hp = 12; this.maxhp = 12; this.agi = 0; this.maxagi = 0; this.str = 0; this.mastr = 0; this.goldcount = 0; barehands = new BareHands(); nothing = new NoThing(); meleeslot = barehands; missileslot = nothing; toola = nothing; toolb = nothing; inventory = new Array(); } public function tryToShoot(_arg1:TileBoard, _arg2:int, _arg3:int, _arg4:Thing):Boolean{ var _local5:Point; var _local6:*; var _local7:*; var _local8:String; var _local9:*; var _local10:String; if (missileslot == nothing){ return (false); }; if (missileslot.getShotsLeft() <= 0){ Main.singleton.queue.addQueue({type:"msg", text:(("<B>" + missileslot.name) + "</B> has no shots left!")}); return (false); }; if (_arg1.clearLineOfFire(this, _arg4) == false){ Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> has no clear line of fire."}); return (false); }; trace("Line of Fire OK"); _local5 = Main.singleton.tb.getIndexOfThing(this); Main.singleton.queue.addQueue({type:"shoot", sx:_local5.x, sy:_local5.y, tx:_arg2, ty:_arg3, sc:missileslot.shotcolor}); Main.singleton.queue.addQueue({type:"wait", frames:10}); missileslot.ammoDeduct(); new SoundShoot().play(0, 1, Main.singleton.soundVolume); _local6 = meleeChanceOfMiss(this, _arg4); _local7 = Math.floor(_arg1.tilesBetween(this, _arg4)); _local6 = (_local6 + missileslot.getMissByRange(_local7)); if (_local6 > 90){ _local6 = 90; }; if (Math.floor((Math.random() * 100)) < _local6){ _local8 = (("<B>Sweeper</B> misses <B><FONT COLOR='#aa0000'>" + _arg4.name) + "</FONT></B>."); missileslot.afterMiss(); Main.singleton.queue.addQueue({type:"smallmsg", text:"Miss", color:"#ffff00", tx:_arg2, ty:_arg3}); Main.singleton.queue.addQueue({type:"msg", text:_local8}); } else { _local9 = ((missileslot.getDamage() + (missileslot.strengthadd) ? str : 0) - _arg4.armor); if (_local9 < 0){ _local9 = 0; }; _arg4.hp = (_arg4.hp - _local9); _local10 = (((((("<B>" + this.name) + "</B> shoots <B><FONT COLOR='#aa0000'>") + _arg4.name) + "</FONT></B> for ") + _local9) + " damage."); missileslot.afterHit(); Main.singleton.queue.addQueue({type:"smallmsg", text:String(_local9), color:"#ff0000", tx:_arg2, ty:_arg3}); Main.singleton.queue.addQueue({type:"msg", text:_local10}); if (_arg4.hp <= 0){ Main.singleton.queue.addQueue({type:"wait", frames:1}); Main.singleton.queue.addQueue({type:"remove", thing:_arg4, board:_arg1}); if ((_arg4 is Tyrant) == false){ Main.singleton.queue.addQueue({type:"sfx", sound:new SoundDie()}); }; Main.singleton.monstersdefeated++; if ((_arg4 is Tyrant)){ Main.singleton.queue.addQueue({type:"sfx", sound:new SoundStartGame()}); Main.singleton.queue.addQueue({type:"wait", frames:10}); Main.singleton.queue.addQueue({type:"tyrantdeath"}); }; _arg4.active = false; Main.singleton.queue.addQueue({type:"msg", text:(("<B><FONT COLOR='#aa0000'>" + _arg4.name) + "</FONT></B> is defeated!")}); gainXP(1); Main.singleton.dirtyPoints.push(new Point(_arg2, _arg3)); }; }; return (true); } override public function tryToHit(_arg1:TileBoard, _arg2:int, _arg3:int, _arg4:Thing):Boolean{ var _local5:*; var _local6:Point; var _local7:int; var _local8:int; var _local9:String; var _local10:*; var _local11:String; _local5 = meleeChanceOfMiss(this, _arg4); _local6 = _arg1.getIndexOfThing(this); _local7 = 0; if (_local6.x < _arg2){ _local7 = 1; }; if (_local6.x > _arg2){ _local7 = -1; }; _local8 = 0; if (_local6.y < _arg3){ _local8 = 1; }; if (_local6.y > _arg3){ _local8 = -1; }; Main.singleton.queue.addQueue({type:"bump", thing:this, dirx:_local7, diry:_local8, inout:0, sofar:0}); Main.singleton.queue.addQueue({type:"wait", frames:10}); if (Math.floor((Math.random() * 100)) < _local5){ _local9 = (("<B>Sweeper</B> misses <B><FONT COLOR='#aa0000'>" + _arg4.name) + "</FONT></B>."); meleeslot.afterMiss(); Main.singleton.queue.addQueue({type:"smallmsg", text:"Miss", color:"#ffff00", tx:_arg2, ty:_arg3}); Main.singleton.queue.addQueue({type:"msg", text:_local9}); } else { _local10 = ((meleeslot.getDamage() + (meleeslot.strengthadd) ? str : 0) - _arg4.armor); if (_local10 < 0){ _local10 = 0; }; _arg4.hp = (_arg4.hp - _local10); _local11 = (((((("<B>" + this.name) + "</B> hits <B><FONT COLOR='#aa0000'>") + _arg4.name) + "</FONT></B> for ") + _local10) + " damage."); meleeslot.afterHit(); Main.singleton.queue.addQueue({type:"smallmsg", text:String(_local10), color:"#ff0000", tx:_arg2, ty:_arg3}); Main.singleton.queue.addQueue({type:"msg", text:_local11}); Main.singleton.queue.addQueue({type:"sfx", sound:new SoundBump()}); if (_arg4.hp <= 0){ Main.singleton.queue.addQueue({type:"wait", frames:1}); Main.singleton.queue.addQueue({type:"remove", thing:_arg4, board:_arg1}); if ((_arg4 is Tyrant) == false){ Main.singleton.queue.addQueue({type:"sfx", sound:new SoundDie()}); }; Main.singleton.monstersdefeated++; if ((_arg4 is Tyrant)){ Main.singleton.queue.addQueue({type:"sfx", sound:new SoundStartGame()}); Main.singleton.queue.addQueue({type:"wait", frames:10}); Main.singleton.queue.addQueue({type:"tyrantdeath"}); }; _arg4.active = false; Main.singleton.queue.addQueue({type:"msg", text:(("<B><FONT COLOR='#aa0000'>" + _arg4.name) + "</FONT></B> is defeated!")}); gainXP(1); Main.singleton.dirtyPoints.push(new Point(_arg2, _arg3)); }; }; return (true); } override public function stat():String{ var _local1:*; _local1 = ""; if (str < maxstr){ _local1 = (_local1 + ((("STR <FONT COLOR='#aa0000'>" + ((this.str)>=0) ? "+" : "") + this.str) + "</FONT>")); } else { if (str > maxstr){ _local1 = (_local1 + ((("STR <FONT COLOR='#0000aa'>" + ((this.str)>=0) ? "+" : "") + this.str) + "</FONT>")); } else { _local1 = (_local1 + (("STR " + ((this.str)>=0) ? "+" : "") + this.str)); }; }; _local1 = (_local1 + " "); if (agi < maxagi){ _local1 = (_local1 + ((("AGI <FONT COLOR='#aa0000'>" + ((this.agi)>=0) ? "+" : "") + this.agi) + "</FONT>")); } else { if (agi > maxagi){ _local1 = (_local1 + ((("AGI <FONT COLOR='#0000aa'>" + ((this.agi)>=0) ? "+" : "") + this.agi) + "</FONT>")); } else { _local1 = (_local1 + (("AGI " + ((this.agi)>=0) ? "+" : "") + this.agi)); }; }; _local1 = (_local1 + " "); _local1 = (_local1 + ((("HP " + this.hp) + "/") + this.maxhp)); _local1 = (_local1 + " "); _local1 = (_local1 + ((((("DAM " + this.meleeslot.dicenumber) + "d") + this.meleeslot.dicetype) + ((this.str)>=0) ? "+" : "") + this.str)); return (_local1); } public function hasAffect(_arg1:String):Boolean{ var _local2:*; _local2 = 0; while (_local2 < affected.length) { if (affected[_local2].name == _arg1){ return (true); }; _local2++; }; return (false); } public function gainXP(_arg1:int){ xp = (xp + _arg1); if (xp >= tonextlevel){ levelUp(); }; } override public function describe():String{ var _local1:*; var _local2:*; _local1 = ""; _local1 = (((((("Level " + this.level) + ", XP ") + this.xp) + "/") + this.tonextlevel) + "."); _local1 = (_local1 + (("<BR>Gold " + this.goldcount) + ".")); if (affected.length > 0){ _local1 = (_local1 + "<BR>"); _local2 = 0; while (_local2 < affected.length) { _local1 = (_local1 + (affected[_local2].stat() + ((_local2)==(affected.length - 1)) ? "" : ", ")); _local2++; }; _local1 = (_local1 + "."); }; return (_local1); } public function addAffect(_arg1:Affect){ affected.push(_arg1); _arg1.start(); } public function levelUp(){ var _local1:Point; xp = 0; tonextlevel = (tonextlevel + 1); level++; hp = (hp + 3); maxhp = (maxhp + 3); _local1 = Main.singleton.tb.getIndexOfThing(this); Main.singleton.queue.addQueue({type:"smallmsg", text:"Level Up", color:"#9999ff", tx:_local1.x, ty:_local1.y}); Main.singleton.queue.addQueue({type:"sfx", sound:new SoundGet()}); if ((level % 2) == 0){ maxagi++; agi++; Main.singleton.queue.addQueue({type:"msg", text:(("<B>Sweeper</B> reached Level " + level) + "!<BR>+3 HP, +1 AGI.")}); } else { maxstr++; str++; Main.singleton.queue.addQueue({type:"msg", text:(("<B>Sweeper</B> reached Level " + level) + "!<BR>+3 HP, +1 STR.")}); }; } public function autoEquipCheck(_arg1:Thing){ if (_arg1.storable == false){ return; }; if ((((((_arg1 is Weapon)) && ((_arg1.ismissile == false)))) && ((this.meleeslot == barehands)))){ this.meleeslot = _arg1; return; }; if ((((((_arg1 is Weapon)) && ((_arg1.ismissile == true)))) && ((this.missileslot == nothing)))){ this.missileslot = _arg1; return; }; } public function tryToGet(_arg1:TileBoard, _arg2:int, _arg3:int):Boolean{ var _local4:Thing; var _local5:*; _local4 = _arg1.getThingAt(_arg2, _arg3); if (_local4 == null){ return (false); }; if ((_local4 is Treasure) == false){ return (false); }; _local5 = "#00aa00"; if ((_local4 is Gold)){ _local5 = "#aaaa00"; }; Main.singleton.queue.addQueue({type:"msg", text:(((((("<B>Sweeper</B> picks up " + ((_local4.storable)==false) ? (_local4.amount + " ") : "") + "<B><FONT COLOR='") + _local5) + "'>") + _local4.name) + "</FONT></B>.")}); if (_local4.storable == true){ inventory.push(_local4); } else { _local4.onGet(); }; _arg1.removeThing(_local4); Main.singleton.treasuresgot++; new SoundGet().play(0, 1, Main.singleton.soundVolume); Main.singleton.dirtyPoints.push(new Point(_arg2, _arg3)); autoEquipCheck(_local4); return (true); } public function tryToInteract(_arg1:TileBoard, _arg2:Thing){ _arg2.interact(); } } }//package
Section 103
//PopAnimation (PopAnimation) package { import flash.events.*; import flash.display.*; public dynamic class PopAnimation extends MovieClip { public function PopAnimation(){ this.rotation = (Math.random() * 180); addEventListener("enterFrame", onFrame); } public function onFrame(_arg1:Event){ this.scaleX = (this.scaleX + 0.1); this.scaleY = (this.scaleY + 0.1); this.alpha = (this.alpha - 0.1); if (this.alpha <= 0){ removeEventListener("enterFrame", onFrame); parent.removeChild(this); }; } } }//package
Section 104
//Preloader (Preloader) package { import flash.events.*; import flash.display.*; public dynamic class Preloader extends MovieClip { public var thingCard:ThingCard; public function Preloader(){ thingCard.tfTitle.text = "Preloader"; thingCard.tfStat.htmlText = "0% Loaded"; thingCard.tfText.htmlText = "This strange purple creature always makes sure that it bytes before it bites."; thingCard.clone.glyph.visible = false; thingCard.clone.tfName.htmlText = "<FONT COLOR='#aa00aa'>P</FONT>"; addEventListener(Event.ENTER_FRAME, preLoading); } public function preLoading(_arg1:Event){ var _local2:Number; var _local3:Number; _local2 = this.stage.loaderInfo.bytesTotal; _local3 = this.stage.loaderInfo.bytesLoaded; thingCard.tfStat.htmlText = (("" + Math.floor(((_local3 / _local2) * 100))) + "% Loaded"); if (_local3 == _local2){ removeEventListener(Event.ENTER_FRAME, preLoading); Main.singleton.preloadDone(); }; } } }//package
Section 105
//Queue (Queue) package { import flash.media.*; import bestiary.*; public class Queue { public var tb:TileBoard; public var shifter:Shifter; public var queue:Array; public var countdowntonextread:int;// = 0 public var main:Main; public function Queue(_arg1:TileBoard, _arg2:Main, _arg3:Shifter){ countdowntonextread = 0; super(); queue = new Array(); this.tb = _arg1; this.main = _arg2; this.shifter = _arg3; } public function length():int{ return (queue.length); } public function addQueue(_arg1:Object){ queue.push(_arg1); } public function readQueue(){ var _local1:*; var _local2:Sound; var _local3:*; var _local4:LittleText; countdowntonextread--; if (countdowntonextread < -100){ countdowntonextread = -100; }; if (countdowntonextread > 0){ return; }; if ((((queue.length == 0)) && ((countdowntonextread <= 0)))){ Main.singleton.checkPlayerControl(); }; while ((((queue.length > 0)) && ((countdowntonextread <= 0)))) { _local1 = queue.shift(); if (_local1.type == "msg"){ Main.singleton.pb.messagezone.addMessage(_local1.text); countdowntonextread = 1; } else { if (_local1.type == "sfx"){ _local2 = Sound(_local1.sound); _local2.play(0, 1, Main.singleton.soundVolume); countdowntonextread = 0; } else { if (_local1.type == "remove"){ _local1.board.removeThing(_local1.thing); if ((_local1.thing is Tyrant)){ _local3 = new BoomAnimation(); } else { _local3 = new PopAnimation(); }; _local3.x = _local1.thing.x; _local3.y = _local1.thing.y; tb.clickLayer.addChild(_local3); } else { if (_local1.type == "shoot"){ tb.clickLayer.addChild(new ShootAnimation(tb, _local1.sx, _local1.sy, _local1.tx, _local1.ty, _local1.sc)); countdowntonextread = 0; } else { if (_local1.type == "smallmsg"){ _local4 = new LittleText(_local1.text, _local1.color); _local4.x = Main.singleton.tb.centerOf(_local1.tx, _local1.ty).x; _local4.y = (Main.singleton.tb.centerOf(_local1.tx, _local1.ty).y - 10); Main.singleton.tb.clickLayer.addChild(_local4); countdowntonextread = 0; } else { if (_local1.type == "update"){ } else { if ((((((_local1.type == "travel")) || ((_local1.type == "spin")))) || ((_local1.type == "bump")))){ shifter.addShift(_local1); countdowntonextread = 1; } else { if (_local1.type == "wait"){ countdowntonextread = _local1.frames; } else { if (_local1.type == "playerdeath"){ Main.singleton.playerDeath(); } else { if (_local1.type == "tyrantdeath"){ Main.singleton.tyrantDeath(); } else { if (_local1.type == "turninc"){ if (Main.singleton.gameover == false){ Main.singleton.turnstaken++; Main.singleton.turnstakenlevel++; }; }; }; }; }; }; }; }; }; }; }; }; }; } } }//package
Section 106
//Shifter (Shifter) package { public class Shifter { public var clients:Array; public function Shifter(){ clients = new Array(); } public function addShift(_arg1:Object){ clients.push(_arg1); } public function readShifter(){ var _local1:*; var _local2:*; var _local3:Object; var _local4:Boolean; var _local5:*; _local1 = 0; _local2 = new Array(); _local1 = 0; while (_local1 < clients.length) { _local3 = clients[_local1]; if (_local3.type == "travel"){ _local4 = false; _local5 = 0; while (_local5 < _local2.length) { if (_local2[_local5] == _local3){ _local4 = true; break; }; _local5++; }; if (_local4 == false){ _local2.push(_local3); if (_local3.thing.x > _local3.destx){ _local3.thing.x = (_local3.thing.x - 4); } else { if (_local3.thing.x < _local3.destx){ _local3.thing.x = (_local3.thing.x + 4); }; }; if (_local3.thing.y > _local3.desty){ _local3.thing.y = (_local3.thing.y - 4); } else { if (_local3.thing.y < _local3.desty){ _local3.thing.y = (_local3.thing.y + 4); }; }; if ((((_local3.thing.x == _local3.destx)) && ((_local3.thing.y == _local3.desty)))){ clients.splice(_local1, 1); _local1--; }; }; }; if (_local3.type == "spin"){ _local3.spun = (_local3.spun + 20); if (_local3.spun == 360){ clients.splice(_local1, 1); _local1--; } else { _local3.thing.rotation = _local3.spun; }; }; if (_local3.type == "bump"){ _local3.thing.x = (_local3.thing.x + _local3.dirx); _local3.thing.y = (_local3.thing.y + _local3.diry); _local3.sofar++; if (_local3.sofar >= 3){ if (_local3.inout == 0){ _local3.inout = 1; _local3.dirx = (_local3.dirx * -1); _local3.diry = (_local3.diry * -1); _local3.sofar = 0; } else { clients.splice(_local1, 1); _local1--; }; }; }; _local1++; }; } } }//package
Section 107
//ShootAnimation (ShootAnimation) package { import flash.events.*; import flash.display.*; import flash.geom.*; public dynamic class ShootAnimation extends MovieClip { public var sc:uint;// = 0 public var startPoint; public var endPoint:Point; public var timesofar:int;// = 0 public function ShootAnimation(_arg1:TileBoard, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:uint){ timesofar = 0; sc = 0; super(); this.tb = _arg1; this.sc = _arg6; startPoint = _arg1.centerOf(_arg2, _arg3); endPoint = _arg1.centerOf(_arg4, _arg5); addEventListener("enterFrame", animateShot); } public function animateShot(_arg1:Event){ this.graphics.clear(); timesofar++; if (timesofar > 10){ removeEventListener("enterFrame", animateShot); parent.removeChild(this); return; }; this.graphics.lineStyle(1, sc, 0.3); this.graphics.moveTo(startPoint.x, startPoint.y); this.graphics.lineTo(endPoint.x, endPoint.y); this.graphics.lineStyle(2, sc, 1); this.graphics.moveTo((startPoint.x + ((endPoint.x - startPoint.x) * (0.1 * timesofar))), (startPoint.y + ((endPoint.y - startPoint.y) * (0.1 * timesofar)))); this.graphics.lineTo((startPoint.x + ((endPoint.x - startPoint.x) * (0.1 * (timesofar - 1)))), (startPoint.y + ((endPoint.y - startPoint.y) * (0.1 * (timesofar - 1))))); } } }//package
Section 108
//Smiley (Smiley) package { import flash.display.*; public dynamic class Smiley extends MovieClip { } }//package
Section 109
//SoundBadFind (SoundBadFind) package { import flash.media.*; public dynamic class SoundBadFind extends Sound { } }//package
Section 110
//SoundBonusXP (SoundBonusXP) package { import flash.media.*; public dynamic class SoundBonusXP extends Sound { } }//package
Section 111
//SoundBump (SoundBump) package { import flash.media.*; public dynamic class SoundBump extends Sound { } }//package
Section 112
//SoundDie (SoundDie) package { import flash.media.*; public dynamic class SoundDie extends Sound { } }//package
Section 113
//SoundGet (SoundGet) package { import flash.media.*; public dynamic class SoundGet extends Sound { } }//package
Section 114
//SoundGoodFind (SoundGoodFind) package { import flash.media.*; public dynamic class SoundGoodFind extends Sound { } }//package
Section 115
//SoundNoGo (SoundNoGo) package { import flash.media.*; public dynamic class SoundNoGo extends Sound { } }//package
Section 116
//SoundShoot (SoundShoot) package { import flash.media.*; public dynamic class SoundShoot extends Sound { } }//package
Section 117
//SoundStartGame (SoundStartGame) package { import flash.media.*; public dynamic class SoundStartGame extends Sound { } }//package
Section 118
//SoundTick (SoundTick) package { import flash.media.*; public dynamic class SoundTick extends Sound { } }//package
Section 119
//SoundTile (SoundTile) package { import flash.media.*; public dynamic class SoundTile extends Sound { } }//package
Section 120
//StoneBitmap (StoneBitmap) package { import flash.display.*; public dynamic class StoneBitmap extends BitmapData { public function StoneBitmap(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 121
//SwapperDialog (SwapperDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public dynamic class SwapperDialog extends MovieClip { public var thingcard3:ThingCard; public var slot:String; public var thingcard1:ThingCard; public var ys:Array; public var doNext:LabelButton; public var thingcard2:ThingCard; public var pointer:MovieClip; public var showingindex:int; public var doPrev:LabelButton; public var tfReport:TextField; public var choicelist:Array; public var doCancel:LabelButton; public var thing:Thing; public var thingcard0:ThingCard; public function SwapperDialog(){ var _local1:*; ys = [(118 - 16), (165 - 16), (219 - 16), (264 - 16)]; super(); this.x = 165; this.y = 16; doCancel.tfLabel.text = "Cancel"; doPrev.tfLabel.text = "< Prev"; doPrev.tfLabel.autoSize = TextFieldAutoSize.LEFT; doNext.tfLabel.text = "Next >"; doNext.tfLabel.autoSize = TextFieldAutoSize.RIGHT; doNext.addEventListener("click", onClickNext); doPrev.addEventListener("click", onClickPrev); doCancel.addEventListener("click", onClickCancel); thingcard0.activateOverlay(); thingcard1.activateOverlay(); thingcard2.activateOverlay(); thingcard3.activateOverlay(); _local1 = 0; while (_local1 < 4) { this[("thingcard" + _local1)].onClickFunction = clickCard; _local1++; }; } public function onClickNext(_arg1:Event){ if ((showingindex + 4) < choicelist.length){ displayRange((showingindex + 4)); }; } public function setSlot(_arg1:String){ slot = _arg1; if (slot == "meleeslot"){ pointer.y = ys[0]; }; if (slot == "missileslot"){ pointer.y = ys[1]; }; if (slot == "toolaslot"){ pointer.y = ys[2]; }; if (slot == "toolbslot"){ pointer.y = ys[3]; }; } public function setThing(_arg1:Thing){ var _local2:int; var _local3:Thing; thing = _arg1; choicelist = new Array(); choicelist.push(_arg1); if ((((slot == "meleeslot")) || ((slot == "missileslot")))){ if (((!((_arg1 == Main.singleton.player.barehands))) && ((_arg1.ismissile == false)))){ choicelist.push(Main.singleton.player.barehands); }; if (((!((_arg1 == Main.singleton.player.nothing))) && ((_arg1.ismissile == true)))){ choicelist.push(Main.singleton.player.nothing); }; _local2 = 0; while (_local2 < Main.singleton.player.inventory.length) { _local3 = Main.singleton.player.inventory[_local2]; trace(((("Examining " + _local3.name) + ": is Weapon? ") + (_local3 is Weapon))); if ((_local3 is Weapon)){ if (((!((_local3 == _arg1))) && (!((_local3 == Main.singleton.player.meleeslot))))){ if ((((((_local3.ismissile == true)) && ((slot == "missileslot")))) || ((((_local3.ismissile == false)) && ((slot == "meleeslot")))))){ choicelist.push(_local3); }; }; }; _local2++; }; } else { if (_arg1 != Main.singleton.player.nothing){ choicelist.push(Main.singleton.player.nothing); }; _local2 = 0; while (_local2 < Main.singleton.player.inventory.length) { _local3 = Main.singleton.player.inventory[_local2]; if (((((((((_local3 is Weapon) == false)) && (!((_local3 == _arg1))))) && (!((_local3 == Main.singleton.player.toola))))) && (!((_local3 == Main.singleton.player.toolb))))){ choicelist.push(_local3); }; _local2++; }; }; displayRange(0); } public function displayRange(_arg1:int){ var _local2:String; var _local3:*; showingindex = _arg1; _local2 = ""; if (slot == "meleeslot"){ _local2 = "Melee Weapon"; }; if (slot == "missileslot"){ _local2 = "Ranged Weapon"; }; if (slot == "toolaslot"){ _local2 = "Ready Item A"; }; if (slot == "toolbslot"){ _local2 = "Ready Item B"; }; tfReport.text = ((((((_local2 + ": ") + (_arg1 + 1)) + " - ") + (((_arg1 + 4))<=choicelist.length) ? (_arg1 + 4) : choicelist.length) + " of ") + choicelist.length); doPrev.visible = !((showingindex == 0)); doNext.visible = ((showingindex + 4) < choicelist.length); _local3 = 0; while (_local3 < 4) { if ((_arg1 + _local3) < choicelist.length){ this[("thingcard" + _local3)].visible = true; this[("thingcard" + _local3)].setThing(choicelist[(_arg1 + _local3)]); } else { this[("thingcard" + _local3)].visible = false; }; if ((_arg1 + _local3) == 0){ this["thingcard0"].tfTitle.text = (this["thingcard0"].tfTitle.text + "*"); }; _local3++; }; } public function clickCard(_arg1:ThingCard){ if (_arg1.myitem == thing){ Main.singleton.endDialog(false); } else { if (((!((_arg1.myitem == Main.singleton.player.nothing))) && (!((_arg1.myitem == Main.singleton.player.barehands))))){ Main.singleton.queue.addQueue({type:"msg", text:(("<B>Sweeper</B> equips <B><FONT COLOR='#00aa00'>" + _arg1.myitem.name) + "</FONT></B>.")}); } else { Main.singleton.queue.addQueue({type:"msg", text:"<B>Sweeper</B> unequips."}); }; if (slot == "meleeslot"){ Main.singleton.player.meleeslot.onUnequip(Main.singleton.tb, Main.singleton.player); Main.singleton.player.meleeslot = _arg1.myitem; }; if (slot == "missileslot"){ Main.singleton.player.missileslot.onUnequip(Main.singleton.tb, Main.singleton.player); Main.singleton.player.missileslot = _arg1.myitem; }; if (slot == "toolaslot"){ Main.singleton.player.toola.onUnequip(Main.singleton.tb, Main.singleton.player); Main.singleton.player.toola = _arg1.myitem; }; if (slot == "toolbslot"){ Main.singleton.player.toolb.onUnequip(Main.singleton.tb, Main.singleton.player); Main.singleton.player.toolb = _arg1.myitem; }; _arg1.myitem.onEquip(Main.singleton.tb, Main.singleton.player); Main.singleton.endDialog(true); }; } public function onClickCancel(_arg1:Event){ Main.singleton.endDialog(false); } public function onClickPrev(_arg1:Event){ if (showingindex > 0){ displayRange((showingindex - 4)); }; } } }//package
Section 122
//ThemeCrypt (ThemeCrypt) package { import flash.media.*; public dynamic class ThemeCrypt extends Sound { } }//package
Section 123
//ThemeOne (ThemeOne) package { import flash.media.*; public dynamic class ThemeOne extends Sound { } }//package
Section 124
//ThemeOP (ThemeOP) package { import flash.media.*; public dynamic class ThemeOP extends Sound { } }//package
Section 125
//ThemeTwo (ThemeTwo) package { import flash.media.*; public dynamic class ThemeTwo extends Sound { } }//package
Section 126
//ThemeTyrant (ThemeTyrant) package { import flash.media.*; public dynamic class ThemeTyrant extends Sound { } }//package
Section 127
//Thing (Thing) package { import flash.display.*; import flash.geom.*; import flash.text.*; public dynamic class Thing extends MovieClip { public var glyph:MovieClip; public var tfName:TextField; public var extratext:String;// = "" public function Thing(){ extratext = ""; super(); glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#660000'>Z</FONT>"; } public function interact(){ } public function stat():String{ return (""); } public function title():String{ return (this.name); } public function setTint(_arg1, _arg2, _arg3:int){ glyph.transform.colorTransform = new ColorTransform(1, 1, 1, 1, _arg1, _arg2, _arg3, 1); } public function endOfTurn(){ } public function describe():String{ return (this.extratext); } } }//package
Section 128
//ThingCard (ThingCard) package { import flash.events.*; import flash.display.*; import flash.text.*; public dynamic class ThingCard extends MovieClip { public var tfTitle:TextField; public var overlay:ThingCardOverlay; public var backdrop:MovieClip; public var clone:Thing; public var tfText:TextField; public var myitem:Thing; public var onClickFunction:Function; public var tfStat:TextField; public function ThingCard(){ backdrop.gotoAndStop("longform"); overlay.visible = false; } public function onClickSlot(_arg1:Event){ if (onClickFunction != null){ onClickFunction(this); }; } public function shortForm(){ backdrop.gotoAndStop("shortform"); tfText.visible = false; } public function showOverlay(_arg1:Event){ overlay.visible = true; } public function longForm(){ backdrop.gotoAndStop("longform"); tfText.visible = true; } public function setThing(_arg1:Thing){ myitem = _arg1; tfTitle.text = myitem.title(); tfStat.htmlText = myitem.stat(); tfText.htmlText = myitem.describe(); clone.glyph.visible = myitem.glyph.visible; clone.glyph.gotoAndStop(myitem.glyph.currentLabel); clone.tfName.htmlText = myitem.tfName.htmlText; clone.transform.colorTransform = myitem.glyph.transform.colorTransform; } public function hideOverlay(_arg1:Event){ overlay.visible = false; } public function activateOverlay(){ var _local1:*; buttonMode = true; useHandCursor = true; addEventListener("mouseOver", showOverlay); addEventListener("rollOut", hideOverlay); addEventListener("click", onClickSlot); _local1 = new GlassPane(); _local1.x = 0; _local1.y = 0; _local1.width = this.backdrop.width; _local1.height = this.backdrop.height; addChild(_local1); } } }//package
Section 129
//ThingCardOverlay (ThingCardOverlay) package { import flash.display.*; import flash.text.*; public dynamic class ThingCardOverlay extends MovieClip { public var tfCommand:TextField; } }//package
Section 130
//Tile (Tile) package { import flash.display.*; import flash.text.*; public dynamic class Tile extends MovieClip { public var revealed:Boolean;// = false private var colors; public var tfCount:TextField; public var cap:TileCap; public function Tile(){ revealed = false; colors = ["#dd0000", "#cc0000", "#bb0000", "#bbbb00", "#00bb00", "#00cc00", "#00dd00"]; super(); tfCount.alpha = 0.8; } public function clearCount(){ tfCount.htmlText = ""; } public function setCount(_arg1:int, _arg2:String){ var _local3:*; if (_arg2 == "mixed"){ _local3 = "#bbbb00"; }; if (_arg2 == "bad"){ _local3 = "#cc0000"; }; if (_arg2 == "good"){ _local3 = "#00cc00"; }; tfCount.htmlText = (((("<FONT COLOR='" + _local3) + "'>") + Math.abs(_arg1)) + "</FONT>"); } } }//package
Section 131
//TileBoard (TileBoard) package { import flash.events.*; import flash.display.*; import flash.geom.*; public dynamic class TileBoard extends MovieClip { public var tilewidth:int; public var thingArray:Array; public var thingLayer:MovieClip; public var tileLayer:MovieClip; public var hovercardCountdown:int;// = 0 public var hovercard:ThingCard; public var tileArray:Array; public var tileheight:int; public var across:int; public var down:int; public var backLayer:MovieClip; public var clickLayer:MovieClip; public var capsLayer:MovieClip; public function TileBoard(_arg1:int, _arg2:int, _arg3:int, _arg4:int){ var _local5:*; var _local6:int; var _local7:*; var _local8:*; hovercardCountdown = 0; super(); tileArray = new Array(); thingArray = new Array(); capsLayer = new MovieClip(); thingLayer = new MovieClip(); tileLayer = new MovieClip(); backLayer = new MovieClip(); clickLayer = new MovieClip(); this.addChild(backLayer); this.addChild(tileLayer); this.addChild(thingLayer); this.addChild(capsLayer); this.addChild(clickLayer); _local5 = new GlassPane(); _local5.x = 0; _local5.y = 0; _local5.height = (_arg4 * _arg2); _local5.width = (_arg3 * _arg1); clickLayer.addChild(_local5); backLayer.cacheAsBitmap = true; tileLayer.cacheAsBitmap = true; capsLayer.cacheAsBitmap = true; across = _arg1; down = _arg2; tilewidth = _arg3; tileheight = _arg4; _local6 = 0; while (_local6 < (across * down)) { _local7 = new Tile(); _local7.x = (0 + (tilewidth * (_local6 % across))); _local7.y = (0 + (tileheight * Math.floor((_local6 / down)))); _local7.clearCount(); tileArray.push(_local7); _local7.cap = new TileCap(); _local8 = ((_local6 % 2) + 1); if ((Math.floor((_local6 / down)) % 2) == 0){ _local8 = (3 - _local8); }; _local7.cap.graphic.gotoAndStop(_local8); _local7.cap.x = _local7.x; _local7.cap.y = _local7.y; this.tileLayer.addChild(_local7); this.capsLayer.addChild(_local7.cap); _local6++; }; clickLayer.buttonMode = true; clickLayer.useHandCursor = true; hovercard = new ThingCard(); hovercard.alpha = 0.8; hovercard.visible = false; clickLayer.addEventListener("rollOver", startHoverBoard); clickLayer.addEventListener("rollOut", stopHoverBoard); clickLayer.addChild(hovercard); } public function moveThingTo(_arg1:Object, _arg2:int, _arg3:int, _arg4:Boolean=true){ var _local5:*; var _local6:*; var _local7:Point; for (_local5 in thingArray) { _local6 = thingArray[_local5]; if ((_local6.th == _arg1)){ _local6.x = _arg2; _local6.y = _arg3; if (_local6.x > (across - 1)){ _local6.x = (across - 1); }; if (_local6.y > (down - 1)){ _local6.y = (down - 1); }; if (_local6.x < 0){ _local6.x = 0; }; if (_local6.y < 0){ _local6.y = 0; }; if (_arg4){ _local7 = centerOf(_arg2, _arg3); _local6.th.x = _local7.x; _local6.th.y = _local7.y; }; break; }; }; } public function centerOf(_arg1:int, _arg2:int):Point{ var _local3:Point; _local3 = new Point(((0 + (tilewidth * _arg1)) + (tilewidth / 2)), (0 + ((tileheight * _arg2) + (tileheight / 2)))); return (_local3); } public function hoverBoard(_arg1:Event){ var _local2:Point; var _local3:Thing; var _local4:Tile; _local2 = getIndexOfPixel(mouseX, mouseY); _local3 = getThingAt(_local2.x, _local2.y); _local4 = getTileAt(_local2.x, _local2.y); if (((!((_local3 == null))) && ((_local4.revealed == true)))){ if (_local3 != hovercard.myitem){ hovercard.setThing(_local3); hovercardCountdown = 0; }; } else { hovercard.visible = false; hovercardCountdown = 0; }; hovercard.x = (mouseX + 8); hovercard.y = (mouseY + 8); hovercardCountdown++; if (hovercardCountdown > 15){ hovercard.visible = true; }; } public function startHoverBoard(_arg1:MouseEvent){ clickLayer.addEventListener("enterFrame", hoverBoard); } public function getIndexPointOfTile(_arg1:Tile):Point{ var _local2:int; var _local3:int; _local2 = (_arg1.x - (_arg1.x % tilewidth)); _local3 = (_arg1.y - (_arg1.y % tileheight)); return (new Point((_local2 / tilewidth), (_local3 / tileheight))); } public function distanceBetween(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{ return (Math.sqrt((Math.pow((_arg3 - _arg1), 2) + Math.pow((_arg4 - _arg2), 2)))); } public function getTileAtPixel(_arg1:int, _arg2:int):Tile{ var _local3:int; var _local4:int; _local3 = (_arg1 - (_arg1 % tilewidth)); _local4 = (_arg2 - (_arg2 % tileheight)); return (getTileAt((_local3 / tilewidth), (_local4 / tileheight))); } public function getTileAt(_arg1:int, _arg2:int):Tile{ if ((((((((_arg1 >= across)) || ((_arg1 < 0)))) || ((_arg2 >= down)))) || ((_arg2 < 0)))){ return (null); }; return (tileArray[((0 + (_arg2 * across)) + _arg1)]); } public function getIndexOfPixel(_arg1:int, _arg2:int):Point{ var _local3:int; var _local4:int; _local3 = (_arg1 - (_arg1 % tilewidth)); _local4 = (_arg2 - (_arg2 % tileheight)); return (new Point((_local3 / tilewidth), (_local4 / tileheight))); } public function getThingAt(_arg1:int, _arg2:int){ var _local3:*; var _local4:*; for (_local3 in thingArray) { _local4 = thingArray[_local3]; if ((((_local4.x == _arg1)) && ((_local4.y == _arg2)))){ return (_local4.th); }; }; return (null); } public function stopHoverBoard(_arg1:MouseEvent){ clickLayer.removeEventListener("enterFrame", hoverBoard); hovercard.visible = false; hovercardCountdown = 0; } public function getIndexOfThing(_arg1:Thing):Point{ var _local2:*; var _local3:*; for (_local2 in thingArray) { _local3 = thingArray[_local2]; if (_local3.th == _arg1){ return (new Point(_local3.x, _local3.y)); }; }; return (null); } public function areAdjacent(_arg1:Thing, _arg2:Thing):Boolean{ var _local3:Point; var _local4:Point; _local3 = getIndexOfThing(_arg1); _local4 = getIndexOfThing(_arg2); return ((distanceBetween(_local3.x, _local3.y, _local4.x, _local4.y) < 1.5)); } public function tilesBetween(_arg1:Thing, _arg2:Thing):Number{ var _local3:Point; var _local4:Point; _local3 = getIndexOfThing(_arg1); _local4 = getIndexOfThing(_arg2); return (distanceBetween(_local3.x, _local3.y, _local4.x, _local4.y)); } public function removeThing(_arg1:Thing){ var _local2:*; var _local3:*; for (_local2 in thingArray) { _local3 = thingArray[_local2]; if (_local3.th == _arg1){ thingArray.splice(_local2, 1); thingLayer.removeChild(_arg1); break; }; }; } public function addThingAtIndex(_arg1:Object, _arg2:int){ var _local3:*; var _local4:*; _local3 = (_arg2 % across); _local4 = (_arg2 / down); addThingAt(_arg1, _local3, _local4); } public function moveThingBy(_arg1:Object, _arg2:int, _arg3:int, _arg4:Boolean=true){ var _local5:*; var _local6:*; var _local7:Point; for (_local5 in thingArray) { _local6 = thingArray[_local5]; if ((_local6.th == _arg1)){ _local6.x = (_local6.x + _arg2); _local6.y = (_local6.y + _arg3); if (_local6.x > (across - 1)){ _local6.x = (across - 1); }; if (_local6.y > (down - 1)){ _local6.y = (down - 1); }; if (_local6.x < 0){ _local6.x = 0; }; if (_local6.y < 0){ _local6.y = 0; }; if (_arg4){ _local7 = centerOf(_local6.x, _local6.y); _local6.th.x = _local7.x; _local6.th.y = _local7.y; }; break; }; }; } public function clearLineOfFire(_arg1:Thing, _arg2:Thing):Boolean{ var _local3:Point; var _local4:Point; var _local5:Point; var _local6:Point; var _local7:Boolean; var _local8:*; var _local9:*; var _local10:*; var _local11:*; _local3 = getIndexOfThing(_arg1); _local4 = getIndexOfThing(_arg2); _local5 = centerOf(_local3.x, _local3.y); _local6 = centerOf(_local4.x, _local4.y); trace(((((((("LOF check: " + _local5.x) + ",") + _local5.y) + " to ") + _local6.x) + ",") + _local6.y)); _local7 = true; _local8 = 0; while (_local8 < (across * 2)) { _local9 = new Point((_local5.x + ((_local6.x - _local5.x) * ((_local8 / across) * 2))), (_local5.y + ((_local6.y - _local5.y) * ((_local8 / across) * 2)))); _local10 = getIndexOfPixel(_local9.x, _local9.y); _local11 = getThingAt(_local10.x, _local10.y); trace(((("Interim: " + _local9.x) + ",") + _local9.y)); if (_local11 == null){ } else { if (_local11 == _arg1){ } else { if (_local11 == _arg2){ break; }; if ((((_local11 is Wall)) || ((_local11 is Enemy)))){ _local7 = false; break; }; }; }; _local8++; }; return (_local7); } public function addThingAt(_arg1:Object, _arg2:int, _arg3:int){ var _local4:Object; var _local5:Point; if ((((((((_arg2 >= across)) || ((_arg3 >= down)))) || ((_arg2 < 0)))) || ((_arg3 < 0)))){ return; }; _local4 = {th:_arg1, x:_arg2, y:_arg3}; _local5 = centerOf(_arg2, _arg3); _arg1.x = _local5.x; _arg1.y = _local5.y; if ((_arg1 is DisplayObject)){ this.thingLayer.addChild(DisplayObject(_arg1)); }; thingArray.unshift(_local4); } } }//package
Section 132
//TileCap (TileCap) package { import flash.display.*; public dynamic class TileCap extends MovieClip { public var graphic:MovieClip; public function TileCap(){ addFrameScript(15, frame16); stop(); } function frame16(){ anim_done(); } public function fade(){ play(); } public function anim_done(){ stop(); visible = false; } } }//package
Section 133
//TitleScreen (TitleScreen) package { import flash.events.*; import flash.display.*; import flash.net.*; import flash.utils.*; public dynamic class TitleScreen extends MovieClip { public var doKinsmanGames:SimpleButton; public var doStartOval:MovieClip; public var doStart:WhiteLabelButton; public var tst:MovieClip; public function TitleScreen(){ addFrameScript(96, frame97, 97, frame98); doStart.visible = false; doStartOval.visible = false; doKinsmanGames.visible = false; doKinsmanGames.addEventListener("click", onKinsman); } function frame98(){ stop(); } function frame97(){ anim_showStart(); stop(); } public function anim_showStart(){ doStart.visible = true; doStartOval.visible = true; doKinsmanGames.visible = true; doStart.addEventListener("click", onStart); doStart.tfLabel.text = "Start"; } public function onStart(_arg1:Event){ setTimeout(Main.singleton.newGame, 1000); new SoundStartGame().play(0, 1, Main.singleton.soundVolume); play(); } public function onKinsman(_arg1:Event){ navigateToURL(new URLRequest("http://www.kinsmangames.com")); } } }//package
Section 134
//Treasure (Treasure) package { import flash.display.*; import flash.text.*; public dynamic class Treasure extends Thing { public var storable:Boolean;// = true public var amount:int;// = 1 public var usable:Boolean;// = false public function Treasure(){ storable = true; usable = false; amount = 1; super(); name = "Treasure"; } public function onGet(){ } public function onUse(_arg1:TileBoard, _arg2:Player){ } public function onEquip(_arg1:TileBoard, _arg2:Player){ } public function onUnequip(_arg1:TileBoard, _arg2:Player){ } public function discard(){ var _local1:*; _local1 = 0; while (_local1 < Main.singleton.player.inventory.length) { if (Main.singleton.player.inventory[_local1] == this){ Main.singleton.player.inventory.splice(_local1, 1); break; }; _local1++; }; trace(("toola: " + Main.singleton.player.toola)); trace(("this: " + this)); if (Main.singleton.player.toola == this){ Main.singleton.player.toola = Main.singleton.player.nothing; }; if (Main.singleton.player.toolb == this){ Main.singleton.player.toolb = Main.singleton.player.nothing; }; if (Main.singleton.player.meleeslot == this){ Main.singleton.player.meleeslot.onUnequip(Main.singleton.tb, Main.singleton.player); Main.singleton.player.meleeslot = Main.singleton.player.barehands; }; if (Main.singleton.player.missileslot == this){ Main.singleton.player.missileslot.onUnequip(Main.singleton.tb, Main.singleton.player); Main.singleton.player.missileslot = Main.singleton.player.nothing; }; } } }//package
Section 135
//Wall (Wall) package { public dynamic class Wall extends Thing { public function Wall(){ glyph.visible = true; glyph.gotoAndStop("wall"); tfName.htmlText = ""; name = "Wall"; extratext = "A wall is a barrier; and when chased, a harrier."; } } }//package
Section 136
//Weapon (Weapon) package { public class Weapon extends Treasure { public var ammotype:String;// = "arrows" public var dicetype:int;// = 6 public var shotcolor:uint;// = 0 public var dicenumber:int;// = 1 public var strengthadd:Boolean;// = true public var ismissile:Boolean;// = false public function Weapon(){ dicenumber = 1; dicetype = 6; ismissile = false; ammotype = "arrows"; shotcolor = 0; strengthadd = true; super(); glyph.visible = false; glyph.gotoAndStop(1); tfName.htmlText = "<FONT COLOR='#999999'>/</FONT>"; } public function afterMiss(){ } public function afterHit(){ } public function ammoDeduct(){ var _local1 = Main.singleton.player; var _local2 = ammotype; var _local3 = (_local1[_local2] - 1); _local1[_local2] = _local3; } override public function stat():String{ var _local1:*; _local1 = ((("DAM " + dicenumber) + "d") + dicetype); if (strengthadd == true){ _local1 = (_local1 + ((("(" + ((Main.singleton.player.str)>=0) ? "+" : "") + Main.singleton.player.str) + ")")); }; if (ismissile){ _local1 = (_local1 + (" Ammo " + getShotsLeft())); }; return (_local1); } public function getMissByRange(_arg1:int):int{ if (_arg1 <= 4){ return ((_arg1 * 3)); }; return ((12 + ((_arg1 - 4) * 6))); } public function maybePoor():Boolean{ if (Math.random() < 0.15){ dicetype--; name = ("Poor " + name); return (true); }; return (false); } public function getShotsLeft(){ return (Main.singleton.player[ammotype]); } public function maybeNice():Boolean{ if (Math.random() < 0.1){ dicetype++; name = ("Nice " + name); return (true); }; return (false); } public function getDamage(){ var _local1:int; var _local2:*; _local1 = 0; _local2 = 0; while (_local2 < dicenumber) { _local1 = (_local1 + (Math.floor((Math.random() * dicetype)) + 1)); _local2++; }; return (_local1); } } }//package
Section 137
//VendingMachine (VendingMachine) package { import flash.display.*; import itemary.*; import flash.text.*; public dynamic class VendingMachine extends Landmark { public var price:int; public var thingforsale:Thing; public function VendingMachine(){ glyph.visible = true; glyph.gotoAndStop("vendingmachine"); tfName.htmlText = ""; name = "Vending Machine"; setThingForSale(); } public function nofunc(){ Main.singleton.endDialog(false); } public function yesfunc(){ if (Main.singleton.player.goldcount >= price){ Main.singleton.player.goldcount = (Main.singleton.player.goldcount - price); Main.singleton.queue.addQueue({type:"msg", text:(("<B>Sweeper</B> buys <FONT COLOR='#00aa00'><B>" + thingforsale.name) + "</B></FONT>.")}); if (thingforsale.storable == true){ Main.singleton.player.inventory.push(thingforsale); } else { thingforsale.onGet(); }; setThingForSale(); } else { Main.singleton.queue.addQueue({type:"msg", text:(("<B>Sweeper</B> can't afford to buy <FONT COLOR='#00aa00'><B>" + thingforsale.name) + "</B></FONT>!")}); }; Main.singleton.endDialog(true); } override public function interact(){ var _local1:String; var _local2:*; _local1 = (((("Would you like to buy " + thingforsale.name) + " for ") + price) + " Gold?"); _local2 = new YesNoDialog(this, this.name, _local1, yesfunc, nofunc); Main.singleton.summonDialog(_local2); } public function setThingForSale(){ var _local1:*; _local1 = [Arrows, Bolts, HealingPotion, StrengthPotion, ShortSword, LightArmor]; price = (50 + Math.floor((Math.random() * 100))); thingforsale = new (_local1[Math.floor((Math.random() * _local1.length))]); } override public function describe():String{ return ((((("Today's Sale: " + thingforsale.name) + " for only ") + price) + " Gold!")); } } }//package
Section 138
//WhiteLabelButton (WhiteLabelButton) package { public dynamic class WhiteLabelButton extends LabelButton { } }//package
Section 139
//YesNoDialog (YesNoDialog) package { import flash.events.*; import flash.display.*; import flash.text.*; public dynamic class YesNoDialog extends MovieClip { public var tfTitle:TextField; public var doLeft:LabelButton; public var tfBody:TextField; public var clone:Thing; public var doRight:LabelButton; public var titletext:String; public var nocall:Function; public var yescall:Function; public var bodytext:String; public function YesNoDialog(_arg1:Thing, _arg2:String, _arg3:String, _arg4:Function, _arg5:Function){ doLeft.tfLabel.text = "Yes"; doRight.tfLabel.text = "No"; this.x = 55; this.y = 128; tfTitle.text = _arg2; tfBody.text = _arg3; clone.glyph.visible = _arg1.glyph.visible; clone.glyph.gotoAndStop(_arg1.glyph.currentLabel); clone.tfName.htmlText = _arg1.tfName.htmlText; clone.transform.colorTransform = _arg1.glyph.transform.colorTransform; doLeft.addEventListener("click", onClickLeft); doRight.addEventListener("click", onClickRight); this.yescall = _arg4; this.nocall = _arg5; } public function onClickLeft(_arg1:Event){ yescall(); } public function onClickRight(_arg1:Event){ nocall(); } } }//package
Section 140
//YouLose (YouLose) package { import flash.events.*; import flash.display.*; import flash.text.*; public dynamic class YouLose extends MovieClip { public var tfYouLose:TextField; public var backdrop:MovieClip; public var frame:int; public var doMenu:WhiteLabelButton; public var tfStats:TextField; public var mode; public var loseface:MovieClip; public function YouLose(){ doMenu.tfLabel.text = "Replay"; tfStats.visible = false; tfYouLose.visible = false; loseface.visible = false; doMenu.visible = false; tfStats.text = ((((((((((((((("Died on Level " + Main.singleton.gamelevel) + "\n\n") + "Monsters Defeated: ") + Main.singleton.monstersdefeated) + "\n") + "Treasures Got: ") + Main.singleton.treasuresgot) + "\n") + "Gold: ") + Main.singleton.player.goldcount) + "\n") + "Turns Taken: ") + Main.singleton.turnstaken) + "\n\n") + "Tyrants Defeated: 0"); Main.konSubmit("MonstersDefeated", Main.singleton.monstersdefeated); Main.konSubmit("GoldGot", Main.singleton.player.goldcount); Main.konSubmit("TurnsTaken", Main.singleton.turnstaken); Main.konSubmit("TreasuresGot", Main.singleton.treasuresgot); Main.konSubmit("GoldOverAllGames", Main.singleton.player.goldcount); Main.konSubmit("ReachedLevel", Main.singleton.gamelevel); backdrop.alpha = 0; addEventListener("enterFrame", animateAll); doMenu.addEventListener("click", onClickMenu); frame = 0; mode = 0; } public function animateAll(_arg1:Event){ frame++; if (backdrop.alpha < 1){ backdrop.alpha = (backdrop.alpha + 0.1); if (backdrop.alpha >= 1){ frame = 0; mode = 1; }; } else { if (mode == 1){ if (frame > 20){ frame = 0; mode = 2; }; } else { if (mode == 2){ tfYouLose.visible = true; tfYouLose.alpha = (0.1 * frame); if (tfYouLose.alpha >= 1){ frame = 0; mode = 3; }; } else { if (mode == 3){ loseface.visible = true; if (frame > 20){ frame = 0; mode = 4; }; } else { if (mode == 4){ tfStats.visible = true; doMenu.visible = true; }; }; }; }; }; } public function onClickMenu(_arg1:Event){ removeEventListener("enterFrame", animateAll); Main.singleton.endDialog(false); Main.singleton.newGame(); } } }//package
Section 141
//YouWin (YouWin) package { import flash.events.*; import flash.display.*; import flash.text.*; public dynamic class YouWin extends MovieClip { public var tfYouLose:TextField; public var backdrop:MovieClip; public var frame:int; public var doMenu:WhiteLabelButton; public var tfStats:TextField; public var mode; public var loseface:MovieClip; public function YouWin(){ doMenu.tfLabel.text = "Menu"; tfStats.visible = false; tfYouLose.visible = false; loseface.visible = false; doMenu.visible = false; tfStats.text = (((((((((((("Monsters Defeated: " + Main.singleton.monstersdefeated) + "\n") + "Treasures Got: ") + Main.singleton.treasuresgot) + "\n") + "Gold: ") + Main.singleton.player.goldcount) + "\n") + "Turns Taken: ") + Main.singleton.turnstaken) + "\n\n") + "Tyrants Defeated: 1"); Main.konSubmit("MonstersDefeated", Main.singleton.monstersdefeated); Main.konSubmit("GoldGot", Main.singleton.player.goldcount); Main.konSubmit("TurnsTaken", Main.singleton.turnstaken); Main.konSubmit("TreasuresGot", Main.singleton.treasuresgot); Main.konSubmit("GoldOverAllGames", Main.singleton.player.goldcount); Main.konSubmit("ReachedLevel", Main.singleton.gamelevel); Main.konSubmit("TyrantDefeated", 1); Main.konSubmit("MonstersDefeatedMin", Main.singleton.monstersdefeated); Main.konSubmit("GoldGotMin", Main.singleton.player.goldcount); Main.konSubmit("TurnsTakenMin", Main.singleton.turnstaken); Main.konSubmit("TreasuresGotMin", Main.singleton.treasuresgot); backdrop.alpha = 0; addEventListener("enterFrame", animateAll); doMenu.addEventListener("click", onClickMenu); frame = 0; mode = 0; } public function animateAll(_arg1:Event){ frame++; if (backdrop.alpha < 1){ backdrop.alpha = (backdrop.alpha + 0.1); if (backdrop.alpha >= 1){ frame = 0; mode = 1; }; } else { if (mode == 1){ if (frame > 20){ frame = 0; mode = 2; }; } else { if (mode == 2){ tfYouLose.visible = true; tfYouLose.alpha = (0.1 * frame); if (tfYouLose.alpha >= 1){ frame = 0; mode = 3; }; } else { if (mode == 3){ loseface.visible = true; if (frame > 20){ frame = 0; mode = 4; }; } else { if (mode == 4){ tfStats.visible = true; doMenu.visible = true; }; }; }; }; }; } public function onClickMenu(_arg1:Event){ removeEventListener("enterFrame", animateAll); Main.singleton.endDialog(false); Main.singleton.attractMode(); } } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip {Smiley}Uses:1
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClip {PopAnimation}Uses:3
Symbol 5 GraphicUsed by:7
Symbol 6 GraphicUsed by:7
Symbol 7 MovieClipUses:5 6Used by:38
Symbol 8 FontUsed by:9 74 131
Symbol 9 EditableTextUses:8Used by:38
Symbol 10 FontUsed by:11 34 132 133
Symbol 11 EditableTextUses:10Used by:38
Symbol 12 FontUsed by:13 42 46 73 81 82 83 84 85 87 88 104 109 110 111 113 115 116 117 118 119 124 125 126 129 130 137 138 139 140 143 144 145 205
Symbol 13 EditableTextUses:12 35 112Used by:33
Symbol 14 GraphicUsed by:32 146
Symbol 15 GraphicUsed by:32 78
Symbol 16 GraphicUsed by:32
Symbol 17 GraphicUsed by:32
Symbol 18 GraphicUsed by:32
Symbol 19 GraphicUsed by:32
Symbol 20 GraphicUsed by:32
Symbol 21 GraphicUsed by:32
Symbol 22 GraphicUsed by:32
Symbol 23 GraphicUsed by:32
Symbol 24 GraphicUsed by:32
Symbol 25 GraphicUsed by:32
Symbol 26 GraphicUsed by:32
Symbol 27 GraphicUsed by:32
Symbol 28 GraphicUsed by:32
Symbol 29 GraphicUsed by:32
Symbol 30 GraphicUsed by:32
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClipUses:14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31Used by:33
Symbol 33 MovieClip {Thing}Uses:13 32Used by:38 75
Symbol 34 EditableTextUses:10Used by:38
Symbol 35 FontUsed by:13 36 110 111 114 119 123 125 126 128 136 142 144 205
Symbol 36 EditableTextUses:35Used by:37
Symbol 37 MovieClip {ThingCardOverlay}Uses:36Used by:38
Symbol 38 MovieClip {ThingCard}Uses:7 9 11 33 34 37Used by:39 49 89
Symbol 39 MovieClip {Preloader}Uses:38
Symbol 40 BitmapUsed by:41
Symbol 41 GraphicUses:40Used by:49
Symbol 42 EditableTextUses:12Used by:45
Symbol 43 GraphicUsed by:44
Symbol 44 MovieClip {GlassPane}Uses:43Used by:45 86 105 146
Symbol 45 MovieClip {LabelButton}Uses:42 44Used by:49 75 147 222
Symbol 46 EditableTextUses:12Used by:49
Symbol 47 GraphicUsed by:48
Symbol 48 MovieClipUses:47Used by:49
Symbol 49 MovieClip {SwapperDialog}Uses:41 38 45 46 48Used by:222
Symbol 50 GraphicUsed by:70
Symbol 51 Sound {FanfareGameWon}Used by:70
Symbol 52 Sound {FanfareLevelLost}Used by:70
Symbol 53 Sound {FanfareLevelWon}Used by:70
Symbol 54 Sound {ThemeOP}Used by:70
Symbol 55 Sound {ThemeCrypt}Used by:70
Symbol 56 Sound {ThemeOne}Used by:70
Symbol 57 Sound {ThemeTwo}Used by:70
Symbol 58 Sound {ThemeTyrant}Used by:70
Symbol 59 Sound {SoundBadFind}Used by:70
Symbol 60 Sound {SoundBonusXP}Used by:70
Symbol 61 Sound {SoundBump}Used by:70
Symbol 62 Sound {SoundDie}Used by:70
Symbol 63 Sound {SoundGet}Used by:70
Symbol 64 Sound {SoundGoodFind}Used by:70
Symbol 65 Sound {SoundNoGo}Used by:70
Symbol 66 Sound {SoundShoot}Used by:70
Symbol 67 Sound {SoundStartGame}Used by:70
Symbol 68 Sound {SoundTick}Used by:70
Symbol 69 Sound {SoundTile}Used by:70
Symbol 70 MovieClipUses:50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69Used by:222
Symbol 71 BitmapUsed by:72
Symbol 72 GraphicUses:71Used by:75 147
Symbol 73 EditableTextUses:12Used by:75
Symbol 74 EditableTextUses:8Used by:75
Symbol 75 MovieClip {YesNoDialog}Uses:72 45 73 33 74Used by:222
Symbol 76 BitmapUsed by:77
Symbol 77 GraphicUses:76Used by:89
Symbol 78 MovieClipUses:15Used by:89 99 108 177 182 190 200
Symbol 79 GraphicUsed by:80
Symbol 80 MovieClip {MessageZone}Uses:79Used by:89 222
Symbol 81 TextUses:12Used by:89
Symbol 82 TextUses:12Used by:89
Symbol 83 TextUses:12Used by:89
Symbol 84 TextUses:12Used by:89
Symbol 85 EditableTextUses:12Used by:86
Symbol 86 MovieClip {LongLabelButton}Uses:85 44Used by:89 222
Symbol 87 EditableTextUses:12Used by:89
Symbol 88 EditableTextUses:12Used by:89
Symbol 89 MovieClip {PlayBoard}Uses:77 78 80 81 38 82 83 84 86 87 88Used by:222
Symbol 90 GraphicUsed by:99
Symbol 91 GraphicUsed by:99
Symbol 92 GraphicUsed by:99
Symbol 93 GraphicUsed by:99
Symbol 94 GraphicUsed by:99
Symbol 95 GraphicUsed by:99
Symbol 96 GraphicUsed by:99
Symbol 97 GraphicUsed by:99
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClipUses:78 90 91 92 93 94 95 96 97 98Used by:108 222
Symbol 100 FontUsed by:101 102 103 107
Symbol 101 EditableTextUses:100Used by:108
Symbol 102 EditableTextUses:100Used by:108
Symbol 103 EditableTextUses:100Used by:108
Symbol 104 EditableTextUses:12Used by:105
Symbol 105 MovieClip {WhiteLabelButton}Uses:104 44Used by:108 177 182 190 200 222
Symbol 106 FontUsed by:107
Symbol 107 EditableTextUses:100 106 156 161Used by:108
Symbol 108 MovieClip {IntroMachine}Uses:78 99 101 102 103 105 107Used by:222
Symbol 109 TextUses:12Used by:146
Symbol 110 TextUses:12 35Used by:146
Symbol 111 TextUses:12 35Used by:146
Symbol 112 FontUsed by:13 113 205
Symbol 113 TextUses:12 112Used by:146
Symbol 114 TextUses:35Used by:146
Symbol 115 TextUses:12Used by:146
Symbol 116 TextUses:12Used by:146
Symbol 117 TextUses:12Used by:146
Symbol 118 TextUses:12Used by:146
Symbol 119 TextUses:12 35Used by:146
Symbol 120 FontUsed by:121 209
Symbol 121 TextUses:120Used by:146
Symbol 122 GraphicUsed by:146
Symbol 123 TextUses:35Used by:146
Symbol 124 TextUses:12Used by:146
Symbol 125 TextUses:12 35Used by:146
Symbol 126 TextUses:12 35Used by:146
Symbol 127 GraphicUsed by:146
Symbol 128 TextUses:35Used by:146
Symbol 129 TextUses:12Used by:146
Symbol 130 TextUses:12Used by:146
Symbol 131 TextUses:8Used by:146
Symbol 132 TextUses:10Used by:146
Symbol 133 TextUses:10Used by:146
Symbol 134 GraphicUsed by:135
Symbol 135 MovieClipUses:134Used by:146
Symbol 136 TextUses:35Used by:146
Symbol 137 TextUses:12Used by:146
Symbol 138 TextUses:12Used by:146
Symbol 139 TextUses:12Used by:146
Symbol 140 TextUses:12Used by:146
Symbol 141 GraphicUsed by:146
Symbol 142 TextUses:35Used by:146
Symbol 143 TextUses:12Used by:146
Symbol 144 TextUses:12 35Used by:146
Symbol 145 TextUses:12Used by:146
Symbol 146 MovieClipUses:44 109 14 110 111 113 114 115 116 117 118 119 121 122 123 124 125 126 127 128 129 130 131 132 133 135 136 137 138 139 140 141 142 143 144 145Used by:147
Symbol 147 MovieClip {HelpDialog}Uses:72 45 146Used by:222
Symbol 148 BitmapUsed by:149
Symbol 149 GraphicUses:148Used by:150
Symbol 150 MovieClip {MessageMask}Uses:149Used by:222
Symbol 151 Bitmap {HellBitmap}Used by:152 165 222
Symbol 152 GraphicUses:151Used by:155
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClipUses:153Used by:155 177
Symbol 155 MovieClipUses:152 154Used by:177
Symbol 156 FontUsed by:107 157 180 181 188 189 193 194 195 199
Symbol 157 TextUses:156Used by:158
Symbol 158 MovieClipUses:157Used by:177
Symbol 159 GraphicUsed by:160
Symbol 160 MovieClipUses:159Used by:177
Symbol 161 FontUsed by:107 162 196
Symbol 162 TextUses:161Used by:164
Symbol 163 GraphicUsed by:164
Symbol 164 ButtonUses:162 163Used by:177
Symbol 165 GraphicUses:151Used by:177
Symbol 166 GraphicUsed by:176
Symbol 167 BitmapUsed by:168
Symbol 168 GraphicUses:167Used by:169
Symbol 169 MovieClipUses:168Used by:176
Symbol 170 GraphicUsed by:171
Symbol 171 MovieClipUses:170Used by:176
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses:172Used by:176
Symbol 174 GraphicUsed by:175
Symbol 175 MovieClipUses:174Used by:176
Symbol 176 MovieClipUses:166 169 171 173 175Used by:177
Symbol 177 MovieClip {TitleScreen}Uses:78 155 158 160 105 164 165 154 176Used by:222
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClipUses:178Used by:182
Symbol 180 EditableTextUses:156Used by:182
Symbol 181 EditableTextUses:156Used by:182
Symbol 182 MovieClip {YouLose}Uses:78 179 180 181 105Used by:222
Symbol 183 GraphicUsed by:184
Symbol 184 MovieClipUses:183Used by:187
Symbol 185 GraphicUsed by:186
Symbol 186 MovieClipUses:185Used by:187
Symbol 187 MovieClip {PitSweeper_fla.YouWinGraphic_38}Uses:184 186Used by:190
Symbol 188 EditableTextUses:156Used by:190
Symbol 189 EditableTextUses:156Used by:190
Symbol 190 MovieClip {YouWin}Uses:78 187 188 189 105Used by:222
Symbol 191 GraphicUsed by:192
Symbol 192 MovieClipUses:191Used by:200
Symbol 193 EditableTextUses:156Used by:200
Symbol 194 EditableTextUses:156Used by:200
Symbol 195 EditableTextUses:156Used by:200
Symbol 196 EditableTextUses:161Used by:200
Symbol 197 GraphicUsed by:198
Symbol 198 MovieClipUses:197Used by:200
Symbol 199 EditableTextUses:156Used by:200
Symbol 200 MovieClip {LevelSummary}Uses:78 192 193 194 195 196 105 198 199Used by:222
Symbol 201 Bitmap {CaveBitmap}Used by:222
Symbol 202 Bitmap {CryptBitmap}Used by:222
Symbol 203 Bitmap {DirtBitmap}Used by:222
Symbol 204 Bitmap {StoneBitmap}Used by:222
Symbol 205 EditableTextUses:12 35 112Used by:206
Symbol 206 MovieClip {LittleText}Uses:205Used by:222
Symbol 207 GraphicUsed by:210
Symbol 208 FontUsed by:209
Symbol 209 EditableTextUses:120 208Used by:210
Symbol 210 MovieClip {Tile}Uses:207 209Used by:222
Symbol 211 BitmapUsed by:212
Symbol 212 GraphicUses:211Used by:215
Symbol 213 BitmapUsed by:214
Symbol 214 GraphicUses:213Used by:215
Symbol 215 MovieClipUses:212 214Used by:216
Symbol 216 MovieClip {TileCap}Uses:215Used by:222
Symbol 217 GraphicUsed by:218
Symbol 218 MovieClipUses:217Used by:221
Symbol 219 GraphicUsed by:220
Symbol 220 MovieClipUses:219Used by:221
Symbol 221 MovieClip {BoomAnimation}Uses:218 220Used by:222
Symbol 222 MovieClip {PitSweeper_fla.AssetHolder_1}Uses:70 75 89 108 99 49 147 150 80 177 182 190 105 200 201 202 203 151 204 45 206 86 210 216 221Used by:Timeline

Instance Names

"tfName"Symbol 33 MovieClip {Thing} Frame 1Symbol 13 EditableText
"glyph"Symbol 33 MovieClip {Thing} Frame 1Symbol 32 MovieClip
"tfCommand"Symbol 37 MovieClip {ThingCardOverlay} Frame 1Symbol 36 EditableText
"backdrop"Symbol 38 MovieClip {ThingCard} Frame 1Symbol 7 MovieClip
"tfTitle"Symbol 38 MovieClip {ThingCard} Frame 1Symbol 9 EditableText
"tfText"Symbol 38 MovieClip {ThingCard} Frame 1Symbol 11 EditableText
"clone"Symbol 38 MovieClip {ThingCard} Frame 1Symbol 33 MovieClip {Thing}
"tfStat"Symbol 38 MovieClip {ThingCard} Frame 1Symbol 34 EditableText
"overlay"Symbol 38 MovieClip {ThingCard} Frame 1Symbol 37 MovieClip {ThingCardOverlay}
"thingCard"Symbol 39 MovieClip {Preloader} Frame 1Symbol 38 MovieClip {ThingCard}
"tfLabel"Symbol 45 MovieClip {LabelButton} Frame 1Symbol 42 EditableText
"thingcard0"Symbol 49 MovieClip {SwapperDialog} Frame 1Symbol 38 MovieClip {ThingCard}
"thingcard1"Symbol 49 MovieClip {SwapperDialog} Frame 1Symbol 38 MovieClip {ThingCard}
"thingcard2"Symbol 49 MovieClip {SwapperDialog} Frame 1Symbol 38 MovieClip {ThingCard}
"thingcard3"Symbol 49 MovieClip {SwapperDialog} Frame 1Symbol 38 MovieClip {ThingCard}
"doCancel"Symbol 49 MovieClip {SwapperDialog} Frame 1Symbol 45 MovieClip {LabelButton}
"doPrev"Symbol 49 MovieClip {SwapperDialog} Frame 1Symbol 45 MovieClip {LabelButton}
"doNext"Symbol 49 MovieClip {SwapperDialog} Frame 1Symbol 45 MovieClip {LabelButton}
"tfReport"Symbol 49 MovieClip {SwapperDialog} Frame 1Symbol 46 EditableText
"pointer"Symbol 49 MovieClip {SwapperDialog} Frame 1Symbol 48 MovieClip
"doRight"Symbol 75 MovieClip {YesNoDialog} Frame 1Symbol 45 MovieClip {LabelButton}
"doLeft"Symbol 75 MovieClip {YesNoDialog} Frame 1Symbol 45 MovieClip {LabelButton}
"tfBody"Symbol 75 MovieClip {YesNoDialog} Frame 1Symbol 73 EditableText
"clone"Symbol 75 MovieClip {YesNoDialog} Frame 1Symbol 33 MovieClip {Thing}
"tfTitle"Symbol 75 MovieClip {YesNoDialog} Frame 1Symbol 74 EditableText
"tfLabel"Symbol 86 MovieClip {LongLabelButton} Frame 1Symbol 85 EditableText
"targetwindow"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 78 MovieClip
"messagezone"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 80 MovieClip {MessageZone}
"playercard"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 38 MovieClip {ThingCard}
"toolbslot"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 38 MovieClip {ThingCard}
"toolaslot"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 38 MovieClip {ThingCard}
"missileslot"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 38 MovieClip {ThingCard}
"meleeslot"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 38 MovieClip {ThingCard}
"doDim"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 86 MovieClip {LongLabelButton}
"tfTurn"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 87 EditableText
"tfCurrentLevel"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 88 EditableText
"doMute"Symbol 89 MovieClip {PlayBoard} Frame 1Symbol 86 MovieClip {LongLabelButton}
"tfLabel"Symbol 105 MovieClip {WhiteLabelButton} Frame 1Symbol 104 EditableText
"targetwindow"Symbol 108 MovieClip {IntroMachine} Frame 1Symbol 78 MovieClip
"pix"Symbol 108 MovieClip {IntroMachine} Frame 1Symbol 99 MovieClip
"tfTitle"Symbol 108 MovieClip {IntroMachine} Frame 1Symbol 101 EditableText
"tfLevel"Symbol 108 MovieClip {IntroMachine} Frame 1Symbol 102 EditableText
"tfStory"Symbol 108 MovieClip {IntroMachine} Frame 1Symbol 103 EditableText
"doStart"Symbol 108 MovieClip {IntroMachine} Frame 1Symbol 105 MovieClip {WhiteLabelButton}
"tfProgress"Symbol 108 MovieClip {IntroMachine} Frame 1Symbol 107 EditableText
"doRight"Symbol 147 MovieClip {HelpDialog} Frame 1Symbol 45 MovieClip {LabelButton}
"doLeft"Symbol 147 MovieClip {HelpDialog} Frame 1Symbol 45 MovieClip {LabelButton}
"doMiddle"Symbol 147 MovieClip {HelpDialog} Frame 1Symbol 45 MovieClip {LabelButton}
"materials"Symbol 147 MovieClip {HelpDialog} Frame 1Symbol 146 MovieClip
"tst"Symbol 177 MovieClip {TitleScreen} Frame 1Symbol 158 MovieClip
"doStartOval"Symbol 177 MovieClip {TitleScreen} Frame 1Symbol 160 MovieClip
"doStart"Symbol 177 MovieClip {TitleScreen} Frame 1Symbol 105 MovieClip {WhiteLabelButton}
"doKinsmanGames"Symbol 177 MovieClip {TitleScreen} Frame 1Symbol 164 Button
"doStart"Symbol 177 MovieClip {TitleScreen} Frame 97Symbol 105 MovieClip {WhiteLabelButton}
"backdrop"Symbol 182 MovieClip {YouLose} Frame 1Symbol 78 MovieClip
"loseface"Symbol 182 MovieClip {YouLose} Frame 1Symbol 179 MovieClip
"tfStats"Symbol 182 MovieClip {YouLose} Frame 1Symbol 180 EditableText
"tfYouLose"Symbol 182 MovieClip {YouLose} Frame 1Symbol 181 EditableText
"doMenu"Symbol 182 MovieClip {YouLose} Frame 1Symbol 105 MovieClip {WhiteLabelButton}
"youwinstar"Symbol 187 MovieClip {PitSweeper_fla.YouWinGraphic_38} Frame 1Symbol 184 MovieClip
"backdrop"Symbol 190 MovieClip {YouWin} Frame 1Symbol 78 MovieClip
"loseface"Symbol 190 MovieClip {YouWin} Frame 1Symbol 187 MovieClip {PitSweeper_fla.YouWinGraphic_38}
"tfStats"Symbol 190 MovieClip {YouWin} Frame 1Symbol 188 EditableText
"tfYouLose"Symbol 190 MovieClip {YouWin} Frame 1Symbol 189 EditableText
"doMenu"Symbol 190 MovieClip {YouWin} Frame 1Symbol 105 MovieClip {WhiteLabelButton}
"backdrop"Symbol 200 MovieClip {LevelSummary} Frame 1Symbol 78 MovieClip
"greyboard3"Symbol 200 MovieClip {LevelSummary} Frame 1Symbol 192 MovieClip
"greyboard2"Symbol 200 MovieClip {LevelSummary} Frame 1Symbol 192 MovieClip
"tfUnrevealedMonsters"Symbol 200 MovieClip {LevelSummary} Frame 1Symbol 193 EditableText
"tfUnrevealedTreasures"Symbol 200 MovieClip {LevelSummary} Frame 1Symbol 194 EditableText
"tfLevelX"Symbol 200 MovieClip {LevelSummary} Frame 1Symbol 195 EditableText
"tfBonus"Symbol 200 MovieClip {LevelSummary} Frame 1Symbol 196 EditableText
"doNext"Symbol 200 MovieClip {LevelSummary} Frame 1Symbol 105 MovieClip {WhiteLabelButton}
"greyboard"Symbol 200 MovieClip {LevelSummary} Frame 1Symbol 198 MovieClip
"tfSubTitle"Symbol 200 MovieClip {LevelSummary} Frame 1Symbol 199 EditableText
"tfText"Symbol 206 MovieClip {LittleText} Frame 1Symbol 205 EditableText
"tfCount"Symbol 210 MovieClip {Tile} Frame 1Symbol 209 EditableText
"graphic"Symbol 216 MovieClip {TileCap} Frame 1Symbol 215 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.

Labels

"longform"Symbol 7 MovieClip Frame 1
"shortform"Symbol 7 MovieClip Frame 2
"player"Symbol 32 MovieClip Frame 1
"wall"Symbol 32 MovieClip Frame 2
"potion"Symbol 32 MovieClip Frame 3
"device"Symbol 32 MovieClip Frame 4
"ring"Symbol 32 MovieClip Frame 5
"stick"Symbol 32 MovieClip Frame 6
"sword"Symbol 32 MovieClip Frame 7
"partisan"Symbol 32 MovieClip Frame 8
"bow"Symbol 32 MovieClip Frame 9
"crossbow"Symbol 32 MovieClip Frame 10
"axe"Symbol 32 MovieClip Frame 11
"keg"Symbol 32 MovieClip Frame 12
"wand"Symbol 32 MovieClip Frame 13
"armor"Symbol 32 MovieClip Frame 14
"arrow"Symbol 32 MovieClip Frame 15
"vendingmachine"Symbol 32 MovieClip Frame 16
"altar"Symbol 32 MovieClip Frame 17
"exit"Symbol 32 MovieClip Frame 18




http://swfchan.com/16/76403/info.shtml
Created: 5/4 -2019 00:29:28 Last modified: 5/4 -2019 00:29:28 Server time: 05/11 -2024 06:49:36