Section 1
//Action (org.flintparticles.common.actions.Action)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public interface Action {
function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void;
function addedToEmitter(_arg1:Emitter):void;
function removedFromEmitter(_arg1:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.actions
Section 2
//ActionBase (org.flintparticles.common.actions.ActionBase)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class ActionBase implements Action {
public function addedToEmitter(_arg1:Emitter):void{
}
public function removedFromEmitter(_arg1:Emitter):void{
}
public function getDefaultPriority():Number{
return (0);
}
public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
}
}
}//package org.flintparticles.common.actions
Section 3
//Age (org.flintparticles.common.actions.Age)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.energyEasing.*;
public class Age extends ActionBase {
private var _easing:Function;
public function Age(_arg1:Function=null){
if (_arg1 == null){
_easing = Linear.easeNone;
} else {
_easing = _arg1;
};
}
public function set easing(_arg1:Function):void{
_easing = _arg1;
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
_arg2.age = (_arg2.age + _arg3);
if (_arg2.age >= _arg2.lifetime){
_arg2.energy = 0;
_arg2.isDead = true;
} else {
_arg2.energy = _easing(_arg2.age, _arg2.lifetime);
};
}
public function get easing():Function{
return (_easing);
}
}
}//package org.flintparticles.common.actions
Section 4
//Fade (org.flintparticles.common.actions.Fade)
package org.flintparticles.common.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class Fade extends ActionBase {
private var _endAlpha:Number;
private var _diffAlpha:Number;
public function Fade(_arg1:Number=1, _arg2:Number=0){
_diffAlpha = (_arg1 - _arg2);
_endAlpha = _arg2;
}
public function get endAlpha():Number{
return (_endAlpha);
}
public function set endAlpha(_arg1:Number):void{
_diffAlpha = ((_endAlpha + _diffAlpha) - _arg1);
_endAlpha = _arg1;
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Number = (_endAlpha + (_diffAlpha * _arg2.energy));
_arg2.color = ((_arg2.color & 0xFFFFFF) | (Math.round((_local4 * 0xFF)) << 24));
}
override public function getDefaultPriority():Number{
return (-5);
}
public function set startAlpha(_arg1:Number):void{
_diffAlpha = (_arg1 - _endAlpha);
}
public function get startAlpha():Number{
return ((_endAlpha + _diffAlpha));
}
}
}//package org.flintparticles.common.actions
Section 5
//Activity (org.flintparticles.common.activities.Activity)
package org.flintparticles.common.activities {
import org.flintparticles.common.emitters.*;
public interface Activity {
function initialize(_arg1:Emitter):void;
function removedFromEmitter(_arg1:Emitter):void;
function update(_arg1:Emitter, _arg2:Number):void;
function addedToEmitter(_arg1:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.activities
Section 6
//Blast (org.flintparticles.common.counters.Blast)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public class Blast implements Counter {
private var _startCount:uint;
public function Blast(_arg1:uint){
_startCount = _arg1;
}
public function stop():void{
}
public function updateEmitter(_arg1:Emitter, _arg2:Number):uint{
return (0);
}
public function startEmitter(_arg1:Emitter):uint{
return (_startCount);
}
public function resume():void{
}
public function set startCount(_arg1:Number):void{
_startCount = _arg1;
}
public function get startCount():Number{
return (_startCount);
}
}
}//package org.flintparticles.common.counters
Section 7
//Counter (org.flintparticles.common.counters.Counter)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public interface Counter {
function stop():void;
function startEmitter(_arg1:Emitter):uint;
function updateEmitter(_arg1:Emitter, _arg2:Number):uint;
function resume():void;
}
}//package org.flintparticles.common.counters
Section 8
//ZeroCounter (org.flintparticles.common.counters.ZeroCounter)
package org.flintparticles.common.counters {
import org.flintparticles.common.emitters.*;
public class ZeroCounter implements Counter {
public function stop():void{
}
public function updateEmitter(_arg1:Emitter, _arg2:Number):uint{
return (0);
}
public function startEmitter(_arg1:Emitter):uint{
return (0);
}
public function resume():void{
}
}
}//package org.flintparticles.common.counters
Section 9
//Dot (org.flintparticles.common.displayObjects.Dot)
package org.flintparticles.common.displayObjects {
import flash.display.*;
public class Dot extends Shape {
public function Dot(_arg1:Number, _arg2:uint=0xFFFFFF, _arg3:String="normal"){
graphics.beginFill(_arg2);
graphics.drawCircle(0, 0, _arg1);
graphics.endFill();
blendMode = _arg3;
}
}
}//package org.flintparticles.common.displayObjects
Section 10
//Emitter (org.flintparticles.common.emitters.Emitter)
package org.flintparticles.common.emitters {
import flash.events.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.common.activities.*;
import org.flintparticles.common.counters.*;
import org.flintparticles.common.events.*;
import org.flintparticles.common.utils.*;
public class Emitter extends EventDispatcher {
protected var _running:Boolean;// = false
protected var _activities:PriorityArray;
protected var _particles:Array;
protected var _initializers:PriorityArray;
protected var _counter:Counter;
protected var _started:Boolean;// = false
protected var _actions:PriorityArray;
protected var _useInternalTick:Boolean;// = true
protected var _particleFactory:ParticleFactory;
protected var _fixedFrameTime:Number;// = 0
protected var _maximumFrameTime:Number;// = 0.1
public function Emitter(){
_particles = new Array();
_actions = new PriorityArray();
_initializers = new PriorityArray();
_activities = new PriorityArray();
_counter = new ZeroCounter();
}
public function addInitializer(_arg1:Initializer, _arg2:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1.getDefaultPriority();
};
_initializers.add(_arg1, _arg2);
_arg1.addedToEmitter(this);
}
public function stop():void{
if (_useInternalTick){
FrameUpdater.instance.removeEventListener(UpdateEvent.UPDATE, updateEventListener);
};
_started = false;
killAllParticles();
}
public function killAllParticles():void{
var _local1:int = _particles.length;
var _local2:int;
while (_local2 < _local1) {
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_DEAD, _particles[_local2]));
_particleFactory.disposeParticle(_particles[_local2]);
_local2++;
};
_particles.length = 0;
}
public function set fixedFrameTime(_arg1:Number):void{
_fixedFrameTime = _arg1;
}
public function get maximumFrameTime():Number{
return (_maximumFrameTime);
}
public function get useInternalTick():Boolean{
return (_useInternalTick);
}
protected function createParticle():Particle{
var _local1:Particle = _particleFactory.createParticle();
var _local2:int = _initializers.length;
initParticle(_local1);
var _local3:int;
while (_local3 < _local2) {
_initializers[_local3].initialize(this, _local1);
_local3++;
};
_particles.push(_local1);
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_CREATED, _local1));
return (_local1);
}
public function get particleFactory():ParticleFactory{
return (_particleFactory);
}
private function updateEventListener(_arg1:UpdateEvent):void{
if (_fixedFrameTime){
update(_fixedFrameTime);
} else {
update(_arg1.time);
};
}
public function get particles():Array{
return (_particles);
}
protected function sortParticles():void{
}
public function removeActivity(_arg1:Activity):void{
if (_activities.remove(_arg1)){
_arg1.removedFromEmitter(this);
};
}
public function set maximumFrameTime(_arg1:Number):void{
_maximumFrameTime = _arg1;
}
protected function initParticle(_arg1:Particle):void{
}
public function addAction(_arg1:Action, _arg2:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1.getDefaultPriority();
};
_actions.add(_arg1, _arg2);
_arg1.addedToEmitter(this);
}
public function hasInitializerOfType(_arg1:Class):Boolean{
var _local2:uint = _initializers.length;
var _local3:uint;
while (_local3 < _local2) {
if ((_initializers[_local3] is _arg1)){
return (true);
};
_local3++;
};
return (false);
}
public function resume():void{
_running = true;
}
public function removeInitializer(_arg1:Initializer):void{
if (_initializers.remove(_arg1)){
_arg1.removedFromEmitter(this);
};
}
public function get running():Boolean{
return (_running);
}
public function hasActionOfType(_arg1:Class):Boolean{
var _local2:uint = _actions.length;
var _local3:uint;
while (_local3 < _local2) {
if ((_actions[_local3] is _arg1)){
return (true);
};
_local3++;
};
return (false);
}
public function get fixedFrameTime():Number{
return (_fixedFrameTime);
}
public function set particleFactory(_arg1:ParticleFactory):void{
_particleFactory = _arg1;
}
public function hasActivity(_arg1:Activity):Boolean{
return (_activities.contains(_arg1));
}
public function addActivity(_arg1:Activity, _arg2:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1.getDefaultPriority();
};
_activities.add(_arg1, _arg2);
_arg1.addedToEmitter(this);
}
public function update(_arg1:Number):void{
var _local2:int;
var _local3:Particle;
var _local5:Action;
var _local6:int;
var _local7:int;
if (!_running){
return;
};
if (_arg1 > _maximumFrameTime){
_arg1 = _maximumFrameTime;
};
var _local4:int = _counter.updateEmitter(this, _arg1);
_local2 = 0;
while (_local2 < _local4) {
createParticle();
_local2++;
};
sortParticles();
_local4 = _activities.length;
_local2 = 0;
while (_local2 < _local4) {
_activities[_local2].update(this, _arg1);
_local2++;
};
if (_particles.length > 0){
_local4 = _actions.length;
_local6 = _particles.length;
_local7 = 0;
while (_local7 < _local4) {
_local5 = _actions[_local7];
_local2 = 0;
while (_local2 < _local6) {
_local3 = _particles[_local2];
_local5.update(this, _local3, _arg1);
_local2++;
};
_local7++;
};
_local2 = _local6;
while (_local2--) {
_local3 = _particles[_local2];
if (_local3.isDead){
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_DEAD, _local3));
_particleFactory.disposeParticle(_local3);
_particles.splice(_local2, 1);
};
};
} else {
dispatchEvent(new EmitterEvent(EmitterEvent.EMITTER_EMPTY));
};
dispatchEvent(new EmitterEvent(EmitterEvent.EMITTER_UPDATED));
}
public function addExistingParticles(_arg1:Array, _arg2:Boolean=false):void{
var _local4:int;
var _local5:int;
var _local6:int;
var _local3:int = _arg1.length;
if (_arg2){
_local5 = _initializers.length;
_local6 = 0;
while (_local6 < _local5) {
_local4 = 0;
while (_local4 < _local3) {
_initializers[_local6].initialize(this, _arg1[_local4]);
_local4++;
};
_local6++;
};
};
_local4 = 0;
while (_local4 < _local3) {
_particles.push(_arg1[_local4]);
dispatchEvent(new ParticleEvent(ParticleEvent.PARTICLE_ADDED, _arg1[_local4]));
_local4++;
};
}
public function removeAction(_arg1:Action):void{
if (_actions.remove(_arg1)){
_arg1.removedFromEmitter(this);
};
}
public function hasActivityOfType(_arg1:Class):Boolean{
var _local2:uint = _activities.length;
var _local3:uint;
while (_local3 < _local2) {
if ((_activities[_local3] is _arg1)){
return (true);
};
_local3++;
};
return (false);
}
public function set useInternalTick(_arg1:Boolean):void{
if (_useInternalTick != _arg1){
_useInternalTick = _arg1;
if (_started){
if (_useInternalTick){
FrameUpdater.instance.addEventListener(UpdateEvent.UPDATE, updateEventListener, false, 0, true);
} else {
FrameUpdater.instance.removeEventListener(UpdateEvent.UPDATE, updateEventListener);
};
};
};
}
public function hasInitializer(_arg1:Initializer):Boolean{
return (_initializers.contains(_arg1));
}
public function start():void{
if (_useInternalTick){
FrameUpdater.instance.addEventListener(UpdateEvent.UPDATE, updateEventListener, false, 0, true);
};
_started = true;
_running = true;
var _local1:int = _activities.length;
var _local2:int;
while (_local2 < _local1) {
_activities[_local2].initialize(this);
_local2++;
};
_local1 = _counter.startEmitter(this);
_local2 = 0;
while (_local2 < _local1) {
createParticle();
_local2++;
};
}
public function hasAction(_arg1:Action):Boolean{
return (_actions.contains(_arg1));
}
public function pause():void{
_running = false;
}
public function set counter(_arg1:Counter):void{
_counter = _arg1;
if (running){
_counter.startEmitter(this);
};
}
public function get counter():Counter{
return (_counter);
}
public function runAhead(_arg1:Number, _arg2:Number=10):void{
var _local3:Number = _maximumFrameTime;
var _local4:Number = (1 / _arg2);
_maximumFrameTime = _local4;
while (_arg1 > 0) {
_arg1 = (_arg1 - _local4);
update(_local4);
};
_maximumFrameTime = _local3;
}
}
}//package org.flintparticles.common.emitters
Section 11
//Linear (org.flintparticles.common.energyEasing.Linear)
package org.flintparticles.common.energyEasing {
public class Linear {
public static function easeOut(_arg1:Number, _arg2:Number):Number{
return ((1 - (_arg1 / _arg2)));
}
public static function easeIn(_arg1:Number, _arg2:Number):Number{
return ((1 - (_arg1 / _arg2)));
}
public static function easeInOut(_arg1:Number, _arg2:Number):Number{
return ((1 - (_arg1 / _arg2)));
}
public static function easeNone(_arg1:Number, _arg2:Number):Number{
return ((1 - (_arg1 / _arg2)));
}
}
}//package org.flintparticles.common.energyEasing
Section 12
//Quadratic (org.flintparticles.common.energyEasing.Quadratic)
package org.flintparticles.common.energyEasing {
public class Quadratic {
public static function easeOut(_arg1:Number, _arg2:Number):Number{
_arg1 = (1 - (_arg1 / _arg2));
return ((_arg1 * _arg1));
}
public static function easeIn(_arg1:Number, _arg2:Number):Number{
_arg1 = (_arg1 / _arg2);
return ((1 - (_arg1 * _arg1)));
}
public static function easeInOut(_arg1:Number, _arg2:Number):Number{
_arg1 = (_arg1 / (_arg2 * 0.5));
if (_arg1 < 1){
return ((1 - ((_arg1 * _arg1) * 0.5)));
};
_arg1 = (_arg1 - 2);
return (((_arg1 * _arg1) * 0.5));
}
}
}//package org.flintparticles.common.energyEasing
Section 13
//EmitterEvent (org.flintparticles.common.events.EmitterEvent)
package org.flintparticles.common.events {
import flash.events.*;
public class EmitterEvent extends Event {
public static var EMITTER_UPDATED:String = "emitterUpdated";
public static var EMITTER_EMPTY:String = "emitterEmpty";
public function EmitterEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
}
}//package org.flintparticles.common.events
Section 14
//ParticleEvent (org.flintparticles.common.events.ParticleEvent)
package org.flintparticles.common.events {
import flash.events.*;
import org.flintparticles.common.particles.*;
public class ParticleEvent extends Event {
public var particle:Particle;
public var otherObject;
public static var PARTICLES_COLLISION:String = "particlesCollision";
public static var PARTICLE_ADDED:String = "particleAdded";
public static var PARTICLE_DEAD:String = "particleDead";
public static var PARTICLE_CREATED:String = "particleCreated";
public function ParticleEvent(_arg1:String, _arg2:Particle=null, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.particle = _arg2;
}
}
}//package org.flintparticles.common.events
Section 15
//UpdateEvent (org.flintparticles.common.events.UpdateEvent)
package org.flintparticles.common.events {
import flash.events.*;
public class UpdateEvent extends Event {
public var time:Number;
public static var UPDATE:String = "update";
public function UpdateEvent(_arg1:String, _arg2:Number=NaN, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.time = _arg2;
}
}
}//package org.flintparticles.common.events
Section 16
//ColorInit (org.flintparticles.common.initializers.ColorInit)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.utils.*;
public class ColorInit extends InitializerBase {
private var _max:uint;
private var _min:uint;
public function ColorInit(_arg1:uint, _arg2:uint){
_min = _arg1;
_max = _arg2;
}
public function set minColor(_arg1:uint):void{
_min = _arg1;
}
public function get color():uint{
return (((_min == _max)) ? _min : interpolateColors(_max, _min, 0.5));
}
public function set color(_arg1:uint):void{
_max = (_min = _arg1);
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
if (_max == _min){
_arg2.color = _min;
} else {
_arg2.color = interpolateColors(_min, _max, Math.random());
};
}
public function get minColor():uint{
return (_min);
}
public function set maxColor(_arg1:uint):void{
_max = _arg1;
}
public function get maxColor():uint{
return (_max);
}
}
}//package org.flintparticles.common.initializers
Section 17
//Initializer (org.flintparticles.common.initializers.Initializer)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public interface Initializer {
function initialize(_arg1:Emitter, _arg2:Particle):void;
function addedToEmitter(_arg1:Emitter):void;
function removedFromEmitter(_arg1:Emitter):void;
function getDefaultPriority():Number;
}
}//package org.flintparticles.common.initializers
Section 18
//InitializerBase (org.flintparticles.common.initializers.InitializerBase)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class InitializerBase implements Initializer {
public function initialize(_arg1:Emitter, _arg2:Particle):void{
}
public function addedToEmitter(_arg1:Emitter):void{
}
public function removedFromEmitter(_arg1:Emitter):void{
}
public function getDefaultPriority():Number{
return (0);
}
}
}//package org.flintparticles.common.initializers
Section 19
//Lifetime (org.flintparticles.common.initializers.Lifetime)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
public class Lifetime extends InitializerBase {
private var _max:Number;
private var _min:Number;
public function Lifetime(_arg1:Number, _arg2:Number=NaN){
_max = _arg2;
_min = _arg1;
}
public function get lifetime():Number{
return (((_min == _max)) ? _min : ((_max + _min) * 0.5));
}
public function get maxLifetime():Number{
return (_max);
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
if (isNaN(_max)){
_arg2.lifetime = _min;
} else {
_arg2.lifetime = (_min + (Math.random() * (_max - _min)));
};
}
public function set lifetime(_arg1:Number):void{
_max = (_min = _arg1);
}
public function set minLifetime(_arg1:Number):void{
_min = _arg1;
}
public function set maxLifetime(_arg1:Number):void{
_max = _arg1;
}
public function get minLifetime():Number{
return (_min);
}
}
}//package org.flintparticles.common.initializers
Section 20
//SharedImage (org.flintparticles.common.initializers.SharedImage)
package org.flintparticles.common.initializers {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import flash.display.*;
public class SharedImage extends InitializerBase {
private var _image:DisplayObject;
public function SharedImage(_arg1:DisplayObject){
_image = _arg1;
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
_arg2.image = _image;
}
public function set image(_arg1:DisplayObject):void{
_image = _arg1;
}
public function get image():DisplayObject{
return (_image);
}
}
}//package org.flintparticles.common.initializers
Section 21
//Particle (org.flintparticles.common.particles.Particle)
package org.flintparticles.common.particles {
import flash.geom.*;
import flash.utils.*;
public class Particle {
public var energy:Number;// = 1
public var lifetime:Number;// = 0
public var scale:Number;// = 1
public var image;// = null
public var color:uint;// = 4294967295
public var collisionRadius:Number;// = 1
private var _colorTransform:ColorTransform;// = null
private var _previousColor:uint;
public var isDead:Boolean;// = false
public var mass:Number;// = 1
private var _dictionary:Dictionary;// = null
public var age:Number;// = 0
public function get dictionary():Dictionary{
if (_dictionary == null){
_dictionary = new Dictionary(true);
};
return (_dictionary);
}
public function get colorTransform():ColorTransform{
if (((!(_colorTransform)) || (!((_previousColor == color))))){
_colorTransform = new ColorTransform((((color >>> 16) & 0xFF) / 0xFF), (((color >>> 8) & 0xFF) / 0xFF), ((color & 0xFF) / 0xFF), (((color >>> 24) & 0xFF) / 0xFF), 0, 0, 0, 0);
_previousColor = color;
};
return (_colorTransform);
}
protected function cloneInto(_arg1:Particle):Particle{
var _local2:Object;
_arg1.color = color;
_arg1.scale = scale;
_arg1.mass = mass;
_arg1.collisionRadius = collisionRadius;
_arg1.lifetime = lifetime;
_arg1.age = age;
_arg1.energy = energy;
_arg1.isDead = isDead;
_arg1.image = image;
if (_dictionary){
_arg1._dictionary = new Dictionary(true);
for (_local2 in _dictionary) {
_arg1._dictionary[_local2] = _dictionary[_local2];
};
};
return (_arg1);
}
public function get alpha():Number{
return ((((color & 4278190080) >>> 24) / 0xFF));
}
public function initialize():void{
color = 4294967295;
scale = 1;
mass = 1;
collisionRadius = 1;
lifetime = 0;
age = 0;
energy = 1;
isDead = false;
image = null;
_dictionary = null;
_colorTransform = null;
}
public function clone(_arg1:ParticleFactory=null):Particle{
var _local2:Particle;
if (_arg1){
_local2 = _arg1.createParticle();
} else {
_local2 = new Particle();
};
return (cloneInto(_local2));
}
}
}//package org.flintparticles.common.particles
Section 22
//ParticleFactory (org.flintparticles.common.particles.ParticleFactory)
package org.flintparticles.common.particles {
public interface ParticleFactory {
function createParticle():Particle;
function disposeParticle(_arg1:Particle):void;
}
}//package org.flintparticles.common.particles
Section 23
//Renderer (org.flintparticles.common.renderers.Renderer)
package org.flintparticles.common.renderers {
import org.flintparticles.common.emitters.*;
public interface Renderer {
function removeEmitter(_arg1:Emitter):void;
function addEmitter(_arg1:Emitter):void;
}
}//package org.flintparticles.common.renderers
Section 24
//SpriteRendererBase (org.flintparticles.common.renderers.SpriteRendererBase)
package org.flintparticles.common.renderers {
import flash.events.*;
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.events.*;
import flash.display.*;
public class SpriteRendererBase extends Sprite implements Renderer {
protected var _emitters:Array;
public function SpriteRendererBase(){
_emitters = new Array();
mouseEnabled = false;
mouseChildren = false;
addEventListener(Event.ADDED_TO_STAGE, addedToStage, false, 0, true);
}
private function particleAdded(_arg1:ParticleEvent):void{
addParticle(_arg1.particle);
if (stage){
stage.invalidate();
};
}
private function addedToStage(_arg1:Event):void{
if (stage){
stage.invalidate();
};
}
public function get emitters():Array{
return (_emitters);
}
protected function addParticle(_arg1:Particle):void{
}
private function updateParticles(_arg1:Event):void{
var _local2:Array = new Array();
var _local3:int;
while (_local3 < _emitters.length) {
_local2 = _local2.concat(_emitters[_local3].particles);
_local3++;
};
renderParticles(_local2);
}
private function emitterUpdated(_arg1:EmitterEvent):void{
if (stage){
stage.invalidate();
};
}
public function removeEmitter(_arg1:Emitter):void{
var _local3:Particle;
var _local2:int;
while (_local2 < _emitters.length) {
if (_emitters[_local2] == _arg1){
_emitters.splice(_local2, 1);
_arg1.removeEventListener(EmitterEvent.EMITTER_UPDATED, emitterUpdated);
_arg1.removeEventListener(ParticleEvent.PARTICLE_CREATED, particleAdded);
_arg1.removeEventListener(ParticleEvent.PARTICLE_ADDED, particleAdded);
_arg1.removeEventListener(ParticleEvent.PARTICLE_DEAD, particleRemoved);
for each (_local3 in _arg1.particles) {
removeParticle(_local3);
};
if (_emitters.length == 0){
removeEventListener(Event.RENDER, updateParticles);
renderParticles([]);
} else {
stage.invalidate();
};
return;
};
_local2++;
};
}
protected function renderParticles(_arg1:Array):void{
}
protected function removeParticle(_arg1:Particle):void{
}
private function particleRemoved(_arg1:ParticleEvent):void{
removeParticle(_arg1.particle);
if (stage){
stage.invalidate();
};
}
public function addEmitter(_arg1:Emitter):void{
var _local2:Particle;
_emitters.push(_arg1);
if (stage){
stage.invalidate();
};
_arg1.addEventListener(EmitterEvent.EMITTER_UPDATED, emitterUpdated, false, 0, true);
_arg1.addEventListener(ParticleEvent.PARTICLE_CREATED, particleAdded, false, 0, true);
_arg1.addEventListener(ParticleEvent.PARTICLE_ADDED, particleAdded, false, 0, true);
_arg1.addEventListener(ParticleEvent.PARTICLE_DEAD, particleRemoved, false, 0, true);
for each (_local2 in _arg1.particles) {
addParticle(_local2);
};
if (_emitters.length == 1){
addEventListener(Event.RENDER, updateParticles, false, 0, true);
};
}
}
}//package org.flintparticles.common.renderers
Section 25
//FrameUpdater (org.flintparticles.common.utils.FrameUpdater)
package org.flintparticles.common.utils {
import flash.events.*;
import flash.utils.*;
import org.flintparticles.common.events.*;
import flash.display.*;
public class FrameUpdater extends EventDispatcher {
private var _shape:Shape;
private var _time:Number;
private static var _instance:FrameUpdater;
public function FrameUpdater(){
_shape = new Shape();
_shape.addEventListener(Event.ENTER_FRAME, frameUpdate, false, 0, true);
_time = getTimer();
}
private function frameUpdate(_arg1:Event):void{
var _local2:int = _time;
_time = getTimer();
var _local3:Number = ((_time - _local2) * 0.001);
dispatchEvent(new UpdateEvent(UpdateEvent.UPDATE, _local3));
}
public static function get instance():FrameUpdater{
if (_instance == null){
_instance = new (FrameUpdater);
};
return (_instance);
}
}
}//package org.flintparticles.common.utils
Section 26
//interpolateColors (org.flintparticles.common.utils.interpolateColors)
package org.flintparticles.common.utils {
public function interpolateColors(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number = (1 - _arg3);
var _local5:uint = Math.round(((((_arg1 >>> 16) & 0xFF) * _arg3) + (((_arg2 >>> 16) & 0xFF) * _local4)));
var _local6:uint = Math.round(((((_arg1 >>> 8) & 0xFF) * _arg3) + (((_arg2 >>> 8) & 0xFF) * _local4)));
var _local7:uint = Math.round((((_arg1 & 0xFF) * _arg3) + ((_arg2 & 0xFF) * _local4)));
var _local8:uint = Math.round(((((_arg1 >>> 24) & 0xFF) * _arg3) + (((_arg2 >>> 24) & 0xFF) * _local4)));
return (((((_local8 << 24) | (_local5 << 16)) | (_local6 << 8)) | _local7));
}
}//package org.flintparticles.common.utils
Section 27
//Maths (org.flintparticles.common.utils.Maths)
package org.flintparticles.common.utils {
public class Maths {
private static const DEGTORAD:Number = 0.0174532925199433;
private static const RADTODEG:Number = 57.2957795130823;
public static function asRadians(_arg1:Number):Number{
return ((_arg1 * DEGTORAD));
}
public static function asDegrees(_arg1:Number):Number{
return ((_arg1 * RADTODEG));
}
}
}//package org.flintparticles.common.utils
Section 28
//PriorityArray (org.flintparticles.common.utils.PriorityArray)
package org.flintparticles.common.utils {
import flash.utils.*;
public class PriorityArray extends Proxy {
private var _values:Array;
public function PriorityArray(){
_values = new Array();
}
public function remove(_arg1):Boolean{
var _local2:uint = _values.length;
while (_local2--) {
if (_values[_local2].value == _arg1){
_values.splice(_local2, 1);
return (true);
};
};
return (false);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{
return ((_arg1 - 1).toString());
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:uint = uint(_arg1);
if ((((_local3 == _arg1)) && ((_local3 < _values.length)))){
_values[_local3].value = _arg2;
};
}
public function add(_arg1, _arg2:Number):uint{
var _local3:uint = _values.length;
var _local4:uint;
while (_local4 < _local3) {
if (_values[_local4].priority < _arg2){
break;
};
_local4++;
};
_values.splice(_local4, 0, new Pair(_arg2, _arg1));
return (_values.length);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
var _local2:int = int(_arg1);
if ((((((_local2 == _arg1)) && ((_local2 < _values.length)))) && (_values[_local2]))){
return (_values[_local2].value);
};
return (undefined);
}
public function clear():void{
_values.length = 0;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{
if (_arg1 < _values.length){
return ((_arg1 + 1));
};
return (0);
}
public function get length():uint{
return (_values.length);
}
public function removeAt(_arg1:uint){
var _local2:* = _values[_arg1].value;
_values.splice(_arg1, 1);
return (_local2);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextValue(_arg1:int){
return (_values[(_arg1 - 1)].value);
}
public function contains(_arg1):Boolean{
var _local2:uint = _values.length;
while (_local2--) {
if (_values[_local2].value == _arg1){
return (true);
};
};
return (false);
}
}
}//package org.flintparticles.common.utils
class Pair {
private var value;
private var priority:Number;
private function Pair(_arg1:Number, _arg2){
this.priority = _arg1;
this.value = _arg2;
}
}
Section 29
//Accelerate (org.flintparticles.twoD.actions.Accelerate)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.twoD.particles.*;
public class Accelerate extends ActionBase {
private var _x:Number;
private var _y:Number;
public function Accelerate(_arg1:Number, _arg2:Number){
_x = _arg1;
_y = _arg2;
}
public function set x(_arg1:Number):void{
_x = _arg1;
}
public function get y():Number{
return (_y);
}
public function get x():Number{
return (_x);
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Particle2D = Particle2D(_arg2);
Particle2D(_arg2).velX = (_local4.velX + (_x * _arg3));
_local4.velY = (_local4.velY + (_y * _arg3));
}
public function set y(_arg1:Number):void{
_y = _arg1;
}
}
}//package org.flintparticles.twoD.actions
Section 30
//LinearDrag (org.flintparticles.twoD.actions.LinearDrag)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.twoD.particles.*;
public class LinearDrag extends ActionBase {
private var _drag:Number;
public function LinearDrag(_arg1:Number){
_drag = _arg1;
}
public function get drag():Number{
return (_drag);
}
public function set drag(_arg1:Number):void{
_drag = _arg1;
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
var _local4:Particle2D;
_local4 = Particle2D(_arg2);
var _local5:Number = (1 - ((_drag * _arg3) / _local4.mass));
if (_local5 < 0){
_local4.velX = 0;
_local4.velY = 0;
} else {
_local4.velX = (_local4.velX * _local5);
_local4.velY = (_local4.velY * _local5);
};
}
}
}//package org.flintparticles.twoD.actions
Section 31
//Move (org.flintparticles.twoD.actions.Move)
package org.flintparticles.twoD.actions {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.twoD.particles.*;
public class Move extends ActionBase {
private var p:Particle2D;
override public function getDefaultPriority():Number{
return (-10);
}
override public function update(_arg1:Emitter, _arg2:Particle, _arg3:Number):void{
p = Particle2D(_arg2);
p.x = (p.x + (p.velX * _arg3));
p.y = (p.y + (p.velY * _arg3));
}
}
}//package org.flintparticles.twoD.actions
Section 32
//Emitter2D (org.flintparticles.twoD.emitters.Emitter2D)
package org.flintparticles.twoD.emitters {
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.utils.*;
import org.flintparticles.twoD.particles.*;
public class Emitter2D extends Emitter {
protected var _y:Number;// = 0
public var spaceSort:Boolean;// = false
public var spaceSortedX:Array;
protected var _x:Number;// = 0
protected var _rotation:Number;// = 0
protected static var _creator:ParticleCreator2D = new ParticleCreator2D();
public function Emitter2D(){
_particleFactory = _creator;
}
public function get y():Number{
return (_y);
}
override protected function initParticle(_arg1:Particle):void{
var _local2:Particle2D;
_local2 = Particle2D(_arg1);
_local2.x = _x;
_local2.y = _y;
_local2.rotation = _rotation;
}
override protected function sortParticles():void{
var _local1:int;
var _local2:int;
if (spaceSort){
spaceSortedX = _particles.sortOn("x", (Array.NUMERIC | Array.RETURNINDEXEDARRAY));
_local1 = _particles.length;
_local2 = 0;
while (_local2 < _local1) {
_particles[spaceSortedX[_local2]].sortID = _local2;
_local2++;
};
};
}
public function set x(_arg1:Number):void{
_x = _arg1;
}
public function set rotRadians(_arg1:Number):void{
_rotation = _arg1;
}
public function get x():Number{
return (_x);
}
public function get rotRadians():Number{
return (_rotation);
}
public function set rotation(_arg1:Number):void{
_rotation = Maths.asRadians(_arg1);
}
public function get rotation():Number{
return (Maths.asDegrees(_rotation));
}
public function set y(_arg1:Number):void{
_y = _arg1;
}
public static function get defaultParticleFactory():ParticleFactory{
return (_creator);
}
}
}//package org.flintparticles.twoD.emitters
Section 33
//Velocity (org.flintparticles.twoD.initializers.Velocity)
package org.flintparticles.twoD.initializers {
import flash.geom.*;
import org.flintparticles.common.emitters.*;
import org.flintparticles.common.particles.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.twoD.zones.*;
import org.flintparticles.twoD.particles.*;
public class Velocity extends InitializerBase {
private var _zone:Zone2D;
public function Velocity(_arg1:Zone2D){
_zone = _arg1;
}
override public function initialize(_arg1:Emitter, _arg2:Particle):void{
var _local3:Particle2D;
var _local5:Number;
var _local6:Number;
_local3 = Particle2D(_arg2);
var _local4:Point = _zone.getLocation();
if (_local3.rotation == 0){
_local3.velX = _local4.x;
_local3.velY = _local4.y;
} else {
_local5 = Math.sin(_local3.rotation);
_local6 = Math.cos(_local3.rotation);
_local3.velX = ((_local6 * _local4.x) - (_local5 * _local4.y));
_local3.velY = ((_local6 * _local4.y) + (_local5 * _local4.x));
};
}
public function set zone(_arg1:Zone2D):void{
_zone = _arg1;
}
public function get zone():Zone2D{
return (_zone);
}
}
}//package org.flintparticles.twoD.initializers
Section 34
//Particle2D (org.flintparticles.twoD.particles.Particle2D)
package org.flintparticles.twoD.particles {
import flash.geom.*;
import org.flintparticles.common.particles.*;
public class Particle2D extends Particle {
public var sortID:int;// = -1
private var _inertia:Number;
public var velY:Number;// = 0
private var _previousRadius:Number;
private var _previousMass:Number;
public var angVelocity:Number;// = 0
public var x:Number;// = 0
public var y:Number;// = 0
public var velX:Number;// = 0
public var rotation:Number;// = 0
override public function clone(_arg1:ParticleFactory=null):Particle{
var _local2:Particle2D;
if (_arg1){
_local2 = (_arg1.createParticle() as Particle2D);
} else {
_local2 = new Particle2D();
};
cloneInto(_local2);
_local2.x = x;
_local2.y = y;
_local2.velX = velX;
_local2.velY = velY;
_local2.rotation = rotation;
_local2.angVelocity = angVelocity;
return (_local2);
}
override public function initialize():void{
super.initialize();
x = 0;
y = 0;
velX = 0;
velY = 0;
rotation = 0;
angVelocity = 0;
sortID = -1;
}
public function get matrixTransform():Matrix{
var _local1:Number = (scale * Math.cos(rotation));
var _local2:Number = (scale * Math.sin(rotation));
return (new Matrix(_local1, _local2, -(_local2), _local1, x, y));
}
public function get inertia():Number{
if (((!((mass == _previousMass))) || (!((collisionRadius == _previousRadius))))){
_inertia = (((mass * collisionRadius) * collisionRadius) * 0.5);
_previousMass = mass;
_previousRadius = collisionRadius;
};
return (_inertia);
}
}
}//package org.flintparticles.twoD.particles
Section 35
//ParticleCreator2D (org.flintparticles.twoD.particles.ParticleCreator2D)
package org.flintparticles.twoD.particles {
import org.flintparticles.common.particles.*;
public class ParticleCreator2D implements ParticleFactory {
private var _particles:Array;
public function ParticleCreator2D(){
_particles = new Array();
}
public function clearAllParticles():void{
_particles = new Array();
}
public function disposeParticle(_arg1:Particle):void{
if ((_arg1 is Particle2D)){
_arg1.initialize();
_particles.push(_arg1);
};
}
public function createParticle():Particle{
if (_particles.length){
return (_particles.pop());
};
return (new Particle2D());
}
}
}//package org.flintparticles.twoD.particles
Section 36
//BitmapRenderer (org.flintparticles.twoD.renderers.BitmapRenderer)
package org.flintparticles.twoD.renderers {
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import org.flintparticles.twoD.particles.*;
import org.flintparticles.common.renderers.*;
public class BitmapRenderer extends SpriteRendererBase {
protected var _preFilters:Array;
protected var _bitmap:Bitmap;
protected var _bitmapData:BitmapData;
protected var _colorMap:Array;
protected var _smoothing:Boolean;
protected var _canvas:Rectangle;
protected var _postFilters:Array;
protected static var ZERO_POINT:Point = new Point(0, 0);
public function BitmapRenderer(_arg1:Rectangle, _arg2:Boolean=false){
mouseEnabled = false;
mouseChildren = false;
_smoothing = _arg2;
_preFilters = new Array();
_postFilters = new Array();
_canvas = _arg1;
createBitmap();
}
public function addFilter(_arg1:BitmapFilter, _arg2:Boolean=false):void{
if (_arg2){
_postFilters.push(_arg1);
} else {
_preFilters.push(_arg1);
};
}
protected function createBitmap():void{
if (!_canvas){
return;
};
if (((_bitmap) && (_bitmapData))){
_bitmapData.dispose();
_bitmapData = null;
};
if (_bitmap){
removeChild(_bitmap);
};
_bitmap = new Bitmap(null, "auto", _smoothing);
_bitmapData = new BitmapData(_canvas.width, _canvas.height, true, 0);
_bitmap.bitmapData = _bitmapData;
addChild(_bitmap);
_bitmap.x = _canvas.x;
_bitmap.y = _canvas.y;
}
public function clearPaletteMap():void{
_colorMap = null;
}
public function get canvas():Rectangle{
return (_canvas);
}
public function removeFilter(_arg1:BitmapFilter):void{
var _local2:int;
while (_local2 < _preFilters.length) {
if (_preFilters[_local2] == _arg1){
_preFilters.splice(_local2, 1);
return;
};
_local2++;
};
_local2 = 0;
while (_local2 < _postFilters.length) {
if (_postFilters[_local2] == _arg1){
_postFilters.splice(_local2, 1);
return;
};
_local2++;
};
}
public function set canvas(_arg1:Rectangle):void{
_canvas = _arg1;
createBitmap();
}
protected function drawParticle(_arg1:Particle2D):void{
var _local2:Matrix;
_local2 = _arg1.matrixTransform;
_local2.translate(-(_canvas.x), -(_canvas.y));
_bitmapData.draw(_arg1.image, _local2, _arg1.colorTransform, DisplayObject(_arg1.image).blendMode, null, _smoothing);
}
public function setPaletteMap(_arg1:Array=null, _arg2:Array=null, _arg3:Array=null, _arg4:Array=null):void{
_colorMap = new Array(4);
_colorMap[0] = _arg4;
_colorMap[1] = _arg1;
_colorMap[2] = _arg2;
_colorMap[3] = _arg3;
}
public function get bitmapData():BitmapData{
return (_bitmapData);
}
override protected function renderParticles(_arg1:Array):void{
var _local2:int;
var _local3:int;
if (!_bitmap){
return;
};
_bitmapData.lock();
_local3 = _preFilters.length;
_local2 = 0;
while (_local2 < _local3) {
_bitmapData.applyFilter(_bitmapData, _bitmapData.rect, BitmapRenderer.ZERO_POINT, _preFilters[_local2]);
_local2++;
};
if ((((_local3 == 0)) && ((_postFilters.length == 0)))){
_bitmapData.fillRect(_bitmap.bitmapData.rect, 0);
};
_local3 = _arg1.length;
if (_local3){
_local2 = _local3;
while (_local2--) {
drawParticle(_arg1[_local2]);
};
};
_local3 = _postFilters.length;
_local2 = 0;
while (_local2 < _local3) {
_bitmapData.applyFilter(_bitmapData, _bitmapData.rect, BitmapRenderer.ZERO_POINT, _postFilters[_local2]);
_local2++;
};
if (_colorMap){
_bitmapData.paletteMap(_bitmapData, _bitmapData.rect, ZERO_POINT, _colorMap[1], _colorMap[2], _colorMap[3], _colorMap[0]);
};
_bitmapData.unlock();
}
}
}//package org.flintparticles.twoD.renderers
Section 37
//DiscZone (org.flintparticles.twoD.zones.DiscZone)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public class DiscZone implements Zone2D {
private var _innerRadius:Number;
private var _outerRadius:Number;
private var _center:Point;
private var _innerSq:Number;
private var _outerSq:Number;
private static const TWOPI:Number = 6.28318530717959;
public function DiscZone(_arg1:Point, _arg2:Number, _arg3:Number=0){
if (_arg2 < _arg3){
throw (new Error((((("The outerRadius (" + _arg2) + ") can't be smaller than the innerRadius (") + _arg3) + ") in your DiscZone. N.B. the outerRadius is the second argument in the constructor and the innerRadius is the third argument.")));
};
_center = _arg1;
_innerRadius = _arg3;
_outerRadius = _arg2;
_innerSq = (_innerRadius * _innerRadius);
_outerSq = (_outerRadius * _outerRadius);
}
public function set outerRadius(_arg1:Number):void{
_outerRadius = _arg1;
_outerSq = (_outerRadius * _outerRadius);
}
public function get center():Point{
return (_center);
}
public function getArea():Number{
return ((Math.PI * (_outerSq - _innerSq)));
}
public function getLocation():Point{
var _local1:Number = Math.random();
var _local2:Point = Point.polar((_innerRadius + ((1 - (_local1 * _local1)) * (_outerRadius - _innerRadius))), (Math.random() * TWOPI));
_local2.x = (_local2.x + _center.x);
_local2.y = (_local2.y + _center.y);
return (_local2);
}
public function get outerRadius():Number{
return (_outerRadius);
}
public function get innerRadius():Number{
return (_innerRadius);
}
public function set innerRadius(_arg1:Number):void{
_innerRadius = _arg1;
_innerSq = (_innerRadius * _innerRadius);
}
public function set center(_arg1:Point):void{
_center = _arg1;
}
public function contains(_arg1:Number, _arg2:Number):Boolean{
_arg1 = (_arg1 - _center.x);
_arg2 = (_arg2 - _center.y);
var _local3:Number = ((_arg1 * _arg1) + (_arg2 * _arg2));
return ((((_local3 <= _outerSq)) && ((_local3 >= _innerSq))));
}
}
}//package org.flintparticles.twoD.zones
Section 38
//Zone2D (org.flintparticles.twoD.zones.Zone2D)
package org.flintparticles.twoD.zones {
import flash.geom.*;
public interface Zone2D {
function getArea():Number;
function getLocation():Point;
function contains(_arg1:Number, _arg2:Number):Boolean;
}
}//package org.flintparticles.twoD.zones
Section 39
//AdultOnlySplash (AdultOnlySplash)
package {
import flash.display.*;
public dynamic class AdultOnlySplash extends MovieClip {
public function AdultOnlySplash(){
addFrameScript(68, frame69, 99, frame100);
}
function frame69(){
stop();
}
function frame100(){
visible = false;
}
}
}//package
Section 40
//advBlock1 (advBlock1)
package {
import flash.display.*;
public dynamic class advBlock1 extends MovieClip {
}
}//package
Section 41
//btnBack (btnBack)
package {
import flash.display.*;
public dynamic class btnBack extends SimpleButton {
}
}//package
Section 42
//btnContinue (btnContinue)
package {
import flash.events.*;
import flash.display.*;
public class btnContinue extends SimpleButton {
public function btnContinue(){
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
Main.Application.soundControl.Play(1, 1, false);
visible = false;
Main.Application.canPlay = true;
Main.Application.StartTimer();
}
}
}//package
Section 43
//btnFreePorn (btnFreePorn)
package {
import flash.display.*;
public dynamic class btnFreePorn extends SimpleButton {
}
}//package
Section 44
//btnIntroContinue (btnIntroContinue)
package {
import flash.events.*;
import flash.display.*;
public class btnIntroContinue extends SimpleButton {
public function btnIntroContinue(){
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
Main.Application.soundControl.Play(1, 1, false);
(parent as MovieClip).gotoAndPlay(70);
removeEventListener(MouseEvent.CLICK, onClick);
}
}
}//package
Section 45
//btnMoreGirls (btnMoreGirls)
package {
import flash.display.*;
public dynamic class btnMoreGirls extends SimpleButton {
}
}//package
Section 46
//btnMoreGirlsLevel (btnMoreGirlsLevel)
package {
import flash.events.*;
import flash.display.*;
import flash.system.*;
public class btnMoreGirlsLevel extends SimpleButton {
public function btnMoreGirlsLevel(){
Security.allowDomain("*");
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
linksManager.navigateToTDS("more-girls-level", 2);
}
}
}//package
Section 47
//btnMoreOfThis (btnMoreOfThis)
package {
import flash.events.*;
import flash.display.*;
import flash.system.*;
public class btnMoreOfThis extends SimpleButton {
public function btnMoreOfThis(){
Security.allowDomain("*");
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
linksManager.navigateToTDS("more-same-girls", 2);
}
}
}//package
Section 48
//btnMoreVideos (btnMoreVideos)
package {
import flash.display.*;
public dynamic class btnMoreVideos extends SimpleButton {
}
}//package
Section 49
//btnMyHornyBunny (btnMyHornyBunny)
package {
import flash.events.*;
import flash.display.*;
import flash.system.*;
public class btnMyHornyBunny extends SimpleButton {
public function btnMyHornyBunny(){
Security.allowDomain("*");
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
linksManager.navigateToTDS("mhb_site", 1);
}
}
}//package
Section 50
//btnPrivateContent (btnPrivateContent)
package {
import flash.display.*;
public dynamic class btnPrivateContent extends SimpleButton {
}
}//package
Section 51
//btnReplay (btnReplay)
package {
import flash.events.*;
import flash.display.*;
import flash.system.*;
public class btnReplay extends SimpleButton {
public function btnReplay(){
Security.allowDomain("*");
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent){
Main.Application.soundControl.Play(1, 1, false);
Main.Application.Replay();
}
}
}//package
Section 52
//btnSkip (btnSkip)
package {
import flash.events.*;
import flash.display.*;
import flash.system.*;
public class btnSkip extends SimpleButton {
public function btnSkip(){
Security.allowDomain("*");
useHandCursor = true;
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent){
Main.Application.soundControl.Play(1, 1, false);
parent.visible = false;
}
}
}//package
Section 53
//btnStart (btnStart)
package {
import flash.display.*;
public dynamic class btnStart extends SimpleButton {
}
}//package
Section 54
//btnTonsOfHentai (btnTonsOfHentai)
package {
import flash.display.*;
public dynamic class btnTonsOfHentai extends SimpleButton {
}
}//package
Section 55
//btnTouchSoundOff (btnTouchSoundOff)
package {
import flash.events.*;
import flash.display.*;
public class btnTouchSoundOff extends SimpleButton {
public function btnTouchSoundOff(){
this.visible = false;
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
this.visible = false;
Main.Application.soundControl.Play(1, 1, false);
Main.Application.btnTouchSoundOnMC.visible = true;
Main.Application.soundControl.TouchSound();
}
}
}//package
Section 56
//btnTouchSoundOn (btnTouchSoundOn)
package {
import flash.events.*;
import flash.display.*;
public class btnTouchSoundOn extends SimpleButton {
public function btnTouchSoundOn(){
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
this.visible = false;
Main.Application.soundControl.Play(1, 1, false);
Main.Application.btnTouchSoundOffMC.visible = true;
Main.Application.soundControl.TouchSound();
}
}
}//package
Section 57
//button_click (button_click)
package {
import flash.media.*;
public dynamic class button_click extends Sound {
}
}//package
Section 58
//change (change)
package {
import flash.media.*;
public dynamic class change extends Sound {
}
}//package
Section 59
//coin2 (coin2)
package {
import flash.media.*;
public dynamic class coin2 extends Sound {
}
}//package
Section 60
//configManager (configManager)
package {
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.display.*;
import flash.system.*;
public class configManager extends MovieClip {
var showonload:String;// = null
var popupurl:String;// = ""
var areas:Dictionary;
var areacontent:Dictionary;
var gid:String;
public var values:Array;
var ver:uint;
var configXML:XML;
public function configManager(_arg1:String, _arg2:uint, _arg3:Stage):void{
configXML = <config></config>
;
areas = new Dictionary(true);
areacontent = new Dictionary(true);
values = [];
super();
gid = _arg1;
ver = _arg2;
var _local4:URLLoader = new URLLoader();
configureListeners(_local4);
_local4.addEventListener(Event.COMPLETE, loadXML);
_local4.load(new URLRequest(((((((((tdsOptions.get_config_url + "?gameid=") + _arg1) + "&version=") + _arg2) + "&player=") + Capabilities.version) + "&referer=") + tdsOptions.referer)));
}
private function securityErrorHandler(_arg1:SecurityErrorEvent):void{
trace(("securityErrorHandler: " + _arg1));
}
function getContent(_arg1:String, _arg2:uint, _arg3:String, _arg4:Number, _arg5:Number, _arg6:String):void{
var loadcontent:Function;
var id = _arg1;
var arrid = _arg2;
var loc = _arg3;
var x = _arg4;
var y = _arg5;
var href = _arg6;
loadcontent = function (_arg1:Event):void{
var bannerid:uint;
var e = _arg1;
if (areacontent[id] == undefined){
areacontent[id] = [];
};
e.target.content.x = x;
e.target.content.y = y;
e.target.content.href = href;
e.target.content.gameid = gid;
e.target.content.version = ver;
areacontent[id][arrid] = e.target.content;
if (showonload == id){
bannerid = int((Math.random() * areacontent[id].length));
areas[id].addChild(areacontent[id][bannerid]);
if (areacontent[id][bannerid].href != ""){
areacontent[id][bannerid].addEventListener(MouseEvent.CLICK, function (_arg1:Event):void{
navigateToURL(new URLRequest(areacontent[id][bannerid].href), "_blank");
});
};
};
trace("content loaded");
trace(("LOADED_" + id));
dispatchEvent(new Event(("LOADED_" + id)));
};
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadcontent);
loader.load(new URLRequest(loc));
}
public function addArea(_arg1:String, _arg2:MovieClip):void{
var bannerid:uint;
var i:uint;
var k:uint;
var id = _arg1;
var area = _arg2;
if (areas[id] == undefined){
areas[id] = area;
if (areacontent[id] == undefined){
areacontent[id] = [];
i = 0;
while (i < configXML.stages.stage.length()) {
if (String(configXML.stages.stage[i].@name) == id){
k = 0;
while (k < configXML.stages.stage[i].banners.banner.length()) {
getContent(configXML.stages.stage[i].@name, k, configXML.stages.stage[i].banners.banner[k].@location, configXML.stages.stage[i].banners.banner[k].@x, configXML.stages.stage[i].banners.banner[k].@y, configXML.stages.stage[i].banners.banner[k].@href);
k = (k + 1);
};
};
i = (i + 1);
};
};
};
bannerid = int((Math.random() * areacontent[id].length));
if (((((!((areacontent[id][bannerid] == null))) && (!((areacontent[id][bannerid] == undefined))))) && (!(area.contains(areacontent[id][bannerid]))))){
area.addChild(areacontent[id][bannerid]);
dispatchEvent(new Event(("LOADED_" + id)));
if (areacontent[id][bannerid].href != ""){
areacontent[id][bannerid].addEventListener(MouseEvent.CLICK, function (_arg1:Event):void{
navigateToURL(new URLRequest(areacontent[id][bannerid].href), "_blank");
});
};
} else {
showonload = id;
};
trace((("start " + id) + " area"));
}
private function httpStatusHandler(_arg1:HTTPStatusEvent):void{
}
function loadXML(_arg1:Event):void{
var _local3:uint;
configXML = new XML(_arg1.target.data);
if (configXML.settings.secured_redirect != ""){
tdsOptions.secured_redirect = ((configXML.settings.secured_redirect)=="true") ? true : false;
};
var _local2:uint;
while (_local2 < configXML.stages.stage.length()) {
_local3 = 0;
while (_local3 < configXML.stages.stage[_local2].banners.banner.length()) {
if (configXML.stages.stage[_local2].banners.banner[_local3].@autoload == "true"){
trace(((("get content " + configXML.stages.stage[_local2].@name) + " loc:") + configXML.stages.stage[_local2].banners.banner[_local3].@location));
getContent(configXML.stages.stage[_local2].@name, _local3, configXML.stages.stage[_local2].banners.banner[_local3].@location, configXML.stages.stage[_local2].banners.banner[_local3].@x, configXML.stages.stage[_local2].banners.banner[_local3].@y, configXML.stages.stage[_local2].banners.banner[_local3].@href);
};
_local3++;
};
_local2++;
};
_local2 = 0;
while (_local2 < configXML.values.value.length()) {
if (String(configXML.values.value[_local2].@stagename).length > 0){
values[configXML.values.value[_local2].@name] = [configXML.values.value[_local2].@stagename, configXML.values.value[_local2].@text];
} else {
values[String(configXML.values.value[_local2].@name)] = String(configXML.values.value[_local2].@value);
};
_local2++;
};
dispatchEvent(new Event("CONFIGLOADED"));
trace("config loaded\n\n");
}
private function completeHandler(_arg1:Event):void{
}
private function progressHandler(_arg1:ProgressEvent):void{
trace(((("progressHandler loaded:" + _arg1.bytesLoaded) + " total: ") + _arg1.bytesTotal));
}
private function openHandler(_arg1:Event):void{
}
private function ioErrorHandler(_arg1:IOErrorEvent):void{
trace(("ioErrorHandler: " + _arg1));
tdsOptions.alive = false;
}
private function configureListeners(_arg1:IEventDispatcher):void{
_arg1.addEventListener(Event.COMPLETE, completeHandler);
_arg1.addEventListener(Event.OPEN, openHandler);
_arg1.addEventListener(ProgressEvent.PROGRESS, progressHandler);
_arg1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
_arg1.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
_arg1.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
}
}//package
Section 61
//control_panel (control_panel)
package {
import flash.display.*;
import flash.text.*;
public dynamic class control_panel extends MovieClip {
public var money:TextField;
public var bet:TextField;
}
}//package
Section 62
//empty (empty)
package {
import flash.display.*;
public dynamic class empty extends MovieClip {
public function empty(){
addFrameScript(0, frame1);
}
function frame1(){
alpha = 0.95;
}
}
}//package
Section 63
//finalScreen (finalScreen)
package {
import flash.display.*;
public dynamic class finalScreen extends MovieClip {
}
}//package
Section 64
//fireworkExplode (fireworkExplode)
package {
import flash.media.*;
public dynamic class fireworkExplode extends Sound {
}
}//package
Section 65
//game_over (game_over)
package {
import flash.media.*;
public dynamic class game_over extends Sound {
}
}//package
Section 66
//game_over_panel (game_over_panel)
package {
import flash.display.*;
public dynamic class game_over_panel extends MovieClip {
}
}//package
Section 67
//gameTheme (gameTheme)
package {
import flash.media.*;
public dynamic class gameTheme extends Sound {
}
}//package
Section 68
//images (images)
package {
import flash.display.*;
public dynamic class images extends MovieClip {
}
}//package
Section 69
//intro (intro)
package {
import flash.display.*;
public dynamic class intro extends MovieClip {
}
}//package
Section 70
//linksManager (linksManager)
package {
import flash.events.*;
import flash.net.*;
import flash.display.*;
public class linksManager {
public static function getRequest(_arg1:String, _arg2:String=""):URLRequest{
var _local3:URLRequest = new URLRequest(_arg1);
_local3.method = URLRequestMethod.POST;
return (_local3);
}
private static function navigateToSpareURL(_arg1:int=-1):void{
if ((((((_arg1 == -1)) || ((_arg1 < 1)))) || ((_arg1 > tdsOptions.spare_links.length)))){
_arg1 = Math.ceil((Math.random() * (tdsOptions.spare_links.length - 1)));
} else {
_arg1--;
};
navigateToURL(tdsOptions.spare_links[_arg1], "_blank");
}
private static function openHandler(_arg1:Event):void{
}
private static function ioErrorHandler(_arg1:IOErrorEvent):void{
navigateToSpareURL();
}
private static function securityErrorHandler(_arg1:SecurityErrorEvent):void{
}
private static function httpStatusHandler(_arg1:HTTPStatusEvent):void{
}
public static function navigateToTDSLink(_arg1:String, _arg2:int=-1):void{
if (tdsOptions.alive == true){
navigateToURL(getRequest(getLinkToTDS(_arg1)));
} else {
navigateToSpareURL(_arg2);
};
}
public static function navigateToTDS(_arg1:String, _arg2:int=-1):void{
if (tdsOptions.secured_redirect){
navigateToSecuredTDSLink(_arg1, _arg2);
} else {
navigateToTDSLink(_arg1, _arg2);
};
}
private static function completeHandler(_arg1:Event):void{
}
private static function configureListeners(_arg1:IEventDispatcher):void{
_arg1.addEventListener(Event.COMPLETE, completeHandler);
_arg1.addEventListener(Event.OPEN, openHandler);
_arg1.addEventListener(ProgressEvent.PROGRESS, progressHandler);
_arg1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
_arg1.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
_arg1.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
public static function navigateToSecuredTDSLink(_arg1:String, _arg2:int=-1):void{
var loader:URLLoader;
var action = _arg1;
var spare_url_id = _arg2;
if (tdsOptions.alive == true){
var navigateToLink:Function = function (_arg1:Event):void{
var _local2:XML = <config></config>
;
_local2 = new XML(_arg1.target.data);
navigateToURL(getRequest(_local2.redirect_url, _local2.referer), "_blank");
};
loader = new URLLoader();
configureListeners(loader);
loader.addEventListener(Event.COMPLETE, navigateToLink);
loader.load(getRequest(getLinkToTDS(action, true)));
} else {
navigateToSpareURL(spare_url_id);
};
}
private static function progressHandler(_arg1:ProgressEvent):void{
}
private static function getLinkToTDS(_arg1:String, _arg2:Boolean=false):String{
return ((((((((((tdsOptions.redirect_url + "?gameid=") + tdsOptions.gameid) + "&version=") + tdsOptions.version) + "&action=") + _arg1) + "&referer=") + tdsOptions.referer) + ((_arg2)==true) ? "&secured=true" : ""));
}
}
}//package
Section 71
//Main (Main)
package {
import flash.events.*;
import flash.net.*;
import flash.geom.*;
import flash.utils.*;
import org.flintparticles.common.initializers.*;
import org.flintparticles.common.actions.*;
import org.flintparticles.common.counters.*;
import flash.display.*;
import org.flintparticles.twoD.zones.*;
import flash.filters.*;
import org.flintparticles.common.energyEasing.*;
import org.flintparticles.twoD.initializers.*;
import org.flintparticles.twoD.actions.*;
import org.flintparticles.twoD.emitters.*;
import org.flintparticles.common.displayObjects.*;
import flash.text.*;
import org.flintparticles.twoD.renderers.*;
import flash.system.*;
import org.flintparticles.twoD.activities.*;
public class Main extends MovieClip {
public var aBlock1:advBlock1;
public var gameWin:Boolean;// = false
public var finalMC:finalScreen;
private var imagesMC:images;
public var loader:URLLoader;
private var plist:Array;
public var gameLoaded:Boolean;// = false
public var btnTouchSoundOffMC:btnTouchSoundOff;
public var ProgressBarMC:MovieClip;
public var config_loaded:Boolean;// = false
public var canPlay:Boolean;// = true
private var current_frame:uint;// = 1
public var gameStarted:Boolean;// = false
public var btnMoreGirlsLevelMC:btnMoreGirlsLevel;
private var progressBar:Sprite;
public var btnReplayMC:btnReplay;
public var fireworks_emitter:Emitter2D;
public var points_panelMC:points_panel;
public var AdultOnlySplashMC:AdultOnlySplash;
public var config:configManager;
private var scroll_timer:Timer;
public var soundControl:SoundControl;
public var btnTouchSoundOnMC:btnTouchSoundOn;
public var points:uint;// = 0
public var caption:TextField;
public var k:uint;// = 5
public var g_width:Number;// = 550
public var t:uint;// = 35
public var g_height:Number;// = 400
public static var Application:Main;
public function Main(){
stop();
Application = this;
Security.allowDomain("*");
tdsOptions.setReferer(loaderInfo.url, loaderInfo.loaderURL);
config = new configManager(tdsOptions.gameid, tdsOptions.version, stage);
config.addEventListener("CONFIGLOADED", cfgLoaded);
stage.showDefaultContextMenu = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
progressBar = (getChildByName("ProgressBarMC") as Sprite);
progressBar.scaleX = 0;
addEventListener(Event.ENTER_FRAME, Update);
if ((((loaderInfo.bytesLoaded == loaderInfo.bytesTotal)) && (!((gameLoaded == true))))){
gotoAndStop(1, "Game");
Init();
return;
};
loaderInfo.addEventListener(Event.COMPLETE, loadingComplite);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderUpdate);
}
public function Replay(){
finalMC.visible = false;
points = 0;
points_panelMC.p.text = points.toString();
InitContent();
(canPlay == true);
}
public function cfgLoaded(_arg1:Event):void{
config_loaded = true;
}
public function loadingComplite(_arg1:Event):void{
if (gameLoaded == true){
return;
};
gotoAndStop(1, "Game");
Init();
}
public function InitContent():void{
var _local2:Number;
var _local4:int;
plist = new Array();
var _local1:Boolean;
var _local3:int;
while (_local3 < Math.round((imagesMC.totalFrames / 3))) {
_local1 = false;
_local2 = (Math.round((Math.random() * (imagesMC.totalFrames - 1))) + 1);
_local4 = 0;
while (_local4 < _local3) {
if (plist[_local4] == _local2){
_local1 = true;
break;
};
_local4++;
};
if (_local1 == true){
while (_local1 == true) {
_local1 = false;
_local2 = (Math.round((Math.random() * (imagesMC.totalFrames - 1))) + 1);
_local4 = 0;
while (_local4 < _local3) {
if (plist[_local4] == _local2){
_local1 = true;
};
_local4++;
};
};
};
plist.push(_local2);
_local3++;
};
StartTimer((t * Math.round(((Math.random() * k) + 1))));
}
public function StartTimer(_arg1:uint=50):void{
scroll_timer = new Timer(_arg1, 1);
scroll_timer.addEventListener(TimerEvent.TIMER, timerTickHandler);
scroll_timer.start();
}
function Init():void{
if (gameLoaded == true){
return;
};
gameLoaded = true;
soundControl = new SoundControl();
soundControl.AddSound(new gameTheme());
soundControl.AddSound(new button_click());
soundControl.AddSound(new game_over());
soundControl.AddSound(new tada());
soundControl.AddSound(new fireworkExplode());
soundControl.AddSound(new change());
soundControl.Play(0, 0, false);
imagesMC = new images();
addChild(imagesMC);
imagesMC.gotoAndStop(1);
imagesMC.addEventListener(MouseEvent.CLICK, onClick);
fireworks_emitter = new Emitter2D();
fireworks_emitter.counter = new Blast(275);
fireworks_emitter.addInitializer(new SharedImage(new Dot(2)));
fireworks_emitter.addInitializer(new ColorInit(4294967040, 4294927872));
fireworks_emitter.addInitializer(new Velocity(new DiscZone(new Point(0, 0), 450, 120)));
fireworks_emitter.addInitializer(new Lifetime(1));
fireworks_emitter.addAction(new Age(Quadratic.easeIn));
fireworks_emitter.addAction(new Move());
fireworks_emitter.addAction(new Fade());
fireworks_emitter.addAction(new Accelerate(0, 0));
fireworks_emitter.addAction(new LinearDrag(0.5));
var _local1:BitmapRenderer = new BitmapRenderer(new Rectangle(0, 0, g_width, g_height));
_local1.addFilter(new BlurFilter(2, 2, 1));
_local1.addFilter(new ColorMatrixFilter([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.95, 0]));
_local1.addEmitter(fireworks_emitter);
addChild(_local1);
fireworks_emitter.x = (g_width / 2);
fireworks_emitter.y = (g_height / 2);
points_panelMC = new points_panel();
addChild(points_panelMC);
points_panelMC.x = 5;
points_panelMC.y = 365;
btnReplayMC = new btnReplay();
addChild(btnReplayMC);
btnReplayMC.x = 455;
btnReplayMC.y = 365;
var _local2:intro = new intro();
addChild(_local2);
_local2.x = 75;
_local2.y = 32;
finalMC = new finalScreen();
addChild(finalMC);
finalMC.visible = false;
finalMC.x = 75;
finalMC.y = 32;
btnTouchSoundOffMC = new btnTouchSoundOff();
addChild(btnTouchSoundOffMC);
btnTouchSoundOffMC.visible = false;
btnTouchSoundOffMC.x = 435;
btnTouchSoundOffMC.y = 5;
btnTouchSoundOnMC = new btnTouchSoundOn();
addChild(btnTouchSoundOnMC);
btnTouchSoundOnMC.visible = true;
btnTouchSoundOnMC.x = 435;
btnTouchSoundOnMC.y = 5;
btnMoreGirlsLevelMC = new btnMoreGirlsLevel();
addChild(btnMoreGirlsLevelMC);
btnMoreGirlsLevelMC.x = -5;
btnMoreGirlsLevelMC.y = 5;
AdultOnlySplashMC = new AdultOnlySplash();
addChild(AdultOnlySplashMC);
InitContent();
}
public function loaderUpdate(_arg1:ProgressEvent):void{
var _local2:Number = Math.floor(((_arg1.bytesLoaded * 100) / _arg1.bytesTotal));
progressBar.scaleX = (_local2 / 100);
if (_local2 == 100){
gotoAndStop(1, "Game");
Init();
};
}
private function StopTimer(){
scroll_timer.stop();
scroll_timer.removeEventListener(TimerEvent.TIMER, timerTickHandler);
}
private function Update(_arg1:Event):void{
if (gameLoaded == false){
return;
};
}
private function onClick(_arg1:Event):void{
var _local2:Number;
if (canPlay == true){
canPlay = false;
_local2 = (((k + 2) - Math.round((scroll_timer.delay / t))) * 2);
points = (points + _local2);
points_panelMC.p.text = ((("(+" + _local2) + ") ") + points.toString());
if (points >= 100){
finalMC.visible = true;
};
StopTimer();
fireworks_emitter.start();
soundControl.Play(4, 1, false);
} else {
if ((((canPlay == false)) && ((points < 100)))){
canPlay = true;
StartTimer((t * Math.round(((Math.random() * k) + 1))));
};
};
}
private function timerTickHandler(_arg1:Event):void{
soundControl.Play(5, 1, false);
imagesMC.gotoAndStop(plist[current_frame++]);
if (current_frame >= plist.length){
current_frame = 0;
};
StopTimer();
StartTimer((t * Math.round(((Math.random() * k) + 1))));
}
}
}//package
Section 72
//mini_panel (mini_panel)
package {
import flash.display.*;
public dynamic class mini_panel extends MovieClip {
}
}//package
Section 73
//panel (panel)
package {
import flash.display.*;
public dynamic class panel extends MovieClip {
}
}//package
Section 74
//panel2 (panel2)
package {
import flash.display.*;
public dynamic class panel2 extends MovieClip {
}
}//package
Section 75
//points_panel (points_panel)
package {
import flash.display.*;
import flash.text.*;
public dynamic class points_panel extends MovieClip {
public var p:TextField;
}
}//package
Section 76
//SoundControl (SoundControl)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class SoundControl extends Sprite {
private var sndTransform:Array;
private var sndNum:int;// = 0
private var channel:Array;
private var sound:Array;
private var globalSwitch:Boolean;// = true
private var loopPlay:Array;
private var sndSwitch:Array;
public function SoundControl(){
sound = new Array();
channel = new Array();
sndTransform = new Array();
sndSwitch = new Array();
loopPlay = new Array();
super();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function Stop(_arg1:int):void{
sndSwitch[_arg1] = false;
}
public function Play(_arg1:int, _arg2:int, _arg3:Boolean=false):void{
sndSwitch[_arg1] = true;
if (!loopPlay[_arg1]){
if (_arg2 == 0){
loopPlay[_arg1] = true;
};
if (((!(globalSwitch)) || (_arg3))){
sndTransform[_arg1].volume = 0;
};
channel[_arg1] = sound[_arg1].play(0, ((_arg2)>0) ? _arg2 : 999999, sndTransform[_arg1]);
};
}
public function AddSound(_arg1:Object):void{
sound[sndNum] = _arg1;
channel[sndNum] = new SoundChannel();
sndTransform[sndNum] = new SoundTransform();
sndSwitch[sndNum] = true;
loopPlay[sndNum] = false;
sndNum++;
}
private function onEnterFrame(_arg1:Event):void{
var _local2:int;
while (_local2 < sndNum) {
if (((((!(globalSwitch)) || (!(sndSwitch[_local2])))) && ((sndTransform[_local2].volume > 0)))){
sndTransform[_local2].volume = (sndTransform[_local2].volume - 0.05);
channel[_local2].soundTransform = sndTransform[_local2];
if (sndTransform[_local2].volume <= 0.07){
sndTransform[_local2].volume = 0;
channel[_local2].soundTransform = sndTransform[_local2];
};
} else {
if (((((globalSwitch) && (sndSwitch[_local2]))) && ((sndTransform[_local2].volume < 1)))){
sndTransform[_local2].volume = (sndTransform[_local2].volume + 0.05);
channel[_local2].soundTransform = sndTransform[_local2];
if (sndTransform[_local2].volume >= 0.93){
sndTransform[_local2].volume = 1;
channel[_local2].soundTransform = sndTransform[_local2];
};
};
};
_local2++;
};
}
public function TouchSound():void{
if (sndNum == 0){
return;
};
globalSwitch = !(globalSwitch);
if (globalSwitch){
sndTransform[0].volume = 1;
channel[0].soundTransform = sndTransform[0];
};
}
}
}//package
Section 77
//tada (tada)
package {
import flash.media.*;
public dynamic class tada extends Sound {
}
}//package
Section 78
//tdsOptions (tdsOptions)
package {
public class tdsOptions {
public static const redirect_url:String = (("http://" + host) + "/redirect.php");
public static const gameid:String = "simple_hentai_roller";
public static const version:uint = 1;
public static const host:String = "tds.myhornybunny.com";
public static const link_count_url:String = (("http://" + host) + "/countLink.php");
public static const get_config_url:String = (("http://" + host) + "/getConfig.php");
public static var alive:Boolean = true;
public static var secured_redirect:Boolean = true;
public static var spare_links:Array = new Array("http://myhornybunny.com/", "http://www.sextronix.com/hit/76/109039/2/1/shr/");
public static var country:String;
public static var language:String;
public static var referer:String;
public static function setReferer(_arg1:String, _arg2:String):void{
if ((((_arg1 == null)) || ((_arg1 == "")))){
_arg1 = _arg2;
};
referer = "";
if (_arg1 == null){
referer = "empty";
} else {
if (_arg1.substr(0, 7) == "file://"){
referer = "local";
};
};
if (referer != ""){
return;
};
if (_arg1.indexOf("http://") != -1){
_arg1 = _arg1.substr(7);
};
if (_arg1.indexOf("/") != -1){
_arg1 = _arg1.substr(0, _arg1.indexOf("/"));
};
referer = _arg1;
}
}
}//package