[Tools][Expand/Collapse All]Note that automatic extraction of ActionScript 3 is still pretty much unsupported by swfchan. AS1/AS2 works okay most of the time.Section 1 (4.92 KiB) ●
//Color (fl.motion.Color)
package fl.motion {
import flash.geom.*;
import flash.display.*;
public class Color extends ColorTransform {
private var _tintMultiplier:Number;// = 0
private var _tintColor:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
_tintColor = 0;
_tintMultiplier = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function setTint(_arg1:uint, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
private function deriveTintColor():uint{
var _local1:Number;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
_local1 = (1 / this.tintMultiplier);
_local2 = Math.round((this.redOffset * _local1));
_local3 = Math.round((this.greenOffset * _local1));
_local4 = Math.round((this.blueOffset * _local1));
_local5 = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set brightness(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
_local2 = (1 - Math.abs(_arg1));
_local3 = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
private function parseXML(_arg1:XML=null):Color{
var _local2:XML;
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
_local2 = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:uint;
var _local17:uint;
_local4 = (1 - _arg3);
_local5 = ((_arg1 >> 24) & 0xFF);
_local6 = ((_arg1 >> 16) & 0xFF);
_local7 = ((_arg1 >> 8) & 0xFF);
_local8 = (_arg1 & 0xFF);
_local9 = ((_arg2 >> 24) & 0xFF);
_local10 = ((_arg2 >> 16) & 0xFF);
_local11 = ((_arg2 >> 8) & 0xFF);
_local12 = (_arg2 & 0xFF);
_local13 = ((_local5 * _local4) + (_local9 * _arg3));
_local14 = ((_local6 * _local4) + (_local10 * _arg3));
_local15 = ((_local7 * _local4) + (_local11 * _arg3));
_local16 = ((_local8 * _local4) + (_local12 * _arg3));
_local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number;
var _local5:ColorTransform;
_local4 = (1 - _arg3);
_local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
}
}//package fl.motion
Section 2 (278 B)
//bluePeddie_52 (Knife_fla.bluePeddie_52)
package Knife_fla {
import flash.display.*;
public dynamic class bluePeddie_52 extends MovieClip {
public function bluePeddie_52(){
addFrameScript(23, frame24);
}
function frame24(){
stop();
}
}
}//package Knife_fla
Section 3 (262 B)
//copdie_63 (Knife_fla.copdie_63)
package Knife_fla {
import flash.display.*;
public dynamic class copdie_63 extends MovieClip {
public function copdie_63(){
addFrameScript(23, frame24);
}
function frame24(){
stop();
}
}
}//package Knife_fla
Section 4 (340 B)
//DeathbyVampireclip_29 (Knife_fla.DeathbyVampireclip_29)
package Knife_fla {
import flash.display.*;
public dynamic class DeathbyVampireclip_29 extends MovieClip {
public function DeathbyVampireclip_29(){
addFrameScript(273, frame274);
}
function frame274(){
stop();
MovieClip(root).play();
}
}
}//package Knife_fla
Section 5 (278 B)
//GoldPeddie_57 (Knife_fla.GoldPeddie_57)
package Knife_fla {
import flash.display.*;
public dynamic class GoldPeddie_57 extends MovieClip {
public function GoldPeddie_57(){
addFrameScript(23, frame24);
}
function frame24(){
stop();
}
}
}//package Knife_fla
Section 6 (293 B)
//Ground_Cave_77 (Knife_fla.Ground_Cave_77)
package Knife_fla {
import flash.display.*;
public dynamic class Ground_Cave_77 extends MovieClip {
public function Ground_Cave_77(){
addFrameScript(0, frame1);
}
function frame1(){
this.visible = false;
}
}
}//package Knife_fla
Section 7 (297 B)
//Ground_Woods_78 (Knife_fla.Ground_Woods_78)
package Knife_fla {
import flash.display.*;
public dynamic class Ground_Woods_78 extends MovieClip {
public function Ground_Woods_78(){
addFrameScript(0, frame1);
}
function frame1(){
this.visible = false;
}
}
}//package Knife_fla
Section 8 (214 B)
//Lives_110 (Knife_fla.Lives_110)
package Knife_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Lives_110 extends MovieClip {
public var livesText:TextField;
}
}//package Knife_fla
Section 9 (1.74 KiB) ●
//NG_AD_OBJECT_10 (Knife_fla.NG_AD_OBJECT_10)
package Knife_fla {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class NG_AD_OBJECT_10 extends MovieClip {
public var ng_ad:MovieClip;
public var NG_Button:SimpleButton;
public function NG_AD_OBJECT_10(){
addFrameScript(0, frame1);
}
public function loadNGSite(_arg1:Event){
NewgroundsAPI.loadNewgrounds();
}
public function startAd(_arg1){
var _local2:URLLoader;
_local2 = new URLLoader(new URLRequest(_arg1));
_local2.addEventListener(Event.COMPLETE, ad_Loaded);
}
function frame1(){
Security.allowDomain("70.87.128.99");
Security.allowInsecureDomain("70.87.128.99");
Security.allowDomain("ads.shizmoo.com");
Security.allowInsecureDomain("ads.shizmoo.com");
Security.allowDomain("www.cpmstar.com");
Security.allowInsecureDomain("www.cpmstar.com");
Security.allowDomain("server.cpmstar.com");
Security.allowInsecureDomain("server.cpmstar.com");
if (NewgroundsAPI.getAdURL()){
startAd(NewgroundsAPI.getAdURL());
};
NewgroundsAPI.addEventListener(NewgroundsAPI.ADS_APPROVED, startAd);
NG_Button.addEventListener(MouseEvent.CLICK, loadNGSite);
stop();
}
public function ad_Loaded(_arg1:Event){
var _local2:*;
var _local3:Loader;
_local2 = String(_arg1.target.data);
_local3 = new Loader();
_local3.load(new URLRequest(_local2));
ng_ad.addChild(_local3);
}
}
}//package Knife_fla
Section 10 (453 B)
//NG_TANK_12 (Knife_fla.NG_TANK_12)
package Knife_fla {
import flash.events.*;
import flash.display.*;
public dynamic class NG_TANK_12 extends MovieClip {
public var NG_Logo:SimpleButton;
public function NG_TANK_12(){
addFrameScript(0, frame1);
}
public function loadNGSite(_arg1:Event){
NewgroundsAPI.loadNewgrounds();
}
function frame1(){
NG_Logo.addEventListener(MouseEvent.CLICK, loadNGSite);
}
}
}//package Knife_fla
Section 11 (392 B)
//Player_Die_107 (Knife_fla.Player_Die_107)
package Knife_fla {
import flash.display.*;
public dynamic class Player_Die_107 extends MovieClip {
public function Player_Die_107(){
addFrameScript(69, frame70, 210, frame211);
}
function frame70(){
MovieClip(root).gotoAndStop((MovieClip(root).currentFrame + 2));
}
function frame211(){
stop();
}
}
}//package Knife_fla
Section 12 (274 B)
//RedPeddie_47 (Knife_fla.RedPeddie_47)
package Knife_fla {
import flash.display.*;
public dynamic class RedPeddie_47 extends MovieClip {
public function RedPeddie_47(){
addFrameScript(23, frame24);
}
function frame24(){
stop();
}
}
}//package Knife_fla
Section 13 (3.4 KiB) ●
//Timeline_1 (Knife_fla.Timeline_1)
package Knife_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class Timeline_1 extends MovieClip {
public const FRAME_RATE_ADJUST:Boolean = true;
public const LOADER_FRAME_RATE:Number = 30;
public const AUTO_PLAY:Boolean = false;
public var bar:MovieClip;
public var ngButton:SimpleButton;
public var playButton:SimpleButton;
public var movieFrameRate:Number;
public var loadingComplete:Boolean;
public var initialized:Boolean;
public function Timeline_1(){
addFrameScript(0, frame1, 50, frame51);
}
public function init():void{
if (initialized){
return;
};
movieFrameRate = 0;
if (((FRAME_RATE_ADJUST) && (stage))){
movieFrameRate = stage.frameRate;
stage.frameRate = LOADER_FRAME_RATE;
};
initialized = true;
stop();
if (((root) && ((root is MovieClip)))){
MovieClip(root).stop();
};
loadingComplete = false;
ngButton.addEventListener(MouseEvent.CLICK, ngButtonClickHandler, false, 0, true);
addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true);
if (meetsVersion([9, 0, 28, 0])){
addEventListener(Event.REMOVED_FROM_STAGE, cleanup, false, 0, true);
};
enterFrameHandler();
}
public function enterFrameHandler(_arg1:Event=null):void{
var _local2:Number;
if (((((!(movieFrameRate)) && (FRAME_RATE_ADJUST))) && (stage))){
movieFrameRate = stage.frameRate;
stage.frameRate = LOADER_FRAME_RATE;
};
if (!loadingComplete){
_local2 = 0;
if (loaderInfo){
_local2 = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal);
};
if (bar){
bar.scaleX = _local2;
};
if (_local2 == 1){
loadingComplete = true;
if (AUTO_PLAY){
startMovie();
} else {
gotoAndPlay("loaded");
};
};
};
}
public function meetsVersion(_arg1:Array):Boolean{
var _local2:Array;
var _local3:uint;
_local2 = String(Capabilities.version.split(" ")[1]).split(",");
_local3 = 0;
while (_local3 < _arg1.length) {
if (uint(_local2[_local3]) > _arg1[_local3]){
return (true);
};
if (uint(_local2[_local3]) < _arg1[_local3]){
return (false);
};
_local3++;
};
return (true);
}
public function playButtonClickHandler(_arg1:Event=null):void{
startMovie();
}
function frame1(){
initialized = false;
init();
}
public function ngButtonClickHandler(_arg1:Event):void{
navigateToURL(new URLRequest("http://www.newgrounds.com"), "_blank");
}
public function cleanup(_arg1:Event=null){
if (initialized){
ngButton.removeEventListener(MouseEvent.CLICK, ngButtonClickHandler);
removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
if (meetsVersion([9, 0, 28, 0])){
removeEventListener(Event.REMOVED_FROM_STAGE, cleanup);
};
if (movieFrameRate){
stage.frameRate = movieFrameRate;
movieFrameRate = 0;
};
};
initialized = false;
}
function frame51(){
stop();
if (((playButton) && (!(playButton.hasEventListener(MouseEvent.CLICK))))){
playButton.addEventListener(MouseEvent.CLICK, playButtonClickHandler, false, 0, true);
};
}
public function startMovie():void{
cleanup();
if (((root) && ((root is MovieClip)))){
MovieClip(root).play();
};
dispatchEvent(new Event(Event.COMPLETE));
}
}
}//package Knife_fla
Section 14 (266 B)
//Timeline_7 (Knife_fla.Timeline_7)
package Knife_fla {
import flash.display.*;
public dynamic class Timeline_7 extends MovieClip {
public function Timeline_7(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package Knife_fla
Section 15 (322 B)
//Transition_IN_Notgame_28 (Knife_fla.Transition_IN_Notgame_28)
package Knife_fla {
import flash.display.*;
public dynamic class Transition_IN_Notgame_28 extends MovieClip {
public function Transition_IN_Notgame_28(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package Knife_fla
Section 16 (389 B)
//Transition_OUT_Notgame_27 (Knife_fla.Transition_OUT_Notgame_27)
package Knife_fla {
import flash.display.*;
public dynamic class Transition_OUT_Notgame_27 extends MovieClip {
public function Transition_OUT_Notgame_27(){
addFrameScript(0, frame1, 44, frame45);
}
function frame1(){
stop();
}
function frame45(){
MovieClip(root).play();
}
}
}//package Knife_fla
Section 17 (347 B)
//BloodFull (BloodFull)
package {
import flash.display.*;
public dynamic class BloodFull extends MovieClip {
public function BloodFull(){
addFrameScript(0, frame1, 69, frame70);
}
function frame70(){
if (parent != null){
parent.removeChild(this);
};
}
function frame1(){
x = (550 / 2);
y = 200;
}
}
}//package
Section 18 (242 B)
//BloodMeter (BloodMeter)
package {
import flash.display.*;
import flash.text.*;
public dynamic class BloodMeter extends MovieClip {
public var blood:MovieClip;
public var lives:MovieClip;
public var time:TextField;
}
}//package
Section 19 (3.96 KiB) ●
//Cop (Cop)
package {
import flash.events.*;
import flash.display.*;
public class Cop extends MovieClip {
private const TownStart:Number = 650;
private var Root:Object;
private var LastFrame:int;
private var SpeedMod:int;
private var speed:Number;// = 0.5
private var IsAttacking:Boolean;
private var AttackCtnd:int;
private var IdleCount:int;
private var Health:int;
private var Score:int;
public var copanim:MovieClip;
private var CurrentFrame:int;
public function Cop(_arg1:Object):void{
var _local2:int;
speed = 0.5;
super();
AttackCtnd = 0;
IsAttacking = false;
Root = _arg1;
Health = 1;
_local2 = 0;
while (_local2 == 0) {
_local2 = Math.round(((Math.random() * 2) - 1));
};
speed = (1 * _local2);
scaleX = (scaleX * _local2);
Score = 10;
SpeedMod = 1;
x = ((Math.random() * 2900) + TownStart);
y = 320;
this.addEventListener(Event.ENTER_FRAME, OnEnterFrameFunc, false, 0, true);
LastFrame = 2;
}
public function PickSound():void{
var _local1:Number;
_local1 = Math.ceil((Math.random() * 3));
Root.SOUNDS.stop();
switch (_local1){
case 1:
Root.SOUNDS = new SOUND_stab1().play();
break;
case 2:
Root.SOUNDS = new SOUND_stab2().play();
break;
case 3:
Root.SOUNDS = new SOUND_stab3().play();
break;
default:
trace(("I IN PICKSOUND FUNCTION FOR CIVILIAN IS NOT 1,2, or 3: " + _local1));
};
}
private function Attack():void{
if ((((AttackCtnd > 10)) && (!(Root.player.IsInvincible())))){
Root.player.HurtFunc(x);
Root.SubtractLife();
if (Root.player.IsDead()){
LastFrame = 5;
};
};
}
private function Flip():void{
speed = (speed * -1);
scaleX = (scaleX * -1);
}
private function Remove():void{
this.removeEventListener(Event.ENTER_FRAME, OnEnterFrameFunc);
speed = 0;
if (this.parent != null){
this.parent.removeChild(this);
};
}
public function OnEnterFrameFunc(_arg1:Event){
LastFrame = currentFrame;
if (!Root.GetRiot()){
if (IdleCount > 0){
IdleCount--;
} else {
if ((Math.random() * 100) < 1){
LastFrame = 5;
SpeedMod = 0;
IdleCount = (25 + Math.round((Math.random() * 150)));
} else {
LastFrame = 1;
SpeedMod = 1;
};
};
x = (x + ((speed * SpeedMod) - Root.GetMove()));
} else {
if (!IsAttacking){
x = (x + (speed - Root.GetMove()));
} else {
x = (x + -(Root.GetMove()));
};
};
if (Health > 0){
if (((!(Root.GetRiot())) || (Root.player.IsDead()))){
if ((((x < -(Root.GetTownX()))) || ((x > ((3100 + TownStart) - Root.GetTownX()))))){
Flip();
};
if ((Math.random() * 100) < (5 / currentFrame)){
Flip();
};
} else {
if (!IsAttacking){
if (x < (Root.GetPlayerX() - 50)){
speed = 4;
scaleX = 1;
LastFrame = 2;
} else {
if (x > (Root.GetPlayerX() + 50)){
speed = -4;
scaleX = -1;
LastFrame = 2;
} else {
IsAttacking = true;
AttackCtnd = 15;
gotoAndStop(3);
LastFrame = 3;
if (hitTestObject(Root.player)){
Attack();
};
};
};
} else {
if (AttackCtnd > 0){
AttackCtnd--;
} else {
IsAttacking = false;
};
};
};
if (((this.hitTestObject(Root.player)) && (!(Root.player.IsDead())))){
if (((Root.player.IsAttacking()) && (Root.player.IsFacing(this)))){
Health--;
speed = 0;
Root.ToRiot();
Root.UpdateMeter(10);
LastFrame = 4;
PickSound();
};
};
} else {
if (Health > -24){
Health--;
} else {
if (alpha > 0){
alpha = (alpha - 0.1);
} else {
Remove();
};
};
};
CurrentFrame = currentFrame;
if (LastFrame != CurrentFrame){
gotoAndStop(LastFrame);
};
if (Root.GetCurrentLevel() != "TOWN"){
Remove();
};
}
}
}//package
Section 20 (5.13 KiB) ● ●
//document (document)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.net.*;
public dynamic class document extends MovieClip {
public var BACKTOMENU:SimpleButton;
public var Right:Boolean;
public var BGMUSIC:SoundChannel;
public var BUTTON_controls:SimpleButton;
public var Left:Boolean;
public var A:Boolean;
public var S:Boolean;
public var BUTTON_startgame:SimpleButton;
public var BUTTON_playmoregames:SimpleButton;
public var BUTTON_officialsite:SimpleButton;
public var CONTINUE:SimpleButton;
public var BUTTON_credits:SimpleButton;
public var transitionOUT:MovieClip;
public var Up:Boolean;
public var BUTTON_back:SimpleButton;
public var BUTTON_next:SimpleButton;
public var BACK:SimpleButton;
public var RESTART:SimpleButton;
public var FirstTimePlaying:Boolean;
private var game:Game;
public function document():void{
addFrameScript(0, frame1, 1, frame2, 174, frame175, 175, frame176, 176, frame177, 177, frame178, 178, frame179, 211, frame212, 214, frame215, 215, frame216, 216, frame217);
FirstTimePlaying = true;
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener);
this.stage.addEventListener(KeyboardEvent.KEY_UP, keyUpListener);
BGMUSIC = new SoundChannel();
stage.focus = this;
}
public function DestroyGame():void{
if (game != null){
game.StopAllSounds();
game.KILLLEVEL();
removeChild(game);
game = null;
BGMUSIC = new MUSIC_menu().play(0, 999);
};
}
function frame2(){
BGMUSIC = new MUSIC_menu().play(0, 999);
}
public function CreateGame():void{
BGMUSIC.stop();
game = new Game(this);
addChild(game);
}
function frame176(){
stop();
BUTTON_next.addEventListener(MouseEvent.CLICK, playTimeline, false, 0, true);
BUTTON_back.addEventListener(MouseEvent.CLICK, backTimeLine, false, 0, true);
}
function frame177(){
stop();
BUTTON_next.addEventListener(MouseEvent.CLICK, playTimeline, false, 0, true);
BUTTON_back.addEventListener(MouseEvent.CLICK, backTimeLine, false, 0, true);
}
function frame178(){
stop();
BUTTON_back.addEventListener(MouseEvent.CLICK, backToMenu, false, 0, true);
}
public function backToMenu(_arg1:MouseEvent):void{
gotoAndStop(175);
}
public function Play():void{
nextFrame();
gotoAndStop(216);
}
function frame217(){
stop();
DestroyGame();
FirstTimePlaying = false;
BACKTOMENU.addEventListener(MouseEvent.CLICK, backToMenu, false, 0, true);
RESTART.addEventListener(MouseEvent.CLICK, restartGame, false, 0, true);
}
private function keyDownListener(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case 37:
Left = true;
break;
case 38:
Up = true;
break;
case 39:
Right = true;
break;
case 65:
A = true;
break;
case 83:
S = true;
break;
};
}
public function backTimeLine(_arg1:MouseEvent):void{
prevFrame();
}
function frame175(){
BUTTON_startgame.addEventListener(MouseEvent.CLICK, playGame, false, 0, true);
BUTTON_controls.addEventListener(MouseEvent.CLICK, playTimeline, false, 0, true);
BUTTON_credits.addEventListener(MouseEvent.CLICK, gotoCredits, false, 0, true);
BUTTON_officialsite.addEventListener(MouseEvent.CLICK, callLink);
BUTTON_playmoregames.addEventListener(MouseEvent.CLICK, callLink2);
stop();
}
function frame1(){
NewgroundsAPI.linkAPI(this);
NewgroundsAPI.connectMovie(3807);
}
function frame216(){
stop();
DestroyGame();
}
function frame212(){
stop();
CONTINUE.addEventListener(MouseEvent.CLICK, playTrans, false, 0, true);
BACK.addEventListener(MouseEvent.CLICK, backToMenu, false, 0, true);
}
public function callLink(_arg1:MouseEvent):void{
var url:String;
var request:URLRequest;
var e = _arg1;
url = "http://www.millzflickz.com/";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
trace("Error occurred!");
};
}
public function playTimeline(_arg1:MouseEvent):void{
play();
}
function frame215(){
stop();
CreateGame();
}
public function restartGame(_arg1:MouseEvent):void{
gotoAndStop(215);
}
public function playGame(_arg1:MouseEvent):void{
gotoAndPlay(180);
}
public function gotoCredits(_arg1:MouseEvent):void{
gotoAndPlay(179);
}
public function callLink2(_arg1:MouseEvent):void{
var url:String;
var request:URLRequest;
var e = _arg1;
url = "http://www.newgrounds.com/collection/halloween2008";
request = new URLRequest(url);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
trace("Error occurred!");
};
}
function frame179(){
BUTTON_back.addEventListener(MouseEvent.CLICK, backToMenu, false, 0, true);
stop();
}
private function keyUpListener(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case 37:
Left = false;
break;
case 38:
Up = false;
break;
case 39:
Right = false;
break;
case 65:
A = false;
break;
case 83:
S = false;
break;
};
}
public function playTrans(_arg1:MouseEvent):void{
transitionOUT.play();
}
}
}//package
Section 21 (11.8 KiB) ● ●
//Game (Game)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.utils.*;
public class Game extends MovieClip {
private const BloodNeeded:Number = 300;
private const TownLength:Number = 3300;
private const RightLimit:Number = 280;
private const TownCenter:Number = 1650;
private const LeftLimit:Number = 270;
public var MUSIC:SoundChannel;
private var ToggleSound:Boolean;
private var MaxLives:int;
private var INTRANSITION:Boolean;
private var TimeTimer:Timer;
private var HasAlreadyShowedFirst:Boolean;
private var HowlTimer:int;
private var Riot:Boolean;
private var End:GBP;
private var CurrentMove:Number;// = 0
public var player:Player;
private var SoundBTN:ToggleSoundButton;
public var Root:Object;
private var SecondsLeft:Number;// = 180
public var HasAlreadyShownFourth:Boolean;
public var SOUNDS:SoundChannel;
private var CopArray:Array;
private var Meter:BloodMeter;
private var CopNum:int;
private var level:Level;
private var LivesLeft:int;
private var HasAlreadyShowedSecond:Boolean;
private var transOUT:Transition_OUT;
private var CurrentLevel:String;
private var HasAlreadyShownBloodFull:Boolean;
private var PedestrianArray:Array;
public var BGSOUNDS:SoundChannel;
private var WoodsLength:Number;// = 1500
private var transIN:Transition_IN;
private var WoodsX:Number;// = 0
private var Blood:Number;// = 0
private var TownX:Number;// = 0
private var WolfTimer:Timer;
private var HasAlreadyShownThird:Boolean;
public function Game(_arg1):void{
CurrentMove = 0;
WoodsX = 0;
WoodsLength = 1500;
TownX = 0;
Blood = 0;
SecondsLeft = (60 * 3);
super();
LivesLeft = 3;
MaxLives = LivesLeft;
WolfTimer = new Timer(2500, 0);
WolfTimer.addEventListener(TimerEvent.TIMER, WolfTimerFunc, false, 0, true);
TimeTimer = new Timer(1000, 0);
TimeTimer.addEventListener(TimerEvent.TIMER, TickTimer, false, 0, true);
TimeTimer.start();
CurrentLevel = "CAVE";
x = (y = 0);
Root = _arg1;
level = new Level();
level.stop();
player = new Player(this);
addChild(level);
addChild(player);
Meter = new BloodMeter();
Meter.x = 0;
Meter.y = 0;
UpdateMeter(0);
addChild(Meter);
Meter.time.text = (SecondsLeft + "");
PedestrianArray = new Array(0);
CopArray = new Array(0);
INTRANSITION = false;
transOUT = new Transition_OUT();
transOUT.x = (transOUT.x + (550 / 2));
transOUT.y = (transOUT.y + (400 / 2));
transOUT.gotoAndPlay(44);
addChild(transOUT);
transIN = new Transition_IN();
transIN.x = (550 / 2);
transIN.y = (400 / 2);
addChild(transIN);
transIN.gotoAndPlay(2);
ResetLiveBars();
Meter.time.text = "3: 00";
HasAlreadyShowedFirst = false;
HasAlreadyShowedSecond = false;
HasAlreadyShownThird = false;
HasAlreadyShownFourth = false;
HasAlreadyShownBloodFull = false;
SoundBTN = new ToggleSoundButton();
SoundBTN.x = 20;
SoundBTN.y = 380;
addChild(SoundBTN);
SoundBTN.addEventListener(MouseEvent.CLICK, ToggleSounds);
MUSIC = new SoundChannel();
SOUNDS = new SoundChannel();
BGSOUNDS = new SoundChannel();
MUSIC = new MUSIC_game().play(0, 999);
ToggleSound = false;
ToggleSounds(null);
CopNum = 1;
ChangeLevelToCave();
this.addEventListener(Event.ENTER_FRAME, GameEnterFrameFunction, false, 0, true);
}
private function ResetLiveBars():void{
LivesLeft = MaxLives;
Meter.lives.livesText.text = LivesLeft;
}
public function UpdateMeter(_arg1:Number):void{
var _local2:Number;
if (Blood < BloodNeeded){
Blood = (Blood + _arg1);
_local2 = ((Blood / BloodNeeded) * 130);
Meter.blood.y = (-(_local2) + 155.3);
} else {
if (!HasAlreadyShowedSecond){
if (Root.FirstTimePlaying){
addChild(new POPUP_BloodIsFull());
};
} else {
if (!HasAlreadyShownBloodFull){
addChild(new BloodFull());
HasAlreadyShownBloodFull = true;
};
};
HasAlreadyShowedSecond = true;
};
}
private function GameEnterFrameFunction(_arg1:Event):void{
if (((!(player.IsDead())) && (!(InTrasntion())))){
if (Root.Left){
player.SetMove(true);
} else {
if (Root.Right){
player.SetMove(false);
} else {
player.NoMove();
};
};
if (Root.Up){
player.Jump();
};
if (Root.S){
player.Attack();
};
if (Root.A){
player.DrainBlood();
};
};
switch (CurrentLevel){
case "CAVE":
if (player.x > 550){
ChangeLevelToWoods(false);
};
if (IsMeterFull()){
if (!HasAlreadyShownFourth){
if (Root.FirstTimePlaying){
addChild(new POPUP_DrainBlood());
};
};
HasAlreadyShownFourth = true;
};
break;
case "WOODS":
HowlTimer++;
if (HowlTimer > 300){
BGSOUNDS = new SOUND_Howl().play();
HowlTimer = 0;
};
if (WoodsX < 1){
if (player.x < 0){
ChangeLevelToCave();
};
if (player.x > RightLimit){
WoodsX = (WoodsX + 7);
};
CurrentMove = 0;
} else {
if (WoodsX > WoodsLength){
if (player.x > 550){
ChangeLevelToTown();
};
if (player.x < LeftLimit){
WoodsX = (WoodsX - 7);
};
CurrentMove = 0;
} else {
if (player.x > RightLimit){
player.x = RightLimit;
WoodsX = (WoodsX + 7);
CurrentMove = 7;
} else {
if (player.x < LeftLimit){
player.x = LeftLimit;
WoodsX = (WoodsX - 7);
CurrentMove = -7;
} else {
CurrentMove = 0;
};
};
};
};
level.cave.x = (-(WoodsX) / 30);
level.field.x = -(WoodsX);
break;
case "TOWN":
if (TownX < 1){
if (player.x < 0){
ChangeLevelToWoods(true);
};
if (player.x > RightLimit){
TownX = (TownX + 7);
};
CurrentMove = 0;
} else {
if (TownX > TownLength){
if (player.x > 450){
player.x = 450;
};
if (player.x < LeftLimit){
TownX = (TownX - 7);
};
CurrentMove = 0;
} else {
if (player.x > RightLimit){
player.x = RightLimit;
TownX = (TownX + 7);
CurrentMove = 7;
} else {
if (player.x < LeftLimit){
player.x = LeftLimit;
TownX = (TownX - 7);
CurrentMove = -7;
} else {
CurrentMove = 0;
};
};
};
};
level.town.x = -(TownX);
level.cave.x = (-(TownX) / 30);
break;
default:
trace(("ERROR: CurrentLevel WRONG VALUE: " + CurrentLevel));
break;
};
}
public function GetMove():Number{
return (CurrentMove);
}
private function Howl(_arg1:TimerEvent):void{
BGSOUNDS = new SOUND_Howl().play();
}
public function StopAllSounds():void{
MUSIC.stop();
SOUNDS.stop();
BGSOUNDS.stop();
}
public function SubtractLife():void{
if (!player.IsDead()){
LivesLeft--;
if (LivesLeft > -1){
Meter.lives.livesText.text = LivesLeft;
} else {
player.Kill();
};
};
}
private function ChangeLevelToTown():void{
BGSOUNDS.stop();
INTRANSITION = true;
if (transOUT.currentFrame < 44){
transOUT.play();
} else {
HasAlreadyShownBloodFull = false;
BGSOUNDS.stop();
if (!HasAlreadyShownThird){
if (Root.FirstTimePlaying){
addChild(new POPUP_KillCivilians());
};
};
HasAlreadyShownThird = true;
INTRANSITION = false;
transIN.play();
CurrentMove = 0;
TownX = 0;
level.gotoAndStop(3);
player.x = 40.1;
player.y = 306.4;
WolfTimer.stop();
PedestrianArray = new Array(0);
CopArray = new Array(0);
Riot = false;
PopulateTown();
CurrentLevel = "TOWN";
BGSOUNDS = new SOUND_CalmMode().play(0, 999);
};
}
public function GetTownX():Number{
return (TownX);
}
public function GetRiot():Boolean{
return (Riot);
}
private function PopulateTown():void{
var _local1:int;
_local1 = 0;
while (_local1 <= 40) {
PedestrianArray.push(new Pedestrian(this));
addChild(PedestrianArray[_local1]);
_local1++;
};
_local1 = 0;
while (_local1 <= (1 + CopNum)) {
CopArray.push(new Cop(this));
addChild(CopArray[_local1]);
_local1++;
};
}
public function KILLLEVEL():void{
CurrentLevel = "FFFFF";
removeEventListener(Event.ENTER_FRAME, GameEnterFrameFunction);
}
private function AddLife():void{
MaxLives++;
}
public function GetRootFirstTime():Boolean{
return (Root.FirstTimePlaying);
}
private function WolfTimerFunc(_arg1:TimerEvent){
addChild(new Wolf(this));
}
public function GetTownCenter():Number{
return (TownCenter);
}
private function ChangeLevelToCave():void{
BGSOUNDS.stop();
INTRANSITION = true;
if (transOUT.currentFrame < 44){
transOUT.play();
} else {
if (!HasAlreadyShowedFirst){
if (Root.FirstTimePlaying){
addChild(new POPUP_Controls());
HasAlreadyShowedFirst = true;
};
};
HasAlreadyShowedFirst = true;
INTRANSITION = false;
transIN.play();
level.gotoAndStop(1);
player.SetGround(level.ground);
player.x = 491.1;
player.y = 326.4;
WolfTimer.stop();
CurrentLevel = "CAVE";
};
}
private function ChangeLevelToWoods(_arg1:Boolean):void{
BGSOUNDS.stop();
INTRANSITION = true;
if (transOUT.currentFrame < 44){
transOUT.play();
} else {
INTRANSITION = false;
transIN.play();
CurrentMove = 0;
level.gotoAndStop(2);
player.SetGround(level.ground2);
WoodsLength = (level.field.width - 1120);
player.y = 300;
if (!_arg1){
WoodsX = 0;
player.x = 100;
} else {
WoodsX = WoodsLength;
player.x = 500;
};
WolfTimer.start();
CurrentLevel = "WOODS";
};
}
public function GetPlayerX():Number{
return (player.x);
}
private function TickTimer(_arg1:TimerEvent):void{
var _local2:*;
var _local3:*;
SecondsLeft--;
if (SecondsLeft < 1){
Root.Play();
TimeTimer.stop();
} else {
if (SecondsLeft < 20){
SOUNDS = new SOUND_SecondsLeft().play();
};
};
_local2 = (Math.ceil((SecondsLeft / 60)) - 1);
_local3 = (SecondsLeft % 60);
if (_local3 == 0){
Meter.time.text = (_local2 + ": 60");
} else {
if (_local3 < 10){
Meter.time.text = ((_local2 + ": 0") + _local3);
} else {
Meter.time.text = ((_local2 + ": ") + _local3);
};
};
}
public function ToRiot():void{
var _local1:int;
if (!Riot){
BGSOUNDS.stop();
BGSOUNDS = new SOUND_FrenzyModeInit().play(0, 1);
_local1 = 0;
while (_local1 <= 40) {
PedestrianArray[_local1].ToRiot();
_local1++;
};
Riot = true;
};
}
public function InTrasntion():Boolean{
return (INTRANSITION);
}
public function IsMeterFull():Boolean{
if (Blood >= BloodNeeded){
return (true);
};
return (false);
}
public function ToggleSounds(_arg1:MouseEvent):void{
var _local2:SoundTransform;
ToggleSound = !(ToggleSound);
_local2 = new SoundTransform(0);
if (!ToggleSound){
_local2.volume = 0;
MUSIC.soundTransform = _local2;
SOUNDS.soundTransform = _local2;
BGSOUNDS.soundTransform = _local2;
} else {
_local2.volume = 1;
MUSIC.soundTransform = _local2;
SOUNDS.soundTransform = _local2;
BGSOUNDS.soundTransform = _local2;
};
}
public function IsBloodDraining():Boolean{
if (Blood > 0){
Blood--;
UpdateMeter(-1);
return (true);
};
trace(Blood);
PlusLevel();
return (false);
}
public function GetCurrentLevel():String{
return (CurrentLevel);
}
public function PlusLevel():void{
addChild(new TimeExtended());
SecondsLeft = (SecondsLeft + 90);
MaxLives++;
ResetLiveBars();
CopNum++;
SOUNDS = new SOUND_TimeExtend().play();
}
}
}//package
Section 22 (109 B)
//GBP (GBP)
package {
import flash.display.*;
public dynamic class GBP extends MovieClip {
}
}//package
Section 23 (267 B)
//Level (Level)
package {
import flash.display.*;
public dynamic class Level extends MovieClip {
public var field:MovieClip;
public var ground:MovieClip;
public var town:MovieClip;
public var ground2:MovieClip;
public var cave:MovieClip;
}
}//package
Section 24 (121 B)
//LifeBar (LifeBar)
package {
import flash.display.*;
public dynamic class LifeBar extends MovieClip {
}
}//package
Section 25 (124 B)
//MUSIC_game (MUSIC_game)
package {
import flash.media.*;
public dynamic class MUSIC_game extends Sound {
}
}//package
Section 26 (124 B)
//MUSIC_menu (MUSIC_menu)
package {
import flash.media.*;
public dynamic class MUSIC_menu extends Sound {
}
}//package
Section 27 (14.77 KiB) ● ●
//NewgroundsAPI (NewgroundsAPI)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
public class NewgroundsAPI {
public static const ADS_APPROVED:Number = 3;
public static const bridge:Sprite = new Sprite();
private static const STAT_NEW_VERSION:Number = 4;
private static const STAT_AUTHOR_SITE:Number = 2;
private static const GATEWAY_URL:String = "http://www.ngads.com/gateway.php";
private static const NEWGROUNDS_URL:String = "http://www.newgrounds.com";
private static const STAT_CUSTOM_STATS:Number = 50;
private static const STAT_MOVIE_VIEWS:Number = 1;
private static const STAT_NEWGROUNDS:Number = 3;
public static const NEW_VERSION:Number = 2;
public static const DENY_HOST:Number = 1;
private static var tracker_id:Number;
private static var movie_options:Object = new Object();
private static var connected:Boolean;
private static var custom_events:Object = new Object();
private static var host:String;
private static var linked:Boolean;
private static var events:Object = new Object();
private static var debug:Boolean;
private static var version:String;
private static var custom_links:Object = new Object();
public static function getNewVersionURL(){
return (((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + STAT_NEW_VERSION));
}
private static function ReadGatewayData(_arg1:Object){
var _local2:*;
var _local3:String;
var _local4:*;
var _local5:URLLoader;
for (_local2 in _arg1) {
_arg1[_local2] = unescape(_arg1[_local2]);
movie_options[_local2] = _arg1[_local2];
};
if (_arg1["settings_loaded"]){
SendMessage("You have successfully connected to the Newgrounds API gateway!");
SendMessage((("Movie Identified as '" + movie_options["movie_name"]) + "'"));
if (movie_options["message"]){
SendMessage(movie_options["message"]);
};
if (movie_options["ad_url"]){
SendMessage("Your movie has been approved to run Flash Ads");
if (events[ADS_APPROVED]){
var _local6 = events;
_local6[ADS_APPROVED](movie_options["ad_url"]);
} else {
onAdsApproved(movie_options["ad_url"]);
};
};
if (((movie_options["movie_version"]) && (!((String(movie_options["movie_version"]) == String(version)))))){
SendMessage("WARNING: The movie version configured in your API settings does not match this movie's version!");
if (events[NEW_VERSION]){
_local6 = events;
_local6[NEW_VERSION]({version:movie_options["movie_version"], real_url:getMovieURL(), redirect_url:getNewVersionURL()});
} else {
onNewVersionAvailable(movie_options["movie_version"], getMovieURL(), getNewVersionURL());
};
};
if (movie_options["deny_host"]){
SendMessage("You have blocked 'localHost' in your API settings.");
SendMessage("If you wish to test your movie you will need to remove this block.");
if (events[DENY_HOST]){
_local6 = events;
_local6[DENY_HOST]({host:host, real_url:getMovieURL(), redirect_url:getNewVersionURL()});
} else {
onDenyHost(host, getMovieURL(), getNewVersionURL());
};
};
if (movie_options["request_portal_url"]){
_local3 = bridge.root.loaderInfo.url;
_local4 = ((((GATEWAY_URL + "?&id=") + tracker_id) + "&portal_url=") + escape(_local3));
_local5 = new URLLoader(new URLRequest(_local4));
};
if (events[69]){
_local6 = events;
_local6[69]();
};
} else {
if (!movie_options["settings_loaded"]){
SendError("Could not establish connection to the API gateway.");
};
};
}
public static function setMovieVersion(_arg1){
if (!_arg1){
SendError("Missing required 'version' in NewgroundsAPI.setMovieVersion(version:String)");
} else {
version = String(_arg1);
};
}
public static function loadCustomLink(_arg1:String){
if (!_arg1){
SendError("Missing required 'link_name' parameter in NewgroundsAPI.loadCustomLink(link_name:String)");
} else {
if (!custom_links[_arg1]){
SendError(("Attempted to open undefined custom link: " + _arg1));
} else {
SendLink(custom_links[_arg1]);
};
};
}
public static function addCustomLink(_arg1:Number, _arg2:String){
if (!_arg1){
SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)");
} else {
if (!_arg2){
SendError("Missing required 'link_name' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)");
} else {
custom_links[_arg2] = (STAT_CUSTOM_STATS + _arg1);
SendMessage(((("Created custom link " + _arg1) + ": ") + _arg2));
};
};
}
public static function getMovieURL(){
if (movie_options["movie_url"]){
return (movie_options["movie_url"]);
};
return ("Newgrounds.com");
}
public static function debugMode(){
debug = true;
}
public static function getAdURL(){
return (movie_options["ad_url"]);
}
private static function SendStat(_arg1:Number, _arg2:Boolean, _arg3=null){
var target_url:*;
var XML_Loaded:Function;
var x:*;
var request:URLRequest;
var gateway_loader:URLLoader;
var stat_id = _arg1;
var open_in_browser = _arg2;
var extra = _arg3;
if (!tracker_id){
SendError("You must call NewgroundsAPI.connectMovie() with a valid movie id before using API features!");
} else {
XML_Loaded = function (_arg1:Event){
var _local2:XML;
var _local3:Object;
var _local4:XMLList;
var _local5:XML;
var _local6:*;
var _local7:*;
XML.ignoreWhitespace = true;
_local2 = XML(_arg1.target.data);
_local3 = new Object();
_local4 = _local2.children();
for each (_local5 in _local4) {
_local6 = _local5.localName();
_local7 = _local5.attribute("value");
if (_local7 == Number(_local7)){
_local7 = Number(_local7);
};
_local3[_local6] = _local7;
};
ReadGatewayData(_local3);
};
target_url = (((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + stat_id) + addSeed());
if (extra){
for (x in extra) {
target_url = (target_url + ((("&" + escape(x)) + "=") + escape(extra[x])));
};
};
if (debug){
target_url = (target_url + "&debug=1");
};
if (open_in_browser){
request = new URLRequest((target_url + addSeed()));
navigateToURL(request, "_blank");
} else {
gateway_loader = new URLLoader(new URLRequest((target_url + addSeed())));
gateway_loader.addEventListener(Event.COMPLETE, XML_Loaded);
};
};
}
public static function onAdsApproved(_arg1:String){
}
public static function loadMySite(_arg1:Event=null){
SendLink(STAT_AUTHOR_SITE);
}
private static function SendMessage(_arg1:String){
trace(("[NEWGROUNDS API] :: " + _arg1));
}
public static function linkAPI(_arg1){
_arg1.addChild(bridge);
linked = true;
}
public static function loadNewgrounds(_arg1:Event=null, _arg2:String=null){
var _local3:URLRequest;
var _local4:*;
if (!tracker_id){
_local3 = new URLRequest(((NEWGROUNDS_URL + "/") + _arg2));
navigateToURL(_local3, "_blank");
} else {
_local4 = null;
if (_arg2){
_local4 = new Object();
_local4.page = _arg2;
};
SendLink(STAT_NEWGROUNDS, _local4);
};
}
private static function SendLink(_arg1, _arg2=null){
SendStat(_arg1, true, _arg2);
}
public static function logCustomEvent(_arg1:String){
if (!_arg1){
SendError("Missing required 'event_name' parameter in NewgroundsAPI.logCustomEvent(event_name:String)");
} else {
if (!custom_events[_arg1]){
SendError(("Attempted to log undefined custom event: " + _arg1));
} else {
SendEvent(custom_events[_arg1]);
};
};
}
private static function SendError(_arg1:String){
trace(("[NEWGROUNDS API ERROR] :: " + _arg1));
}
public static function addCustomEvent(_arg1:Number, _arg2:String){
if (!_arg1){
SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)");
} else {
if (!_arg2){
SendError("Missing required 'event_name' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)");
} else {
custom_events[_arg2] = (STAT_CUSTOM_STATS + _arg1);
SendMessage(("Created custom event: " + _arg2));
};
};
}
private static function addSeed(){
return (("&seed=" + Math.random()));
}
public static function addEventListener(_arg1:Number, _arg2:Function){
events[_arg1] = _arg2;
}
private static function SendEvent(_arg1){
SendStat(_arg1, false);
}
public static function onNewVersionAvailable(_arg1:String, _arg2:String, _arg3:String){
var sw:*;
var sh:*;
var tw:*;
var th:*;
var mg:*;
var _root:*;
var overlay:MovieClip;
var overlay_x:*;
var overlay_y:*;
var close_x:*;
var blankarea:TextField;
var header:TextField;
var header_format:TextFormat;
var msgtext:TextField;
var msgtext_format:TextFormat;
var msgtext_link:TextFormat;
var version = _arg1;
var movie_url = _arg2;
var redirect_url = _arg3;
sw = bridge.stage.stageWidth;
sh = bridge.stage.stageHeight;
tw = 350;
th = 160;
mg = 20;
_root = bridge.root;
overlay = new MovieClip();
overlay.graphics.beginFill(0, 0.6);
overlay.graphics.lineStyle(0, 0);
overlay.graphics.drawRect(0, 0, sw, sh);
overlay.graphics.endFill();
overlay_x = Math.round(((sw - tw) / 2));
overlay_y = Math.round(((sh - th) / 2));
overlay.graphics.beginFill(102);
overlay.graphics.lineStyle(10, 0);
overlay.graphics.drawRect((overlay_x - mg), (overlay_y - mg), (tw + mg), (th + mg));
overlay.graphics.endFill();
overlay.close = function (_arg1:Event){
_root.removeChild(overlay);
};
close_x = new MovieClip();
close_x.graphics.beginFill(0, 0.1);
close_x.graphics.lineStyle(3, 22015);
close_x.graphics.drawRect(0, 0, 16, 16);
close_x.graphics.endFill();
close_x.graphics.moveTo(4, 4);
close_x.graphics.lineTo(13, 13);
close_x.graphics.moveTo(13, 4);
close_x.graphics.lineTo(4, 13);
close_x.x = ((overlay_x + tw) - 26);
close_x.y = (overlay_y - 10);
close_x.addEventListener(MouseEvent.CLICK, overlay.close);
blankarea = new TextField();
blankarea.x = (overlay_x - mg);
blankarea.y = (overlay_y - mg);
blankarea.width = (tw + mg);
blankarea.height = (th + mg);
blankarea.selectable = false;
header = new TextField();
header.width = tw;
header.x = overlay_x;
header.y = overlay_y;
header.height = 100;
header.selectable = false;
header_format = new TextFormat();
header_format.font = "Arial Black";
header_format.color = 0xFFFFFF;
header_format.size = 20;
header.defaultTextFormat = header_format;
header.text = "New Version Available!";
msgtext = new TextField();
msgtext.x = overlay_x;
msgtext.y = (overlay_y + 70);
msgtext.width = tw;
msgtext.height = 60;
msgtext.selectable = false;
msgtext_format = new TextFormat();
msgtext_format.font = "Arial";
msgtext_format.color = 0xFFFFFF;
msgtext_format.size = 12;
msgtext_format.bold = true;
msgtext_link = new TextFormat();
msgtext_link.font = "Arial";
msgtext_link.color = 0xFFFF00;
msgtext_link.size = 12;
msgtext_link.bold = true;
msgtext_link.url = redirect_url;
msgtext_link.target = "_blank";
if (version){
version = ("Version " + version);
} else {
version = "A new version";
};
msgtext.defaultTextFormat = msgtext_format;
msgtext.appendText((version + " is now available"));
if (movie_url){
msgtext.appendText(" at:\n");
msgtext.defaultTextFormat = msgtext_link;
msgtext.appendText(movie_url);
} else {
msgtext.appendText("!");
};
_root.addChild(overlay);
overlay.addChild(blankarea);
overlay.addChild(header);
overlay.addChild(msgtext);
overlay.addChild(close_x);
}
public static function onDenyHost(_arg1:String, _arg2:String, _arg3:String){
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:MovieClip;
var _local10:TextField;
var _local11:TextField;
var _local12:TextFormat;
var _local13:TextField;
var _local14:TextFormat;
var _local15:TextFormat;
_local4 = bridge.stage.stageWidth;
_local5 = bridge.stage.stageHeight;
_local6 = 350;
_local7 = 160;
_local8 = bridge.root;
_local9 = new MovieClip();
_local9.graphics.beginFill(0x660000);
_local9.graphics.lineStyle(20, 0);
_local9.graphics.drawRect(0, 0, _local4, _local5);
_local9.graphics.endFill();
_local10 = new TextField();
_local10.x = 0;
_local10.y = 0;
_local10.width = _local4;
_local10.height = _local5;
_local10.selectable = false;
_local11 = new TextField();
_local11.x = Math.round(((_local4 - _local6) / 2));
_local11.y = Math.round(((_local5 - _local7) / 2.5));
_local11.width = _local6;
_local11.height = 100;
_local11.selectable = false;
_local12 = new TextFormat();
_local12.font = "Arial Black";
_local12.color = 0xFF0000;
_local12.size = 38;
_local11.defaultTextFormat = _local12;
_local11.text = "ERROR!";
_local13 = new TextField();
_local13.x = Math.round(((_local4 - _local6) / 2));
_local13.y = (Math.round(((_local5 - _local7) / 2.5)) + 80);
_local13.width = _local6;
_local13.height = 80;
_local13.selectable = false;
_local14 = new TextFormat();
_local14.font = "Arial";
_local14.color = 0xFFFFFF;
_local14.size = 12;
_local14.bold = true;
_local15 = new TextFormat();
_local15.font = "Arial";
_local15.color = 0xFFFF00;
_local15.size = 12;
_local15.bold = true;
_local15.url = _arg3;
_local15.target = "_blank";
_local13.defaultTextFormat = _local14;
_local13.appendText((("This movie has not been approved for use on " + _arg1) + "\n"));
_local13.appendText("For an approved copy, please visit:\n");
_local13.defaultTextFormat = _local15;
_local13.appendText(_arg2);
_local8.addChild(_local9);
_local9.addChild(_local10);
_local9.addChild(_local11);
_local9.addChild(_local13);
}
public static function connectMovie(_arg1:Number){
var _local2:String;
var _local3:*;
if (!_arg1){
SendError("Missing required 'id' parameter in NewgroundsAPI.connectMovie(id:Number)");
} else {
if (!linked){
SendError("Attempted to call MewgroundsAPI.connectMovie() without first calling NewgroundsAPI.linkAPI(this)");
} else {
if (!tracker_id){
SendMessage("Connecting to API gateway...");
tracker_id = _arg1;
_local2 = bridge.root.loaderInfo.url;
host = _local2.split("/")[2].toLowerCase();
if (host.length < 1){
host = "localhost";
};
_local3 = new Object();
SendEvent(STAT_MOVIE_VIEWS);
};
};
};
}
public static function isInstalled(){
return (true);
}
}
}//package
Section 28 (3.46 KiB) ●
//Pedestrian (Pedestrian)
package {
import flash.events.*;
import flash.display.*;
public class Pedestrian extends MovieClip {
private const TownStart:Number = 650;
private var Root:Object;
private var InRiot:Boolean;
private var LastFrame:int;
private var SpeedMod:int;
private var speed:Number;// = 0.5
private var Type:int;
private var IdleCount:int;
private var Health:int;
private var Score:int;
private var CurrentFrame:int;
public function Pedestrian(_arg1:Object):void{
var _local2:int;
speed = 0.5;
super();
Root = _arg1;
Health = 1;
_local2 = 0;
while (_local2 == 0) {
_local2 = Math.round(((Math.random() * 2) - 1));
};
speed = (1 * _local2);
scaleX = (scaleX * _local2);
_local2 = Math.round(((Math.random() * 2) + 1));
Type = _local2;
gotoAndStop(((_local2 * 4) - 3));
switch (_local2){
case 1:
Score = 5;
break;
case 2:
Score = 10;
break;
case 3:
Score = 15;
break;
default:
trace(("ERROR: Pedestrian rndNum is not 1, 2 or 3: " + _local2));
break;
};
SpeedMod = 1;
InRiot = false;
x = ((Math.random() * 2900) + TownStart);
y = 320;
this.addEventListener(Event.ENTER_FRAME, OnEnterFrameFunc, false, 0, true);
LastFrame = 2;
}
public function PickSound():void{
var _local1:Number;
_local1 = Math.ceil((Math.random() * 3));
Root.SOUNDS.stop();
switch (_local1){
case 1:
Root.SOUNDS = new SOUND_stab1().play();
break;
case 2:
Root.SOUNDS = new SOUND_stab2().play();
break;
case 3:
Root.SOUNDS = new SOUND_stab3().play();
break;
default:
trace(("I IN PICKSOUND FUNCTION FOR CIVILIAN IS NOT 1,2, or 3: " + _local1));
};
}
public function ToRiot():void{
speed = (speed * 4);
gotoAndStop(((Type * 4) - 2));
InRiot = true;
}
private function Remove():void{
this.removeEventListener(Event.ENTER_FRAME, OnEnterFrameFunc);
speed = 0;
if (this.parent != null){
this.parent.removeChild(this);
};
}
public function OnEnterFrameFunc(_arg1:Event){
LastFrame = currentFrame;
if (!InRiot){
if (IdleCount > 0){
IdleCount--;
} else {
if ((Math.random() * 100) < 1){
LastFrame = (Type * 4);
SpeedMod = 0;
IdleCount = (25 + Math.round((Math.random() * 100)));
} else {
SpeedMod = 1;
LastFrame = ((Type * 4) - 3);
};
};
x = (x + ((speed * SpeedMod) - Root.GetMove()));
CurrentFrame = currentFrame;
if (LastFrame != CurrentFrame){
gotoAndStop(LastFrame);
};
} else {
x = (x + (speed - Root.GetMove()));
};
if (Health > 0){
if ((((x < (TownStart - Root.GetTownX()))) || ((x > ((3100 + TownStart) - Root.GetTownX()))))){
speed = (speed * -1);
scaleX = (scaleX * -1);
};
if ((Math.random() * 100) < (5 / currentFrame)){
speed = (speed * -1);
scaleX = (scaleX * -1);
};
if (((this.hitTestObject(Root.player)) && (!(Root.player.IsDead())))){
if (((Root.player.IsAttacking()) && (Root.player.IsFacing(this)))){
Health--;
speed = 0;
Root.ToRiot();
Root.UpdateMeter(Score);
gotoAndStop(((Type * 4) - 1));
PickSound();
};
};
} else {
if (Health > -24){
Health--;
} else {
if (alpha > 0){
alpha = (alpha - 0.1);
} else {
Remove();
};
};
};
if (Root.GetCurrentLevel() != "TOWN"){
Remove();
};
}
}
}//package
Section 29 (5.62 KiB) ● ●
//Player (Player)
package {
import flash.events.*;
import fl.motion.*;
import flash.display.*;
public class Player extends MovieClip {
private var JumpTrans:Boolean;
private var hX:Number;
private var Root:Object;
private var Right:Boolean;
private var DrainingBlood:Boolean;
public var anim:MovieClip;
private var Left:Boolean;
private var CanAttack:Boolean;
private var JumpTransCount:int;
private var Hurt:Boolean;
private var InvTime:Number;// = 0
private var LastFrame:int;
private var OnGround:Boolean;
public var anim1:MovieClip;
private var AttackCtnd:int;// = 0
private var Dead:Boolean;
private var grav:Number;
private var ground:MovieClip;
private var CurrentFrame:int;
private var colour:Color;
private var hY:Number;
public function Player(_arg1:Object):void{
AttackCtnd = 0;
InvTime = 0;
super();
Root = _arg1;
stop();
x = 100;
y = 50;
grav = 0;
OnGround = false;
JumpTrans = false;
JumpTransCount = 0;
CanAttack = true;
Hurt = false;
hX = 0;
hY = 0;
colour = new Color();
Dead = false;
DrainingBlood = false;
InvTime = 0;
this.addEventListener(Event.ENTER_FRAME, PlayerEnterFrame, false, 0, true);
}
public function DrainBlood():void{
if (Root.GetCurrentLevel() == "CAVE"){
if (x < 150){
if (Root.IsMeterFull()){
DrainingBlood = true;
};
};
};
}
public function IsInvincible():Boolean{
if (InvTime > 0){
return (true);
};
return (false);
}
public function SetGround(_arg1:MovieClip):void{
ground = null;
ground = _arg1;
}
public function Jump():void{
if (OnGround){
grav = -17;
};
}
public function Attack():void{
if (CanAttack){
CanAttack = false;
AttackCtnd = 15;
};
}
public function NoMove():void{
Left = (Right = false);
}
public function HurtFunc(_arg1:Number):void{
Root.SOUNDS = new SOUND_BodyHitGround().play();
if (_arg1 >= x){
hX = -15;
} else {
hX = 15;
};
Hurt = true;
hY = -10;
}
public function IsAttacking():Boolean{
if ((((((AttackCtnd > 0)) && (OnGround))) && ((AttackCtnd > 10)))){
return (true);
};
return (false);
}
public function SetMove(_arg1:Boolean):void{
Left = _arg1;
Right = !(_arg1);
if (_arg1){
scaleX = -1;
} else {
scaleX = 1;
};
}
public function SetPosition(_arg1:Number, _arg2:Number):void{
x = _arg1;
y = _arg2;
}
public function Kill():void{
colour.setTint(0xFFFFFF, 0);
this.transform.colorTransform = colour;
gotoAndStop(99);
Dead = true;
}
private function PlayerEnterFrame(_arg1:Event):void{
if (!Dead){
if (!DrainingBlood){
LastFrame = CurrentFrame;
OnGround = false;
if (!Hurt){
if (InvTime > 0){
InvTime--;
if ((InvTime % 3) == 0){
colour.setTint(0xFFFFFF, 0.5);
} else {
colour.setTint(0xFFFFFF, 0);
};
this.transform.colorTransform = colour;
} else {
colour.setTint(0xFFFFFF, 0);
this.transform.colorTransform = colour;
};
if (Left){
x = (x - 7);
} else {
if (Right){
x = (x + 7);
};
};
grav++;
y = (y + grav);
while (ground.hitTestPoint(x, y, true)) {
grav = 0;
y--;
OnGround = true;
};
} else {
InvTime = 9999;
CanAttack = false;
gotoAndStop(5);
if ((hY % 3) == 0){
colour.setTint(0xFFFFFF, 1);
} else {
colour.setTint(0xFFFFFF, 0);
};
this.transform.colorTransform = colour;
x = (x + hX);
y = (y + hY);
hY++;
while (ground.hitTestPoint(x, y, true)) {
InvTime = 45;
hX = 0;
hY = 0;
grav = 0;
OnGround = true;
CurrentFrame = 1;
y--;
CanAttack = true;
colour.setTint(0xFFFFFF, 0);
this.transform.colorTransform = colour;
Left = false;
Right = false;
JumpTrans = false;
Hurt = false;
};
};
while (ground.hitTestPoint((x - 20), (y - 5), true)) {
x++;
Left = false;
};
while (ground.hitTestPoint((x + 20), (y - 5), true)) {
x--;
Right = false;
};
if (!JumpTrans){
if (grav < 0){
CurrentFrame = 5;
} else {
if (grav > 0){
CurrentFrame = 7;
} else {
if (OnGround){
if (AttackCtnd > 0){
AttackCtnd--;
if (((Left) || (Right))){
CurrentFrame = 4;
} else {
CurrentFrame = 3;
};
} else {
CanAttack = true;
if (((Left) || (Right))){
CurrentFrame = 2;
} else {
CurrentFrame = 1;
};
};
} else {
CurrentFrame = 6;
JumpTransCount = 13;
JumpTrans = true;
};
};
};
} else {
if (JumpTransCount > 0){
JumpTransCount--;
} else {
JumpTrans = false;
};
};
if (LastFrame != CurrentFrame){
gotoAndStop(CurrentFrame);
};
} else {
if (!Root.IsBloodDraining()){
DrainingBlood = false;
};
};
} else {
y = (y + grav);
grav++;
while (ground.hitTestPoint(x, y, true)) {
grav = 0;
y--;
OnGround = true;
};
};
}
public function IsDead():Boolean{
return (Dead);
}
public function IsFacing(_arg1:MovieClip):Boolean{
if (scaleX == 1){
if ((x + 30) < _arg1.x){
return (true);
};
return (false);
//unresolved jump
};
if ((x - 30) > _arg1.x){
return (true);
};
return (false);
}
}
}//package
Section 30 (564 B)
//POPUP_BloodIsFull (POPUP_BloodIsFull)
package {
import flash.events.*;
import flash.display.*;
public dynamic class POPUP_BloodIsFull extends MovieClip {
public var clbutton:SimpleButton;
public function POPUP_BloodIsFull(){
addFrameScript(0, frame1);
}
function frame1(){
x = (550 / 2);
y = (400 / 2);
clbutton.addEventListener(MouseEvent.CLICK, closeThis, false, 0, true);
}
public function closeThis(_arg1:MouseEvent):void{
if (parent != null){
stage.focus = parent;
parent.removeChild(this);
};
}
}
}//package
Section 31 (552 B)
//POPUP_Controls (POPUP_Controls)
package {
import flash.events.*;
import flash.display.*;
public dynamic class POPUP_Controls extends MovieClip {
public var clbutton:SimpleButton;
public function POPUP_Controls(){
addFrameScript(0, frame1);
}
function frame1(){
x = (550 / 2);
y = (400 / 2);
clbutton.addEventListener(MouseEvent.CLICK, closeThis, false, 0, true);
}
public function closeThis(_arg1:MouseEvent):void{
if (parent != null){
stage.focus = parent;
parent.removeChild(this);
};
}
}
}//package
Section 32 (560 B)
//POPUP_DrainBlood (POPUP_DrainBlood)
package {
import flash.events.*;
import flash.display.*;
public dynamic class POPUP_DrainBlood extends MovieClip {
public var clbutton:SimpleButton;
public function POPUP_DrainBlood(){
addFrameScript(0, frame1);
}
function frame1(){
x = (550 / 2);
y = (400 / 2);
clbutton.addEventListener(MouseEvent.CLICK, closeThis, false, 0, true);
}
public function closeThis(_arg1:MouseEvent):void{
if (parent != null){
stage.focus = parent;
parent.removeChild(this);
};
}
}
}//package
Section 33 (572 B)
//POPUP_KillCivilians (POPUP_KillCivilians)
package {
import flash.events.*;
import flash.display.*;
public dynamic class POPUP_KillCivilians extends MovieClip {
public var clbutton:SimpleButton;
public function POPUP_KillCivilians(){
addFrameScript(0, frame1);
}
function frame1(){
x = (550 / 2);
y = (400 / 2);
clbutton.addEventListener(MouseEvent.CLICK, closeThis, false, 0, true);
}
public function closeThis(_arg1:MouseEvent):void{
if (parent != null){
stage.focus = parent;
parent.removeChild(this);
};
}
}
}//package
Section 34 (151 B)
//SOUND_BodyHitGround (SOUND_BodyHitGround)
package {
import flash.media.*;
public dynamic class SOUND_BodyHitGround extends Sound {
}
}//package
Section 35 (136 B)
//SOUND_CalmMode (SOUND_CalmMode)
package {
import flash.media.*;
public dynamic class SOUND_CalmMode extends Sound {
}
}//package
Section 36 (154 B)
//SOUND_FrenzyModeInit (SOUND_FrenzyModeInit)
package {
import flash.media.*;
public dynamic class SOUND_FrenzyModeInit extends Sound {
}
}//package
Section 37 (124 B)
//SOUND_Howl (SOUND_Howl)
package {
import flash.media.*;
public dynamic class SOUND_Howl extends Sound {
}
}//package
Section 38 (133 B)
//SOUND_MenuBtn (SOUND_MenuBtn)
package {
import flash.media.*;
public dynamic class SOUND_MenuBtn extends Sound {
}
}//package
Section 39 (145 B)
//SOUND_SecondsLeft (SOUND_SecondsLeft)
package {
import flash.media.*;
public dynamic class SOUND_SecondsLeft extends Sound {
}
}//package
Section 40 (127 B)
//SOUND_stab1 (SOUND_stab1)
package {
import flash.media.*;
public dynamic class SOUND_stab1 extends Sound {
}
}//package
Section 41 (127 B)
//SOUND_stab2 (SOUND_stab2)
package {
import flash.media.*;
public dynamic class SOUND_stab2 extends Sound {
}
}//package
Section 42 (127 B)
//SOUND_stab3 (SOUND_stab3)
package {
import flash.media.*;
public dynamic class SOUND_stab3 extends Sound {
}
}//package
Section 43 (142 B)
//SOUND_TimeExtend (SOUND_TimeExtend)
package {
import flash.media.*;
public dynamic class SOUND_TimeExtend extends Sound {
}
}//package
Section 44 (359 B)
//TimeExtended (TimeExtended)
package {
import flash.display.*;
public dynamic class TimeExtended extends MovieClip {
public function TimeExtended(){
addFrameScript(0, frame1, 69, frame70);
}
function frame70(){
if (parent != null){
parent.removeChild(this);
};
}
function frame1(){
x = (550 / 2);
y = 200;
}
}
}//package
Section 45 (154 B)
//ToggleSoundButton (ToggleSoundButton)
package {
import flash.display.*;
public dynamic class ToggleSoundButton extends SimpleButton {
}
}//package
Section 46 (245 B)
//Transition_IN (Transition_IN)
package {
import flash.display.*;
public dynamic class Transition_IN extends MovieClip {
public function Transition_IN(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 47 (249 B)
//Transition_OUT (Transition_OUT)
package {
import flash.display.*;
public dynamic class Transition_OUT extends MovieClip {
public function Transition_OUT(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 48 (1.66 KiB) ●
//Wolf (Wolf)
package {
import flash.events.*;
import flash.display.*;
public class Wolf extends MovieClip {
private var Root:Object;
private var anim:int;// = 0
private var CanAttack:Boolean;
public var anim2:MovieClip;
private var speed:Number;// = 7
public var anim1:MovieClip;
public function Wolf(_arg1:Object):void{
speed = 7;
anim = 0;
super();
addFrameScript(0, frame1);
Root = _arg1;
x = ((Math.round((Math.random() * 1)) * 650) - 50);
if (x > 0){
speed = (speed * -1);
scaleX = (scaleX * -1);
};
y = 318.9;
CanAttack = true;
this.addEventListener(Event.ENTER_FRAME, OnEnterFrameFunc, false, 0, true);
}
function frame1(){
stop();
}
private function Remove():void{
this.removeEventListener(Event.ENTER_FRAME, OnEnterFrameFunc);
speed = 0;
if (this.parent != null){
this.parent.removeChild(this);
};
}
public function OnEnterFrameFunc(_arg1:Event){
if (((!((Root.GetCurrentLevel() == "WOODS"))) || (Root.InTrasntion()))){
Remove();
} else {
anim++;
if (anim > 24){
CanAttack = true;
gotoAndStop(1);
anim1.gotoAndPlay(1);
anim = 1;
};
if (((((this.hitTestPoint(Root.player.x, (Root.player.y - 5), false)) && (!(Root.player.IsDead())))) && (!(Root.player.IsInvincible())))){
if (CanAttack){
gotoAndStop(2);
anim2.gotoAndPlay(anim);
Root.player.HurtFunc(x);
Root.SubtractLife();
CanAttack = false;
};
};
x = (x + (speed - (Root.GetMove() / 2)));
if ((((((x > 650)) || ((x < -100)))) || (!((Root.GetCurrentLevel() == "WOODS"))))){
Remove();
};
};
}
}
}//package