Section 1
//Connector (app.connector.Connector)
package app.connector {
import flash.events.*;
import shell.*;
public class Connector extends EventDispatcher {
protected static var missions:Array;
public static var CONNECTOR_READY:String = "Connector_ready";
public static var _current_mission_id:Number;
public static var instance:Connector;
public static var _current_mission:Number;
public function Connector(){
if (instance == null){
instance = this;
} else {
trace("Connector is a singleton: can only be instantiated once");
};
}
public function init():void{
onLevelsLoaded();
_current_mission_id = 0;
}
public function onLevelsLoaded():void{
var _local3:*;
var _local1 = "[{\"name\":\"1\",\"mission_data\":[ {\"injuries\":[{\"id\":1, \"x\":146, \"y\":128, \"rotation\":50, \"scale\":1}, {\"id\":1, \"x\":440, \"y\":281, \"rotation\":120, \"scale\":1}, {\"id\":1, \"x\":340, \"y\":169, \"rotation\":50, \"scale\":1}], \"body_level\":1, \"bg\":\"torso\", \"time\":3800, \"health\":90}, {\"injuries\":[{\"id\":2, \"x\":287, \"y\":207, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"torso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":1, \"x\":119, \"y\":88, \"rotation\":20, \"scale\":1},{\"id\":5, \"x\":140, \"y\":200, \"rotation\":40, \"scale\":1}, {\"id\":1, \"x\":174, \"y\":277, \"rotation\":60, \"scale\":1}, {\"id\":5, \"x\":289, \"y\":137, \"rotation\":100, \"scale\":1}, {\"id\":3, \"x\":465, \"y\":255, \"rotation\":100, \"scale\":1}, {\"id\":5, \"x\":400, \"y\":320, \"rotation\":100, \"scale\":1}], \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":287, \"y\":207, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"torso\", \"time\":-1, \"health\":-1}], \"tools\":[]},{\"name\":\"2\",\"mission_data\":[{\"injuries\":[{\"id\":7, \"x\":155, \"y\":176, \"rotation\":30, \"scale\":1},{\"id\":7, \"x\":420, \"y\":323, \"rotation\":140, \"scale\":1}], \"body_level\":1, \"bg\":\"aliastorso\", \"time\":4700, \"health\":85}, {\"injuries\":[{\"id\":2, \"x\":295, \"y\":207, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"aliastorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":9, \"x\":192, \"y\":308, \"rotation\":60, \"scale\":1}], \"body_level\":2, \"bg\":\"stomachinner\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":295, \"y\":207, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"aliastorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":340, \"y\":327, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"aliastorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":275, \"y\":277, \"rotation\":45, \"scale\":1}], \"body_level\":2, \"bg\":\"intestine\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":8, \"x\":290, \"y\":195, \"rotation\":10, \"scale\":1}], \"body_level\":3, \"bg\":\"intestineinner\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":275, \"y\":277, \"rotation\":45, \"scale\":1}], \"body_level\":2, \"bg\":\"intestine\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":340, \"y\":327, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"aliastorso\", \"time\":-1, \"health\":-1}], \"tools\":[1, 2, 3, 4, 5]},{\"name\":\"3\",\"mission_data\":[{\"injuries\":[{\"id\":1, \"x\":110, \"y\":182, \"rotation\":95, \"scale\":1},{\"id\":3, \"x\":149, \"y\":362, \"rotation\":200, \"scale\":1},{\"id\":1, \"x\":267, \"y\":296, \"rotation\":10, \"scale\":1},{\"id\":1, \"x\":488, \"y\":187, \"rotation\":300, \"scale\":1},{\"id\":5, \"x\":335, \"y\":152, \"rotation\":40, \"scale\":1},{\"id\":45, \"x\":450, \"y\":360, \"rotation\":140, \"scale\":1}], \"body_level\":1, \"bg\":\"thimbletorso\", \"time\":5800, \"health\":10}, {\"injuries\":[{\"id\":2, \"x\":420, \"y\":270, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"thimbletorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":5, \"x\":104, \"y\":196, \"rotation\":20, \"scale\":1}, {\"id\":46, \"x\":383, \"y\":240, \"rotation\":120, \"scale\":1},{\"id\":46, \"x\":175, \"y\":361, \"rotation\":320, \"scale\":1}, {\"id\":1, \"x\":240, \"y\":284, \"rotation\":90, \"scale\":1}, {\"id\":3, \"x\":427, \"y\":382, \"rotation\":230, \"scale\":1}], \"body_level\":2, \"bg\":\"kidneys\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":420, \"y\":270, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"thimbletorso\", \"time\":-1, \"health\":-1}], \"tools\":[1, 2, 3, 4, 5, 6, 10]},{\"name\":\"4\",\"mission_data\":[{\"injuries\":[{\"id\":2, \"x\":106, \"y\":146, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"dicktorso\", \"time\":7800, \"health\":50}, {\"injuries\":[{\"id\":60, \"x\":313, \"y\":271, \"rotation\":0, \"scale\":1}, {\"id\":15, \"x\":152, \"y\":442, \"rotation\":220, \"scale\":1}], \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":106, \"y\":146, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"dicktorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":348, \"y\":410, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"dicktorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":59, \"x\":291, \"y\":296, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":348, \"y\":410, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"dicktorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":290, \"y\":257, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"dicktorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":67, \"x\":299, \"y\":250, \"rotation\":0, \"scale\":1}, {\"id\":15, \"x\":148, \"y\":347, \"rotation\":100, \"scale\":1}, {\"id\":16, \"x\":528, \"y\":191, \"rotation\":30, \"scale\":1}], \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":290, \"y\":257, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"dicktorso\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 8, 10]},{\"name\":\"5\",\"mission_data\":[{\"injuries\":[{\"id\":2, \"x\":368, \"y\":340, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"misstorso\", \"time\":7800, \"health\":50}, {\"injuries\":[{\"id\":64, \"x\":115, \"y\":252, \"rotation\":315, \"scale\":1}], \"body_level\":2, \"bg\":\"lungs\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":64, \"x\":465, \"y\":262, \"rotation\":135, \"scale\":1}], \"body_level\":2, \"bg\":\"lungs\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":63, \"x\":368, \"y\":340, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"misstorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":434, \"y\":210, \"rotation\":110, \"scale\":1}], \"body_level\":1, \"bg\":\"misstorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":64, \"x\":145, \"y\":286, \"rotation\":315, \"scale\":1}], \"body_level\":2, \"bg\":\"heart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":64, \"x\":340, \"y\":364, \"rotation\":225, \"scale\":1}], \"body_level\":2, \"bg\":\"heart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":64, \"x\":226, \"y\":109, \"rotation\":45, \"scale\":1}], \"body_level\":2, \"bg\":\"heart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":64, \"x\":447, \"y\":193, \"rotation\":135, \"scale\":1}], \"body_level\":2, \"bg\":\"heart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":63, \"x\":434, \"y\":210, \"rotation\":110, \"scale\":1}], \"body_level\":1, \"bg\":\"misstorso2\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 10]},{\"name\":\"6\",\"mission_data\":[{\"injuries\":[{\"id\":1, \"x\":98, \"y\":189, \"rotation\":100, \"scale\":1}, {\"id\":3, \"x\":131, \"y\":296, \"rotation\":20, \"scale\":1}, {\"id\":1, \"x\":246, \"y\":221, \"rotation\":270, \"scale\":1}, {\"id\":1, \"x\":261, \"y\":311, \"rotation\":10, \"scale\":1}, {\"id\":3, \"x\":425, \"y\":282, \"rotation\":100, \"scale\":1}, {\"id\":1, \"x\":425, \"y\":170, \"rotation\":200, \"scale\":1}], \"body_level\":1, \"bg\":\"throbbingtorso\", \"time\":10200, \"health\":25}, {\"injuries\":[{\"id\":2, \"x\":407, \"y\":206, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"throbbingtorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":1, \"x\":127, \"y\":111, \"rotation\":320, \"scale\":1}, {\"id\":3, \"x\":173, \"y\":257, \"rotation\":70, \"scale\":1}, {\"id\":1, \"x\":299, \"y\":169, \"rotation\":10, \"scale\":1}, {\"id\":3, \"x\":406, \"y\":285, \"rotation\":200, \"scale\":1}, {\"id\":10, \"x\":104, \"y\":280, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"heart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":407, \"y\":206, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"throbbingtorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":245, \"y\":362, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"throbbingtorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":1, \"x\":90, \"y\":133, \"rotation\":90, \"scale\":1}, {\"id\":1, \"x\":100, \"y\":245, \"rotation\":250, \"scale\":1}, {\"id\":1, \"x\":211, \"y\":175, \"rotation\":10, \"scale\":1}, {\"id\":1, \"x\":271, \"y\":260, \"rotation\":350, \"scale\":1}, {\"id\":1, \"x\":432, \"y\":243, \"rotation\":280, \"scale\":1}, {\"id\":1, \"x\":396, \"y\":155, \"rotation\":200, \"scale\":1}, {\"id\":10, \"x\":104, \"y\":160, \"rotation\":0, \"scale\":1}, {\"id\":10, \"x\":350, \"y\":400, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"liver\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":245, \"y\":362, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"throbbingtorso\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 10]},{\"name\":\"7\",\"mission_data\":[{\"injuries\":[{\"id\":61, \"x\":293, \"y\":202, \"rotation\":0, \"scale\":1}], \"organs\":[{\"type\":\"game.model.assets.organs.ClownEyeAS\", \"x\":121, \"y\":164}, {\"type\":\"game.model.assets.organs.ClownEyeAS\", \"x\":488, \"y\":164}], \"body_level\":1, \"bg\":\"clownface\", \"time\":6800, \"health\":55}, {\"injuries\":[{\"id\":2, \"x\":350, \"y\":230, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"clowntorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":56, \"x\":-1, \"y\":-1, \"rotation\":0, \"scale\":1}, {\"id\":3, \"x\":504, \"y\":272, \"rotation\":60, \"scale\":1}, {\"id\":1, \"x\":354, \"y\":313, \"rotation\":20, \"scale\":1}, {\"id\":1, \"x\":297, \"y\":175, \"rotation\":200, \"scale\":1}, {\"id\":1, \"x\":119, \"y\":234, \"rotation\":260, \"scale\":1}], \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":350, \"y\":230, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"clowntorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":355, \"y\":288, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"clowntorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":65, \"x\":355, \"y\":250, \"rotation\":90, \"scale\":1}], \"body_level\":2, \"bg\":\"stomachinner\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":355, \"y\":288, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"clowntorso\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 10]},{\"name\":\"8\",\"mission_data\":[{\"injuries\":[{\"id\":1, \"x\":111, \"y\":205, \"rotation\":80, \"scale\":1},{\"id\":3, \"x\":241, \"y\":244, \"rotation\":20, \"scale\":1}, {\"id\":1, \"x\":426, \"y\":266, \"rotation\":300, \"scale\":1}, {\"id\":1, \"x\":326, \"y\":204, \"rotation\":80, \"scale\":1}], \"body_level\":1, \"bg\":\"shametorso\", \"time\":7900, \"health\":40}, {\"injuries\":[{\"id\":2, \"x\":420, \"y\":270, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"shametorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":12, \"x\":100, \"y\":268, \"rotation\":0, \"scale\":1}, {\"id\":12, \"x\":239, \"y\":352, \"rotation\":0, \"scale\":1}, {\"id\":12, \"x\":415, \"y\":263, \"rotation\":0, \"scale\":1}, {\"id\":12, \"x\":479, \"y\":180, \"rotation\":0, \"scale\":1}, {\"id\":12, \"x\":291, \"y\":144, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"liver\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":420, \"y\":270, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"shametorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":280, \"y\":210, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"knee\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":14, \"x\":295, \"y\":300, \"rotation\":0, \"scale\":1}, {\"id\":15, \"x\":155, \"y\":110, \"rotation\":50, \"scale\":1}, {\"id\":16, \"x\":480, \"y\":340, \"rotation\":350, \"scale\":1}], \"body_level\":2, \"bg\":\"kneeInside\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":280, \"y\":210, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"knee\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":310, \"y\":230, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"thigh\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":21, \"x\":260, \"y\":280, \"rotation\":0, \"scale\":1}, {\"id\":22, \"x\":150, \"y\":270, \"rotation\":10, \"scale\":1}, {\"id\":23, \"x\":450, \"y\":140, \"rotation\":80, \"scale\":1}], \"body_level\":2, \"bg\":\"thighInside\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":310, \"y\":230, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"thigh\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"9\",\"mission_data\":[{\"injuries\":[{\"id\":2, \"x\":486, \"y\":191, \"rotation\":45, \"scale\":1}], \"torch\":true, \"body_level\":1, \"bg\":\"horacetorso\", \"time\":6800, \"health\":20}, {\"injuries\":[{\"id\":1, \"x\":350, \"y\":260, \"rotation\":80, \"scale\":1},{\"id\":1, \"x\":160, \"y\":190, \"rotation\":200, \"scale\":1},{\"id\":1, \"x\":460, \"y\":400, \"rotation\":45, \"scale\":1},{\"id\":1, \"x\":500, \"y\":220, \"rotation\":10, \"scale\":1},{\"id\":12, \"x\":404, \"y\":329, \"rotation\":0, \"scale\":1}, {\"id\":12, \"x\":124, \"y\":222, \"rotation\":0, \"scale\":1}], \"torch\":true,\"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":486, \"y\":191, \"rotation\":45, \"scale\":1}], \"torch\":true,\"body_level\":1, \"bg\":\"horacetorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":300, \"y\":240, \"rotation\":0, \"scale\":1}], \"torch\":true,\"body_level\":1, \"bg\":\"horacetorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":38, \"x\":-1, \"y\":-1, \"rotation\":45, \"scale\":1}, {\"id\":12, \"x\":118, \"y\":216, \"rotation\":0, \"scale\":1}, {\"id\":12, \"x\":507, \"y\":399, \"rotation\":0, \"scale\":1}, {\"id\":12, \"x\":473, \"y\":203, \"rotation\":0, \"scale\":1}, {\"id\":1, \"x\":258, \"y\":249, \"rotation\":45, \"scale\":1}, {\"id\":1, \"x\":155, \"y\":296, \"rotation\":120, \"scale\":1}, {\"id\":1, \"x\":150, \"y\":363, \"rotation\":10, \"scale\":1}, {\"id\":1, \"x\":438, \"y\":331, \"rotation\":250, \"scale\":1}, {\"id\":1, \"x\":307, \"y\":388, \"rotation\":20, \"scale\":1}], \"torch\":true,\"body_level\":2, \"bg\":\"kidneys\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":300, \"y\":240, \"rotation\":0, \"scale\":1}], \"torch\":true,\"body_level\":1, \"bg\":\"horacetorso\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"10\",\"mission_data\":[{\"injuries\":[{\"id\":82, \"x\":92, \"y\":159, \"rotation\":30, \"scale\":1}, {\"id\":82, \"x\":141, \"y\":214, \"rotation\":190, \"scale\":1}, {\"id\":82, \"x\":500, \"y\":356, \"rotation\":110, \"scale\":1}, {\"id\":83, \"x\":348, \"y\":275, \"rotation\":220, \"scale\":1}, {\"id\":86, \"x\":488, \"y\":185, \"rotation\":200, \"scale\":1}, {\"id\":86, \"x\":104, \"y\":317, \"rotation\":340, \"scale\":1}, {\"id\":84, \"x\":289, \"y\":195, \"rotation\":0, \"scale\":1}, {\"id\":84, \"x\":238, \"y\":388, \"rotation\":0, \"scale\":1}, {\"id\":85, \"x\":289, \"y\":195, \"rotation\":0, \"scale\":1}, {\"id\":85, \"x\":238, \"y\":388, \"rotation\":0, \"scale\":1}], \"torch\":true, \"body_level\":1, \"bg\":\"vladtorso\", \"time\":10500, \"health\":60}, {\"injuries\":[{\"id\":2, \"x\":350, \"y\":310, \"rotation\":90, \"scale\":1}], \"torch\":true, \"body_level\":1, \"bg\":\"vladtorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":87, \"x\":424, \"y\":381, \"rotation\":90, \"scale\":1}, {\"id\":12, \"x\":360, \"y\":381, \"rotation\":0, \"scale\":1}, {\"id\":87, \"x\":252, \"y\":162, \"rotation\":10, \"scale\":1}, {\"id\":12, \"x\":245, \"y\":220, \"rotation\":0, \"scale\":1}, {\"id\":88, \"x\":202, \"y\":379, \"rotation\":120, \"scale\":1}, {\"id\":84, \"x\":121, \"y\":334, \"rotation\":0, \"scale\":1}, {\"id\":84, \"x\":172, \"y\":363, \"rotation\":0, \"scale\":1}, {\"id\":88, \"x\":483, \"y\":194, \"rotation\":30, \"scale\":1}, {\"id\":84, \"x\":471, \"y\":221, \"rotation\":0, \"scale\":1}, {\"id\":84, \"x\":442, \"y\":266, \"rotation\":0, \"scale\":1}], \"torch\":true, \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":83, \"x\":350, \"y\":310, \"rotation\":90, \"scale\":1}], \"torch\":true, \"body_level\":1, \"bg\":\"vladtorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":300, \"y\":210, \"rotation\":0, \"scale\":1}], \"torch\":true, \"body_level\":1, \"bg\":\"vladtorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":91, \"x\":100, \"y\":293, \"rotation\":0, \"scale\":1}, {\"id\":91, \"x\":295, \"y\":293, \"rotation\":0, \"scale\":1}, {\"id\":91, \"x\":495, \"y\":293, \"rotation\":0, \"scale\":1}], \"torch\":true, \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":83, \"x\":300, \"y\":210, \"rotation\":0, \"scale\":1}], \"torch\":true, \"body_level\":1, \"bg\":\"vladtorso\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"11\",\"mission_data\":[{\"injuries\":[{\"id\":1, \"x\":110, \"y\":166, \"rotation\":120, \"scale\":1}, {\"id\":3, \"x\":77, \"y\":366, \"rotation\":250, \"scale\":1}, {\"id\":5, \"x\":464, \"y\":250, \"rotation\":300, \"scale\":1}, {\"id\":5, \"x\":238, \"y\":194, \"rotation\":80, \"scale\":1}, {\"id\":1, \"x\":416, \"y\":129, \"rotation\":30, \"scale\":1}, {\"id\":3, \"x\":222, \"y\":324, \"rotation\":40, \"scale\":1}, {\"id\":1, \"x\":394, \"y\":383, \"rotation\":160, \"scale\":1}], \"body_level\":1, \"bg\":\"fixittorso\", \"time\":11500, \"health\":30}, {\"injuries\":[{\"id\":2, \"x\":305, \"y\":216, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"fixittorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":5, \"x\":383, \"y\":200, \"rotation\":330, \"scale\":1}, {\"id\":5, \"x\":277, \"y\":382, \"rotation\":60, \"scale\":1}, {\"id\":1, \"x\":114, \"y\":272, \"rotation\":100, \"scale\":1}, {\"id\":3, \"x\":227, \"y\":160, \"rotation\":10, \"scale\":1}, {\"id\":3, \"x\":489, \"y\":350, \"rotation\":250, \"scale\":1}], \"body_level\":2, \"bg\":\"lungs\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":305, \"y\":216, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"fixittorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":350, \"y\":300, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"fixittorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":5, \"x\":250, \"y\":160, \"rotation\":290, \"scale\":1}, {\"id\":5, \"x\":343, \"y\":339, \"rotation\":50, \"scale\":1},{\"id\":7, \"x\":429, \"y\":209, \"rotation\":200, \"scale\":1}, {\"id\":7, \"x\":133, \"y\":281, \"rotation\":160, \"scale\":1}], \"body_level\":2, \"bg\":\"liver\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":350, \"y\":300, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"fixittorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":330, \"y\":330, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"fixittorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":24, \"x\":290, \"y\":242, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":330, \"y\":330, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"fixittorso\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"12\",\"mission_data\":[{\"injuries\":[{\"id\":42, \"x\":300, \"y\":310, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"wood\", \"time\":9500, \"health\":50}, {\"injuries\":[{\"id\":43, \"x\":300, \"y\":310, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"wood2\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":355, \"y\":160, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"pigTorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":44, \"x\":300, \"y\":280, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":355, \"y\":160, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"pigTorso\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"13\",\"mission_data\":[{\"injuries\":[{\"id\":49, \"x\":77, \"y\":157, \"rotation\":0, \"scale\":1}, {\"id\":49, \"x\":103, \"y\":332, \"rotation\":0, \"scale\":1}, {\"id\":49, \"x\":247, \"y\":272, \"rotation\":0, \"scale\":1}, {\"id\":49, \"x\":386, \"y\":172, \"rotation\":0, \"scale\":1}, {\"id\":49, \"x\":499, \"y\":259, \"rotation\":0, \"scale\":1}, {\"id\":49, \"x\":342, \"y\":373, \"rotation\":0, \"scale\":1}, {\"id\":49, \"x\":483, \"y\":405, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"piratetorso\", \"time\":9500, \"health\":30}, {\"injuries\":[{\"id\":2, \"x\":486, \"y\":191, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"piratetorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":280, \"y\":182, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"pirateheart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":47, \"x\":300, \"y\":300, \"rotation\":0, \"scale\":1}], \"body_level\":3, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":51, \"x\":143, \"y\":235, \"rotation\":225, \"scale\":1}, {\"id\":52, \"x\":210, \"y\":350, \"rotation\":150, \"scale\":1}, {\"id\":53, \"x\":380, \"y\":150, \"rotation\":-25, \"scale\":1}, {\"id\":54, \"x\":428, \"y\":274, \"rotation\":45, \"scale\":1}, {\"id\":55, \"x\":330, \"y\":375, \"rotation\":90, \"scale\":1}, {\"id\":3, \"x\":280, \"y\":182, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"heart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":486, \"y\":191, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"piratetorso\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"14\",\"mission_data\":[{\"injuries\":[{\"id\":2, \"x\":355, \"y\":250, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"starlatorso\", \"time\":9500, \"health\":70}, {\"injuries\":[{\"id\":68, \"x\":150, \"y\":370, \"rotation\":0, \"scale\":1}, {\"id\":68, \"x\":450, \"y\":180, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"fatbg\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":355, \"y\":250, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"starlatorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":70, \"x\":219, \"y\":187, \"rotation\":0, \"scale\":1}, {\"id\":71, \"x\":231, \"y\":245, \"rotation\":0, \"scale\":1}, {\"id\":75, \"x\":388, \"y\":187, \"rotation\":0, \"scale\":1}, {\"id\":76, \"x\":378, \"y\":245, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"starlalips\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":301, \"y\":214, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"starlanose\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":72, \"x\":301, \"y\":299, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":301, \"y\":214, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"starlanose\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":73, \"x\":298, \"y\":264, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"starlabrow\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"15\",\"mission_data\":[{\"injuries\":[{\"id\":37, \"x\":578, \"y\":208, \"rotation\":110, \"scale\":1}, {\"id\":36, \"x\":154, \"y\":420, \"rotation\":250, \"scale\":1}, {\"id\":1, \"x\":519, \"y\":400, \"rotation\":120, \"scale\":1}, {\"id\":1, \"x\":429, \"y\":420, \"rotation\":160, \"scale\":1}, {\"id\":1, \"x\":220, \"y\":130, \"rotation\":340, \"scale\":1}, {\"id\":3, \"x\":337, \"y\":138, \"rotation\":310, \"scale\":1}, {\"id\":1, \"x\":120, \"y\":350, \"rotation\":200, \"scale\":1}, {\"id\":1, \"x\":360, \"y\":218, \"rotation\":300, \"scale\":1}, {\"id\":3, \"x\":324, \"y\":431, \"rotation\":219, \"scale\":1}, {\"id\":34, \"x\":55, \"y\":264, \"rotation\":250, \"scale\":1}, {\"id\":35, \"x\":123, \"y\":207, \"rotation\":270, \"scale\":1}, {\"id\":34, \"x\":189, \"y\":254, \"rotation\":290, \"scale\":1}], \"body_level\":1, \"bg\":\"chucktorso\", \"time\":5000, \"health\":20}, {\"injuries\":[{\"id\":3, \"x\":536, \"y\":90, \"rotation\":30, \"scale\":1}, {\"id\":1, \"x\":276, \"y\":131, \"rotation\":140, \"scale\":1}, {\"id\":1, \"x\":458, \"y\":381, \"rotation\":320, \"scale\":1}, {\"id\":34, \"x\":295, \"y\":277, \"rotation\":30, \"scale\":1}, {\"id\":35, \"x\":369, \"y\":230, \"rotation\":100, \"scale\":1}, {\"id\":36, \"x\":184, \"y\":149, \"rotation\":100, \"scale\":1}], \"body_level\":1, \"bg\":\"chuckleg\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":34, \"x\":96, \"y\":169, \"rotation\":280, \"scale\":1}, {\"id\":37, \"x\":455, \"y\":211, \"rotation\":10, \"scale\":1}, {\"id\":3, \"x\":293, \"y\":131, \"rotation\":40, \"scale\":1}, {\"id\":1, \"x\":355, \"y\":120, \"rotation\":200, \"scale\":1}, {\"id\":1, \"x\":216, \"y\":240, \"rotation\":350, \"scale\":1}], \"body_level\":1, \"bg\":\"chuckbum\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"16\",\"mission_data\":[{\"injuries\":[{\"id\":2, \"x\":285, \"y\":207, \"rotation\":30, \"scale\":1}], \"body_level\":1, \"bg\":\"jimmytorso\", \"time\":10500, \"health\":60}, {\"injuries\":[{\"id\":2, \"x\":275, \"y\":277, \"rotation\":45, \"scale\":1}], \"body_level\":2, \"bg\":\"intestine\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":31, \"x\":175, \"y\":158, \"rotation\":0, \"scale\":1}, {\"id\":31, \"x\":489, \"y\":176, \"rotation\":0, \"scale\":1}, {\"id\":33, \"x\":322, \"y\":275, \"rotation\":0, \"scale\":1}, {\"id\":32, \"x\":-1, \"y\":-1, \"rotation\":0, \"scale\":1}, {\"id\":32, \"x\":-1, \"y\":-1, \"rotation\":0, \"scale\":1}, {\"id\":29, \"x\":322, \"y\":275, \"rotation\":0, \"scale\":1}, {\"id\":29, \"x\":47, \"y\":304, \"rotation\":0, \"scale\":1}, {\"id\":29, \"x\":427, \"y\":378, \"rotation\":0, \"scale\":1}], \"body_level\":3, \"bg\":\"intestineinner\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":275, \"y\":277, \"rotation\":45, \"scale\":1}], \"body_level\":2, \"bg\":\"intestine\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":535, \"y\":127, \"rotation\":45, \"scale\":1}], \"body_level\":2, \"bg\":\"intestine\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":32, \"x\":-1, \"y\":-1, \"rotation\":0, \"scale\":1},{\"id\":33, \"x\":405, \"y\":305, \"rotation\":0, \"scale\":1},{\"id\":29, \"x\":405, \"y\":305, \"rotation\":0, \"scale\":1},{\"id\":33, \"x\":296, \"y\":145, \"rotation\":0, \"scale\":1},{\"id\":31, \"x\":485, \"y\":180, \"rotation\":0, \"scale\":1},{\"id\":31, \"x\":313, \"y\":265, \"rotation\":0, \"scale\":1},{\"id\":31, \"x\":135, \"y\":348, \"rotation\":0, \"scale\":1}, {\"id\":32, \"x\":-1, \"y\":-1, \"rotation\":0, \"scale\":1}, {\"id\":32, \"x\":-1, \"y\":-1, \"rotation\":0, \"scale\":1}, {\"id\":32, \"x\":-1, \"y\":-1, \"rotation\":0, \"scale\":1}, {\"id\":32, \"x\":-1, \"y\":-1, \"rotation\":0, \"scale\":1}, {\"id\":32, \"x\":-1, \"y\":-1, \"rotation\":0, \"scale\":1},{\"id\":29, \"x\":189, \"y\":202, \"rotation\":0, \"scale\":1},{\"id\":29, \"x\":403, \"y\":366, \"rotation\":0, \"scale\":1},{\"id\":29, \"x\":296, \"y\":145, \"rotation\":0, \"scale\":1}], \"body_level\":3, \"bg\":\"intestineinner\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":535, \"y\":127, \"rotation\":45, \"scale\":1}], \"body_level\":2, \"bg\":\"intestine\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":285, \"y\":207, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"jimmytorso\", \"time\":-1, \"health\":-1}], \"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"17\",\"mission_data\":[{\"injuries\":[{\"id\":30, \"x\":300, \"y\":8, \"rotation\":0, \"scale\":1}], \"organs\":[{\"type\":\"game.model.assets.organs.EyeWithLidAS\", \"x\":0, \"y\":0}], \"body_level\":1, \"bg\":\"eyeleft\", \"time\":9500, \"health\":50}, {\"injuries\":[{\"id\":30, \"x\":300, \"y\":400, \"rotation\":180, \"scale\":1}], \"organs\":[{\"type\":\"game.model.assets.organs.EyeAS\", \"x\":0, \"y\":0}], \"body_level\":1, \"bg\":\"eyeleft\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":300, \"y\":130, \"rotation\":0, \"scale\":1}], \"organs\":[{\"type\":\"game.model.assets.organs.EyeAS\", \"x\":0, \"y\":0}], \"body_level\":1, \"bg\":\"eyeleft\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":40, \"x\":360, \"y\":315, \"rotation\":0, \"scale\":1}, {\"id\":39, \"x\":180, \"y\":200, \"rotation\":50, \"scale\":1}, {\"id\":39, \"x\":180, \"y\":340, \"rotation\":120, \"scale\":1}], \"body_level\":2, \"bg\":\"lefteyeinside\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":300, \"y\":130, \"rotation\":0, \"scale\":1}], \"organs\":[{\"type\":\"game.model.assets.organs.EyeAS\", \"x\":0, \"y\":0}], \"body_level\":1, \"bg\":\"eyeleft\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":30, \"x\":300, \"y\":8, \"rotation\":0, \"scale\":1}], \"organs\":[{\"type\":\"game.model.assets.organs.EyeWithLidAS\", \"x\":0, \"y\":0}], \"body_level\":1, \"bg\":\"eyeright\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":30, \"x\":300, \"y\":400, \"rotation\":180, \"scale\":1}], \"organs\":[{\"type\":\"game.model.assets.organs.EyeAS\", \"x\":0, \"y\":0}], \"body_level\":1, \"bg\":\"eyeright\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":300, \"y\":130, \"rotation\":0, \"scale\":1}], \"organs\":[{\"type\":\"game.model.assets.organs.EyeAS\", \"x\":0, \"y\":0}], \"body_level\":1, \"bg\":\"eyeright\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":41, \"x\":305, \"y\":315, \"rotation\":0, \"scale\":1}, {\"id\":39, \"x\":450, \"y\":230, \"rotation\":350, \"scale\":1}, {\"id\":39, \"x\":340, \"y\":150, \"rotation\":170, \"scale\":1}], \"body_level\":2, \"bg\":\"righteyeinside\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":300, \"y\":130, \"rotation\":0, \"scale\":1}], \"organs\":[{\"type\":\"game.model.assets.organs.EyeAS\", \"x\":0, \"y\":0}], \"body_level\":1, \"bg\":\"eyeright\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"18\",\"mission_data\":[{\"injuries\":[{\"id\":77, \"x\":140, \"y\":288, \"rotation\":60, \"scale\":1}, {\"id\":77, \"x\":541, \"y\":389, \"rotation\":170, \"scale\":1}, {\"id\":77, \"x\":306, \"y\":215, \"rotation\":300, \"scale\":1}, {\"id\":5, \"x\":320, \"y\":330, \"rotation\":20, \"scale\":1}, {\"id\":5, \"x\":170, \"y\":133, \"rotation\":320, \"scale\":1}, {\"id\":28, \"x\":532, \"y\":183, \"rotation\":0, \"scale\":1}, {\"id\":28, \"x\":465, \"y\":153, \"rotation\":0, \"scale\":1}, {\"id\":28, \"x\":431, \"y\":207, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"aidetorso\", \"time\":7500, \"health\":10}, {\"injuries\":[{\"id\":2, \"x\":193, \"y\":278, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"aidetorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":79, \"x\":300, \"y\":250, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":193, \"y\":278, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"aidetorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":350, \"y\":388, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"aidetorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":80, \"x\":275, \"y\":250, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"chest\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":350, \"y\":388, \"rotation\":90, \"scale\":1}], \"body_level\":1, \"bg\":\"aidetorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":529, \"y\":165, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"aidetorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":28, \"x\":370, \"y\":270, \"rotation\":0, \"scale\":1}, {\"id\":28, \"x\":289, \"y\":188, \"rotation\":0, \"scale\":1}, {\"id\":28, \"x\":200, \"y\":283, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"heartpoison\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":293, \"y\":176, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"heartpoison\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":78, \"x\":127, \"y\":325, \"rotation\":0, \"scale\":1}, {\"id\":78, \"x\":300, \"y\":180, \"rotation\":0, \"scale\":1}, {\"id\":78, \"x\":448, \"y\":286, \"rotation\":0, \"scale\":1}], \"body_level\":3, \"bg\":\"heartinnerpoison\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":293, \"y\":176, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"heart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":529, \"y\":165, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"aidetorso\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"19\",\"mission_data\":[{\"injuries\":[{\"id\":1, \"x\":453, \"y\":145, \"rotation\":60, \"scale\":1}, {\"id\":1, \"x\":443, \"y\":148, \"rotation\":0, \"scale\":1}, {\"id\":1, \"x\":450, \"y\":194, \"rotation\":220, \"scale\":1}], \"body_level\":1, \"bg\":\"horacetorso\", \"time\":9800, \"health\":20}, {\"injuries\":[{\"id\":2, \"x\":498, \"y\":136, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"horacetorso\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":196, \"y\":160, \"rotation\":20, \"scale\":1}, {\"id\":1, \"x\":180, \"y\":345, \"rotation\":240, \"scale\":1}, {\"id\":1, \"x\":255, \"y\":186, \"rotation\":220, \"scale\":1}, {\"id\":1, \"x\":286, \"y\":288, \"rotation\":120, \"scale\":1}, {\"id\":1, \"x\":374, \"y\":235, \"rotation\":0, \"scale\":1}, {\"id\":12, \"x\":360, \"y\":182, \"rotation\":0, \"scale\":1}, {\"id\":12, \"x\":281, \"y\":342, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"heart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":2, \"x\":286, \"y\":179, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"heart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":1, \"x\":336, \"y\":154, \"rotation\":330, \"scale\":1}, {\"id\":1, \"x\":108, \"y\":211, \"rotation\":10, \"scale\":1}, {\"id\":1, \"x\":296, \"y\":335, \"rotation\":230, \"scale\":1}, {\"id\":1, \"x\":487, \"y\":225, \"rotation\":90, \"scale\":1}, {\"id\":74, \"x\":300, \"y\":230, \"rotation\":0, \"scale\":1}, {\"id\":81, \"x\":320, \"y\":250, \"rotation\":0, \"scale\":1}], \"body_level\":3, \"bg\":\"innerheart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":286, \"y\":179, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"heart\", \"time\":-1, \"health\":-1}, {\"injuries\":[{\"id\":3, \"x\":498, \"y\":136, \"rotation\":45, \"scale\":1}], \"body_level\":1, \"bg\":\"horacetorso\", \"time\":-1, \"health\":-1}],\"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},{\"name\":\"20\",\"mission_data\":[{\"injuries\":[{\"id\":93, \"x\":294, \"y\":169, \"rotation\":0, \"scale\":1}, {\"id\":94, \"x\":203, \"y\":125, \"rotation\":0, \"scale\":1}, {\"id\":94, \"x\":246, \"y\":350, \"rotation\":0, \"scale\":1}, {\"id\":94, \"x\":275, \"y\":231, \"rotation\":0, \"scale\":1}, {\"id\":94, \"x\":350, \"y\":180, \"rotation\":0, \"scale\":1}, {\"id\":94, \"x\":199, \"y\":284, \"rotation\":0, \"scale\":1}, {\"id\":94, \"x\":327, \"y\":386, \"rotation\":0, \"scale\":1}, {\"id\":94, \"x\":203, \"y\":209, \"rotation\":0, \"scale\":1}, {\"id\":94, \"x\":327, \"y\":284, \"rotation\":0, \"scale\":1}, {\"id\":94, \"x\":275, \"y\":144, \"rotation\":0, \"scale\":1}, {\"id\":94, \"x\":246, \"y\":429, \"rotation\":0, \"scale\":1}], \"body_level\":1, \"bg\":\"grave\", \"time\":10500, \"health\":0}, {\"injuries\":[{\"id\":92, \"x\":297, \"y\":339, \"rotation\":0, \"scale\":1}], \"body_level\":2, \"bg\":\"nothing\", \"time\":-1, \"health\":-1}], \"tools\":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}]";
var _local2:Object = JSON.deserialize(_local1);
missions = [];
for each (_local3 in _local2) {
missions.push(new Mission(_local3));
};
_current_mission = 0;
dispatchEvent(new Event(CONNECTOR_READY));
}
public static function set current_mission_id(_arg1:int):void{
_current_mission_id = _arg1;
}
public static function getInstance():Connector{
return (instance);
}
public static function set current_mission(_arg1):void{
_current_mission = _arg1;
}
public static function get current_mission():Mission{
return (missions[_current_mission]);
}
public static function get current_mission_id():int{
return (_current_mission);
}
public static function get mission_list():Array{
var _local1:Array = [];
var _local2:int;
while (_local2 < missions.length) {
_local1.push(Mission(missions[_local2]).name);
_local2++;
};
return (_local1);
}
}
}//package app.connector
Section 2
//Injury (app.connector.Injury)
package app.connector {
public class Injury {
public var scale:int;
public var offset:Boolean;
public var x:int;
public var y:int;
public var id:int;
public var rotation:int;
public function Injury(_arg1:Object){
id = _arg1.id;
x = _arg1.x;
y = _arg1.y;
rotation = _arg1.rotation;
scale = _arg1.scale;
offset = _arg1.offset;
}
}
}//package app.connector
Section 3
//Mission (app.connector.Mission)
package app.connector {
public class Mission {
public var tools:Array;
public var data:Array;
public var name:String;
public function Mission(_arg1:Object){
name = _arg1.name;
data = [];
tools = _arg1.tools;
var _local2:int;
while (_local2 < _arg1.mission_data.length) {
data.push(new MissionStage(_arg1.mission_data[_local2]));
_local2++;
};
trace(("Created mission " + data.length));
}
}
}//package app.connector
Section 4
//MissionStage (app.connector.MissionStage)
package app.connector {
import game.model.assets.organs.*;
public class MissionStage {
public var organs:Array;
public var torch:Boolean;
public var bg:String;
public var body_level:int;
public var time:int;
public var injuries:Array;
public var health:int;
public var organ_classes:Array;
public function MissionStage(_arg1:Object){
var _local2:int;
organ_classes = [EyeAS, EyeWithLidAS, ClownEyeAS];
super();
body_level = _arg1.body_level;
bg = _arg1.bg;
time = _arg1.time;
health = _arg1.health;
injuries = [];
_local2 = 0;
while (_local2 < _arg1.injuries.length) {
injuries.push(new Injury(_arg1.injuries[_local2]));
_local2++;
};
if (_arg1.organs){
organs = [];
_local2 = 0;
while (_local2 < _arg1.organs.length) {
organs.push(_arg1.organs[_local2]);
_local2++;
};
};
if (_arg1.torch){
torch = true;
} else {
torch = false;
};
}
}
}//package app.connector
Section 5
//SharedObjectManager (app.connector.SharedObjectManager)
package app.connector {
import flash.events.*;
import game.interfaces.*;
import flash.net.*;
public class SharedObjectManager extends EventDispatcher {
public var level10C:int;// = 19637
public var level10D:int;// = 13091
public var mySO:SharedObject;
public var level4A:int;// = 20392
public var level4B:int;// = 17172
public var level4C:int;// = 12879
public var level4D:int;// = 8586
public var level19A:int;// = 352492
public var level19B:int;// = 296836
public var level19C:int;// = 222627
public var level19D:int;// = 148418
public var level11A:int;// = 70293
public var level11B:int;// = 59194
public var level11C:int;// = 44395
public var level11D:int;// = 29597
public var level5A:int;// = 3875
public var level5B:int;// = 3263
public var level5D:int;// = 1631
public var level5C:int;// = 2447
public var level12A:int;// = 11378
public var level12B:int;// = 9581
public var level12D:int;// = 4790
public var level12C:int;// = 7186
public var level18C:int;// = 65785
public var level6A:int;// = 46506
public var level6B:int;// = 39163
public var level6C:int;// = 29372
public var level6D:int;// = 19581
public var level13A:int;// = 60662
public var level13C:int;// = 38313
public var level13B:int;// = 51084
public var level13D:int;// = 25542
public var level7A:int;// = 31839
public var level7B:int;// = 26812
public var level7C:int;// = 20109
public var level7D:int;// = 13406
public var level14B:int;// = 25240
public var level14D:int;// = 12620
public var level14A:int;// = 29972
public var level14C:int;// = 18930
public var level8A:int;// = 52102
public var level8B:int;// = 43876
public var level8C:int;// = 32907
public var level8D:int;// = 21938
public var level15A:int;// = 68080
public var level15B:int;// = 57331
public var level15C:int;// = 42998
public var level15D:int;// = 28665
public var level9A:int;// = 89061
public var level9B:int;// = 74999
public var level9D:int;// = 37499
public var level1A:int;// = 10572
public var level1B:int;// = 8903
public var level1D:int;// = 4451
public var level16A:int;// = 68636
public var level16B:int;// = 57799
public var level16D:int;// = 28899
public var level1C:int;// = 6677
public var level20A:int;// = 879
public var level20B:int;// = 740
public var level16C:int;// = 43349
public var level20D:int;// = 370
public var level9C:int;// = 56249
public var level20C:int;// = 555
public var level2A:int;// = 13005
public var level2B:int;// = 10952
public var level2C:int;// = 8214
public var level2D:int;// = 5476
public var level17A:int;// = 17085
public var level17B:int;// = 14388
public var level17C:int;// = 10791
public var level17D:int;// = 7194
public var level3A:int;// = 20274
public var level3B:int;// = 17073
public var level3C:int;// = 12805
public var level3D:int;// = 8536
public var level18A:int;// = 104160
public var level18B:int;// = 87714
public var level18D:int;// = 43857
public var level10A:int;// = 31092
public var level10B:int;// = 26183
public function SharedObjectManager(){
mySO = SharedObject.getLocal("surgeon32");
if (mySO.size == 0){
setup();
} else {
mySO.data["firstRun"] = false;
saveData();
};
}
public function setLevelTime(_arg1:int, _arg2:String):void{
mySO.data["total_time"] = 0;
mySO.data[("time" + _arg2)] = _arg1;
var _local3:* = 1;
while (_local3 <= 20) {
mySO.data["total_time"] = (mySO.data["total_time"] + mySO.data[("time" + _local3)]);
_local3++;
};
}
public function setUpgraded(_arg1:String):void{
mySO.data[("upgraded" + _arg1)] = true;
}
public function clearSO():void{
setup();
mySO.flush();
}
public function setLevelScore(_arg1:int, _arg2:String):void{
mySO.data["total_score"] = 0;
mySO.data[("score" + _arg2)] = _arg1;
var _local3:* = 1;
while (_local3 <= 20) {
mySO.data["total_score"] = (mySO.data["total_score"] + mySO.data[("score" + _local3)]);
_local3++;
};
}
public function setToolLevel(_arg1:String):void{
var _local2 = mySO.data;
var _local3 = (_arg1 + "_level");
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
}
public function setup():void{
mySO.data["firstRun"] = true;
mySO.data["highestLevel"] = 1;
var _local1:* = 1;
while (_local1 <= 20) {
mySO.data[("upgraded" + _local1)] = false;
mySO.data[("grade" + _local1)] = "";
mySO.data[("score" + _local1)] = 0;
mySO.data[("time" + _local1)] = 0;
_local1++;
};
mySO.data["unlocked10"] = false;
mySO.data["unlocked20"] = false;
mySO.data["tools"] = [];
mySO.data["total_time"] = 0;
mySO.data["total_score"] = 0;
mySO.data["highestLevel"] = 1;
mySO.data["cutter_level"] = 1;
mySO.data["tongs_level"] = 1;
mySO.data["lighter_level"] = 1;
mySO.data["cream_level"] = 1;
mySO.data["stitch_level"] = 1;
mySO.data["vacuum_level"] = 1;
mySO.data["chainsaw_level"] = 1;
mySO.data["injection_level"] = 1;
mySO.data["battery_level"] = 1;
mySO.data["scanner_level"] = 1;
saveData();
}
public function setLevelGrade(_arg1:int, _arg2:String):void{
var _local3:String;
if (_arg1 >= this[(("level" + _arg2) + "A")]){
_local3 = "A";
} else {
if (_arg1 >= this[(("level" + _arg2) + "B")]){
_local3 = "B";
} else {
if (_arg1 >= this[(("level" + _arg2) + "C")]){
_local3 = "C";
} else {
if (_arg1 >= this[(("level" + _arg2) + "D")]){
_local3 = "D";
} else {
_local3 = "F";
};
};
};
};
mySO.data[("grade" + _arg2)] = _local3;
}
public function setHighestLevel(_arg1:int):void{
if (_arg1 == 10){
_arg1 = 11;
};
mySO.data["highestLevel"] = _arg1;
}
public function saveData():void{
mySO.flush();
}
public function addTool(_arg1:int):void{
mySO.data["tools"].push(_arg1);
}
}
}//package app.connector
Section 6
//IPreloader (app.interfaces.IPreloader)
package app.interfaces {
import shell.*;
public interface IPreloader {
function init():void;
function update(_arg1:LoadInfo):void;
function closePreloader():void;
function onComplete():void;
}
}//package app.interfaces
Section 7
//IWaiter (app.interfaces.IWaiter)
package app.interfaces {
public interface IWaiter {
function init():void;
function closeWaiter():void;
function onComplete():void;
}
}//package app.interfaces
Section 8
//SoundPackage (app.sound.SoundPackage)
package app.sound {
import shell.sound.*;
public class SoundPackage implements ISound {
private var effects:Array;
private var music:Array;
public static var SNARL:String = "snarl";
public static var SNEAK_MUSIC:String = "test_sound";
public static var EXPLOSION:String = "explosion_alternate";
public static var FLATLINE:String = "flatline";
public static var SQUID_EXPLOSION:String = "squid_explosion";
public static var BLIP:String = "blip";
public static var AMBIENT_SURGERY:String = "ambient_surgery";
public static var SQUID_ANGRY:String = "squid_angry";
public static var ROAR_LOOP:String = "roar_loop";
public static var DOVE_FLAP:String = "dove_flap";
public static var SOARING:String = "soaring";
public static var CENT_EXPLOSION:String = "cent_explosion";
public static var LIGHTER:String = "lighter_loop";
public static var CRAB_DEATH:String = "crab_death";
public static var EXTRACTION1:String = "extraction_1";
public static var EXTRACTION2:String = "extraction_2";
public static var EXTRACTION3:String = "extraction_3";
public static var EXTRACTION4:String = "extraction_4";
public static var EXTRACTION5:String = "extraction_5";
public static var FEMALE_SCREAM1:String = "female_1";
public static var FEMALE_SCREAM2:String = "female_2";
public static var FEMALE_SCREAM3:String = "female_3";
public static var FEMALE_SCREAM4:String = "female_4";
public static var FEMALE_SCREAM5:String = "female_5";
public static var BEEP:String = "beep";
public static var FIRE:String = "fire_loop";
public static var INK1:String = "ink_1";
public static var INK2:String = "ink_2";
public static var SPITTING:String = "spitting";
public static var CLOWN_SCREAM1:String = "clown_1";
public static var CLOWN_SCREAM2:String = "clown_2";
public static var ALERT_MUSIC:String = "test_overlay";
public static var CLOWN_SCREAM4:String = "clown_4";
public static var CLOWN_SCREAM5:String = "clown_5";
public static var CLOWN_SCREAM3:String = "clown_3";
public static var GENERIC_CREATURE1:String = "generic_creature_1";
public static var GENERIC_CREATURE2:String = "generic_creature_2";
public static var GENERIC_CREATURE4:String = "generic_creature_4";
public static var BUZZER_WRONG:String = "buzzer_wrong";
public static var PIG_SCREAM2:String = "pig_2";
public static var PIG_SCREAM3:String = "pig_3";
public static var PIZZA_CUTTER:String = "pizza_cutter_loop";
public static var PIG_SCREAM1:String = "pig_1";
public static var CRAB_EXPLODE:String = "crab_explode";
public static var GENERIC_CREATURE3:String = "generic_creature_3";
public static var CREAM:String = "cream_loop";
public static var AMBIENT_SHACK:String = "ambient_shack";
public static var ERUPT:String = "erupt";
public static var SPLAT1:String = "splat_1";
public static var SPLAT2:String = "splat_2";
public static var DOVE_SQUEAL1:String = "dove_squeal_1";
public static var DOVE_SQUEAL2:String = "dove_squeal_2";
public static var SUCK:String = "suck";
public static var MUSIC_2:String = "music_2";
public static var MUSIC_1:String = "music_1";
public static var AMBIENT_OFFICE:String = "ambient_office";
public static var AMBIENT_BATHROOM:String = "ambient_bathroom";
public static var BAT_FLAP:String = "bat_flap";
public static var CHAINSAW:String = "chainsaw_loop";
public static var PLEASURE_SCREAM1:String = "pleasure_1";
public static var PLEASURE_SCREAM2:String = "pleasure_2";
public static var PLEASURE_SCREAM3:String = "pleasure_3";
public static var CENT_SCREECH:String = "cent_screech";
public static var SOUNDTRACK:String = "soundtrack";
public static var BUTTON_SELECT:String = "button_select";
public static var INJECTION_IN:String = "injection_in";
public static var OUTRO_MUSIC:String = "music_1";
public static var MMM:String = "mmm";
public static var INJECTION_OUT:String = "injection_out";
public static var WASP_FLY:String = "wasp_fly";
public static var VACUUM:String = "vacuum_loop";
public static var BUZZER_RIGHT:String = "buzzer_right";
public static var SOUND_FOLDER:String = "";
public static var NOSE_POP:String = "nose_pop";
public static var BUZZ:String = "buzz";
public static var INTRO_MUSIC:String = "intro_music";
public static var DAZED:String = "dazed";
public static var SQUID_PAIN:String = "squid_pain";
public static var DOVE_COOING:String = "dove_cooing";
public static var BATTERY:String = "battery";
public static var DROP:String = "drop";
public static var MALE_SCREAM1:String = "male_1";
public static var MALE_SCREAM2:String = "male_2";
public static var MALE_SCREAM3:String = "male_3";
public static var SNEAK_SOUND:String = "sneakSound";
public static var MALE_SCREAM4:String = "male_4";
public static var MALE_SCREAM5:String = "male_5";
public static var DOVE_EXPLODE:String = "dove_explode";
public function SoundPackage(){
effects = [FEMALE_SCREAM1, FEMALE_SCREAM2, FEMALE_SCREAM3, FEMALE_SCREAM4, FEMALE_SCREAM5, MALE_SCREAM1, MALE_SCREAM2, MALE_SCREAM3, MALE_SCREAM4, MALE_SCREAM5, PLEASURE_SCREAM1, PLEASURE_SCREAM2, PLEASURE_SCREAM3, PIG_SCREAM1, PIG_SCREAM2, PIG_SCREAM3, INJECTION_IN, INJECTION_OUT, PIZZA_CUTTER, CHAINSAW, VACUUM, CREAM, LIGHTER, DROP, EXTRACTION1, EXTRACTION2, EXTRACTION3, EXTRACTION4, EXTRACTION5, NOSE_POP, DOVE_COOING, DOVE_EXPLODE, DOVE_SQUEAL1, DOVE_SQUEAL2, CRAB_DEATH, CRAB_EXPLODE, GENERIC_CREATURE1, GENERIC_CREATURE2, GENERIC_CREATURE3, GENERIC_CREATURE4, EXPLOSION, SPLAT1, SPLAT2, FIRE, BUTTON_SELECT, BEEP, MMM, CLOWN_SCREAM1, CLOWN_SCREAM2, CLOWN_SCREAM3, CLOWN_SCREAM4, CLOWN_SCREAM5, WASP_FLY, BATTERY, BUZZ, SPITTING, BAT_FLAP, BUZZER_RIGHT, BUZZER_WRONG, DOVE_FLAP, SUCK, ROAR_LOOP, SNARL, CENT_EXPLOSION, SQUID_EXPLOSION, INK1, INK2, ERUPT, DAZED, CENT_SCREECH, SQUID_PAIN, SQUID_ANGRY, SOARING, OUTRO_MUSIC, BLIP, FLATLINE];
music = [AMBIENT_BATHROOM, AMBIENT_SHACK, AMBIENT_SURGERY, AMBIENT_OFFICE, MUSIC_1, MUSIC_2, SOUNDTRACK, INTRO_MUSIC];
}
public function getEffects():Array{
return (effects);
}
public function getSourceFolder():String{
return (SOUND_FOLDER);
}
public function getMusic():Array{
return (music);
}
public static function pickSound(_arg1:Array):String{
var _local2:int = Math.ceil((Math.random() * (_arg1.length - 1)));
return (_arg1[_local2]);
}
}
}//package app.sound
Section 9
//CutScene (app.view.CutScene)
package app.view {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import app.connector.*;
import game.utils.*;
import shell.*;
import game.libraries.*;
import game.*;
import game.interfaces.*;
import app.sound.*;
import flash.net.*;
import game.model.assets.tools.*;
public class CutScene extends MenuObject {
public var pressedShift:Boolean;// = true
public var maxScene:int;// = 0
public var currentLevel:int;
private var scene:String;
public var bug_btn:SimpleButton;
public var outro:MovieClip;
public var currentScene:int;// = 0
public var setGrade:String;
private var controller:Game;
public var holder:Sprite;
public var summary:Sprite;
public var maxSegment:int;// = 0
public var running:String;
public var dTimer:int;// = 0
public var unlock:int;
public var maxDTimer:int;// = 150
public var selectedTool:MovieClip;
private var dialogueArray:Array;
public var floors:Dictionary;
private var rtl:RuntimeLibrary;
public var currentSegment:int;// = 0
public static var CUTSCENE_COMPLETE:String = "CUTSCENE_COMPLETE";
public function CutScene(_arg1:String, _arg2:int, _arg3:Game, _arg4:int=0){
unlock = _arg4;
controller = _arg3;
currentLevel = _arg2;
scene = _arg1;
var _local5:Array = Library.getInstance().cut_scenes;
dialogueArray = [];
var _local6:* = 0;
while (_local6 < _local5.length) {
if (_local5[_local6][0] == (scene + (currentLevel + 1))){
dialogueArray.push(_local5[_local6][1]);
break;
};
_local6++;
};
maxScene = dialogueArray.length;
setTarget("cutSceneHolder");
attachClip();
target.addEventListener(Event.ADDED_TO_STAGE, ready);
if (scene == "end"){
};
holder = target;
}
public function init():void{
if ((((((dialogueArray[currentScene][currentSegment][0] == "bathroom")) || ((dialogueArray[currentScene][currentSegment][0] == "bedroom")))) || ((dialogueArray[currentScene][currentSegment][0] == "home")))){
if (SoundController.getInstance().theme != SoundPackage.AMBIENT_BATHROOM){
SoundController.getInstance().swapTheme(SoundPackage.AMBIENT_BATHROOM, true);
};
} else {
if (dialogueArray[currentScene][currentSegment][0] == "shack"){
if (SoundController.getInstance().theme != SoundPackage.AMBIENT_SHACK){
SoundController.getInstance().swapTheme(SoundPackage.AMBIENT_SHACK, true);
};
} else {
if ((((dialogueArray[currentScene][currentSegment][0] == "office_light")) || ((dialogueArray[currentScene][currentSegment][0] == "office_dark")))){
if (SoundController.getInstance().theme != SoundPackage.AMBIENT_OFFICE){
SoundController.getInstance().swapTheme(SoundPackage.AMBIENT_OFFICE, true);
};
} else {
if (dialogueArray[currentScene][currentSegment][0] != "graveyard"){
if (SoundController.getInstance().theme != SoundPackage.AMBIENT_SURGERY){
SoundController.getInstance().swapTheme(SoundPackage.AMBIENT_SURGERY, true);
};
};
};
};
};
selectedTool = null;
target.visible = false;
addEventListener(Event.ENTER_FRAME, setupDialogue, null, null, true);
addEventListener(Event.ENTER_FRAME, checkDialogue, null, null, true);
holder["summary"].visible = false;
outro = holder["outro"];
outro.visible = false;
outro.mouseEnabled = false;
outro.mouseChildren = false;
outro.gotoAndStop(1);
holder["banner"].mouseEnabled = false;
holder["banner"].mouseChildren = false;
}
public function createSummary(){
holder["summary"].visible = true;
holder["summary"].gotoAndPlay(2);
addEventListener(Event.ENTER_FRAME, setupSummary, null, null, true);
}
public function finish(_arg1:Event):void{
SoundController.getInstance().stopping = false;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
holder["summary"]["holder"]["start"].removeEventListener(MouseEvent.CLICK, finish);
if (unlock == 10){
holder["banner"].mouseEnabled = true;
holder["banner"].mouseChildren = true;
holder["banner"]["holder"].gotoAndPlay(2);
holder["banner"]["holder"]["cont_btn"].addEventListener(MouseEvent.CLICK, end);
} else {
if (unlock == 20){
holder["banner"].mouseEnabled = true;
holder["banner"].mouseChildren = true;
holder["banner"]["holder"].gotoAndPlay(41);
holder["banner"]["holder"]["cont_btn"].addEventListener(MouseEvent.CLICK, end);
} else {
if (unlock == 0){
if ((currentLevel + 1) == 19){
outroGo();
} else {
dispatchEvent(new Event(CUTSCENE_COMPLETE, true));
};
};
};
};
}
public function ready(_arg1):void{
target.removeEventListener(Event.ADDED_TO_STAGE, ready);
init();
}
public function upgrade(_arg1:Event){
SoundController.getInstance().stopping = false;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
holder["upgrade"]["holder"]["restore"].removeEventListener(MouseEvent.CLICK, upgrade);
controller.so.setToolLevel(selectedTool.name);
controller.so.setUpgraded(String((currentLevel + 1)));
controller.so.saveData();
createSummary();
}
public function selectTool(_arg1:MouseEvent):void{
var _local2:*;
var _local3:ITool;
SoundController.getInstance().stopping = false;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
if (selectedTool == null){
selectedTool = MovieClip(_arg1.currentTarget);
_local2 = 0;
while (_local2 < controller.gameState.possible_tools.length) {
_local3 = controller.gameState.possible_tools[_local2];
if (_local3.getData().name == selectedTool.name){
selectedTool.gotoAndStop((("lvl" + Tool(_local3).level) + "hov"));
break;
};
_local2++;
};
holder["upgrade"]["holder"]["restore"].mouseEnabled = true;
holder["upgrade"]["holder"]["restore"].alpha = 1;
} else {
if (selectedTool == _arg1.currentTarget){
_local2 = 0;
while (_local2 < controller.gameState.possible_tools.length) {
_local3 = controller.gameState.possible_tools[_local2];
if (_local3.getData().name == selectedTool.name){
selectedTool.gotoAndStop(("lvl" + Tool(_local3).level));
break;
};
_local2++;
};
selectedTool = null;
holder["upgrade"]["holder"]["restore"].mouseEnabled = false;
holder["upgrade"]["holder"]["restore"].alpha = 0.3;
} else {
_local2 = 0;
while (_local2 < controller.gameState.possible_tools.length) {
_local3 = controller.gameState.possible_tools[_local2];
if (_local3.getData().name == selectedTool.name){
selectedTool.gotoAndStop(("lvl" + Tool(_local3).level));
break;
};
_local2++;
};
selectedTool = MovieClip(_arg1.currentTarget);
_local2 = 0;
while (_local2 < controller.gameState.possible_tools.length) {
_local3 = controller.gameState.possible_tools[_local2];
if (_local3.getData().name == selectedTool.name){
selectedTool.gotoAndStop((("lvl" + Tool(_local3).level) + "hov"));
break;
};
_local2++;
};
holder["upgrade"]["holder"]["restore"].mouseEnabled = true;
holder["upgrade"]["holder"]["restore"].alpha = 1;
};
};
}
public function createUpgrade(){
holder["upgrade"].visible = true;
holder["upgrade"].gotoAndPlay(2);
setupUpgrade();
}
public function checkDialogue(_arg1:Event):void{
dTimer++;
if (dTimer >= maxDTimer){
dTimer = 0;
currentSegment++;
if (currentSegment >= maxSegment){
currentScene++;
if (currentScene >= maxScene){
removeEventListener(Event.ENTER_FRAME, checkDialogue);
if (scene == "end"){
if (controller.so.mySO.data[("upgraded" + (currentLevel + 1))] == false){
createUpgrade();
} else {
createSummary();
};
} else {
dispatchEvent(new Event(CUTSCENE_COMPLETE, true));
};
} else {
setupDialogue(_arg1);
};
} else {
setupDialogue(_arg1);
};
};
}
public function submitScore(_arg1:Event){
SoundController.getInstance().stopping = false;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
var _local2:int = controller.so.mySO.data["total_score"];
var _local3:* = root["cmpSetObj"];
_local3.local2 = _local2;
_local3.local1 = 3052;
_local3.clearListeners();
}
public function skipOutro(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
removeEventListener(Event.ENTER_FRAME, checkOutro);
outro["skip"].removeEventListener(MouseEvent.CLICK, skipOutro);
dispatchEvent(new Event(CUTSCENE_COMPLETE, true));
}
public function setupUpgrade(){
var _local2:ITool;
holder["upgrade"]["holder"]["restore"].mouseEnabled = false;
holder["upgrade"]["holder"]["restore"].alpha = 0.3;
holder["upgrade"]["holder"]["restore"].addEventListener(MouseEvent.CLICK, upgrade);
var _local1:* = 0;
while (_local1 < controller.gameState.possible_tools.length) {
_local2 = controller.gameState.possible_tools[_local1];
holder["upgrade"]["holder"][_local2.getData().name].gotoAndStop(("lvl" + Tool(_local2).level));
if (Tool(_local2).level < 3){
holder["upgrade"]["holder"][_local2.getData().name].mouseEnabled = true;
holder["upgrade"]["holder"][_local2.getData().name].buttonMode = true;
holder["upgrade"]["holder"][_local2.getData().name].addEventListener(MouseEvent.MOUSE_DOWN, selectTool);
};
_local1++;
};
}
public function outroGo():void{
SoundController.getInstance().swapTheme(SoundPackage.OUTRO_MUSIC, true);
outro.visible = true;
outro.mouseEnabled = true;
outro.mouseChildren = true;
outro["skip"].visible = true;
outro["skip"].mouseEnabled = true;
addEventListener(Event.ENTER_FRAME, checkOutro);
outro["skip"].addEventListener(MouseEvent.CLICK, skipOutro);
outro.gotoAndPlay(2);
}
public function checkOutro(_arg1:Event):void{
outro.nextFrame();
if (outro.currentFrame == outro.totalFrames){
skipOutro(_arg1);
};
}
public function checkGradeBar(_arg1:Event):void{
if (holder["summary"]["holder"]["grade"] == null){
return;
};
if (holder["summary"]["holder"]["grade"].currentLabel != setGrade){
holder["summary"]["holder"]["grade"].nextFrame();
} else {
holder["summary"]["holder"]["grade"].stop();
removeEventListener(Event.ENTER_FRAME, checkGradeBar);
};
}
public function missionComplete(_arg1:Event){
}
public function setupSummary(_arg1:Event){
var _local4:int;
var _local2:Array = controller.mission_data.data;
var _local3:MissionStage = _local2[0];
if ((((((((((((((((((((((((((((((holder["summary"] == null)) || ((holder["summary"]["holder"] == null)))) || ((holder["summary"]["holder"]["time"] == null)))) || ((holder["summary"]["holder"]["time"]["txt"] == null)))) || ((holder["summary"]["holder"]["score"] == null)))) || ((holder["summary"]["holder"]["score"]["txt"] == null)))) || ((holder["summary"]["holder"]["tscore"] == null)))) || ((holder["summary"]["holder"]["tscore"]["txt"] == null)))) || ((holder["summary"]["holder"]["patient"] == null)))) || ((holder["summary"]["holder"]["start"] == null)))) || ((holder["summary"]["holder"]["grade"] == null)))) || ((holder["summary"]["holder"]["nscore"] == null)))) || ((holder["summary"]["holder"]["ngrade"] == null)))) || ((holder["summary"]["holder"]["paf"] == null)))) || ((holder["summary"]["holder"]["mcMGHome"] == null)))){
return;
};
removeEventListener(Event.ENTER_FRAME, setupSummary);
holder["summary"]["holder"]["time"]["txt"].text = MathUtils.formatTime(((controller.gameState.time / 30) * 1000));
holder["summary"]["holder"]["score"]["txt"].text = MathUtils.makeScorePretty(controller.gameState.score);
holder["summary"]["holder"]["tscore"]["txt"].text = MathUtils.makeScorePretty(controller.so.mySO.data["total_score"]);
holder["summary"]["holder"]["patient"].gotoAndStop((currentLevel + 1));
holder["summary"]["holder"]["start"].addEventListener(MouseEvent.CLICK, finish);
holder["summary"]["holder"]["mcMGHome"].addEventListener(MouseEvent.CLICK, goToURL);
holder["summary"]["holder"]["ngrade"].visible = true;
holder["summary"]["holder"]["nscore"].visible = true;
holder["summary"]["holder"]["paf"].visible = true;
if (controller.gameState.score < controller.so[(("level" + (currentLevel + 1)) + "D")]){
holder["summary"]["holder"]["ngrade"].text = "D";
setGrade = "F";
_local4 = (controller.so[(("level" + (currentLevel + 1)) + "D")] - controller.gameState.score);
holder["summary"]["holder"]["nscore"].text = MathUtils.makeScorePretty(_local4);
} else {
if (controller.gameState.score < controller.so[(("level" + (currentLevel + 1)) + "C")]){
holder["summary"]["holder"]["ngrade"].text = "C";
setGrade = "D";
_local4 = (controller.so[(("level" + (currentLevel + 1)) + "C")] - controller.gameState.score);
holder["summary"]["holder"]["nscore"].text = MathUtils.makeScorePretty(_local4);
} else {
if (controller.gameState.score < controller.so[(("level" + (currentLevel + 1)) + "B")]){
holder["summary"]["holder"]["ngrade"].text = "B";
setGrade = "C";
_local4 = (controller.so[(("level" + (currentLevel + 1)) + "B")] - controller.gameState.score);
holder["summary"]["holder"]["nscore"].text = MathUtils.makeScorePretty(_local4);
} else {
if (controller.gameState.score < controller.so[(("level" + (currentLevel + 1)) + "A")]){
holder["summary"]["holder"]["ngrade"].text = "A";
setGrade = "B";
_local4 = (controller.so[(("level" + (currentLevel + 1)) + "A")] - controller.gameState.score);
holder["summary"]["holder"]["nscore"].text = MathUtils.makeScorePretty(_local4);
} else {
setGrade = "A";
holder["summary"]["holder"]["ngrade"].visible = false;
holder["summary"]["holder"]["nscore"].visible = false;
holder["summary"]["holder"]["paf"].visible = false;
};
};
};
};
addEventListener(Event.ENTER_FRAME, checkGradeBar);
}
public function goToURL(_arg1:MouseEvent):void{
var _local8:String;
var _local2:String = _arg1.currentTarget.name;
var _local3 = "surgeon2";
var _local4:* = new LocalConnection();
var _local5:String = _local4.domain;
var _local6:URLVariables = new URLVariables();
var _local7 = "";
var _local9 = "";
switch (_local2){
case "mcMGHome":
_local9 = "moregames_btn";
_local8 = "http://games.adultswim.com/";
break;
case "mcBug":
_local9 = "moregames_bug";
_local8 = "http://games.adultswim.com/";
break;
case "mcIphoneHome":
_local8 = "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8";
break;
default:
_local8 = "http://games.adultswim.com";
break;
};
var _local10 = "cut_scene";
if (_local8 != "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8"){
_local6.cid = ((((((("GAME_Ext_" + _local3) + "_") + _local5) + "_") + _local10) + "_") + _local9);
};
var _local11:URLRequest = new URLRequest(_local8);
_local11.data = _local6;
navigateToURL(_local11, "_blank");
}
public function next(_arg1:MouseEvent){
SoundController.getInstance().stopping = false;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
dTimer = maxDTimer;
}
public function setupDialogue(_arg1:Event):void{
var _local3:*;
var _local4:Boolean;
var _local5:Array;
var _local6:*;
if ((((((dialogueArray[currentScene][currentSegment][0] == "bathroom")) || ((dialogueArray[currentScene][currentSegment][0] == "bedroom")))) || ((dialogueArray[currentScene][currentSegment][0] == "home")))){
if (SoundController.getInstance().theme != SoundPackage.AMBIENT_BATHROOM){
SoundController.getInstance().swapTheme(SoundPackage.AMBIENT_BATHROOM, true);
};
} else {
if (dialogueArray[currentScene][currentSegment][0] == "shack"){
if (SoundController.getInstance().theme != SoundPackage.AMBIENT_SHACK){
SoundController.getInstance().swapTheme(SoundPackage.AMBIENT_SHACK, true);
};
} else {
if ((((dialogueArray[currentScene][currentSegment][0] == "office_light")) || ((dialogueArray[currentScene][currentSegment][0] == "office_dark")))){
if (SoundController.getInstance().theme != SoundPackage.AMBIENT_OFFICE){
SoundController.getInstance().swapTheme(SoundPackage.AMBIENT_OFFICE, true);
};
} else {
if (dialogueArray[currentScene][currentSegment][0] != "graveyard"){
if (SoundController.getInstance().theme != SoundPackage.AMBIENT_SURGERY){
SoundController.getInstance().swapTheme(SoundPackage.AMBIENT_SURGERY, true);
};
};
};
};
};
maxSegment = dialogueArray[currentScene].length;
var _local2:Boolean;
if ((((((((((((holder["bg"] == null)) || ((holder["speech"] == null)))) || ((holder["char1"] == null)))) || ((holder["char2"] == null)))) || ((holder["char3"] == null)))) || ((holder["char4"] == null)))){
_local2 = true;
};
if ((((((((holder["skip"] == null)) || ((holder["next"] == null)))) || ((holder["underBut"] == null)))) || ((holder["mcBug"] == null)))){
_local2 = true;
};
if (_local2 == false){
holder.visible = true;
holder["skip"].addEventListener(MouseEvent.CLICK, skip, false, 0, true);
holder["next"].addEventListener(MouseEvent.CLICK, next, false, 0, true);
bug_btn = holder["mcBug"];
bug_btn.addEventListener(MouseEvent.CLICK, goToURL);
holder["underBut"].addEventListener(MouseEvent.CLICK, next, false, 0, true);
holder["bg"].gotoAndStop(dialogueArray[currentScene][currentSegment][0]);
holder["char1"].gotoAndStop(dialogueArray[currentScene][currentSegment][1]);
holder["char2"].gotoAndStop(dialogueArray[currentScene][currentSegment][2]);
holder["char3"].gotoAndStop(dialogueArray[currentScene][currentSegment][3]);
holder["char4"].gotoAndStop(dialogueArray[currentScene][currentSegment][4]);
_local3 = 1;
while (_local3 <= 4) {
if (dialogueArray[currentScene][currentSegment][_local3] == "nothing"){
holder[("char" + _local3)].visible = false;
} else {
holder[("char" + _local3)].visible = true;
};
if (dialogueArray[currentScene][currentSegment][5].split(",").length > 1){
_local4 = false;
_local5 = dialogueArray[currentScene][currentSegment][5].split(",");
_local6 = 0;
while (_local6 < _local5.length) {
if (holder[("char" + _local3)].currentLabel == _local5[_local6]){
_local4 = true;
};
_local6++;
};
if (_local4 == false){
ColourUtils.tint(0, 0.6, holder[("char" + _local3)]);
} else {
ColourUtils.tint(0, 0, holder[("char" + _local3)]);
};
} else {
if (holder[("char" + _local3)].currentLabel != dialogueArray[currentScene][currentSegment][5]){
ColourUtils.tint(0, 0.6, holder[("char" + _local3)]);
} else {
ColourUtils.tint(0, 0, holder[("char" + _local3)]);
};
};
_local3++;
};
holder["speech"].text = String(dialogueArray[currentScene][currentSegment][6]);
removeEventListener(Event.ENTER_FRAME, setupDialogue);
};
}
public function end(_arg1:Event):void{
holder["banner"]["holder"]["cont_btn"].removeEventListener(MouseEvent.CLICK, end);
if ((currentLevel + 1) == 19){
outroGo();
} else {
dispatchEvent(new Event(CUTSCENE_COMPLETE, true));
};
}
public function skip(_arg1:MouseEvent){
SoundController.getInstance().stopping = false;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
removeEventListener(Event.ENTER_FRAME, checkDialogue);
if (scene == "end"){
if (controller.so.mySO.data[("upgraded" + (currentLevel + 1))] == false){
createUpgrade();
} else {
createSummary();
};
} else {
dispatchEvent(new Event(CUTSCENE_COMPLETE, true));
};
}
}
}//package app.view
Section 10
//FailedScreen (app.view.FailedScreen)
package app.view {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import app.connector.*;
import game.utils.*;
import shell.*;
import game.*;
import app.sound.*;
public class FailedScreen extends MenuObject {
public var summary:Sprite;
private var rtl:RuntimeLibrary;
public var currentLevel:int;
public var holder:Sprite;
private var controller:Game;
public static var LOSTSCREEN_COMPLETE:String = "LOSTSCREEN_COMPLETE";
public static var LOSTSCREEN_REPLAY:String = "LOSTSCREEN_REPLAY";
public function FailedScreen(_arg1:int, _arg2:Game){
controller = _arg2;
currentLevel = (_arg1 + 1);
setTarget("failedScreen");
attachClip();
target.addEventListener(Event.ADDED_TO_STAGE, ready);
}
public function ready(_arg1):void{
target.removeEventListener(Event.ADDED_TO_STAGE, ready);
init();
}
public function replay(_arg1:Event):void{
SoundController.getInstance().stopping = false;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
target["holder"]["replay"].removeEventListener(MouseEvent.CLICK, replay);
target["holder"]["quit"].removeEventListener(MouseEvent.CLICK, finished);
dispatchEvent(new Event(LOSTSCREEN_REPLAY, true));
}
public function init():void{
var _local1:Array = controller.mission_data.data;
var _local2:MissionStage = _local1[0];
target["holder"]["quit"].addEventListener(MouseEvent.CLICK, finished, null, null, true);
target["holder"]["replay"].addEventListener(MouseEvent.CLICK, replay);
getMovieClip("holder")["patient"].gotoAndStop(currentLevel);
var _local3:String = MathUtils.formatTime(((controller.gameState.time / 30) * 1000));
getMovieClip("holder")["time"].text = String(_local3);
getMovieClip("holder")["score"].text = MathUtils.makeScorePretty(controller.gameState.score);
target.play();
}
public function finished(_arg1:Event):void{
SoundController.getInstance().stopping = false;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
target["holder"]["quit"].removeEventListener(MouseEvent.CLICK, finished);
target["holder"]["replay"].removeEventListener(MouseEvent.CLICK, replay);
dispatchEvent(new Event(LOSTSCREEN_COMPLETE, true));
}
}
}//package app.view
Section 11
//LevelScreen (app.view.LevelScreen)
package app.view {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import app.connector.*;
import game.utils.*;
import shell.*;
import app.*;
import app.sound.*;
import flash.net.*;
public class LevelScreen extends MenuObject {
public var folder_bug_btn:SimpleButton;
public var selection;
public var bug_btn:SimpleButton;
public var act2x:Number;
public var controller:Controller;
public var act1:Boolean;// = false
public var unlocked:Boolean;// = false
public var so:SharedObjectManager;
public var allAs:Boolean;
public var act1x:Number;
public static var MENUSCREEN_LINKAGE:String = "levelSelect";
public static var MENUSCREEN_COMPLETE:String = "menu_screen_complete";
public function LevelScreen(_arg1:SharedObjectManager, _arg2:Controller){
controller = _arg2;
so = _arg1;
setTarget(MENUSCREEN_LINKAGE);
attachClip();
target.addEventListener(Event.ADDED_TO_STAGE, ready);
}
public function onClick(_arg1:MouseEvent):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
selection = (int(String(_arg1.currentTarget.name).split("pic")[1]) - 1);
if (so.mySO.data[("grade" + (selection + 1))] != ""){
getMovieClip("folder")["holder"]["pic"].gotoAndStop((selection + 1));
getMovieClip("folder")["holder"]["patient"].gotoAndStop((selection + 1));
getMovieClip("folder")["holder"]["desc"].gotoAndStop((selection + 1));
getMovieClip("folder")["holder"]["pic"]["grade"].text = so.mySO.data[("grade" + (selection + 1))];
getMovieClip("folder")["holder"]["score"].text = MathUtils.makeScorePretty(so.mySO.data[("score" + (selection + 1))]);
getMovieClip("folder")["holder"]["time"].text = MathUtils.formatTime(((so.mySO.data[("time" + (selection + 1))] / 30) * 1000));
getMovieClip("folder").gotoAndPlay(2);
} else {
closeMenuScreen();
};
}
public function closeMenuScreen():void{
if (hasEventListener(Event.ENTER_FRAME)){
removeEventListener(Event.ENTER_FRAME, check);
};
menuGo();
}
public function check(_arg1:Event):void{
var _local2:*;
_local2 = 1;
while (_local2 <= 10) {
if ((((((_local2 <= so.mySO.data["highestLevel"])) || (unlocked))) && (((((!((_local2 == 10))) || (allAs))) || (unlocked))))){
if (getMovieClip("page1")[("pic" + _local2)]["grey"] == null){
return;
};
if (getMovieClip("page1")[("pic" + _local2)]["hidden"] == null){
return;
};
if (getMovieClip("page1")[("pic" + _local2)]["white"] == null){
return;
};
if (so.mySO.data[("grade" + _local2)] == ""){
getMovieClip("page1")[("pic" + _local2)]["grey"].visible = true;
getMovieClip("page1")[("pic" + _local2)]["hidden"].visible = true;
getMovieClip("page1")[("pic" + _local2)]["white"].visible = true;
} else {
getMovieClip("page1")[("pic" + _local2)]["grey"].visible = false;
getMovieClip("page1")[("pic" + _local2)]["hidden"].visible = false;
getMovieClip("page1")[("pic" + _local2)]["white"].visible = false;
};
};
_local2++;
};
_local2 = 1;
while (_local2 <= 10) {
if (((((((_local2 + 10) <= so.mySO.data["highestLevel"])) || (unlocked))) && (((((!(((_local2 + 10) == 20))) || (allAs))) || (unlocked))))){
if (getMovieClip("page2")[("pic" + (_local2 + 10))]["grey"] == null){
return;
};
if (getMovieClip("page2")[("pic" + (_local2 + 10))]["hidden"] == null){
return;
};
if (getMovieClip("page2")[("pic" + (_local2 + 10))]["white"] == null){
return;
};
if (so.mySO.data[("grade" + (_local2 + 10))] == ""){
getMovieClip("page2")[("pic" + (_local2 + 10))]["grey"].visible = true;
getMovieClip("page2")[("pic" + (_local2 + 10))]["hidden"].visible = true;
getMovieClip("page2")[("pic" + (_local2 + 10))]["white"].visible = true;
} else {
getMovieClip("page2")[("pic" + (_local2 + 10))]["grey"].visible = false;
getMovieClip("page2")[("pic" + (_local2 + 10))]["hidden"].visible = false;
getMovieClip("page2")[("pic" + (_local2 + 10))]["white"].visible = false;
};
};
_local2++;
};
removeEventListener(Event.ENTER_FRAME, check);
}
public function begin(_arg1:MouseEvent):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
closeMenuScreen();
}
public function init():void{
var _local1:*;
allAs = true;
_local1 = 1;
while (_local1 <= 10) {
getMovieClip("page1")[("pic" + _local1)]["grade"].text = so.mySO.data[("grade" + _local1)];
getMovieClip("page1")[("pic" + _local1)]["grade"].mouseEnabled = false;
if ((((((_local1 <= so.mySO.data["highestLevel"])) || (unlocked))) && (((((!((_local1 == 10))) || (allAs))) || (unlocked))))){
getMovieClip("page1")[("pic" + _local1)].addEventListener(MouseEvent.CLICK, onClick);
getMovieClip("page1")[("pic" + _local1)].buttonMode = true;
if (so.mySO.data[("grade" + _local1)] == ""){
getMovieClip("page1")[("pic" + _local1)]["grey"].visible = true;
getMovieClip("page1")[("pic" + _local1)]["hidden"].visible = true;
} else {
getMovieClip("page1")[("pic" + _local1)]["grey"].visible = false;
getMovieClip("page1")[("pic" + _local1)]["hidden"].visible = false;
};
getMovieClip("page1")[("pic" + _local1)].gotoAndStop(_local1);
getMovieClip("page1")[("pic" + _local1)].visible = true;
} else {
getMovieClip("page1")[("pic" + _local1)].gotoAndStop("locked");
if (_local1 == 10){
getMovieClip("page1")[("pic" + _local1)].visible = false;
};
};
if (so.mySO.data[("grade" + _local1)] != "A"){
allAs = false;
};
_local1++;
};
_local1 = 1;
while (_local1 <= 10) {
getMovieClip("page2")[("pic" + (_local1 + 10))]["grade"].text = so.mySO.data[("grade" + (_local1 + 10))];
getMovieClip("page2")[("pic" + (_local1 + 10))]["grade"].mouseEnabled = false;
if ((((((act1 == false)) && (((((_local1 + 10) <= so.mySO.data["highestLevel"])) || (unlocked))))) && (((((!(((_local1 + 10) == 20))) || (allAs))) || (unlocked))))){
getMovieClip("page2")[("pic" + (_local1 + 10))].addEventListener(MouseEvent.CLICK, onClick);
getMovieClip("page2")[("pic" + (_local1 + 10))].buttonMode = true;
if (so.mySO.data[("grade" + (_local1 + 10))] == ""){
getMovieClip("page2")[("pic" + (_local1 + 10))]["grey"].visible = true;
getMovieClip("page2")[("pic" + (_local1 + 10))]["hidden"].visible = true;
} else {
getMovieClip("page2")[("pic" + (_local1 + 10))]["grey"].visible = false;
getMovieClip("page2")[("pic" + (_local1 + 10))]["hidden"].visible = false;
};
getMovieClip("page2")[("pic" + (_local1 + 10))].gotoAndStop((_local1 + 10));
getMovieClip("page2")[("pic" + (_local1 + 10))].visible = true;
} else {
getMovieClip("page2")[("pic" + (_local1 + 10))].gotoAndStop("locked");
if ((_local1 + 10) == 20){
getMovieClip("page2")[("pic" + (_local1 + 10))].visible = false;
};
};
if (so.mySO.data[("grade" + (_local1 + 10))] != "A"){
allAs = false;
};
_local1++;
};
getTextField("score").text = MathUtils.makeScorePretty(so.mySO.data["total_score"]);
getTextField("time").text = MathUtils.formatTime(((so.mySO.data["total_time"] / 30) * 1000));
target["act1"].addEventListener(MouseEvent.CLICK, setAct1);
target["act2"].addEventListener(MouseEvent.CLICK, setAct2);
target["folder"]["holder"]["back"].addEventListener(MouseEvent.CLICK, back);
target["folder"]["holder"]["begin"].addEventListener(MouseEvent.CLICK, begin);
act1x = target["act1"].x;
act2x = target["act2"].x;
if ((Connector._current_mission_id + 1) <= 10){
target["act1"].x = (act1x - 30);
target["act2"].x = act2x;
target["act1"].mouseEnabled = false;
target["act2"].mouseEnabled = true;
getMovieClip("page2").visible = (getMovieClip("page2").mouseEnabled = false);
getMovieClip("page1").visible = (getMovieClip("page1").mouseEnabled = true);
} else {
target["act2"].x = (act2x - 30);
target["act1"].x = act1x;
target["act2"].mouseEnabled = false;
target["act1"].mouseEnabled = true;
getMovieClip("page1").visible = (getMovieClip("page1").mouseEnabled = false);
getMovieClip("page2").visible = (getMovieClip("page2").mouseEnabled = true);
};
bug_btn = target["mcBug"];
bug_btn.addEventListener(MouseEvent.CLICK, goToURL);
folder_bug_btn = target["folder"]["holder"]["mcBug"];
folder_bug_btn.addEventListener(MouseEvent.CLICK, goToURL);
addEventListener(Event.ENTER_FRAME, check);
}
public function setAct1(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
getMovieClip("page2").visible = (getMovieClip("page2").mouseEnabled = false);
getMovieClip("page1").visible = (getMovieClip("page1").mouseEnabled = true);
target["act1"].x = (act1x - 30);
target["act2"].x = act2x;
target["act1"].mouseEnabled = false;
target["act2"].mouseEnabled = true;
}
public function menuGo():void{
dispatchEvent(new Event(MENUSCREEN_COMPLETE));
}
public function setAct2(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
getMovieClip("page2").visible = (getMovieClip("page2").mouseEnabled = true);
getMovieClip("page1").visible = (getMovieClip("page1").mouseEnabled = false);
target["act2"].x = (act2x - 30);
target["act1"].x = act1x;
target["act2"].mouseEnabled = false;
target["act1"].mouseEnabled = true;
}
public function ready(_arg1):void{
target.removeEventListener(Event.ADDED_TO_STAGE, ready);
init();
}
public function goToURL(_arg1:MouseEvent):void{
var _local8:String;
var _local2:String = _arg1.currentTarget.name;
var _local3 = "surgeon2";
var _local4:* = new LocalConnection();
var _local5:String = _local4.domain;
var _local6:URLVariables = new URLVariables();
var _local7 = "";
var _local9 = "";
switch (_local2){
case "mcMGHome":
_local9 = "moregames_btn";
_local8 = "http://games.adultswim.com/";
break;
case "mcBug":
_local9 = "moregames_bug";
_local8 = "http://games.adultswim.com/";
break;
case "mcIphoneHome":
_local8 = "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8";
break;
default:
_local8 = "http://games.adultswim.com";
break;
};
var _local10 = "level_select";
if (_local8 != "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8"){
_local6.cid = ((((((("GAME_Ext_" + _local3) + "_") + _local5) + "_") + _local10) + "_") + _local9);
};
trace(("strURI " + _local8));
trace(("variables.cid " + _local6.cid));
var _local11:URLRequest = new URLRequest(_local8);
_local11.data = _local6;
navigateToURL(_local11, "_blank");
}
public function back(_arg1:MouseEvent):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
getMovieClip("folder").gotoAndPlay(21);
}
}
}//package app.view
Section 12
//PauseScreen (app.view.PauseScreen)
package app.view {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import shell.*;
import game.*;
import app.sound.*;
import flash.net.*;
public class PauseScreen extends Sprite {
public var help:MovieClip;
public var currentLevel:int;
private var controller:Game;
public var summary:Sprite;
private var rtl:RuntimeLibrary;
public var holder:MovieClip;
public static var PAUSE_COMPLETE:String = "PAUSE_COMPLETE";
public function PauseScreen(_arg1:Game){
controller = _arg1;
init();
}
public function dontQuit(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
holder["holder"]["quit"].gotoAndStop(1);
holder["holder"]["quit"].addEventListener(MouseEvent.MOUSE_DOWN, pressQuit);
holder["holder"]["quit"]["yes"].removeEventListener(MouseEvent.CLICK, quit);
holder["holder"]["quit"]["no"].removeEventListener(MouseEvent.CLICK, dontQuit);
holder["holder"]["quit"]["yes"].mouseEnabled = false;
holder["holder"]["quit"]["yes"].visible = false;
holder["holder"]["quit"]["no"].mouseEnabled = false;
holder["holder"]["quit"]["no"].visible = false;
}
public function goToURL(_arg1:MouseEvent):void{
var _local8:String;
var _local2:String = _arg1.currentTarget.name;
var _local3 = "surgeon2";
var _local4:* = new LocalConnection();
var _local5:String = _local4.domain;
var _local6:URLVariables = new URLVariables();
var _local7 = "";
var _local9 = "";
switch (_local2){
case "mcMGHome":
_local9 = "moregames_btn";
_local8 = "http://games.adultswim.com/";
break;
case "mcBug":
_local9 = "moregames_bug";
_local8 = "http://games.adultswim.com/";
break;
case "mcIphoneHome":
_local8 = "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8";
break;
default:
_local8 = "http://games.adultswim.com";
break;
};
var _local10 = "pause_screen";
if (_local8 != "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8"){
_local6.cid = ((((((("GAME_Ext_" + _local3) + "_") + _local5) + "_") + _local10) + "_") + _local9);
};
trace(("strURI " + _local8));
trace(("variables.cid " + _local6.cid));
var _local11:URLRequest = new URLRequest(_local8);
_local11.data = _local6;
navigateToURL(_local11, "_blank");
}
public function toggleEffects(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
if (controller.controller.sounds.getSoundEffectsOn()){
controller.controller.sounds.setSoundEffectsOn(false);
holder["holder"]["sholder"].gotoAndStop(1);
} else {
controller.controller.sounds.setSoundEffectsOn(true);
holder["holder"]["sholder"].gotoAndStop(2);
};
}
public function quit(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
holder["holder"]["quit"]["yes"].removeEventListener(MouseEvent.CLICK, quit);
holder["holder"]["quit"]["no"].removeEventListener(MouseEvent.CLICK, dontQuit);
controller.quitGame(null);
}
public function init():void{
holder = (RuntimeLibrary.getMovieClipByLinkageID("pauseScreen") as MovieClip);
holder["holder"]["resume"].addEventListener(MouseEvent.CLICK, startResume, null, null, true);
holder["holder"]["sholder"].addEventListener(MouseEvent.CLICK, toggleEffects, null, null, true);
holder["holder"]["mholder"].addEventListener(MouseEvent.CLICK, toggleMusic, null, null, true);
holder["holder"]["quit"].addEventListener(MouseEvent.MOUSE_DOWN, pressQuit, null, null, true);
holder["holder"]["help"].addEventListener(MouseEvent.CLICK, playHelp, null, null, true);
holder["holder"]["mcBug"].addEventListener(MouseEvent.MOUSE_DOWN, goToURL);
if (controller.controller.sounds.getSoundEffectsOn()){
holder["holder"]["sholder"].gotoAndStop(2);
} else {
holder["holder"]["sholder"].gotoAndStop(1);
};
if (controller.controller.sounds.getMusicOn()){
holder["holder"]["mholder"].gotoAndStop(2);
} else {
holder["holder"]["mholder"].gotoAndStop(1);
};
holder["holder"]["quit"]["yes"].mouseEnabled = false;
holder["holder"]["quit"]["yes"].visible = false;
holder["holder"]["quit"]["no"].mouseEnabled = false;
holder["holder"]["quit"]["no"].visible = false;
holder.x = 39;
holder.y = 6;
help = holder["help"];
help.stop();
addChild(holder);
}
public function cleanUp():void{
holder["holder"]["sholder"].removeEventListener(MouseEvent.CLICK, toggleEffects);
holder["holder"]["mholder"].removeEventListener(MouseEvent.CLICK, toggleMusic);
removeChild(holder);
}
public function playHelp(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
help.mouseEnabled = true;
help.mouseChildren = true;
help.gotoAndPlay(2);
help["holder"]["pages"].visible = false;
help["holder"]["pages"].mouseEnabled = false;
help["holder"]["pages"].mouseChildren = false;
help["holder"]["buttons"].visible = true;
help["holder"]["buttons"].mouseEnabled = true;
help["holder"]["buttons"].mouseChildren = true;
help["holder"]["back"].addEventListener(MouseEvent.CLICK, removeHelp);
help["holder"]["buttons"]["smallCut"].addEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["largeCut"].addEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["burn"].addEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["fire"].addEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["surfaceExtraction"].addEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["underSurfaceExtraction"].addEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["poison"].addEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["transplant"].addEventListener(MouseEvent.CLICK, showPage);
help["holder"]["pages"]["back"].addEventListener(MouseEvent.CLICK, removePage);
}
public function checkResume(_arg1:Event):void{
if (holder.currentFrame == holder.totalFrames){
removeEventListener(Event.ENTER_FRAME, checkResume);
cleanUp();
finished(_arg1);
};
}
public function removeHelp(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
help.gotoAndPlay(11);
help.mouseEnabled = false;
help.mouseChildren = false;
help["holder"]["buttons"]["smallCut"].removeEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["largeCut"].removeEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["burn"].removeEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["fire"].removeEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["surfaceExtraction"].removeEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["underSurfaceExtraction"].removeEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["poison"].removeEventListener(MouseEvent.CLICK, showPage);
help["holder"]["buttons"]["transplant"].removeEventListener(MouseEvent.CLICK, showPage);
help["holder"]["pages"]["back"].removeEventListener(MouseEvent.CLICK, removePage);
}
public function startResume(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
holder["holder"]["resume"].removeEventListener(MouseEvent.CLICK, startResume);
holder.play();
holder.mouseChildren = false;
holder.mouseEnabled = false;
addEventListener(Event.ENTER_FRAME, checkResume);
}
public function toggleMusic(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
if (controller.controller.sounds.getMusicOn()){
controller.controller.sounds.setMusicOn(false);
holder["holder"]["mholder"].gotoAndStop(1);
} else {
controller.controller.sounds.setMusicOn(true);
holder["holder"]["mholder"].gotoAndStop(2);
};
}
public function pressQuit(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
holder["holder"]["quit"].gotoAndStop(2);
holder["holder"]["quit"].removeEventListener(MouseEvent.MOUSE_DOWN, pressQuit);
holder["holder"]["quit"]["yes"].addEventListener(MouseEvent.CLICK, quit);
holder["holder"]["quit"]["no"].addEventListener(MouseEvent.CLICK, dontQuit);
holder["holder"]["quit"]["yes"].mouseEnabled = true;
holder["holder"]["quit"]["yes"].visible = true;
holder["holder"]["quit"]["no"].mouseEnabled = true;
holder["holder"]["quit"]["no"].visible = true;
}
public function removePage(_arg1:MouseEvent):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
help["holder"]["buttons"].visible = true;
help["holder"]["buttons"].mouseEnabled = true;
help["holder"]["buttons"].mouseChildren = true;
help["holder"]["pages"].visible = false;
help["holder"]["pages"].mouseEnabled = false;
help["holder"]["pages"].mouseChildren = false;
}
public function finished(_arg1:Event):void{
dispatchEvent(new Event(PAUSE_COMPLETE, true));
}
public function showPage(_arg1:MouseEvent):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
help["holder"]["buttons"].visible = false;
help["holder"]["buttons"].mouseEnabled = false;
help["holder"]["buttons"].mouseChildren = false;
help["holder"]["pages"].gotoAndStop(MovieClip(_arg1.currentTarget).name);
help["holder"]["pages"].visible = true;
help["holder"]["pages"].mouseEnabled = true;
help["holder"]["pages"].mouseChildren = true;
}
}
}//package app.view
Section 13
//PreloaderView (app.view.PreloaderView)
package app.view {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import shell.*;
import app.interfaces.*;
public class PreloaderView extends MenuObject implements IPreloader {
private var load_bar:MovieClip;
public var mc2f:int;
public var mc1f:int;
private var txt:TextField;
public var pc:Number;
public static var PRELOADER_LINKAGE:String = "preloader_mc";
public function PreloaderView(){
setTarget(PRELOADER_LINKAGE);
attachClip();
}
public function onComplete():void{
closePreloader();
}
public function update(_arg1:LoadInfo):void{
if (Math.round(_arg1.percent) >= 100){
load_bar.gotoAndStop(100);
} else {
mc1f++;
mc2f++;
if (mc1f > 25){
mc1f = 1;
};
if (mc2f > 25){
mc2f = 1;
};
load_bar["mc1"].gotoAndStop(mc1f);
load_bar["mc2"].gotoAndStop(mc2f);
load_bar.gotoAndStop(Math.floor(_arg1.percent));
};
}
public function init():void{
mc1f = 1;
mc2f = 1;
pc = 0;
load_bar = getMovieClip("preloader")["inner"];
load_bar.gotoAndStop(1);
}
public function closePreloader():void{
trace("close preloader");
dispatchEvent(new Event(Preloader.LOAD_COMPLETE));
}
}
}//package app.view
Section 14
//StartScene (app.view.StartScene)
package app.view {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import shell.*;
import game.*;
import app.sound.*;
import flash.net.*;
public class StartScene extends Sprite {
public var summary:Sprite;
private var rtl:RuntimeLibrary;
public var currentLevel:int;
public var bug_btn:SimpleButton;
public var holder:Sprite;
private var controller:Game;
public static var STARTSCENE_COMPLETE:String = "STARTSCENE_COMPLETE";
public function StartScene(_arg1:int, _arg2:Game){
controller = _arg2;
currentLevel = (_arg1 + 1);
init();
}
public function init():void{
holder = RuntimeLibrary.getMovieClipByLinkageID(("startScreen" + currentLevel));
holder["start"].addEventListener(MouseEvent.CLICK, finished, null, null, true);
bug_btn = holder["mcBug"];
bug_btn.addEventListener(MouseEvent.CLICK, goToURL);
addChild(holder);
}
public function finished(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
holder["start"].removeEventListener(MouseEvent.CLICK, finished);
removeChild(holder);
dispatchEvent(new Event(STARTSCENE_COMPLETE, true));
}
public function goToURL(_arg1:MouseEvent):void{
var _local8:String;
var _local2:String = _arg1.currentTarget.name;
var _local3 = "surgeon2";
var _local4:* = new LocalConnection();
var _local5:String = _local4.domain;
var _local6:URLVariables = new URLVariables();
var _local7 = "";
var _local9 = "";
switch (_local2){
case "mcMGHome":
_local9 = "moregames_btn";
_local8 = "http://games.adultswim.com/";
break;
case "mcBug":
_local9 = "moregames_bug";
_local8 = "http://games.adultswim.com/";
break;
case "mcIphoneHome":
_local8 = "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8";
break;
default:
_local8 = "http://games.adultswim.com";
break;
};
var _local10 = "start_scene";
if (_local8 != "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8"){
_local6.cid = ((((((("GAME_Ext_" + _local3) + "_") + _local5) + "_") + _local10) + "_") + _local9);
};
trace(("strURI " + _local8));
trace(("variables.cid " + _local6.cid));
var _local11:URLRequest = new URLRequest(_local8);
_local11.data = _local6;
navigateToURL(_local11, "_blank");
}
}
}//package app.view
Section 15
//StartScreen (app.view.StartScreen)
package app.view {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import flash.text.*;
import app.connector.*;
import game.utils.*;
import shell.*;
import app.*;
import app.sound.*;
import flash.net.*;
public class StartScreen extends MenuObject {
private var iphone_btn:SimpleButton;
private var continue_btn:SimpleButton;
private var start_btn:MovieClip;
private var credits:MovieClip;
public var controller:Controller;
public var so:SharedObjectManager;
private var intro:MovieClip;
private var txt:TextField;
private var more_btn:SimpleButton;
private var credits_btn:SimpleButton;
public static var STARTSCREEN_COMPLETE:String = "start_screen_complete";
public static var STARTSCREEN_LINKAGE:String = "start_mc";
public function StartScreen(_arg1:SharedObjectManager, _arg2:Controller){
controller = _arg2;
so = _arg1;
setTarget(STARTSCREEN_LINKAGE);
attachClip();
target.addEventListener(Event.ADDED_TO_STAGE, init);
}
public function pressContinue(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
controller.setupTransition(continueGo);
}
public function goToURL(_arg1:MouseEvent):void{
var _local8:String;
var _local2:String = _arg1.currentTarget.name;
var _local3 = "surgeon2";
var _local4:* = new LocalConnection();
var _local5:String = _local4.domain;
var _local6:URLVariables = new URLVariables();
var _local7 = "";
var _local9 = "";
switch (_local2){
case "mcMGHome":
_local9 = "moregames_btn";
_local8 = "http://games.adultswim.com/";
break;
case "mcBug":
_local9 = "moregames_bug";
_local8 = "http://games.adultswim.com/";
break;
case "mcIphoneHome":
_local8 = "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8";
break;
default:
_local8 = "http://games.adultswim.com";
break;
};
var _local10 = "start_screen";
if (_local8 != "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8"){
_local6.cid = ((((((("GAME_Ext_" + _local3) + "_") + _local5) + "_") + _local10) + "_") + _local9);
};
trace(("strURI " + _local8));
trace(("variables.cid " + _local6.cid));
var _local11:URLRequest = new URLRequest(_local8);
_local11.data = _local6;
navigateToURL(_local11, "_blank");
}
public function endSure(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
start_btn["holder"]["yes"].mouseEnabled = false;
start_btn["holder"]["no"].mouseEnabled = false;
addEventListener(Event.ENTER_FRAME, checkEnd);
}
public function checkIntro(_arg1:Event):void{
intro.nextFrame();
if (intro.currentFrame == intro.totalFrames){
skipIntro(_arg1);
};
}
public function closeStartScreen(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
start_btn["new_game"].removeEventListener(MouseEvent.CLICK, playSure);
continue_btn.removeEventListener(MouseEvent.CLICK, pressContinue);
dispatchEvent(new Event(STARTSCREEN_COMPLETE));
}
public function init(_arg1:Event):void{
start_btn = getMovieClip("start_btn");
start_btn["new_game"].addEventListener(MouseEvent.CLICK, playSure);
start_btn["new_game"].mouseEnabled = true;
start_btn["holder"]["yes"].addEventListener(MouseEvent.CLICK, playIntro);
start_btn["holder"]["yes"].mouseEnabled = false;
start_btn["holder"]["no"].addEventListener(MouseEvent.CLICK, endSure);
start_btn["holder"]["no"].mouseEnabled = false;
continue_btn = target["continue_btn"];
if (so.mySO.data["firstRun"] == false){
ColourUtils.tint(0, 0, continue_btn);
continue_btn.mouseEnabled = true;
continue_btn.addEventListener(MouseEvent.CLICK, pressContinue);
} else {
ColourUtils.tint(0, 0.5, continue_btn);
continue_btn.mouseEnabled = false;
};
intro = getMovieClip("intro");
intro["skip"].visible = false;
intro["skip"].mouseEnabled = false;
intro["skip"].addEventListener(MouseEvent.CLICK, skipIntro);
credits = getMovieClip("credits");
credits.visible = false;
credits.mouseEnabled = false;
credits["back"].visible = false;
credits["back"].mouseEnabled = false;
credits["back"].addEventListener(MouseEvent.CLICK, removeCredits);
credits_btn = target["credits_btn"];
credits_btn.addEventListener(MouseEvent.CLICK, addCredits);
more_btn = target["mcMGHome"];
more_btn.addEventListener(MouseEvent.CLICK, goToURL);
iphone_btn = target["mcIphoneHome"];
iphone_btn.addEventListener(MouseEvent.CLICK, goToURL);
}
public function playIntro(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
controller.setupTransition(introGo);
}
public function playSure(_arg1:Event):void{
trace("1");
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
trace("2");
if (so.mySO.data["firstRun"] == false){
trace("3");
start_btn["new_game"].mouseEnabled = false;
addEventListener(Event.ENTER_FRAME, checkSure);
} else {
trace("4");
playIntro(_arg1);
};
}
public function skipIntro(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
start_btn["holder"]["yes"].removeEventListener(MouseEvent.CLICK, playIntro);
start_btn["holder"]["no"].removeEventListener(MouseEvent.CLICK, endSure);
intro.gotoAndStop(1);
removeEventListener(Event.ENTER_FRAME, checkIntro);
intro["skip"].removeEventListener(MouseEvent.CLICK, skipIntro);
closeStartScreen(_arg1);
}
public function continueGo():void{
start_btn["new_game"].removeEventListener(MouseEvent.CLICK, playSure);
continue_btn.removeEventListener(MouseEvent.CLICK, closeStartScreen);
dispatchEvent(new Event(STARTSCREEN_COMPLETE));
}
private function removeCredits(_arg1:MouseEvent):void{
credits.visible = false;
credits.mouseEnabled = false;
credits["back"].visible = false;
credits["back"].mouseEnabled = false;
}
private function addCredits(_arg1:MouseEvent):void{
credits.visible = true;
credits.mouseEnabled = true;
credits["back"].visible = true;
credits["back"].mouseEnabled = true;
}
public function checkEnd(_arg1:Event):void{
start_btn.nextFrame();
if (start_btn.currentFrame == start_btn.totalFrames){
start_btn.gotoAndStop(1);
start_btn["new_game"].mouseEnabled = true;
removeEventListener(Event.ENTER_FRAME, checkEnd);
};
}
public function introGo():void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
SoundController.getInstance().swapTheme(SoundPackage.INTRO_MUSIC, true);
so.setup();
intro["skip"].visible = true;
intro["skip"].mouseEnabled = true;
addEventListener(Event.ENTER_FRAME, checkIntro);
}
public function checkSure(_arg1:Event):void{
start_btn.nextFrame();
if (start_btn.currentFrame == 11){
start_btn["holder"]["yes"].mouseEnabled = true;
start_btn["holder"]["no"].mouseEnabled = true;
removeEventListener(Event.ENTER_FRAME, checkSure);
};
}
}
}//package app.view
Section 16
//WaitView (app.view.WaitView)
package app.view {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import shell.*;
import app.interfaces.*;
public class WaitView extends MenuObject implements IWaiter {
private var txt:TextField;
private var wheel:MovieClip;
public static var WAITER_LINKAGE:String = "wait_mc";
public function WaitView(){
setTarget(WAITER_LINKAGE);
attachClip();
}
public function onComplete():void{
closeWaiter();
}
public function closeWaiter():void{
dispatchEvent(new Event(Preloader.LOAD_COMPLETE));
}
public function init():void{
txt = getTextField("txt");
wheel = getMovieClip("wheel");
wheel.play();
txt.text = "Loading data";
}
}
}//package app.view
Section 17
//Controller (app.Controller)
package app {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import app.connector.*;
import game.utils.*;
import shell.*;
import game.libraries.*;
import game.*;
import game.interfaces.*;
import app.sound.*;
import app.view.*;
public class Controller extends Sprite {
public var sounds:SoundController;
public var game_layer:Sprite;
private var menu_screen:LevelScreen;
public var transition:MovieClip;
public var mc:Sprite;
public var so:SharedObjectManager;
public var my_game:IEngine;
private var start_screen:StartScreen;
public var callBack:Function;
public var fps:fpsBox;
private var _shell:Shell;
public var app_layer:Sprite;
public function Controller(_arg1:Sprite){
trace("create controller");
mc = _arg1;
so = new SharedObjectManager();
_shell = new Shell(this, new LoadCollection("core/skin/", ["shell_preloader.swf"]), [new LoadCollection("core/skin/", ["shell.swf", "sounds.swf"]), new LoadCollection("media/", ["cut_scene.swf"])]);
_shell.addEventListener(Shell.RESUME_GAME, onShellLoaded);
game_layer = new Sprite();
app_layer = new Sprite();
addChild(game_layer);
addChild(app_layer);
addChild(_shell);
}
public function showStartScreen(_arg1:Event):void{
trace("show start screen");
start_screen = new StartScreen(so, this);
start_screen.addEventListener(StartScreen.STARTSCREEN_COMPLETE, showMenuScreen);
sounds.swapTheme(SoundPackage.SNEAK_MUSIC, true);
addChild(start_screen);
if (SoundController.getInstance().theme != SoundPackage.SOUNDTRACK){
SoundController.getInstance().swapTheme(SoundPackage.SOUNDTRACK, true);
};
}
private function checkFrame(_arg1:Event):void{
if (MovieClip(mc).currentFrame == MovieClip(mc).totalFrames){
sounds = new SoundController(new SoundPackage(), false);
removeEventListener(Event.ENTER_FRAME, checkFrame);
Library.getInstance().addEventListener(Library.COMPLETE, showStartScreen);
Library.getInstance().init();
};
}
public function stopGame(_arg1:Event=null):void{
if (((!((my_game == null))) && ((my_game.active == true)))){
my_game.pauseGame();
};
}
public function showMenuScreen(_arg1:Event=null):void{
if (SoundController.getInstance().theme != SoundPackage.SOUNDTRACK){
SoundController.getInstance().swapTheme(SoundPackage.SOUNDTRACK, true);
};
if (start_screen != null){
removeChild(start_screen);
start_screen = null;
};
if (so.mySO.data["firstRun"] == false){
menu_screen = new LevelScreen(so, this);
menu_screen.addEventListener(LevelScreen.MENUSCREEN_COMPLETE, startGame);
addChild(menu_screen);
swapChildren(transition, menu_screen);
} else {
startGame(null);
};
}
public function quitGame(_arg1:Event=null):void{
game_layer.removeChild((my_game as Sprite));
my_game = null;
removeEventListener(Shell.STOP_GAME, stopGame);
removeEventListener(Shell.RESUME_GAME, resumeGame);
removeEventListener(Shell.QUIT_GAME, quitGame);
removeEventListener(Shell.REPLAY, replay);
showMenuScreen();
}
public function replay(_arg1:Event=null):void{
game_layer.removeChild((my_game as Sprite));
my_game = null;
removeEventListener(Shell.STOP_GAME, stopGame);
removeEventListener(Shell.RESUME_GAME, resumeGame);
removeEventListener(Shell.QUIT_GAME, quitGame);
removeEventListener(Shell.REPLAY, replay);
if (menu_screen != null){
removeChild(menu_screen);
menu_screen = null;
};
my_game = new Game(Connector.current_mission, so, this);
game_layer.addChild((my_game as Sprite));
addEventListener(Shell.STOP_GAME, stopGame);
addEventListener(Shell.RESUME_GAME, resumeGame);
addEventListener(Shell.QUIT_GAME, quitGame);
addEventListener(Shell.REPLAY, replay);
}
public function setupTransition(_arg1:Function):void{
transition = (RuntimeLibrary.getMovieClipByLinkageID("bandages") as MovieClip);
addChild(transition);
addEventListener(Event.ENTER_FRAME, checkTransition);
callBack = _arg1;
}
public function startGame(_arg1:Event=null):void{
if (so.mySO.data["firstRun"] == false){
Connector.current_mission = menu_screen.selection;
Connector.current_mission_id = menu_screen.selection;
} else {
Connector.current_mission = 0;
Connector.current_mission_id = 0;
};
if (menu_screen != null){
removeChild(menu_screen);
menu_screen = null;
};
my_game = new Game(Connector.current_mission, so, this);
game_layer.addChild((my_game as Sprite));
addEventListener(Shell.STOP_GAME, stopGame);
addEventListener(Shell.RESUME_GAME, resumeGame);
addEventListener(Shell.QUIT_GAME, quitGame);
addEventListener(Shell.REPLAY, replay);
}
public function onShellLoaded(_arg1:Event=null):void{
trace("shell loaded");
MovieClip(mc).play();
addEventListener(Event.ENTER_FRAME, checkFrame);
_shell.removeEventListener(Shell.RESUME_GAME, onShellLoaded);
}
public function checkTransition(_arg1:Event):void{
if (transition.currentFrame < transition.totalFrames){
transition.nextFrame();
};
if (transition.currentFrame == 25){
callBack();
};
if (transition.currentFrame == transition.totalFrames){
removeChild(transition);
transition = null;
removeEventListener(Event.ENTER_FRAME, checkTransition);
};
}
public function resumeGame(_arg1:Event=null):void{
if (((!((my_game == null))) && ((my_game.active == true)))){
my_game.resumeGame();
};
}
}
}//package app
Section 18
//compareStringCaseInSensitive (de.polygonal.ds.sort.compare.compareStringCaseInSensitive)
package de.polygonal.ds.sort.compare {
public function compareStringCaseInSensitive(_arg1:String, _arg2:String):int{
var _local3:int;
var _local4:int;
var _local5:int;
_arg1 = _arg1.toLowerCase();
_arg2 = _arg2.toLowerCase();
if ((_arg1.length + _arg2.length) > 2){
_local3 = 0;
_local4 = ((_arg1.length > _arg2.length)) ? _arg1.length : _arg2.length;
_local5 = 0;
while (_local5 < _local4) {
_local3 = (_arg1.charCodeAt(_local5) - _arg2.charCodeAt(_local5));
if (_local3 != 0){
break;
};
_local5++;
};
return (_local3);
} else {
};
return ((!NULL! - !NULL!));
}
}//package de.polygonal.ds.sort.compare
Section 19
//compareStringCaseInSensitiveDesc (de.polygonal.ds.sort.compare.compareStringCaseInSensitiveDesc)
package de.polygonal.ds.sort.compare {
public function compareStringCaseInSensitiveDesc(_arg1:String, _arg2:String):int{
var _local3:int;
var _local4:int;
var _local5:int;
_arg1 = _arg1.toLowerCase();
_arg2 = _arg2.toLowerCase();
if ((_arg1.length + _arg2.length) > 2){
_local3 = 0;
_local4 = ((_arg1.length > _arg2.length)) ? _arg1.length : _arg2.length;
_local5 = 0;
while (_local5 < _local4) {
_local3 = (_arg2.charCodeAt(_local5) - _arg1.charCodeAt(_local5));
if (_local3 != 0){
break;
};
_local5++;
};
return (_local3);
} else {
};
return ((!NULL! - !NULL!));
}
}//package de.polygonal.ds.sort.compare
Section 20
//compareStringCaseSensitive (de.polygonal.ds.sort.compare.compareStringCaseSensitive)
package de.polygonal.ds.sort.compare {
public function compareStringCaseSensitive(_arg1:String, _arg2:String):int{
var _local3:int;
var _local4:int;
var _local5:int;
if ((_arg1.length + _arg2.length) > 2){
_local3 = 0;
_local4 = ((_arg1.length > _arg2.length)) ? _arg1.length : _arg2.length;
_local5 = 0;
while (_local5 < _local4) {
_local3 = (_arg1.charCodeAt(_local5) - _arg2.charCodeAt(_local5));
if (_local3 != 0){
break;
};
_local5++;
};
return (_local3);
} else {
};
return ((!NULL! - !NULL!));
}
}//package de.polygonal.ds.sort.compare
Section 21
//compareStringCaseSensitiveDesc (de.polygonal.ds.sort.compare.compareStringCaseSensitiveDesc)
package de.polygonal.ds.sort.compare {
public function compareStringCaseSensitiveDesc(_arg1:String, _arg2:String):int{
var _local3:int;
var _local4:int;
var _local5:int;
if ((_arg1.length + _arg2.length) > 2){
_local3 = 0;
_local4 = ((_arg1.length > _arg2.length)) ? _arg1.length : _arg2.length;
_local5 = 0;
while (_local5 < _local4) {
_local3 = (_arg2.charCodeAt(_local5) - _arg1.charCodeAt(_local5));
if (_local3 != 0){
break;
};
_local5++;
};
return (_local3);
} else {
};
return ((!NULL! - !NULL!));
}
}//package de.polygonal.ds.sort.compare
Section 22
//dLinkedInsertionSort (de.polygonal.ds.sort.dLinkedInsertionSort)
package de.polygonal.ds.sort {
import de.polygonal.ds.*;
public function dLinkedInsertionSort(_arg1:DListNode, _arg2:Boolean=false):DListNode{
var _local4:DListNode;
var _local5:DListNode;
var _local6:DListNode;
var _local7:DListNode;
var _local8:*;
if (!_arg1){
return (null);
};
var _local3:DListNode = _arg1;
if (_arg2){
_local5 = _local3.next;
while (_local5) {
_local6 = _local5.next;
_local4 = _local5.prev;
if (_local4.data < _local5.data){
_local7 = _local4;
while (_local7.prev) {
if (_local7.prev.data < _local5.data){
_local7 = _local7.prev;
} else {
break;
};
};
if (_local6){
_local4.next = _local6;
_local6.prev = _local4;
} else {
_local4.next = null;
};
if (_local7 == _local3){
_local5.prev = null;
_local5.next = _local7;
_local7.prev = _local5;
_local3 = _local5;
} else {
_local5.prev = _local7.prev;
_local7.prev.next = _local5;
_local5.next = _local7;
_local7.prev = _local5;
};
};
_local5 = _local6;
};
return (_local3);
//unresolved jump
};
_local5 = _local3.next;
while (_local5) {
_local6 = _local5.next;
_local4 = _local5.prev;
if (_local4.data > _local5.data){
_local7 = _local4;
while (_local7.prev) {
if (_local7.prev.data > _local5.data){
_local7 = _local7.prev;
} else {
break;
};
};
if (_local6){
_local4.next = _local6;
_local6.prev = _local4;
} else {
_local4.next = null;
};
if (_local7 == _local3){
_local5.prev = null;
_local5.next = _local7;
_local7.prev = _local5;
_local3 = _local5;
} else {
_local5.prev = _local7.prev;
_local7.prev.next = _local5;
_local5.next = _local7;
_local7.prev = _local5;
};
};
_local5 = _local6;
};
return (_local3);
}
}//package de.polygonal.ds.sort
Section 23
//dLinkedInsertionSortCmp (de.polygonal.ds.sort.dLinkedInsertionSortCmp)
package de.polygonal.ds.sort {
import de.polygonal.ds.*;
public function dLinkedInsertionSortCmp(_arg1:DListNode, _arg2:Function, _arg3:Boolean=false):DListNode{
var _local5:DListNode;
var _local6:DListNode;
var _local7:DListNode;
var _local8:DListNode;
var _local9:*;
if (((!(_arg1)) || ((_arg2 == null)))){
return (null);
};
var _local4:DListNode = _arg1;
if (_arg3){
_local6 = _local4.next;
while (_local6) {
_local7 = _local6.next;
_local5 = _local6.prev;
if (_arg2(_local5.data, _local6.data) < 0){
_local8 = _local5;
while (_local8.prev) {
if (_arg2(_local8.prev.data, _local6.data) < 0){
_local8 = _local8.prev;
} else {
break;
};
};
if (_local7){
_local5.next = _local7;
_local7.prev = _local5;
} else {
_local5.next = null;
};
if (_local8 == _local4){
_local6.prev = null;
_local6.next = _local8;
_local8.prev = _local6;
_local4 = _local6;
} else {
_local6.prev = _local8.prev;
_local8.prev.next = _local6;
_local6.next = _local8;
_local8.prev = _local6;
};
};
_local6 = _local7;
};
} else {
_local6 = _local4.next;
while (_local6) {
_local7 = _local6.next;
_local5 = _local6.prev;
if (_arg2(_local5.data, _local6.data) > 0){
_local8 = _local5;
while (_local8.prev) {
if (_arg2(_local8.prev.data, _local6.data) > 0){
_local8 = _local8.prev;
} else {
break;
};
};
if (_local7){
_local5.next = _local7;
_local7.prev = _local5;
} else {
_local5.next = null;
};
if (_local8 == _local4){
_local6.prev = null;
_local6.next = _local8;
_local8.prev = _local6;
_local4 = _local6;
} else {
_local6.prev = _local8.prev;
_local8.prev.next = _local6;
_local6.next = _local8;
_local8.prev = _local6;
};
};
_local6 = _local7;
};
};
return (_local4);
}
}//package de.polygonal.ds.sort
Section 24
//dLinkedMergeSort (de.polygonal.ds.sort.dLinkedMergeSort)
package de.polygonal.ds.sort {
import de.polygonal.ds.*;
public function dLinkedMergeSort(_arg1:DListNode, _arg2:Boolean=false):DListNode{
var _local4:DListNode;
var _local5:DListNode;
var _local6:DListNode;
var _local7:DListNode;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
if (!_arg1){
return (null);
};
var _local3:DListNode = _arg1;
var _local8 = 1;
if (_arg2){
while (true) {
_local4 = _local3;
_local7 = null;
_local3 = _local7;
_local9 = 0;
while (_local4) {
_local9++;
_local12 = 0;
_local10 = 0;
_local5 = _local4;
while (_local12 < _local8) {
_local10++;
_local5 = _local5.next;
if (!_local5){
break;
};
_local12++;
};
_local11 = _local8;
while ((((_local10 > 0)) || ((((_local11 > 0)) && (_local5))))) {
if (_local10 == 0){
_local6 = _local5;
_local5 = _local5.next;
_local11--;
} else {
if ((((_local11 == 0)) || (!(_local5)))){
_local6 = _local4;
_local4 = _local4.next;
_local10--;
} else {
if ((_local4.data - _local5.data) >= 0){
_local6 = _local4;
_local4 = _local4.next;
_local10--;
} else {
_local6 = _local5;
_local5 = _local5.next;
_local11--;
};
};
};
if (_local7){
_local7.next = _local6;
} else {
_local3 = _local6;
};
_local6.prev = _local7;
_local7 = _local6;
};
_local4 = _local5;
};
_local7.next = null;
if (_local9 <= 1){
return (_local3);
};
_local8 = (_local8 << 1);
};
} else {
while (true) {
_local4 = _local3;
_local7 = null;
_local3 = _local7;
_local9 = 0;
while (_local4) {
_local9++;
_local12 = 0;
_local10 = 0;
_local5 = _local4;
while (_local12 < _local8) {
_local10++;
_local5 = _local5.next;
if (!_local5){
break;
};
_local12++;
};
_local11 = _local8;
while ((((_local10 > 0)) || ((((_local11 > 0)) && (_local5))))) {
if (_local10 == 0){
_local6 = _local5;
_local5 = _local5.next;
_local11--;
} else {
if ((((_local11 == 0)) || (!(_local5)))){
_local6 = _local4;
_local4 = _local4.next;
_local10--;
} else {
if ((_local4.data - _local5.data) <= 0){
_local6 = _local4;
_local4 = _local4.next;
_local10--;
} else {
_local6 = _local5;
_local5 = _local5.next;
_local11--;
};
};
};
if (_local7){
_local7.next = _local6;
} else {
_local3 = _local6;
};
_local6.prev = _local7;
_local7 = _local6;
};
_local4 = _local5;
};
_local7.next = null;
if (_local9 <= 1){
return (_local3);
};
_local8 = (_local8 << 1);
};
};
return (null);
}
}//package de.polygonal.ds.sort
Section 25
//dLinkedMergeSortCmp (de.polygonal.ds.sort.dLinkedMergeSortCmp)
package de.polygonal.ds.sort {
import de.polygonal.ds.*;
public function dLinkedMergeSortCmp(_arg1:DListNode, _arg2:Function, _arg3:Boolean=false):DListNode{
var _local5:DListNode;
var _local6:DListNode;
var _local7:DListNode;
var _local8:DListNode;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
if (((!(_arg1)) || ((_arg2 == null)))){
return (null);
};
var _local4:DListNode = _arg1;
var _local9 = 1;
if (_arg3){
while (true) {
_local5 = _local4;
_local8 = null;
_local4 = _local8;
_local10 = 0;
while (_local5) {
_local10++;
_local13 = 0;
_local11 = 0;
_local6 = _local5;
while (_local13 < _local9) {
_local11++;
_local6 = _local6.next;
if (!_local6){
break;
};
_local13++;
};
_local12 = _local9;
while ((((_local11 > 0)) || ((((_local12 > 0)) && (_local6))))) {
if (_local11 == 0){
_local7 = _local6;
_local6 = _local6.next;
_local12--;
} else {
if ((((_local12 == 0)) || (!(_local6)))){
_local7 = _local5;
_local5 = _local5.next;
_local11--;
} else {
if (_arg2(_local5.data, _local6.data) >= 0){
_local7 = _local5;
_local5 = _local5.next;
_local11--;
} else {
_local7 = _local6;
_local6 = _local6.next;
_local12--;
};
};
};
if (_local8){
_local8.next = _local7;
} else {
_local4 = _local7;
};
_local7.prev = _local8;
_local8 = _local7;
};
_local5 = _local6;
};
_arg1.prev = _local8;
_local8.next = null;
if (_local10 <= 1){
return (_local4);
};
_local9 = (_local9 << 1);
};
} else {
while (true) {
_local5 = _local4;
_local8 = null;
_local4 = _local8;
_local10 = 0;
while (_local5) {
_local10++;
_local13 = 0;
_local11 = 0;
_local6 = _local5;
while (_local13 < _local9) {
_local11++;
_local6 = _local6.next;
if (!_local6){
break;
};
_local13++;
};
_local12 = _local9;
while ((((_local11 > 0)) || ((((_local12 > 0)) && (_local6))))) {
if (_local11 == 0){
_local7 = _local6;
_local6 = _local6.next;
_local12--;
} else {
if ((((_local12 == 0)) || (!(_local6)))){
_local7 = _local5;
_local5 = _local5.next;
_local11--;
} else {
if (_arg2(_local5.data, _local6.data) <= 0){
_local7 = _local5;
_local5 = _local5.next;
_local11--;
} else {
_local7 = _local6;
_local6 = _local6.next;
_local12--;
};
};
};
if (_local8){
_local8.next = _local7;
} else {
_local4 = _local7;
};
_local7.prev = _local8;
_local8 = _local7;
};
_local5 = _local6;
};
_arg1.prev = _local8;
_local8.next = null;
if (_local10 <= 1){
return (_local4);
};
_local9 = (_local9 << 1);
};
};
return (null);
}
}//package de.polygonal.ds.sort
Section 26
//Array2 (de.polygonal.ds.Array2)
package de.polygonal.ds {
public class Array2 implements Collection {
private var _a:Array;
private var _h:int;
private var _w:int;
public function Array2(_arg1:int, _arg2:int){
if ((((_arg1 < 1)) || ((_arg2 < 1)))){
throw (new Error("illegal size"));
};
_a = new Array((_w = _arg1), (_h = _arg2));
fill(null);
}
public function get size():int{
return ((_w * _h));
}
public function fill(_arg1):void{
var _local3:int;
var _local4:Class;
var _local2:int = (_w * _h);
if ((_arg1 is Class)){
_local4 = (_arg1 as Class);
_local3 = 0;
while (_local3 < _local2) {
_a[_local3] = new (_local4);
_local3++;
};
} else {
_local3 = 0;
while (_local3 < _local2) {
_a[_local3] = _arg1;
_local3++;
};
};
}
public function get width():int{
return (_w);
}
public function getCol(_arg1:int):Array{
var _local2:Array = [];
var _local3:int;
while (_local3 < _h) {
_local2[_local3] = _a[int(((_local3 * _w) + _arg1))];
_local3++;
};
return (_local2);
}
public function shiftDown():void{
if (_h == 1){
return;
};
var _local1:int = ((_h - 1) * _w);
_a = _a.slice(_local1, (_local1 + _w)).concat(_a);
_a.splice((_h * _w), _w);
}
public function set width(_arg1:int):void{
resize(_arg1, _h);
}
public function appendCol(_arg1:Array):void{
_arg1.length = _h;
var _local2:int;
while (_local2 < _h) {
_a.splice((((_local2 * _w) + _w) + _local2), 0, _arg1[_local2]);
_local2++;
};
_w++;
}
public function set height(_arg1:int):void{
resize(_w, _arg1);
}
public function clear():void{
_a = new Array(size);
}
public function get(_arg1:int, _arg2:int){
return (_a[((_arg2 * _w) + _arg1)]);
}
public function setRow(_arg1:uint, _arg2:Array):void{
if ((((_arg1 < 0)) || ((_arg1 > _h)))){
throw (new Error("row index out of bounds"));
};
var _local3:int = (_arg1 * _w);
var _local4:int;
while (_local4 < _w) {
_a[int((_local3 + _local4))] = _arg2[_local4];
_local4++;
};
}
public function prependCol(_arg1:Array):void{
_arg1.length = _h;
var _local2:int;
while (_local2 < _h) {
_a.splice(((_local2 * _w) + _local2), 0, _arg1[_local2]);
_local2++;
};
_w++;
}
public function isEmpty():Boolean{
return (false);
}
public function toArray():Array{
var _local1:Array = _a.concat();
var _local2:int = size;
if (_local1.length > _local2){
_local1.length = _local2;
};
return (_local1);
}
public function contains(_arg1):Boolean{
var _local2:int = size;
var _local3:int;
while (_local3 < _local2) {
if (_a[_local3] === _arg1){
return (true);
};
_local3++;
};
return (false);
}
public function appendRow(_arg1:Array):void{
_arg1.length = _w;
_a = _a.concat(_arg1);
_h++;
}
public function dump():String{
var _local2:int;
var _local3:*;
var _local5:int;
var _local1 = "Array2\n{";
var _local4:int;
while (_local4 < _h) {
_local1 = (_local1 + ("\n" + "\t"));
_local2 = (_local4 * _w);
_local5 = 0;
while (_local5 < _w) {
_local3 = _a[int((_local2 + _local5))];
_local1 = (_local1 + (("[" + ((_local3)!=undefined) ? _local3 : "?") + "]"));
_local5++;
};
_local4++;
};
_local1 = (_local1 + "\n}");
return (_local1);
}
public function getArray():Array{
return (_a);
}
public function getRow(_arg1:int):Array{
var _local2:int = (_arg1 * _w);
return (_a.slice(_local2, (_local2 + _w)));
}
public function get height():int{
return (_h);
}
public function shiftLeft():void{
var _local2:int;
if (_w == 1){
return;
};
var _local1:int = (_w - 1);
var _local3:int;
while (_local3 < _h) {
_local2 = ((_local3 * _w) + _local1);
_a.splice(_local2, 0, _a.splice((_local2 - _local1), 1));
_local3++;
};
}
public function getIterator():Iterator{
return (new Array2Iterator(this));
}
public function prependRow(_arg1:Array):void{
_arg1.length = _w;
_a = _arg1.concat(_a);
_h++;
}
public function set(_arg1:int, _arg2:int, _arg3):void{
_a[int(((_arg2 * _w) + _arg1))] = _arg3;
}
public function resize(_arg1:int, _arg2:int):void{
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
if ((((_arg1 < 1)) || ((_arg2 < 1)))){
throw (new Error("illegal size"));
};
var _local3:Array = _a.concat();
_a.length = 0;
_a.length = (_arg1 * _arg2);
var _local4:int = ((_arg1 < _w)) ? _arg1 : _w;
var _local5:int = ((_arg2 < _h)) ? _arg2 : _h;
_local7 = 0;
while (_local7 < _local5) {
_local8 = (_local7 * _arg1);
_local9 = (_local7 * _w);
_local6 = 0;
while (_local6 < _local4) {
_a[int((_local8 + _local6))] = _local3[int((_local9 + _local6))];
_local6++;
};
_local7++;
};
_w = _arg1;
_h = _arg2;
}
public function transpose():void{
var _local3:int;
var _local1:Array = _a.concat();
var _local2:int;
while (_local2 < _h) {
_local3 = 0;
while (_local3 < _w) {
_a[int(((_local3 * _w) + _local2))] = _local1[int(((_local2 * _w) + _local3))];
_local3++;
};
_local2++;
};
}
public function shiftRight():void{
var _local2:int;
if (_w == 1){
return;
};
var _local1:int = (_w - 1);
var _local3:int;
while (_local3 < _h) {
_local2 = ((_local3 * _w) + _local1);
_a.splice((_local2 - _local1), 0, _a.splice(_local2, 1));
_local3++;
};
}
public function toString():String{
return ((((("[Array2, width=" + width) + ", height=") + height) + "]"));
}
public function shiftUp():void{
if (_h == 1){
return;
};
_a = _a.concat(_a.slice(0, _w));
_a.splice(0, _w);
}
public function setCol(_arg1:int, _arg2:Array):void{
if ((((_arg1 < 0)) || ((_arg1 > _w)))){
throw (new Error("column index out of bounds"));
};
var _local3:int;
while (_local3 < _h) {
_a[int(((_local3 * _w) + _arg1))] = _arg2[_local3];
_local3++;
};
}
}
}//package de.polygonal.ds
class Array2Iterator implements Iterator {
private var _xCursor:int;
private var _a2:Array2;
private var _yCursor:int;
private function Array2Iterator(_arg1:Array2){
_a2 = _arg1;
_xCursor = (_yCursor = 0);
}
public function start():void{
_xCursor = (_yCursor = 0);
}
public function hasNext():Boolean{
return ((((_yCursor * _a2.width) + _xCursor) < _a2.size));
}
public function get data(){
return (_a2.get(_xCursor, _yCursor));
}
public function set data(_arg1):void{
_a2.set(_xCursor, _yCursor, _arg1);
}
public function next(){
var _local1:* = data;
if (++_xCursor == _a2.width){
_yCursor++;
_xCursor = 0;
};
return (_local1);
}
}
Section 27
//Collection (de.polygonal.ds.Collection)
package de.polygonal.ds {
public interface Collection {
function get size():int;
function isEmpty():Boolean;
function getIterator():Iterator;
function clear():void;
function toArray():Array;
function contains(_arg1):Boolean;
}
}//package de.polygonal.ds
Section 28
//DLinkedList (de.polygonal.ds.DLinkedList)
package de.polygonal.ds {
import de.polygonal.ds.sort.*;
import de.polygonal.ds.sort.compare.*;
public class DLinkedList implements Collection {
private var _count:int;
public var tail:DListNode;
public var head:DListNode;
public function DLinkedList(... _args){
head = (tail = null);
_count = 0;
if (_args.length > 0){
append.apply(this, _args);
};
}
public function get size():int{
return (_count);
}
public function isEmpty():Boolean{
return ((_count == 0));
}
public function remove(_arg1:DListIterator):Boolean{
if (((!((_arg1.list == this))) || (!(_arg1.node)))){
return (false);
};
var _local2:DListNode = _arg1.node;
if (_local2 == head){
head = head.next;
} else {
if (_local2 == tail){
tail = tail.prev;
};
};
if (_arg1.node){
_arg1.node = _arg1.node.next;
};
if (_local2.prev){
_local2.prev.next = _local2.next;
};
if (_local2.next){
_local2.next.prev = _local2.prev;
};
_local2.next = (_local2.prev = null);
if (head == null){
tail = null;
};
_count--;
return (true);
}
public function removeHead(){
var _local1:*;
if (head){
_local1 = head.data;
head = head.next;
if (head){
head.prev = null;
} else {
tail = null;
};
_count--;
return (_local1);
};
return (null);
}
public function clear():void{
var _local2:DListNode;
var _local1:DListNode = head;
head = null;
while (_local1) {
_local2 = _local1.next;
_local1.next = (_local1.prev = null);
_local1 = _local2;
};
_count = 0;
}
public function prepend(... _args):DListNode{
var _local4:DListNode;
var _local5:int;
var _local2:int = _args.length;
var _local3:DListNode = new DListNode(_args[int((_local2 - 1))]);
if (head){
head.insertBefore(_local3);
head = head.prev;
} else {
head = (tail = _local3);
};
if (_local2 > 1){
_local4 = _local3;
_local5 = (_local2 - 2);
while (_local5 >= 0) {
_local3 = new DListNode(_args[_local5]);
head.insertBefore(_local3);
head = head.prev;
_local5--;
};
_count = (_count + _local2);
return (_local4);
};
_count++;
return (_local3);
}
public function popDown():void{
var _local1:DListNode = tail;
if (tail.prev == head){
tail = head;
tail.next = null;
head = _local1;
head.prev = null;
head.next = tail;
tail.prev = head;
} else {
tail = tail.prev;
tail.next = null;
head.prev = _local1;
_local1.prev = null;
_local1.next = head;
head = _local1;
};
}
public function concat(... _args):DLinkedList{
var _local3:DLinkedList;
var _local4:DListNode;
var _local2:DLinkedList = new DLinkedList();
_local4 = head;
while (_local4) {
_local2.append(_local4.data);
_local4 = _local4.next;
};
var _local5:int = _args.length;
var _local6:int;
while (_local6 < _local5) {
_local3 = _args[_local6];
_local4 = _local3.head;
while (_local4) {
_local2.append(_local4.data);
_local4 = _local4.next;
};
_local6++;
};
return (_local2);
}
public function insertBefore(_arg1:DListIterator, _arg2):DListNode{
var _local3:DListNode;
if (_arg1.list != this){
return (null);
};
if (_arg1.node){
_local3 = new DListNode(_arg2);
_arg1.node.insertBefore(_local3);
if (_arg1.node == head){
head = head.prev;
};
_count++;
return (_local3);
//unresolved jump
};
return (prepend(_arg2));
}
public function append(... _args):DListNode{
var _local4:DListNode;
var _local5:int;
var _local2:int = _args.length;
var _local3:DListNode = new DListNode(_args[0]);
if (head){
tail.insertAfter(_local3);
tail = tail.next;
} else {
head = (tail = _local3);
};
if (_local2 > 1){
_local4 = _local3;
_local5 = 1;
while (_local5 < _local2) {
_local3 = new DListNode(_args[_local5]);
tail.insertAfter(_local3);
tail = tail.next;
_local5++;
};
_count = (_count + _local2);
return (_local4);
};
_count++;
return (_local3);
}
public function sort(... _args):void{
var _local2:int;
var _local3:Function;
var _local4:*;
if (_count <= 1){
return;
};
if (_args.length > 0){
_local2 = 0;
_local3 = null;
_local4 = _args[0];
if ((_local4 is Function)){
_local3 = _local4;
if (_args.length > 1){
_local4 = _args[1];
if ((_local4 is int)){
_local2 = _local4;
};
};
} else {
if ((_local4 is int)){
_local2 = _local4;
};
};
if (Boolean(_local3)){
if ((_local2 & 2)){
head = dLinkedInsertionSortCmp(head, _local3, (_local2 == 18));
} else {
head = dLinkedMergeSortCmp(head, _local3, (_local2 == 16));
};
} else {
if ((_local2 & 2)){
if ((_local2 & 4)){
if (_local2 == 22){
head = dLinkedInsertionSortCmp(head, compareStringCaseSensitiveDesc);
} else {
if (_local2 == 14){
head = dLinkedInsertionSortCmp(head, compareStringCaseInSensitive);
} else {
if (_local2 == 30){
head = dLinkedInsertionSortCmp(head, compareStringCaseInSensitiveDesc);
} else {
head = dLinkedInsertionSortCmp(head, compareStringCaseSensitive);
};
};
};
} else {
head = dLinkedInsertionSort(head, (_local2 == 18));
};
} else {
if ((_local2 & 4)){
if (_local2 == 20){
head = dLinkedMergeSortCmp(head, compareStringCaseSensitiveDesc);
} else {
if (_local2 == 12){
head = dLinkedMergeSortCmp(head, compareStringCaseInSensitive);
} else {
if (_local2 == 28){
head = dLinkedMergeSortCmp(head, compareStringCaseInSensitiveDesc);
} else {
head = dLinkedMergeSortCmp(head, compareStringCaseSensitive);
};
};
};
} else {
if ((_local2 & 16)){
head = dLinkedMergeSort(head, true);
};
};
};
};
} else {
head = dLinkedMergeSort(head);
};
}
public function contains(_arg1):Boolean{
var _local2:DListNode = head;
while (_local2) {
if (_local2.data == _arg1){
return (true);
};
_local2 = _local2.next;
};
return (false);
}
public function reverse():void{
var _local1:DListNode;
var _local3:DListNode;
if (_count == 0){
return;
};
var _local2:DListNode = tail;
while (_local2) {
_local1 = _local2.prev;
if (!_local2.next){
_local2.next = _local2.prev;
_local2.prev = null;
head = _local2;
} else {
if (!_local2.prev){
_local2.prev = _local2.next;
_local2.next = null;
tail = _local2;
} else {
_local3 = _local2.next;
_local2.next = _local2.prev;
_local2.prev = _local3;
};
};
_local2 = _local1;
};
}
public function insertAfter(_arg1:DListIterator, _arg2):DListNode{
var _local3:DListNode;
if (_arg1.list != this){
return (null);
};
if (_arg1.node){
_local3 = new DListNode(_arg2);
_arg1.node.insertAfter(_local3);
if (_arg1.node == tail){
tail = _arg1.node.next;
};
_count++;
return (_local3);
//unresolved jump
};
return (append(_arg2));
}
public function getIterator():Iterator{
return (new DListIterator(this, head));
}
public function toArray():Array{
var _local1:Array = [];
var _local2:DListNode = head;
while (_local2) {
_local1.push(_local2.data);
_local2 = _local2.next;
};
return (_local1);
}
public function getListIterator():DListIterator{
return (new DListIterator(this, head));
}
public function join(_arg1):String{
if (_count == 0){
return ("");
};
var _local2 = "";
var _local3:DListNode = head;
while (_local3.next) {
_local2 = (_local2 + (_local3.data + _arg1));
_local3 = _local3.next;
};
_local2 = (_local2 + _local3.data);
return (_local2);
}
public function toString():String{
return ((("[DLinkedList > has " + size) + " nodes]"));
}
public function removeTail(){
var _local1:*;
if (tail){
_local1 = tail.data;
tail = tail.prev;
if (tail){
tail.next = null;
} else {
head = null;
};
_count--;
return (_local1);
};
return (null);
}
public function lastNodeOf(_arg1, _arg2:DListIterator=null):DListIterator{
if (_arg2 != null){
if (_arg2.list != this){
return (null);
};
};
var _local3:DListNode = ((_arg2)==null) ? tail : _arg2.node;
while (_local3) {
if (_local3.data === _arg1){
return (new DListIterator(this, _local3));
};
_local3 = _local3.prev;
};
return (null);
}
public function merge(... _args):void{
var _local2:DLinkedList;
_local2 = _args[0];
if (_local2.head){
if (head){
tail.next = _local2.head;
_local2.head.prev = tail;
tail = _local2.tail;
} else {
head = _local2.head;
tail = _local2.tail;
};
_count = (_count + _local2.size);
};
var _local3:int = _args.length;
var _local4 = 1;
while (_local4 < _local3) {
_local2 = _args[_local4];
if (_local2.head){
tail.next = _local2.head;
_local2.head.prev = tail;
tail = _local2.tail;
_count = (_count + _local2.size);
};
_local4++;
};
}
public function nodeOf(_arg1, _arg2:DListIterator=null):DListIterator{
if (_arg2 != null){
if (_arg2.list != this){
return (null);
};
};
var _local3:DListNode = ((_arg2)==null) ? head : _arg2.node;
while (_local3) {
if (_local3.data === _arg1){
return (new DListIterator(this, _local3));
};
_local3 = _local3.next;
};
return (null);
}
public function dump():String{
if (head == null){
return ("DLinkedList, empty");
};
var _local1 = (((("DLinkedList, has " + _count) + " node") + ((_count == 1)) ? "" : "s") + "\n|< Head\n");
var _local2:DListIterator = getListIterator();
while (_local2.valid()) {
_local1 = (_local1 + (("\t" + _local2.data) + "\n"));
_local2.forth();
};
_local1 = (_local1 + "Tail >|");
return (_local1);
}
public function splice(_arg1:DListIterator, _arg2:uint=4294967295, ... _args):DLinkedList{
var _local4:DListNode;
var _local5:DListNode;
var _local6:DLinkedList;
var _local7:int;
var _local8:int;
var _local9:DListNode;
if (_arg1){
if (_arg1.list != this){
return (null);
};
};
if (_arg1.node){
_local4 = _arg1.node;
_local5 = _arg1.node.prev;
_local6 = new DLinkedList();
if (_arg2 == 4294967295){
if (_arg1.node == tail){
return (_local6);
};
while (_arg1.node) {
_local6.append(_arg1.node.data);
_arg1.remove();
};
_arg1.list = _local6;
_arg1.node = _local4;
return (_local6);
} else {
_local7 = 0;
while (_local7 < _arg2) {
if (_arg1.node){
_local6.append(_arg1.node.data);
_arg1.remove();
} else {
break;
};
_local7++;
};
};
_local8 = _args.length;
if (_local8 > 0){
if (_count == 0){
_local7 = 0;
while (_local7 < _local8) {
append(_args[_local7]);
_local7++;
};
} else {
if (_local5 == null){
_local9 = prepend(_args[0]);
_local7 = 1;
while (_local7 < _local8) {
_local9.insertAfter(new DListNode(_args[_local7]));
if (_local9 == tail){
tail = _local9.next;
};
_local9 = _local9.next;
_count++;
_local7++;
};
} else {
_local9 = _local5;
_local7 = 0;
while (_local7 < _local8) {
_local9.insertAfter(new DListNode(_args[_local7]));
if (_local9 == tail){
tail = _local9.next;
};
_local9 = _local9.next;
_count++;
_local7++;
};
};
};
_arg1.node = _local9;
} else {
_arg1.node = _local4;
};
_arg1.list = _local6;
return (_local6);
};
return (null);
}
public function shiftUp():void{
var _local1:DListNode = head;
if (head.next == tail){
head = tail;
head.prev = null;
tail = _local1;
tail.next = null;
head.next = tail;
tail.prev = head;
} else {
head = head.next;
head.prev = null;
tail.next = _local1;
_local1.next = null;
_local1.prev = tail;
tail = _local1;
};
}
}
}//package de.polygonal.ds
Section 29
//DListIterator (de.polygonal.ds.DListIterator)
package de.polygonal.ds {
public class DListIterator implements Iterator {
public var node:DListNode;
public var list:DLinkedList;
public function DListIterator(_arg1:DLinkedList, _arg2:DListNode=null){
this.list = _arg1;
this.node = _arg2;
}
public function remove():Boolean{
return (list.remove(this));
}
public function back():void{
if (node){
node = node.prev;
};
}
public function start():void{
node = list.head;
}
public function get data(){
if (node){
return (node.data);
};
return (null);
}
public function forth():void{
if (node){
node = node.next;
};
}
public function toString():String{
return ((("{DListIterator, data=" + (node) ? node.data : "null") + "}"));
}
public function hasNext():Boolean{
return (Boolean(node));
}
public function valid():Boolean{
return (Boolean(node));
}
public function next(){
var _local1:*;
if (hasNext()){
_local1 = node.data;
node = node.next;
return (_local1);
};
return (null);
}
public function set data(_arg1):void{
node.data = _arg1;
}
public function end():void{
node = list.tail;
}
}
}//package de.polygonal.ds
Section 30
//DListNode (de.polygonal.ds.DListNode)
package de.polygonal.ds {
public class DListNode implements LinkedListNode {
public var prev:DListNode;
public var next:DListNode;
public var data;
public function DListNode(_arg1){
next = (prev = null);
data = _arg1;
}
public function unlink():void{
if (prev){
prev.next = next;
};
if (next){
next.prev = prev;
};
next = (prev = null);
}
public function insertAfter(_arg1:DListNode):void{
_arg1.next = next;
_arg1.prev = this;
if (next){
next.prev = _arg1;
};
next = _arg1;
}
public function insertBefore(_arg1:DListNode):void{
_arg1.next = this;
_arg1.prev = prev;
if (prev){
prev.next = _arg1;
};
prev = _arg1;
}
public function toString():String{
return ((("[DListNode, data=" + data) + "]"));
}
}
}//package de.polygonal.ds
Section 31
//Iterator (de.polygonal.ds.Iterator)
package de.polygonal.ds {
public interface Iterator {
function start():void;
function set data(_arg1):void;
function get data();
function next();
function hasNext():Boolean;
}
}//package de.polygonal.ds
Section 32
//LinkedListNode (de.polygonal.ds.LinkedListNode)
package de.polygonal.ds {
public interface LinkedListNode {
}
}//package de.polygonal.ds
Section 33
//LinkedStack (de.polygonal.ds.LinkedStack)
package de.polygonal.ds {
public class LinkedStack implements Collection {
private var _list:DLinkedList;
public function LinkedStack(_arg1:DLinkedList=null){
if (_arg1 == null){
_list = new DLinkedList();
} else {
_list = _arg1;
};
}
public function push(_arg1):void{
_list.append(_arg1);
}
public function isEmpty():Boolean{
return ((_list.size == 0));
}
public function getIterator():Iterator{
return (_list.getIterator());
}
public function contains(_arg1):Boolean{
return (_list.contains(_arg1));
}
public function get size():int{
return (_list.size);
}
public function toString():String{
return ((("[LinkedStack > " + _list) + "]"));
}
public function clear():void{
_list.clear();
}
public function pop(){
var _local1:* = ((_list.size > 0)) ? _list.tail.data : null;
_list.removeTail();
return (_local1);
}
public function dump():String{
return (("LinkedStack:\n" + _list.dump()));
}
public function peek(){
return (((_list.size > 0)) ? _list.tail.data : null);
}
public function toArray():Array{
return (_list.toArray());
}
}
}//package de.polygonal.ds
Section 34
//Linear (fl.motion.easing.Linear)
package fl.motion.easing {
public class Linear {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package fl.motion.easing
Section 35
//Color (fl.motion.Color)
package fl.motion {
import flash.display.*;
import flash.geom.*;
public class Color extends ColorTransform {
private var _tintColor:Number;// = 0
private var _tintMultiplier: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){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
private function deriveTintColor():uint{
var _local1:Number = (1 / this.tintMultiplier);
var _local2:uint = Math.round((this.redOffset * _local1));
var _local3:uint = Math.round((this.greenOffset * _local1));
var _local4:uint = Math.round((this.blueOffset * _local1));
var _local5:uint = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function set brightness(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
var _local2:Number = (1 - Math.abs(_arg1));
var _local3:Number = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
private function parseXML(_arg1:XML=null):Color{
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
var _local2:XML = _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 function get tintColor():uint{
return (this._tintColor);
}
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));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function setTint(_arg1:uint, _arg2:Number):void{
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
var _local3:uint = ((_arg1 >> 16) & 0xFF);
var _local4:uint = ((_arg1 >> 8) & 0xFF);
var _local5:uint = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number = (1 - _arg3);
var _local5:uint = ((_arg1 >> 24) & 0xFF);
var _local6:uint = ((_arg1 >> 16) & 0xFF);
var _local7:uint = ((_arg1 >> 8) & 0xFF);
var _local8:uint = (_arg1 & 0xFF);
var _local9:uint = ((_arg2 >> 24) & 0xFF);
var _local10:uint = ((_arg2 >> 16) & 0xFF);
var _local11:uint = ((_arg2 >> 8) & 0xFF);
var _local12:uint = (_arg2 & 0xFF);
var _local13:uint = ((_local5 * _local4) + (_local9 * _arg3));
var _local14:uint = ((_local6 * _local4) + (_local10 * _arg3));
var _local15:uint = ((_local7 * _local4) + (_local11 * _arg3));
var _local16:uint = ((_local8 * _local4) + (_local12 * _arg3));
var _local17:uint = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number = (1 - _arg3);
var _local5:ColorTransform = 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 36
//IEngine (game.interfaces.IEngine)
package game.interfaces {
import flash.events.*;
public interface IEngine {
function get active():Boolean;
function pauseGame():void;
function onViewLoaded(_arg1:Event=null):void;
function endGame():void;
function onModelLoaded(_arg1:Event=null):void;
function startGame(_arg1:Event):void;
function getAssets(_arg1:Event=null):void;
function removeListeners():void;
function createModel(_arg1:Event=null):void;
function addListeners():void;
function resumeGame():void;
}
}//package game.interfaces
Section 37
//IInjury (game.interfaces.IInjury)
package game.interfaces {
import game.libraries.assets.*;
import app.connector.*;
public interface IInjury {
function updateInjury():void;
function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void;
function render():void;
}
}//package game.interfaces
Section 38
//IOrgan (game.interfaces.IOrgan)
package game.interfaces {
public interface IOrgan {
function addClip():void;
function render():void;
}
}//package game.interfaces
Section 39
//ITool (game.interfaces.ITool)
package game.interfaces {
import flash.events.*;
import game.libraries.assets.*;
public interface ITool {
function getData():ToolData;
function onMouseUp():void;
function turnOff(_arg1:Boolean=true):void;
function wrongUsage():void;
function isTurnedOn():Boolean;
function render(_arg1:Event):void;
function onMouseDown():void;
function setData(_arg1:ToolData):void;
}
}//package game.interfaces
Section 40
//InjuryData (game.libraries.assets.InjuryData)
package game.libraries.assets {
public class InjuryData {
public var type:Class;
public var id:int;
public var linkage:String;
public var name:String;
public var description:String;
public function InjuryData(_arg1:int, _arg2:String, _arg3:Class, _arg4:String="", _arg5:String=""){
linkage = _arg2;
id = _arg1;
name = _arg4;
description = _arg5;
type = _arg3;
}
}
}//package game.libraries.assets
Section 41
//ToolData (game.libraries.assets.ToolData)
package game.libraries.assets {
public class ToolData {
public var linkage:String;
public var name:String;
public var keycode:int;
public var enterFrame:Boolean;
public var type:Class;
public var id:int;
public var description:String;
public function ToolData(_arg1:int, _arg2:String, _arg3:Class, _arg4:int, _arg5:String="", _arg6:String="", _arg7:Boolean=false){
linkage = _arg2;
id = _arg1;
name = _arg5;
description = _arg6;
type = _arg3;
keycode = _arg4;
enterFrame = _arg7;
}
}
}//package game.libraries.assets
Section 42
//Library (game.libraries.Library)
package game.libraries {
import flash.events.*;
import game.libraries.assets.*;
import game.model.assets.injuries.*;
import game.model.assets.tools.*;
import game.model.assets.*;
public class Library extends EventDispatcher {
protected var compiler_array:Array;
public var cut_scenes:Array;
protected var xml_list:Array;
protected static var asset_library:Array;
public static var injury_library:Array;
public static var tool_library:Array;
public static var instance:Library;
public static var COMPLETE:String = "library_complete";
public function Library(){
cut_scenes = [];
xml_list = ["dialog.xml"];
compiler_array = [];
super();
trace("Library is singleton");
}
public function setupDialog(_arg1:String):void{
var _local4:Array;
var _local5:String;
var _local6:Number;
var _local7:String;
var _local8:String;
var _local9:String;
var _local10:String;
var _local11:String;
var _local12:String;
var _local13:String;
var _local2:XML = new XML("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?> <?xml-stylesheet type=\"text/xsl\" href=\"dialog.xsl\"?> <data> <dialog scene = \"start1\"> <screen bg=\"bedroom\" highlight=\"alan_playing_chess\" pos1=\"nothing\" pos2=\"nothing\" pos3=\"alan_playing_chess\" pos4=\"nothing\">ALAN: Hmm! An intriguing and sexy move, my dusty old friend!</screen> <screen bg=\"bedroom\" highlight=\"aide_nervous\" pos1=\"nothing\" pos2=\"aide_nervous\" pos3=\"alan_playing_chess\" pos4=\"nothing\">AIDE: Uh... I'm looking for Alan Probe? The retired surgeon?</screen> <screen bg=\"bedroom\" highlight=\"alan_playing_chess\" pos1=\"nothing\" pos2=\"aide_nervous\" pos3=\"alan_playing_chess\" pos4=\"nothing\">ALAN: FORCED retirement, I'll have you know! But yep - \"Legendary Surgeon Alan Probe\", right here. </screen> <screen bg=\"bedroom\" highlight=\"alan_playing_chess\" pos1=\"nothing\" pos2=\"aide_nervous\" pos3=\"alan_playing_chess\" pos4=\"nothing\">ALAN: ...by the way, your friend in the doorway appears to be bleeding messily to death on the carpet.</screen> <screen bg=\"bedroom\" highlight=\"thief_injured\" pos1=\"nothing\" pos2=\"thief_injured\" pos3=\"alan_playing_chess\" pos4=\"aide_nervous\">TOMMY: Groan...</screen> <screen bg=\"bedroom\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"thief_injured\" pos3=\"chess\" pos4=\"aide_nervous\">ALAN: Woo hoo! I'll fix him! I can't get in trouble if YOU came to ME!</screen> <screen bg=\"bedroom\" highlight=\"alan_facingaway\" pos1=\"alan_facingaway\" pos2=\"thief_injured\" pos3=\"chess\" pos4=\"aide_nervous\">ALAN: Bring him through to the toilet! My skills are as rusty as my tools, but I'm sure it'll all come back to me!</screen> <screen bg=\"bedroom\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"thief_injured\" pos3=\"chess\" pos4=\"aide_nervous\">ALAN: Probably!</screen> </dialog> <dialog scene = \"end1\"> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Hmm, sorry about that. They don't usually bleed as much...</screen> <screen bg=\"bathroom\" highlight=\"aide_normal\" pos1=\"alan_suspicious\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">AIDE: My God... You... That was incredible!</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Heh! That's what they all said, back in the day!</screen> <screen bg=\"bathroom\" highlight=\"alan_sad\" pos1=\"alan_sad\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: ...right before all my hospitals got shut down by the government for being \"farcically unsafe\".</screen> <screen bg=\"bathroom\" highlight=\"aide_explaining\" pos1=\"alan_sad\" pos2=\"aide_explaining\" pos3=\"nothing\" pos4=\"nothing\">AIDE: Mister Probe, allow me to introduce myself.</screen> <screen bg=\"bathroom\" highlight=\"aide_thoughtful\" pos1=\"alan_sad\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">AIDE: My name is...</screen> <screen bg=\"bathroom\" highlight=\"aide_happy\" pos1=\"alan_sad\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">AIDE: Bradley! Yes. That will do!</screen> <screen bg=\"bathroom\" highlight=\"aide_thoughtful\" pos1=\"alan_sad\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I represent a person who would like to give you another chance to practice surgery again...</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Hey! They'd have to be pretty brave! I wasn't kidding when I said I was rusty!</screen> <screen bg=\"bathroom\" highlight=\"aide_happy\" pos1=\"alan_happy\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I figured that might be an issue - but I may have the solution! Let me explain...</screen> </dialog> <dialog scene = \"start2\"> <screen bg=\"bathroom\" highlight=\"aide_explaining\" pos1=\"alan_happy\" pos2=\"aide_explaining\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: ...and so that is my proposal.</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: That was a long, dull explanation. Let me see if I stayed awake long enough to get it...</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: You want me, a 70-year-old surgeon in forced retirement, to perform \"a really weird\" surgery on \"someone important\"?</screen> <screen bg=\"bathroom\" highlight=\"aide_explaining\" pos1=\"alan_suspicious\" pos2=\"aide_explaining\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Yes.</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: But you can't tell me who it is?</screen> <screen bg=\"bathroom\" highlight=\"aide_explaining\" pos1=\"alan_suspicious\" pos2=\"aide_explaining\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: No.</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: And you think if I operate on them NOW, I'll mess it up because I'm so old and rubbish and out of practice?</screen> <screen bg=\"bathroom\" highlight=\"aide_thoughtful\" pos1=\"alan_suspicious\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I was more polite, but... Yes.</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: So your plan is to sneak injured people in here so I can practice until I'm good enough again?</screen> <screen bg=\"bathroom\" highlight=\"aide_explaining\" pos1=\"alan_suspicious\" pos2=\"aide_explaining\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Yes.</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Sounds pretty crazy to me...</screen> <screen bg=\"bathroom\" highlight=\"alan_excited\" pos1=\"alan_excited\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">ALAN: GREAT! Who's up next!</screen> </dialog> <dialog scene = \"end2\"> <screen bg=\"bathroom\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: He he he! Look at me!</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ol' Alan Probe, surgeoning once again!</screen> <screen bg=\"bathroom\" highlight=\"aide_amazed\" pos1=\"alan_happy\" pos2=\"aide_amazed\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I must say... You really are amazing!</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: That? That was NOTHING! I’m just starting to warm up again!</screen> </dialog> <dialog scene = \"start3\"> <screen bg=\"bathroom\" highlight=\"aide_happy\" pos1=\"alan_happy\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I've read all about you, you know!</screen> <screen bg=\"bathroom\" highlight=\"aide_smiling\" pos1=\"alan_happy\" pos2=\"aide_smiling\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: How you started as a pizza boy, and cleared the great Dr. Bleed of that murder charge...</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_smiling\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ha! Yep! I was all the rage back in the day!</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_smiling\" pos3=\"nothing\" pos4=\"nothing\">ALAN: You know they even made a videogame about me?</screen> <screen bg=\"bathroom\" highlight=\"aide_suspicious\" pos1=\"alan_happy\" pos2=\"aide_suspicious\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Yeah! I could never get the hang of the corkscrew!</screen> <screen bg=\"bathroom\" highlight=\"aide_thoughtful\" pos1=\"alan_happy\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I hope if they do a sequel they change it for something less awful!</screen> <screen bg=\"bathroom\" highlight=\"alan_proud,aide_camera\" pos1=\"alan_proud\" pos2=\"aide_camera\" pos3=\"nothing\" pos4=\"nothing\"></screen> <screen bg=\"bathroom\" highlight=\"aide_smiling\" pos1=\"alan_happy\" pos2=\"aide_smiling\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Yes... Anyway!</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: If you wanna hear more stories, wheel in the next patient! I can cut AND chat!</screen> <screen bg=\"bathroom\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Probably...</screen> </dialog> <dialog scene = \"end3\"> <screen bg=\"bathroom\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: ...and that's pretty much the story!</screen> <screen bg=\"bathroom\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Dr. Bleed and I, we set up so many of our \"Probe and Bleed\" hospitals!</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Our students could operate anywhere and with anything!</screen> <screen bg=\"bathroom\" highlight=\"alan_sad\" pos1=\"alan_sad\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Then a new government came in, and shut us all down.</screen> <screen bg=\"bathroom\" highlight=\"aide_sad\" pos1=\"alan_rueful\" pos2=\"aide_sad\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I'm so sorry...</screen> <screen bg=\"bathroom\" highlight=\"aide_businesslike\" pos1=\"alan_rueful\" pos2=\"aide_businesslike\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I mean, Mr. Probe - I need to attend to some... issues. But I will keep a steady supply of patients coming your way!</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_businesslike\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Heh! Just keep 'em coming!</screen> </dialog> <dialog scene = \"start4\"> <screen bg=\"bathroom\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: At last! Some quality time with a patient!</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: So, tell me about yourself!</screen> <screen bg=\"bathroom\" highlight=\"businessmogul_normal\" pos1=\"alan_happy\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">DICK MASTERSON: Well, when I was growing up I...</screen> <screen bg=\"bathroom\" highlight=\"alan_yelling\" pos1=\"alan_yelling\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I meant tell me about your weird injury or illness! The good stuff!</screen> <screen bg=\"bathroom\" highlight=\"businessmogul_passionately\" pos1=\"alan_normal\" pos2=\"businessmogul_passionately\" pos3=\"nothing\" pos4=\"nothing\">DICK: I have brittle bones. Every moment I live is agony.</screen> <screen bg=\"bathroom\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"businessmogul_passionately\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Sounds AMAZING! Let's start poking around!</screen> </dialog> <dialog scene = \"end4\"> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Well, your bones won't be giving you any more problems!</screen> <screen bg=\"bathroom\" highlight=\"businessmogul_normal\" pos1=\"alan_suspicious\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">DICK: How come?</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: You don't have any anymore. I replaced them all with metal junk I had laying around.</screen> <screen bg=\"bathroom\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: So stay away from electrical equipment!</screen> <screen bg=\"bathroom\" highlight=\"businessmogul_normal\" pos1=\"alan_normal\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">DICK: Ha ha ha! I like you! You're a kidder! I like kidders!</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: No, seriously. If you as much as look at a microwave, you will die.</screen> <screen bg=\"bathroom\" highlight=\"businessmogul_normal\" pos1=\"alan_suspicious\" pos2=\"businessmogul_normal\" pos3=\"nothing\" pos4=\"nothing\">DICK: Ha ha! Classic bedside manner! Love it!</screen> </dialog> <dialog scene = \"start5\"> <screen bg=\"bathroom\" highlight=\"distress_angry\" pos1=\"alan_normal\" pos2=\"distress_angry\" pos3=\"nothing\" pos4=\"nothing\">MISTRESS DISTRESS: So, \"doctor\"... I HEAR you're pretty \"extreme\"... But you LOOK a bit \"old and past it\" to me!</screen> <screen bg=\"bathroom\" highlight=\"alan_angry\" pos1=\"alan_angry\" pos2=\"both_angry\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I'll have you know I once saved the world from the Spider Queen's Evil Sisterhood using only my wits and a sparkly thong!</screen> <screen bg=\"bathroom\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"both_angry\" pos3=\"nothing\" pos4=\"nothing\">ALAN: No.Wait... That might not have been me...</screen> <screen bg=\"bathroom\" highlight=\"distress_angry\" pos1=\"alan_normal\" pos2=\"distress_angry\" pos3=\"nothing\" pos4=\"nothing\">DISTRESS: Ugh! Whatever! Well, I want you to take it to the next level!</screen> <screen bg=\"bathroom\" highlight=\"distress_angry\" pos1=\"alan_normal\" pos2=\"distress_angry\" pos3=\"nothing\" pos4=\"nothing\">DISTRESS: I want to be your surgical CANVAS OF AGONY! Paint me with pain!</screen> <screen bg=\"bathroom\" highlight=\"gimp_angry\" pos1=\"alan_normal\" pos2=\"gimp_angry\" pos3=\"nothing\" pos4=\"nothing\">GIMP: Yrrrrgh! Shrr rrrrrrryy rrrks prrrrn!</screen> <screen bg=\"bathroom\" highlight=\"alan_nervous\" pos1=\"alan_nervous\" pos2=\"both_angry\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ewwww!</screen> </dialog> <dialog scene = \"end5\"> <screen bg=\"bathroom\" highlight=\"distress_happy\" pos1=\"alan_normal\" pos2=\"distress_happy\" pos3=\"nothing\" pos4=\"nothing\">DISTRESS: Ahhh! That was amazing!</screen> <screen bg=\"bathroom\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"distress_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I aim to please!</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"both_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Or at least not hit any vital organs...</screen> <screen bg=\"bathroom\" highlight=\"gimp_happy\" pos1=\"alan_suspicious\" pos2=\"gimp_happy\" pos3=\"nothing\" pos4=\"nothing\">GIMP: Wrrrrl yrrr strrrrple mrrr brrrrt-chrrrrks trrrgrrrtrrr?</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"both_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Uh... I don't use staples any more!</screen> <screen bg=\"bathroom\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"both_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Be seeing you!</screen> <screen bg=\"bathroom\" highlight=\"alan_nervous\" pos1=\"alan_nervous\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Well, that was strange and awful...</screen> <screen bg=\"bathroom\" highlight=\"aide_normal\" pos1=\"alan_nervous\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Alan - Dr. Probe... How's it going?</screen> <screen bg=\"bathroom\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ah ha ha! It's just like old times!</screen> <screen bg=\"bathroom\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Except Bleed is dead, I'm in a home and my family have all abandoned me...</screen> <screen bg=\"bathroom\" highlight=\"alan_sad\" pos1=\"alan_sad\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Bummer.</screen> <screen bg=\"bathroom\" highlight=\"aide_normal\" pos1=\"alan_sad\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Your family? Where are they?</screen> <screen bg=\"bathroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ah... Classic story - young surgeon rockets to fame and fortune... Marries the vigilante girl of his dreams from the first game, has two kids...</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Then all his hospitals get shut down, he sinks into depression and drives his family crazy with his self-loathing, they leave...</screen> <screen bg=\"bathroom\" highlight=\"alan_sad\" pos1=\"alan_sad\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: ...and he ends up in a home. That ol' chestnut! </screen> <screen bg=\"bathroom\" highlight=\"aide_normal\" pos1=\"alan_sad\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Wow...</screen> <screen bg=\"bathroom\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: But doing surgery again is great! I feel I'm really starting to get the hang of it!</screen> <screen bg=\"bathroom\" highlight=\"aide_normal\" pos1=\"alan_normal\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: That's excellent news! Please carry on - my... \"contact\" will be most pleased!</screen> </dialog> <dialog scene = \"start6\"> <screen bg=\"bathroom\" highlight=\"scarlett_normal\" pos1=\"alan_normal\" pos2=\"scarlett_normal\" pos3=\"nothing\" pos4=\"nothing\">SCARLETT THROBBING: I have a medical condition, doc...</screen> <screen bg=\"bathroom\" highlight=\"scarlett_normal\" pos1=\"alan_normal\" pos2=\"scarlett_normal\" pos3=\"nothing\" pos4=\"nothing\">SCARLETT: ...but there's no easy way to say it!</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"scarlett_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Is it one of those really long, latin words?</screen> <screen bg=\"bathroom\" highlight=\"scarlett_normal\" pos1=\"alan_suspicious\" pos2=\"scarlett_normal\" pos3=\"nothing\" pos4=\"nothing\">SCARLETT: Maybe... If \"crustaceans\" is latin...</screen> <screen bg=\"bathroom\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"scarlett_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Oh!</screen> <screen bg=\"bathroom\" highlight=\"scarlett_normal\" pos1=\"alan_surprised\" pos2=\"scarlett_normal\" pos3=\"nothing\" pos4=\"nothing\">SCARLETT: It's not what you think! I just ate some bad crab eggs is all!</screen> </dialog> <dialog scene = \"end6\"> <screen bg=\"bathroom\" highlight=\"scarlett_excited\" pos1=\"alan_normal\" pos2=\"scarlett_excited\" pos3=\"nothing\" pos4=\"nothing\">SCARLETT: Oh that feels good!</screen> <screen bg=\"bathroom\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"scarlett_excited\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Steady! Just because my wife left me doesn't mean she couldn't walk in any minute!</screen> <screen bg=\"bathroom\" highlight=\"scarlett_normal\" pos1=\"alan_surprised\" pos2=\"scarlett_normal\" pos3=\"nothing\" pos4=\"nothing\">SCARLETT: You're an amazing guy! So chivalrous!</screen> <screen bg=\"bathroom\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"scarlett_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Yeah... That. Plus, I don't fancy operating on myself in the event of a heart attack.</screen> <screen bg=\"bathroom\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"scarlett_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Bye now! Stay classy!</screen> </dialog> <dialog scene = \"start7\"> <screen bg=\"bathroom\" highlight=\"alan_yelling\" pos1=\"alan_yelling\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">ALAN: AUUUUGH! OH GOD IT'S A CLOWN! A HORRIBLE, HORRIBLE CLOWN!</screen> <screen bg=\"bathroom\" highlight=\"clown_bored\" pos1=\"alan_suspicious\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">UNCLE CHUCKLES: *sigh* It's just like every kids' party I've ever done.</screen> <screen bg=\"bathroom\" highlight=\"clown_bored\" pos1=\"alan_suspicious\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">CHUCKLES: Are you going to scream and break my nose when I start pulling things out of my pants, too?</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Uh... Maybe!</screen> <screen bg=\"bathroom\" highlight=\"alan_nervous\" pos1=\"alan_nervous\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Sorry, I think I've got it under control now...</screen> <screen bg=\"bathroom\" highlight=\"clown_bored\" pos1=\"alan_nervous\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">CHUCKLES: Right. Well, the problem is-</screen> <screen bg=\"bathroom\" highlight=\"alan_yelling\" pos1=\"alan_yelling\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">ALAN: AUGH! CLOWN!</screen> <screen bg=\"bathroom\" highlight=\"alan_nervous\" pos1=\"alan_nervous\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Sorry... Sorry.</screen> <screen bg=\"bathroom\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">ALAN: So, what's the problem?</screen> <screen bg=\"bathroom\" highlight=\"clown_bored\" pos1=\"alan_normal\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">CHUCKLES: Well, imagine pulling a rabbit out a hat...</screen> <screen bg=\"bathroom\" highlight=\"clown_bored\" pos1=\"alan_normal\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">CHUCKLES: ...except I didn't accidentally sit on my \"rabbit\" and get him stuck halfway up my \"hat\", if you get my drift...</screen> <screen bg=\"bathroom\" highlight=\"alan_nervous\" pos1=\"alan_nervous\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I wish this kind of thing was just a little bit less common...</screen> </dialog> <dialog scene = \"end7\"> <screen bg=\"bathroom\" highlight=\"clown_happy\" pos1=\"alan_normal\" pos2=\"clown_happy\" pos3=\"nothing\" pos4=\"nothing\">CHUCKLES: Oh Mr. Bunny!</screen> <screen bg=\"bathroom\" highlight=\"clown_happy\" pos1=\"alan_normal\" pos2=\"clown_happy\" pos3=\"nothing\" pos4=\"nothing\">CHUCKLES: I know I say this every time, but I promise that will never happen again!</screen> <screen bg=\"bathroom\" highlight=\"clown_happy\" pos1=\"alan_normal\" pos2=\"clown_happy\" pos3=\"nothing\" pos4=\"nothing\">CHUCKLES: Thank you!</screen> <screen bg=\"bathroom\" highlight=\"alan_yelling\" pos1=\"alan_yelling\" pos2=\"clown_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: AUGH! CLOWN!</screen> <screen bg=\"bathroom\" highlight=\"clown_bored\" pos1=\"alan_nervous\" pos2=\"clown_bored\" pos3=\"nothing\" pos4=\"nothing\">CHUCKLES: I'm leaving.</screen> <screen bg=\"shack\" highlight=\"meanwhile\" pos1=\"meanwhile\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: But hey! That's one of the advantages of the slight onset of senility!</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">MYSTERIOUS FIGURE: So, how is the good doctor progressing?</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY'S VOICE: He's a phenomenon!</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: His technique is baffling - but when he gets into a flow...</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I can only imagine what he must have been like at the peak of his skills!</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">FIGURE: GOD! Why don't you just MARRY him if you love him so much?</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I didn't mean to get carried away sir...</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">FIGURE: Just make sure he'll be ready! I don't have much longer...</screen> </dialog> <dialog scene = \"start8\"> <screen bg=\"bathroom\" highlight=\"shamerock_happy\" pos1=\"alan_normal\" pos2=\"shamerock_happy\" pos3=\"nothing\" pos4=\"nothing\">THE SHAME-ROCK: Ah, now but I know what you'll say, doc!</screen> <screen bg=\"bathroom\" highlight=\"shamerock_happy\" pos1=\"alan_normal\" pos2=\"shamerock_happy\" pos3=\"nothing\" pos4=\"nothing\">SHAME-ROCK: You'll say, \"Ah, but that guy looks like he's been through the wars!\", so you will!</screen> <screen bg=\"bathroom\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"shamerock_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Actually, my guess would have been a blender, or possibly some kind of farm equipment...</screen> <screen bg=\"bathroom\" highlight=\"shamerock_happy\" pos1=\"alan_suspicious\" pos2=\"shamerock_happy\" pos3=\"nothing\" pos4=\"nothing\">SHAME-ROCK: Ha! But that's all part of being an elite cage-fighter, so it is!</screen> <screen bg=\"bathroom\" highlight=\"shamerock_happy\" pos1=\"alan_suspicious\" pos2=\"shamerock_happy\" pos3=\"nothing\" pos4=\"nothing\">SHAME-ROCK: And besides, you should have seen the other guy!</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"shamerock_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Worse off, was he?</screen> <screen bg=\"bathroom\" highlight=\"shamerock_happy\" pos1=\"alan_suspicious\" pos2=\"shamerock_happy\" pos3=\"nothing\" pos4=\"nothing\">SHAME-ROCK: I literally broke me foot of in his a-</screen> <screen bg=\"bathroom\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"shamerock_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Right! Well! Let's crack on, shall we?</screen> </dialog> <dialog scene = \"end8\"> <screen bg=\"bathroom\" highlight=\"shamerock_crutches\" pos1=\"alan_normal\" pos2=\"shamerock_crutches\" pos3=\"nothing\" pos4=\"nothing\">SHAME-ROCK: Well, I feel great!</screen> <screen bg=\"bathroom\" highlight=\"shamerock_crutches\" pos1=\"alan_normal\" pos2=\"shamerock_crutches\" pos3=\"nothing\" pos4=\"nothing\">SHAME-ROCK: But is all the bandages exactly necessary?</screen> <screen bg=\"bathroom\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"shamerock_crutches\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Well, you know how sometimes you have to put a cone on an injured dog to stop it hurting itself again because it's so stupid?</screen> <screen bg=\"bathroom\" highlight=\"shamerock_bandages\" pos1=\"alan_thoughtful\" pos2=\"shamerock_bandages\" pos3=\"nothing\" pos4=\"nothing\">SHAME-ROCK: Ah! I see! This is to stop me from destroyin' me opponents too early on?</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"shamerock_bandages\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Yes! Let's go with that explanation!</screen> <screen bg=\"shack\" highlight=\"meanwhile\" pos1=\"meanwhile\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: But hey! That's one of the advantages of the slight onset of senility!</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">FIGURE: Gah! Bradley! Urk!</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Sir! We can't wait any longer! I'm going to get Alan!</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">FIGURE: Gack!</screen> </dialog> <dialog scene = \"start9\"> <screen bg=\"home\" highlight=\"aide_normal\" pos1=\"alan_normal\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Alan! It's time to go!</screen> <screen bg=\"home\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I am all kinds of ready!</screen> <screen bg=\"home\" highlight=\"aide_normal\" pos1=\"alan_normal\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Please put this blindfold on - we're going for a ride!</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: We're here! You can take the blindfold off.</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Right!</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Uh... It's still dark! If you can just turn on some lights, I'll get to it!</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Ah... yes, about that... I'm afraid the identity of my employer can never be compromised.</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Meaning?</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Here's a torch.</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: If you shine it anywhere near his face, I will be forced to shoot you.</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">ALAN: You ARE kidding me?</screen> </dialog> <dialog scene = \"end9\"> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"mysterious_normal\">ALAN: Well, that was pretty crazy!</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"alan_dark\" pos2=\"mysterious_normal\" pos3=\"nothing\" pos4=\"aide_dark\">FIGURE: psstwsssspsss</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"mysterious_normal\">BRADLEY: My employer says: \"You'd better have gotten them all out this time\".</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"mysterious_normal\">ALAN: Tell him he's welcome - the ingrate!</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"mysterious_normal\">ALAN: So, what's the deal now?</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"alan_dark\" pos2=\"mysterious_normal\" pos3=\"nothing\" pos4=\"aide_dark\">FIGURE: pssspspssp</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"mysterious_normal\">BRADLEY: My employer says that he is extremely grateful.</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"mysterious_normal\">BRADLEY: Is there anything you would like in return for your services?</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"mysterious_normal\">ALAN: Heh. The only thing I really want is to be allowed to be a surgeon again!</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"mysterious_normal\">ALAN: Legally, I mean.</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"mysterious_normal\">ALAN: And for Aureola and the kids to come back.</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"mysterious_normal\">ALAN: ...but I guess that ain't going to happen...</screen> <screen bg=\"office_dark\" highlight=\"aide_smilingdark\" pos1=\"alan_dark\" pos2=\"aide_smilingdark\" pos3=\"nothing\" pos4=\"mysterious_normal\">BRADLEY: Why don't you go and wait in the car, Alan? I will join you in a moment.</screen> <screen bg=\"office_dark\" highlight=\"alan_dark\" pos1=\"alan_dark\" pos2=\"aide_smilingdark\" pos3=\"nothing\" pos4=\"mysterious_normal\">ALAN: Heh! Don't be long - the ol' bladder's not what it used to be! Heh heh!</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Well sir?</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Couldn't you pull some strings? He DID just save your life.</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">FIGURE: Indeed. Yes. I would like to do something for mister Probe.</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">FIGURE: Take him to a little place he can call his own - somewhere out of the way.</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: You want me to set him up with an office? Oh sir - that's wonde-</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">FIGURE: Then shoot him in the back of the head.</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: SIR! I-</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">FIGURE: You will leave now.</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">FIGURE: You can turn the lights on as you go.</screen> <screen bg=\"office_dark\" highlight=\"mysterious_normal\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">FIGURE: I imagine the effect will be... Suitably dramatic.</screen> <screen bg=\"office_dark\" highlight=\"aide_dark\" pos1=\"mysterious_normal\" pos2=\"aide_dark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I...</screen> <screen bg=\"office_dark\" highlight=\"aide_unhappydark\" pos1=\"mysterious_normal\" pos2=\"aide_unhappydark\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Yes sir...</screen> <screen bg=\"office_light\" highlight=\"aide_sad\" pos1=\"president_normal\" pos2=\"aide_sad\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: ...MISTER PRESIDENT!</screen> <screen bg=\"office_light\" highlight=\"president_happy\" pos1=\"president_happy\" pos2=\"aide_sad\" pos3=\"nothing\" pos4=\"nothing\">THE PRESIDENT: DUM DUM DUUUUM!</screen> </dialog> <dialog scene = \"start10\"> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_normal\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR AMPIRE: Doktor! You must believe me!</screen> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_normal\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: I'm NOT a vampire! Those villagers got it all wrong!</screen> <screen bg=\"bathroom\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Uh... Ok. Let's see where this goes!</screen> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: They staked me! They shot me with a silver bullet! They threw holy water at me, made me eat some garlic and almost cut my head off!</screen> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Right... And you're still standing here, telling me you're NOT a vampire?</screen> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: Yes! And it must be true, because any of those things vould have killed a vampire! Right?</screen> <screen bg=\"bathroom\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I'm pretty sure most humans would be dead too...</screen> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: Regardless! You must fix me!</screen> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: ...but bright light makes me explode into flame, so keep it dark, ok?</screen> </dialog> <dialog scene = \"end10\"> <screen bg=\"bathroom\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">ALAN: So, are you SURE you're not a vampire? Why did villagers attack you?</screen> <screen bg=\"bathroom\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">ALAN: In fact, we're just outside a large city in the 21st century... Where did you even FIND villagers?</screen> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: Vaat, vat is this? \"Interview with the Vampire\"?</screen> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: Chillax already, baby!</screen> <screen bg=\"bathroom\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">ALAN: You ARE a vampire! Oh god!</screen> <screen bg=\"bathroom\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Does this mean you're going to suck me dry?</screen> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: Ah! A double-entendre! Most excellent!</screen> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: Thank you, no. But I think now I will throw up in my mouth a little.</screen> <screen bg=\"bathroom\" highlight=\"vlad_closed\" pos1=\"alan_suspicious\" pos2=\"vlad_closed\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: Listen, here is a little token of my appreciation. If you ever find yourself dead, it may come in handy!</screen> <screen bg=\"bathroom\" highlight=\"vlad_normal\" pos1=\"alan_suspicious\" pos2=\"vlad_normal\" pos3=\"nothing\" pos4=\"nothing\">VLADIMIR: If it doesn't work... Just bring it back to me! Blah-ha-ha!</screen> <screen bg=\"bathroom\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: He was a lot less sparkly than I'd expected...</screen> </dialog> <dialog scene = \"start11\"> <screen bg=\"shack\" highlight=\"alan_facingaway\" pos1=\"alan_facingaway\" pos2=\"aide_nervous\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Wow... This place reminds me of the first place I ever performed surgery!</screen> <screen bg=\"shack\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"aide_nervous\" pos3=\"nothing\" pos4=\"nothing\">ALAN: It's ALMOST as much of a dump, anyway...</screen> <screen bg=\"shack\" highlight=\"aide_nervous\" pos1=\"alan_thoughtful\" pos2=\"aide_nervous\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Mister Probe...</screen> <screen bg=\"shack\" highlight=\"aide_nervous\" pos1=\"alan_thoughtful\" pos2=\"aide_nervous\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I have some bad news. I can't...</screen> <screen bg=\"shack\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"aide_nervous\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Can't what? Can't wave a magic wand and reopen all my hospitals?</screen> <screen bg=\"shack\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_nervous\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I don't even care! I'm having a blast just doing what I do best!</screen> <screen bg=\"shack\" highlight=\"alan_excited\" pos1=\"alan_excited\" pos2=\"aide_nervous\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Tell you what - you can keep the patients coming. I'll treat 'em right here!</screen> <screen bg=\"shack\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"aide_nervous\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Hey! Is there a patient in that chicken coop?</screen> <screen bg=\"shack\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_nervous\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Awww! An injured weirdo - just for me? You shouldn't have!</screen> <screen bg=\"shack\" highlight=\"aide_normal\" pos1=\"alan_happy\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I have no idea who that is...</screen> </dialog> <dialog scene = \"end11\"> <screen bg=\"shack\" highlight=\"aide_normal\" pos1=\"alan_normal\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Listen, Alan...</screen> <screen bg=\"shack\" highlight=\"aide_normal\" pos1=\"alan_normal\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Something isn't right - it's not safe here...</screen> <screen bg=\"shack\" highlight=\"alan_excited\" pos1=\"alan_excited\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Not safe? That's great! Just like the glory days!</screen> <screen bg=\"shack\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Dr. Bleed and I, holed up in secret, dodging cops and criminals...</screen> <screen bg=\"shack\" highlight=\"aide_normal\" pos1=\"alan_surprised\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: But...</screen> <screen bg=\"shack\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Listen! I don't care what happened with your mysterious \"employer\"!</screen> <screen bg=\"shack\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: All I want is to do surgery! I want to feel like my old self - my young self!</screen> <screen bg=\"shack\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: So my family can be proud of me again...</screen> <screen bg=\"shack\" highlight=\"aide_normal\" pos1=\"alan_normal\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Your family?</screen> <screen bg=\"shack\" highlight=\"aide_sad\" pos1=\"alan_normal\" pos2=\"aide_sad\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: You really miss them, don't you?</screen> <screen bg=\"shack\" highlight=\"aide_smiling\" pos1=\"alan_normal\" pos2=\"aide_smiling\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I'll see what I can do!</screen> <screen bg=\"shack\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Hooray! Just keep the patients coming!</screen> </dialog> <dialog scene = \"start12\"> <screen bg=\"shack\" highlight=\"pig_normal\" pos1=\"alan_suspicious\" pos2=\"pig_normal\" pos3=\"nothing\" pos4=\"nothing\">NAPOLEON TROTTERSKI: MRRRRROINK!</screen> <screen bg=\"shack\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"pig_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Well this is... Different.</screen> <screen bg=\"shack\" highlight=\"pig_normal\" pos1=\"alan_suspicious\" pos2=\"pig_normal\" pos3=\"nothing\" pos4=\"nothing\">NAPOLEON: SKWEEEE!</screen> <screen bg=\"shack\" highlight=\"alan_excited\" pos1=\"alan_excited\" pos2=\"pig_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: What's that? Little Timmy fell down a well?</screen> <screen bg=\"shack\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"pig_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Just kidding.</screen> <screen bg=\"shack\" highlight=\"pig_handingnote\" pos1=\"alan_normal\" pos2=\"pig_handingnote\" pos3=\"nothing\" pos4=\"nothing\">NAPOLEON: Skweee...</screen> <screen bg=\"shack\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"pig_handingnote\" pos3=\"nothing\" pos4=\"nothing\">ALAN: A note...</screen> <screen bg=\"shack\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"pig_handingnote\" pos3=\"nothing\" pos4=\"nothing\">ALAN: THIS is what you want me to do to you?</screen> </dialog> <dialog scene = \"end12\"> <screen bg=\"shack\" highlight=\"pig_typing\" pos1=\"alan_thoughtful\" pos2=\"pig_typing\" pos3=\"nothing\" pos4=\"nothing\">NAPOLEON: SANK YOU, MON DOCTOR.</screen> <screen bg=\"shack\" highlight=\"pig_typing\" pos1=\"alan_thoughtful\" pos2=\"pig_typing\" pos3=\"nothing\" pos4=\"nothing\">NAPOLEON: COME LA REVOLUTIONE YOU WILL BE SPARED.</screen> <screen bg=\"shack\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"pig_typing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Well thank goodness for that!</screen> <screen bg=\"shack\" highlight=\"pig_typing\" pos1=\"alan_excited\" pos2=\"pig_typing\" pos3=\"nothing\" pos4=\"nothing\">NAPOLEON: OR TURNED INTO GLUE. I AM NOT SURE YET.</screen> </dialog> <dialog scene = \"start13\"> <screen bg=\"shack\" highlight=\"pirate_normal\" pos1=\"alan_normal\" pos2=\"pirate_normal\" pos3=\"nothing\" pos4=\"nothing\">CAP'N SPLINTERS: Yarrrgh! Doc! I haven't been feeling myself recently!</screen> <screen bg=\"shack\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"pirate_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Congratulations! I imagine it must be a real temptation on long, lonely sea voyages!</screen> <screen bg=\"shack\" highlight=\"pirate_normal\" pos1=\"alan_surprised\" pos2=\"pirate_normal\" pos3=\"nothing\" pos4=\"nothing\">CAP'N: No! I mean I've been pillaging and violatin' my way across the seas for years - but now there's a heaviness on my heart!</screen> <screen bg=\"shack\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"pirate_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: My salty old friend, it sounds like you've grown a conscience!</screen> <screen bg=\"shack\" highlight=\"pirate_normal\" pos1=\"alan_happy\" pos2=\"pirate_normal\" pos3=\"nothing\" pos4=\"nothing\">CAP'N: Yaarrrr, perhaps. But I was thinking it might be something to do with the live squid I swallowed?</screen> <screen bg=\"shack\" highlight=\"pirate_showingsquid\" pos1=\"alan_happy\" pos2=\"pirate_showingsquid\" pos3=\"nothing\" pos4=\"nothing\">CAP'N: Glaaaargh!</screen> <screen bg=\"shack\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"pirate_showingsquid\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Hmm. That is also a possibility...</screen> </dialog> <dialog scene = \"end13\"> <screen bg=\"shack\" highlight=\"pirate_sad\" pos1=\"alan_thoughtful\" pos2=\"pirate_sad\" pos3=\"nothing\" pos4=\"nothing\">CAP'N: Yarr... I almost miss him now he's gone...</screen> <screen bg=\"shack\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"pirate_sad\" pos3=\"nothing\" pos4=\"nothing\">ALAN: You know, I'm sure I already did a surgery just like this in one of the other \"Amateur Surgeon\" games...</screen> <screen bg=\"shack\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"pirate_sad\" pos3=\"nothing\" pos4=\"nothing\">ALAN: ...or maybe I was just playing a PIRATE copy! Ah ha ha ha!</screen> <screen bg=\"shack\" highlight=\"pirate_sad\" pos1=\"alan_surprised\" pos2=\"pirate_sad\" pos3=\"nothing\" pos4=\"nothing\">CAP'N: ...</screen> <screen bg=\"shack\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"pirate_sad\" pos3=\"nothing\" pos4=\"nothing\">ALAN: ...</screen> <screen bg=\"shack\" highlight=\"pirate_sad\" pos1=\"alan_proud\" pos2=\"pirate_sad\" pos3=\"nothing\" pos4=\"nothing\">CAP'N: Yar. I'll just be goin', then.</screen> </dialog> <dialog scene = \"start14\"> <screen bg=\"shack\" highlight=\"starla_normal\" pos1=\"alan_normal\" pos2=\"starla_normal\" pos3=\"nothing\" pos4=\"nothing\">PRINCESS STARLA: Oh doctor! Don't look at me!</screen> <screen bg=\"shack\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"starla_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I wasn't! I mean, I might have caught a glimpse, but, well, you're quite... Revealed...</screen> <screen bg=\"shack\" highlight=\"starla_normal\" pos1=\"alan_surprised\" pos2=\"starla_normal\" pos3=\"nothing\" pos4=\"nothing\">STARLA: Oh, you're so sweet! But I don't know how you can bear to even say such things!</screen> <screen bg=\"shack\" highlight=\"starla_normal\" pos1=\"alan_surprised\" pos2=\"starla_normal\" pos3=\"nothing\" pos4=\"nothing\">STARLA: Won't you help me, please? I need you to make me beautiful!</screen> <screen bg=\"shack\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"starla_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I can maybe do a little nip, slash, tuck here and there...</screen> </dialog> <dialog scene = \"end14\"> <screen bg=\"shack\" highlight=\"starla_normal\" pos1=\"alan_normal\" pos2=\"starla_normal\" pos3=\"nothing\" pos4=\"nothing\">STARLA: Oh doctor!</screen> <screen bg=\"shack\" highlight=\"starla_normal\" pos1=\"alan_normal\" pos2=\"starla_normal\" pos3=\"nothing\" pos4=\"nothing\">STARLA: It's... I'm beautiful!</screen> <screen bg=\"shack\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"starla_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I aim to please - or at least not hit any major vital organs!</screen> <screen bg=\"shack\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"starla_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I may have used that line before...</screen> <screen bg=\"shack\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"starla_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: But hey! That's one of the advantages of the slight onset of senility!</screen> <screen bg=\"shack\" highlight=\"meanwhile\" pos1=\"meanwhile\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: But hey! That's one of the advantages of the slight onset of senility!</screen> <screen bg=\"office_light\" highlight=\"president_normal\" pos1=\"aide_normal\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: Where the hell have you been?</screen> <screen bg=\"office_light\" highlight=\"president_angry\" pos1=\"aide_normal\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: The next words out of your mouth had better be \"burying the evidence\", or so help me!</screen> <screen bg=\"office_light\" highlight=\"aide_nervous\" pos1=\"aide_nervous\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Uh...</screen> <screen bg=\"office_light\" highlight=\"aide_amazed\" pos1=\"aide_amazed\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: He escaped!</screen> <screen bg=\"office_light\" highlight=\"president_furious\" pos1=\"aide_amazed\" pos2=\"president_furious\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: He's a 70-year-old man with a self-confessed bladder problem! How did he ESCAPE?</screen> <screen bg=\"office_light\" highlight=\"aide_sad\" pos1=\"aide_sad\" pos2=\"president_furious\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Sir... please! What have you got against him?</screen> <screen bg=\"office_light\" highlight=\"aide_sad\" pos1=\"aide_sad\" pos2=\"president_furious\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Your first act as president was to close his hospitals - you ruined his life!</screen> <screen bg=\"office_light\" highlight=\"aide_normal\" pos1=\"aide_normal\" pos2=\"president_furious\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Then he SAVES yours, and you want him killed!</screen> <screen bg=\"office_light\" highlight=\"aide_suspicious\" pos1=\"aide_suspicious\" pos2=\"president_furious\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Well I won't do it!</screen> <screen bg=\"office_light\" highlight=\"president_angry\" pos1=\"aide_suspicious\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: You WON'T? You won't obey a direct order from your PRESIDENT?</screen> <screen bg=\"office_light\" highlight=\"aide_sad\" pos1=\"aide_sad\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: He... He's my grandfather.</screen> <screen bg=\"office_light\" highlight=\"president_normal\" pos1=\"aide_sad\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: Your... Grandfather?</screen> <screen bg=\"office_light\" highlight=\"president_plotting\" pos1=\"aide_sad\" pos2=\"president_plotting\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: Ah... My dear boy... I had no idea.</screen> <screen bg=\"office_light\" highlight=\"president_happy\" pos1=\"aide_sad\" pos2=\"president_happy\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: Of course, this changes everything!</screen> </dialog> <dialog scene = \"start15\"> <screen bg=\"shack\" highlight=\"chewtoy_pain\" pos1=\"alan_normal\" pos2=\"chewtoy_pain\" pos3=\"nothing\" pos4=\"nothing\">CHEWTOY CHUCK: Doc! Help me! I got one of my dogs too worked up during training! I've been bitten half to death!</screen> <screen bg=\"shack\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"chewtoy_pain\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Hmm. Was it a German Shepherd?</screen> <screen bg=\"shack\" highlight=\"chewtoy_pain\" pos1=\"alan_thoughtful\" pos2=\"chewtoy_pain\" pos3=\"nothing\" pos4=\"nothing\">CHUCK: What? No, you idiot! It was one of my DOGS.</screen> <screen bg=\"shack\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"chewtoy_pain\" pos3=\"nothing\" pos4=\"nothing\">ALAN: No, I meant... Never mind...</screen> </dialog> <dialog scene = \"end15\"> <screen bg=\"shack\" highlight=\"chewtoy_happy\" pos1=\"alan_normal\" pos2=\"chewtoy_happy\" pos3=\"nothing\" pos4=\"nothing\">CHUCK: That's better! You know, I've got 100 dogs in all - all boys! Just one girl dog!</screen> <screen bg=\"shack\" highlight=\"chewtoy_happy\" pos1=\"alan_normal\" pos2=\"chewtoy_happy\" pos3=\"nothing\" pos4=\"nothing\">CHUCK: Funny things is, she's the ONLY one that doesn't bite me!</screen> <screen bg=\"shack\" highlight=\"chewtoy_happy\" pos1=\"alan_normal\" pos2=\"chewtoy_happy\" pos3=\"nothing\" pos4=\"nothing\">CHUCK: Guess you could say I've got ninety-nine problems, but the bitc-</screen> <screen bg=\"shack\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"chewtoy_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ha... Well! Best let you go back to them!</screen> </dialog> <dialog scene = \"start16\"> <screen bg=\"shack\" highlight=\"jimmy_ceiling\" pos1=\"alan_normal\" pos2=\"jimmy_ceiling\" pos3=\"nothing\" pos4=\"nothing\">JIMMY THE SPIDER: Ta daaaa! Look in your pocket! Your watch is gone! I stole it!</screen> <screen bg=\"shack\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"jimmy_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ah! What the hell are you supposed to be?</screen> <screen bg=\"shack\" highlight=\"jimmy_normal\" pos1=\"alan_surprised\" pos2=\"jimmy_normal\" pos3=\"nothing\" pos4=\"nothing\">JIMMY: JIMMY THE SPIDER! Cat-burglar extraordinaire!</screen> <screen bg=\"shack\" highlight=\"jimmy_normal\" pos1=\"alan_surprised\" pos2=\"jimmy_normal\" pos3=\"nothing\" pos4=\"nothing\">JIMMY: I must have burgled, oh, five cats so far! Ha ha ha!</screen> <screen bg=\"shack\" highlight=\"alan_sad\" pos1=\"alan_sad\" pos2=\"jimmy_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: ...awful</screen> <screen bg=\"shack\" highlight=\"jimmy_normal\" pos1=\"alan_sad\" pos2=\"jimmy_normal\" pos3=\"nothing\" pos4=\"nothing\">JIMMY: No, I'm just kidding. But I am TOTALLY SPIDER-LIKE!</screen> <screen bg=\"shack\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"jimmy_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: And you want me to what, remove part of your brain to cure you of this weird behavior?</screen> <screen bg=\"shack\" highlight=\"jimmy_happy\" pos1=\"alan_thoughtful\" pos2=\"jimmy_happy\" pos3=\"nothing\" pos4=\"nothing\">JIMMY: No way! It's just that recently, some of my SPIDER MEALS have been...</screen> <screen bg=\"shack\" highlight=\"jimmy_vomiting\" pos1=\"alan_nervous\" pos2=\"jimmy_vomiting\" pos3=\"nothing\" pos4=\"nothing\">JIMMY: ...repeating on me.</screen> <screen bg=\"shack\" highlight=\"alan_nervous\" pos1=\"alan_nervous\" pos2=\"jimmy_vomiting\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Gross... Well, say \"Ah\"!</screen> </dialog> <dialog scene = \"end16\"> <screen bg=\"shack\" highlight=\"jimmy_happy\" pos1=\"alan_happy\" pos2=\"jimmy_happy\" pos3=\"nothing\" pos4=\"nothing\">JIMMY: Ah - that's so much better!</screen> <screen bg=\"shack\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"jimmy_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Next time, why not try eating a spider to catch the flies?</screen> <screen bg=\"shack\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"jimmy_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Or would that be like cannibalism?</screen> <screen bg=\"shack\" highlight=\"jimmy_happy\" pos1=\"alan_thoughtful\" pos2=\"jimmy_happy\" pos3=\"nothing\" pos4=\"nothing\">JIMMY: Ha! Yeah! Sure - eat a spider! Can you imagine someone coming in with a whole bunch of spiders running around inside them?</screen> <screen bg=\"shack\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"jimmy_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: You'd be surprised...</screen> <screen bg=\"shack\" highlight=\"aide_normal\" pos1=\"alan_thoughtful\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Alan! Listen - there's good news!</screen> <screen bg=\"shack\" highlight=\"aide_happy\" pos1=\"alan_thoughtful\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I think something wonderful is going to happen! I think we're going to be able to reopen your hospitals!</screen> <screen bg=\"shack\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: What? What?</screen> <screen bg=\"shack\" highlight=\"aide_normal\" pos1=\"alan_surprised\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I'll explain more when you've finished with your next patient! Be quick!</screen> </dialog> <dialog scene = \"start17\"> <screen bg=\"shack\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"tom_intense\" pos3=\"nothing\" pos4=\"nothing\">ALAN: How can I hel-</screen> <screen bg=\"shack\" highlight=\"tom_intense\" pos1=\"alan_suspicious\" pos2=\"tom_intense\" pos3=\"nothing\" pos4=\"nothing\">PEEPING TOM: I LIKE TO LOOK AT THINGS.</screen> <screen bg=\"shack\" highlight=\"tom_intense\" pos1=\"alan_suspicious\" pos2=\"tom_intense\" pos3=\"nothing\" pos4=\"nothing\">TOM: Not necessarily WEIRD things, you understand!</screen> <screen bg=\"shack\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"tom_intense\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Just \"things\", hey? I see...</screen> <screen bg=\"shack\" highlight=\"tom_rage\" pos1=\"alan_suspicious\" pos2=\"tom_rage\" pos3=\"nothing\" pos4=\"nothing\">TOM: YOU \"SEE\"? YOU MOCK ME! YOU MOCK ME WITH YOUR BEAUTIFUL EYES! For I CANNOT SEE!</screen> <screen bg=\"shack\" highlight=\"tom_intense\" pos1=\"alan_suspicious\" pos2=\"tom_intense\" pos3=\"nothing\" pos4=\"nothing\">TOM: Or at least, not as well as I'd like to...</screen> <screen bg=\"shack\" highlight=\"alan_excited\" pos1=\"alan_excited\" pos2=\"tom_intense\" pos3=\"nothing\" pos4=\"nothing\">ALAN: One eyeball surgery coming right up!</screen> </dialog> <dialog scene = \"end17\"> <screen bg=\"shack\" highlight=\"tom_happy\" pos1=\"alan_normal\" pos2=\"tom_happy\" pos3=\"nothing\" pos4=\"nothing\">TOM: Ahhh! It's wonderful!</screen> <screen bg=\"shack\" highlight=\"tom_happy\" pos1=\"alan_normal\" pos2=\"tom_happy\" pos3=\"nothing\" pos4=\"nothing\">TOM: I can't wait to start looking at some really WEIRD stuff again!</screen> <screen bg=\"shack\" highlight=\"tom_intense\" pos1=\"alan_normal\" pos2=\"tom_intense\" pos3=\"nothing\" pos4=\"nothing\">TOM: DON'T LOOK AT ME LIKE THAT! It makes me feel...dirty!</screen> <screen bg=\"shack\" highlight=\"tom_happy\" pos1=\"alan_normal\" pos2=\"tom_happy\" pos3=\"nothing\" pos4=\"nothing\">TOM: Actually, you CAN keep looking! Mmmm!</screen> <screen bg=\"shack\" highlight=\"alan_rueful\" pos1=\"alan_rueful\" pos2=\"tom_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Yeuch!</screen> <screen bg=\"shack\" highlight=\"aide_happy\" pos1=\"alan_happy\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Alan! My employer has had a change of heart!</screen> <screen bg=\"shack\" highlight=\"aide_happy\" pos1=\"alan_happy\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: He wants to meet you! He has good news about your hospitals!</screen> <screen bg=\"shack\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Are you sure about this?</screen> <screen bg=\"shack\" highlight=\"aide_happy\" pos1=\"alan_normal\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Yes! Please - it's so important! I'll send a car - just be in it! Don't forget your blindfold!</screen> </dialog> <dialog scene = \"start18\"> <screen bg=\"office_dark\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"mysterious_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Hello? Bradley?</screen> <screen bg=\"office_light\" highlight=\"president_normal\" pos1=\"alan_surprised\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: Hello Alan.</screen> <screen bg=\"office_light\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Oh my God it's the president.</screen> <screen bg=\"office_light\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: You're the douche who closed all my hospitals!</screen> <screen bg=\"office_light\" highlight=\"alan_sad\" pos1=\"alan_sad\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: If I'd have known I was going to meet you, I'd have worn my open-back gown from the home, to make it easier to tell you to kiss my...</screen> <screen bg=\"office_light\" highlight=\"president_plotting\" pos1=\"alan_sad\" pos2=\"president_plotting\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: My dear, old, crazy Alan Probe...</screen> <screen bg=\"office_light\" highlight=\"president_happy\" pos1=\"alan_sad\" pos2=\"president_happy\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: How terribly you've aged!</screen> <screen bg=\"office_light\" highlight=\"alan_angry\" pos1=\"alan_angry\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Screw this. Tell Bradley I'm out of here.</screen> <screen bg=\"office_light\" highlight=\"president_happy\" pos1=\"alan_angry\" pos2=\"president_happy\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: Why not tell him yourself?</screen> <screen bg=\"office_light\" highlight=\"aide_injured\" pos1=\"alan_surprised\" pos2=\"aide_injured\" pos3=\"nothing\" pos4=\"president_normal\">BRADLEY: Groan...</screen> <screen bg=\"office_light\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"aide_injured\">ALAN: Oh my God. What did you DO?</screen> <screen bg=\"office_light\" highlight=\"president_normal\" pos1=\"alan_surprised\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"aide_injured\">PRESIDENT: Turns out little Bradley here was quite the keeper of secrets!</screen> <screen bg=\"office_light\" highlight=\"president_angry\" pos1=\"alan_surprised\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"aide_injured\">PRESIDENT: ...from both of us.</screen> <screen bg=\"office_light\" highlight=\"alan_angry\" pos1=\"alan_angry\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"aide_injured\">ALAN: Secrets? What? Is it the secret why you're SUCH a colossal douchebag?</screen> <screen bg=\"office_light\" highlight=\"president_normal\" pos1=\"alan_angry\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"aide_injured\">PRESIDENT: Ah, it's so delicious - all the time you had with him, and you never knew!</screen> <screen bg=\"office_light\" highlight=\"president_happy\" pos1=\"alan_angry\" pos2=\"president_happy\" pos3=\"nothing\" pos4=\"aide_injured\">PRESIDENT: Alan - he's your grandson!</screen> <screen bg=\"office_light\" highlight=\"alan_sad\" pos1=\"alan_sad\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"aide_injured\">ALAN: You're mental.</screen> <screen bg=\"office_light\" highlight=\"president_normal\" pos1=\"alan_normal\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"aide_injured\">PRESIDENT: Ask him yourself, if you don't believe me.</screen> <screen bg=\"office_light\" highlight=\"president_happy\" pos1=\"alan_normal\" pos2=\"president_happy\" pos3=\"nothing\" pos4=\"aide_injured\">PRESIDENT: You may need to patch him up a bit first!</screen> </dialog> <dialog scene = \"end18\"> <screen bg=\"office_light\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I just don't get it! What the hell have you got against me?</screen> <screen bg=\"office_light\" highlight=\"alan_angry\" pos1=\"alan_angry\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: You shut down my hospitals, rip up my legacy...</screen> <screen bg=\"office_light\" highlight=\"alan_angry\" pos1=\"alan_angry\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: And then you try to kill my possibly-grandson after I SAVE YOUR LIFE!</screen> <screen bg=\"office_light\" highlight=\"alan_angry\" pos1=\"alan_angry\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: WHAT is YOUR PROBLEM?</screen> <screen bg=\"office_light\" highlight=\"president_normal\" pos1=\"alan_angry\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: Ha! This, coming from the man who almost killed me with his botched surgery!</screen> <screen bg=\"office_light\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"president_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I didn't botch anything!</screen> <screen bg=\"office_light\" highlight=\"president_angry\" pos1=\"alan_surprised\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: The man who foiled my plans at every turn!</screen> <screen bg=\"office_light\" highlight=\"alan_yelling\" pos1=\"alan_yelling\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I have done ZERO foiling! There has been NO FOILING!</screen> <screen bg=\"office_light\" highlight=\"president_furious\" pos1=\"alan_yelling\" pos2=\"president_furious\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: The man who had me locked up for 20 years! 20 YEARS!</screen> <screen bg=\"office_light\" highlight=\"alan_angry\" pos1=\"alan_angry\" pos2=\"president_furious\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I LOCKED YOU UP? WHAT THE HELL ARE YOU TALKING ABOUT?!</screen> <screen bg=\"office_light\" highlight=\"president_furious\" pos1=\"alan_angry\" pos2=\"president_furious\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: How I loathe you pizza boy!</screen> <screen bg=\"office_light\" highlight=\"president_angry\" pos1=\"alan_angry\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: How it gladdened me to see your dreams crumble!</screen> <screen bg=\"office_light\" highlight=\"president_angry\" pos1=\"alan_angry\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: For your family to abandon you, unable to witness your shame!</screen> <screen bg=\"office_light\" highlight=\"president_happy\" pos1=\"alan_angry\" pos2=\"president_happy\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: But now... To have your own grandson at my fingertips!</screen> <screen bg=\"office_light\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"president_happy\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Pizza boy? No-one's called me that for...</screen> <screen bg=\"office_light\" highlight=\"president_angry\" pos1=\"alan_suspicious\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: My one regret is that our stinking, worthless teacher DIED before he could see your downfall!</screen> <screen bg=\"office_light\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Wait...</screen> <screen bg=\"office_light\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">ALAN: OUR teacher? You mean, Dr. Bleed? But...</screen> <screen bg=\"office_light\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"president_angry\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Oh. My. God.</screen> <screen bg=\"office_light\" highlight=\"president_happy\" pos1=\"alan_surprised\" pos2=\"president_happy\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: That's right, Alan!</screen> <screen bg=\"office_light\" highlight=\"dwayne_normal\" pos1=\"alan_surprised\" pos2=\"dwayne_normal\" pos3=\"nothing\" pos4=\"nothing\">PRESIDENT: MWAAAHAHAHAAAA!</screen> <screen bg=\"office_light\" highlight=\"alan_angry\" pos1=\"alan_angry\" pos2=\"dwayne_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: DWAYNE PIPE?</screen> <screen bg=\"office_light\" highlight=\"dwayne_stand\" pos1=\"alan_angry\" pos2=\"dwayne_stand\" pos3=\"nothing\" pos4=\"nothing\">DWAYNE: DUM DUM DUMMMMM!</screen> </dialog> <dialog scene = \"start19\"> <screen bg=\"office_light\" highlight=\"dwayne_stand\" pos1=\"alan_sad\" pos2=\"dwayne_stand\" pos3=\"nothing\" pos4=\"nothing\">DWAYNE: How does it feel, pizza boy?</screen> <screen bg=\"office_light\" highlight=\"dwayne_stand\" pos1=\"alan_sad\" pos2=\"dwayne_stand\" pos3=\"nothing\" pos4=\"nothing\">DWAYNE: To know that your old nemesis has WON!?</screen> <screen bg=\"office_light\" highlight=\"dwayne_normal\" pos1=\"alan_sad\" pos2=\"dwayne_normal\" pos3=\"nothing\" pos4=\"nothing\">DWAYNE: I WIN!</screen> <screen bg=\"office_light\" highlight=\"dwayne_normal\" pos1=\"alan_sad\" pos2=\"dwayne_normal\" pos3=\"nothing\" pos4=\"nothing\">DWAYNE: AH HAHAHAHAAAA!</screen> <screen bg=\"office_light\" highlight=\"alan_sad\" pos1=\"alan_sad\" pos2=\"dwayne_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: God you're a douche.</screen> <screen bg=\"office_light\" highlight=\"alan_angry\" pos1=\"alan_angry\" pos2=\"dwayne_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I mean, wow. WOW.</screen> <screen bg=\"office_light\" highlight=\"dwayne_stand\" pos1=\"alan_angry\" pos2=\"dwayne_stand\" pos3=\"nothing\" pos4=\"nothing\">DWAYNE: You even SAVED my LIFE!</screen> <screen bg=\"office_light\" highlight=\"dwayne_stand\" pos1=\"alan_angry\" pos2=\"dwayne_stand\" pos3=\"nothing\" pos4=\"nothing\">DWAYNE: You pulled all those bugs out of me!</screen> <screen bg=\"office_light\" highlight=\"dwayne_stand\" pos1=\"alan_angry\" pos2=\"dwayne_stand\" pos3=\"nothing\" pos4=\"nothing\">DWAYNE: You...</screen> <screen bg=\"office_light\" highlight=\"dwayne_burp\" pos1=\"alan_angry\" pos2=\"dwayne_burp\" pos3=\"nothing\" pos4=\"nothing\">DWAYNE: BUUUURP</screen> <screen bg=\"office_light\" highlight=\"dwayne_burp\" pos1=\"alan_angry\" pos2=\"dwayne_burp\" pos3=\"nothing\" pos4=\"nothing\">DWAYNE: Uh oh.</screen> <screen bg=\"office_light\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"dwayne_burp\" pos3=\"nothing\" pos4=\"nothing\">ALAN: AH HA HA HA!!! Looks like I missed a few!</screen> <screen bg=\"office_light\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"dwayne_burp\" pos3=\"nothing\" pos4=\"nothing\">ALAN: God, I SUCK at those bug extraction surgeries!</screen> <screen bg=\"office_light\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"dwayne_burp\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Tick-tock, Dwayne!</screen> <screen bg=\"office_light\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"dwayne_burp\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Tell you what, I'll save you if you promise to stop being a douche?</screen> <screen bg=\"office_light\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"dwayne_burp\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Oh what the hell - one last time for old time's sake!</screen> </dialog> <dialog scene = \"end19\"> <screen bg=\"office_light\" highlight=\"aide_sad\" pos1=\"alan_happy\" pos2=\"aide_sad\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Ugh... Alan, I'm so sorry.</screen> <screen bg=\"office_light\" highlight=\"aide_sad\" pos1=\"alan_happy\" pos2=\"aide_sad\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: It's true. I am your grandson. I just wanted to bring our family back together...</screen> <screen bg=\"office_light\" highlight=\"aide_sad\" pos1=\"alan_happy\" pos2=\"aide_sad\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I thought if I became aide to the president, I could find a way to help you!</screen> <screen bg=\"office_light\" highlight=\"aide_sad\" pos1=\"alan_happy\" pos2=\"aide_sad\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I had no idea the president was the bad guy!</screen> <screen bg=\"office_light\" highlight=\"aide_thoughtful\" pos1=\"alan_happy\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: I mean, how does a criminal imprisoned for MURDER manage to get out of jail, disguise his identity...</screen> <screen bg=\"office_light\" highlight=\"aide_thoughtful\" pos1=\"alan_happy\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: ...and then run for, and become, president of the United States? </screen> <screen bg=\"office_light\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_normal\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ha! Listen... grandson. We could sit here and poke holes in the plot all night...</screen> <screen bg=\"office_light\" highlight=\"alan_proud,aide_camera\" pos1=\"alan_proud\" pos2=\"aide_camera\" pos3=\"nothing\" pos4=\"nothing\"></screen> <screen bg=\"office_light\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"aide_thoughtful\" pos3=\"nothing\" pos4=\"nothing\">ALAN: ...but I think I'd rather we went and visited some of our family, and started rebuilding some bridges! Whaddya say?</screen> <screen bg=\"office_light\" highlight=\"aide_happy\" pos1=\"alan_happy\" pos2=\"aide_happy\" pos3=\"nothing\" pos4=\"nothing\">BRADLEY: Let's go... Grandpa!</screen> </dialog> <dialog scene = \"start20\"> <screen bg=\"bedroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ah, it'll be good to get out of this place!</screen> <screen bg=\"bedroom\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I've modified a pig, pulled a rabbit out of a clown, unmasked the president and gotten my life back...</screen> <screen bg=\"bedroom\" highlight=\"alan_proud\" pos1=\"alan_proud\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Not a bad run for an old guy who now sometimes forgets to drop his pants before he uses the toilet!</screen> <screen bg=\"bedroom\" highlight=\"alan_sad\" pos1=\"alan_sad\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I just wish Dr. Bleed was around to have seen it...</screen> <screen bg=\"bedroom\" highlight=\"alan_excited\" pos1=\"alan_excited\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Hey! Didn't that whack-job vampire say something about something that was something to do with raising the dead? Or something?</screen> <screen bg=\"bedroom\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I don't know if it's the joy in my heart at finishing the game, or the crazy in my head at there being nothing left to complete, but I think it's time to go pay an old friend a visit!</screen> </dialog> <dialog scene = \"end20\"> <screen bg=\"graveyard\" highlight=\"bleed_angelic\" pos1=\"alan_surprised\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">DR. IGNACIOUS BLEED: Hello Alan.</screen> <screen bg=\"graveyard\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ha... Dr. Bleed! Oh wow... It worked!</screen> <screen bg=\"graveyard\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Ah... I want to say something witty to wind you up!</screen> <screen bg=\"graveyard\" highlight=\"alan_tear\" pos1=\"alan_tear\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">ALAN: But at the same time I almost want to cry... I've missed you!</screen> <screen bg=\"graveyard\" highlight=\"bleed_angelic\" pos1=\"alan_tear\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">BLEED: Ha! We made quite the team, didn't we?</screen> <screen bg=\"graveyard\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">ALAN: It was the best! Remember when I hit that old guy with the pizza van, and we patched him up together?</screen> <screen bg=\"graveyard\" highlight=\"bleed_angelic\" pos1=\"alan_surprised\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">BLEED: Yes. That was me.</screen> <screen bg=\"graveyard\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Oh yeah!</screen> <screen bg=\"graveyard\" highlight=\"alan_suspicious\" pos1=\"alan_suspicious\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Man... I don't really know what to say now!</screen> <screen bg=\"graveyard\" highlight=\"bleed_angelic\" pos1=\"alan_suspicious\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">BLEED: You could apologize for digging me up?</screen> <screen bg=\"graveyard\" highlight=\"alan_thoughtful\" pos1=\"alan_thoughtful\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Yeah, I'm not really sure what I was thinking...</screen> <screen bg=\"graveyard\" highlight=\"alan_surprised\" pos1=\"alan_surprised\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">ALAN: I guess it's just not really an Amateur Surgeon game without Dr. Bleed!</screen> <screen bg=\"graveyard\" highlight=\"bleed_angelic\" pos1=\"alan_surprised\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">BLEED: That's very kind of you Alan - I'm so very proud of you, and everything you've done.</screen> <screen bg=\"graveyard\" highlight=\"alan_normal\" pos1=\"alan_normal\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Even when I forgot to pull that thing out of Dwayne no fewer than three separate times?</screen> <screen bg=\"graveyard\" highlight=\"bleed_angelic\" pos1=\"alan_normal\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">BLEED: That was the best of all.</screen> <screen bg=\"graveyard\" highlight=\"bleed_angelic\" pos1=\"alan_normal\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">BLEED: I have to go now.</screen> <screen bg=\"graveyard\" highlight=\"bleed_angelic\" pos1=\"alan_normal\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">BLEED: Goodbye, Alan.</screen> <screen bg=\"graveyard\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"bleed_angelic\" pos3=\"nothing\" pos4=\"nothing\">ALAN: Goodbye, Dr. Bleed...</screen> <screen bg=\"graveyard\" highlight=\"alan_happy\" pos1=\"alan_happy\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\"></screen> <screen bg=\"graveyard\" highlight=\"alan_tear\" pos1=\"alan_tear\" pos2=\"nothing\" pos3=\"nothing\" pos4=\"nothing\"></screen> </dialog> </data>");
var _local3:Number = 0;
while (_local3 < _local2.dialog.length()) {
_local4 = [];
_local5 = _local2.dialog[_local3].@scene;
_local6 = 0;
while (_local6 < _local2.dialog[_local3].screen.length()) {
_local7 = _local2.dialog[_local3].screen[_local6].@bg;
_local8 = _local2.dialog[_local3].screen[_local6].@pos1;
_local9 = _local2.dialog[_local3].screen[_local6].@pos2;
_local10 = _local2.dialog[_local3].screen[_local6].@pos3;
_local11 = _local2.dialog[_local3].screen[_local6].@pos4;
_local12 = _local2.dialog[_local3].screen[_local6].@highlight;
_local13 = _local2.dialog[_local3].screen[_local6];
_local4.push([_local7, _local8, _local9, _local10, _local11, _local12, _local13]);
_local6++;
};
cut_scenes.push([_local5, _local4]);
_local3++;
};
}
public function getToolByID(_arg1:int):ToolData{
var _local2:ToolData;
var _local3:int = tool_library.length;
var _local4:int;
while (_local4 < _local3) {
if (tool_library[_local4].id == _arg1){
_local2 = tool_library[_local4];
break;
};
_local4++;
};
return (_local2);
}
public function parseFiles():void{
var _local1:int;
while (_local1 < xml_list.length) {
setupDialog(xml_list[_local1]);
_local1++;
};
dispatchEvent(new Event(COMPLETE));
}
public function init():void{
onXMLLoaded();
}
protected function setupInjuries():void{
injury_library = [];
injury_library.push(new InjuryData(0, "empty", BloodSplatterAS, "", ""));
injury_library.push(new InjuryData(1, "SmallCut", SmallCutAS, "", ""));
injury_library.push(new InjuryData(2, "Incision", IncisionAS, "", ""));
injury_library.push(new InjuryData(3, "LargeCut", LargeCutAS, "", ""));
injury_library.push(new InjuryData(4, "SurfaceExtraction", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(5, "SurfaceExtractionGlass", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(6, "SurfaceExtractionBone", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(7, "UnderSurfaceExtractionMoney", UnderSurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(8, "UnderSurfaceExtractionPassport", UnderSurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(9, "UnderSurfaceExtractionCard", UnderSurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(10, "Crab", CrabAS, "", ""));
injury_library.push(new InjuryData(11, "empty", PoisonSplatterAS, "", ""));
injury_library.push(new InjuryData(12, "Poison", PoisonAS, "", ""));
injury_library.push(new InjuryData(13, "Transplant", TransplantAS, "", ""));
injury_library.push(new InjuryData(14, "KneeTransplant", KneeTransplantAS, "", ""));
injury_library.push(new InjuryData(15, "SurfaceExtractionKnee1", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(16, "SurfaceExtractionKnee2", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(17, "empty", BlueBloodSplatterAS, "", ""));
injury_library.push(new InjuryData(18, "SurfaceExtractionCrab", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(19, "empty", BoneSplatterAS, "", ""));
injury_library.push(new InjuryData(20, "empty", SparkSplatterAS, "", ""));
injury_library.push(new InjuryData(21, "ThighTransplant", ThighTransplantAS, "", ""));
injury_library.push(new InjuryData(22, "SurfaceExtractionThigh1", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(23, "SurfaceExtractionThigh2", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(24, "KidneyTransplantLeft", KidneyTransplantLeftAS, "", ""));
injury_library.push(new InjuryData(25, "KidneyTransplantRight", KidneyTransplantRightAS, "", ""));
injury_library.push(new InjuryData(26, "ExplosiveExtraction", ExplosiveExtractionAS, "", ""));
injury_library.push(new InjuryData(27, "empty", FireSplatterAS, "", ""));
injury_library.push(new InjuryData(28, "Burn", BurnAS, "", ""));
injury_library.push(new InjuryData(29, "Fire", FireAS, "", ""));
injury_library.push(new InjuryData(30, "Eyelid", EyelidAS, "", ""));
injury_library.push(new InjuryData(31, "FireFlyEgg", FireFlyEggAS, "", ""));
injury_library.push(new InjuryData(32, "FireFly", FireFlyAS, "", ""));
injury_library.push(new InjuryData(33, "ExtractionFireFlyEggBroken", ExtractionFireFlyEggBrokenAS, "", ""));
injury_library.push(new InjuryData(34, "SurfaceExtractionTooth1", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(35, "SurfaceExtractionTooth2", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(36, "UnderSurfaceExtractionTooth1", UnderSurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(37, "UnderSurfaceExtractionTooth2", UnderSurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(38, "InsectBoss", InsectBossAS, "", ""));
injury_library.push(new InjuryData(39, "ExplosiveExtractionEye", ExplosiveExtractionAS, "", ""));
injury_library.push(new InjuryData(40, "LeftEyeTransplant", EyeTransplantAS, "", ""));
injury_library.push(new InjuryData(41, "RightEyeTransplant", EyeTransplantAS, "", ""));
injury_library.push(new InjuryData(42, "LeftThumbTransplant", LeftThumbTransplantAS, "", ""));
injury_library.push(new InjuryData(43, "RightThumbTransplant", RightThumbTransplantAS, "", ""));
injury_library.push(new InjuryData(44, "TypeAndTell", TypeAndTellAS, "", ""));
injury_library.push(new InjuryData(45, "SurfaceExtractionWire", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(46, "UnderSurfaceExtractionWire", UnderSurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(47, "Squid", SquidAS, "", ""));
injury_library.push(new InjuryData(48, "empty", InkSplatterAS, "", ""));
injury_library.push(new InjuryData(49, "Barnicle", BarnicleAS, "", ""));
injury_library.push(new InjuryData(50, "empty", BarnicleSplatterAS, "", ""));
injury_library.push(new InjuryData(51, "SurfaceExtractionTentacle1", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(52, "SurfaceExtractionTentacle2", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(53, "SurfaceExtractionTentacle3", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(54, "SurfaceExtractionTentacle4", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(55, "SurfaceExtractionTentacle5", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(56, "Dove", DoveAS, "", ""));
injury_library.push(new InjuryData(57, "Droplet", DropletAS, "", ""));
injury_library.push(new InjuryData(58, "empty", DoveSplatterAS, "", ""));
injury_library.push(new InjuryData(59, "PelvisTransplant", PelvisTransplantAS, "", ""));
injury_library.push(new InjuryData(60, "ShoulderTransplant", ShoulderTransplantAS, "", ""));
injury_library.push(new InjuryData(61, "ClownNose", ClownNoseAS, "", ""));
injury_library.push(new InjuryData(62, "Scarring", ScarringAS, "", ""));
injury_library.push(new InjuryData(63, "LargeCutScar", LargeCutScarAS, "", ""));
injury_library.push(new InjuryData(64, "Insertion", InsertionAS, "", ""));
injury_library.push(new InjuryData(65, "UnderSurfaceExtractionClown", UnderSurfaceExtractionClownAS, "", ""));
injury_library.push(new InjuryData(66, "Bunny", BunnyAS, "", ""));
injury_library.push(new InjuryData(67, "SpineTransplant", SpineTransplantAS, "", ""));
injury_library.push(new InjuryData(68, "Fat", FatAS, "", ""));
injury_library.push(new InjuryData(69, "empty", FatSplatterAS, "", ""));
injury_library.push(new InjuryData(70, "TopLipLeft", LipAS, "", ""));
injury_library.push(new InjuryData(71, "BottomLipLeft", LipAS, "", ""));
injury_library.push(new InjuryData(72, "NoseTransplant", NoseTransplantAS, "", ""));
injury_library.push(new InjuryData(73, "Unibrow", UnibrowAS, "", ""));
injury_library.push(new InjuryData(74, "empty", CentipedeAS, "", ""));
injury_library.push(new InjuryData(75, "TopLipRight", LipAS, "", ""));
injury_library.push(new InjuryData(76, "BottomLipRight", LipAS, "", ""));
injury_library.push(new InjuryData(77, "SurfaceExtractionNeedle", SurfaceExtractionAS, "", ""));
injury_library.push(new InjuryData(78, "ExplosiveExtractionBomb", ExplosiveExtractionBombAS, "", ""));
injury_library.push(new InjuryData(79, "PoisonLiverTransplant", PoisonLiverTransplantAS, "", ""));
injury_library.push(new InjuryData(80, "PoisonKidneyTransplant", PoisonKidneyTransplantAS, "", ""));
injury_library.push(new InjuryData(81, "BigCentipede", BigCentipedeAS, "", ""));
injury_library.push(new InjuryData(82, "SmallCut", BloodSmallCutAS, "", ""));
injury_library.push(new InjuryData(83, "LargeCut", BloodLargeCutAS, "", ""));
injury_library.push(new InjuryData(84, "Burn", BloodBurnAS, "", ""));
injury_library.push(new InjuryData(85, "empty", SaltSplatterAS, "", ""));
injury_library.push(new InjuryData(86, "SurfaceExtractionStake", SurfaceExtractionStakeAS, "", ""));
injury_library.push(new InjuryData(87, "SurfaceExtractionGarlic", SurfaceExtractionGarlicAS, "", ""));
injury_library.push(new InjuryData(88, "UnderSurfaceExtractionSilver", UnderSurfaceExtractionSilverAS, "", ""));
injury_library.push(new InjuryData(89, "Fire", BloodFireAS, "", ""));
injury_library.push(new InjuryData(90, "empty", BloodFireSplatterAS, "", ""));
injury_library.push(new InjuryData(91, "Bat", BatAS, "", ""));
injury_library.push(new InjuryData(92, "Bleed", BleedAS, "", ""));
injury_library.push(new InjuryData(93, "IncisionCoffin", IncisionCoffinAS, "", ""));
injury_library.push(new InjuryData(94, "dirtSplatter", DirtAS, "", ""));
injury_library.push(new InjuryData(95, "empty", FeatherSplatterAS, "", ""));
tool_library = [];
tool_library.push(new ToolData(3, "Lighter", Lighter, 51, "lighter", "", true));
tool_library.push(new ToolData(4, "Cream", Cream, 52, "cream", "", true));
tool_library.push(new ToolData(1, "Cutter", Cutter, 49, "cutter", "", true));
tool_library.push(new ToolData(5, "Stitch", Stitch, 53, "stitch", "", true));
tool_library.push(new ToolData(2, "Tongs", Tongs, 50, "tongs", "", true));
tool_library.push(new ToolData(6, "Vacuum", Vacuum, 54, "vacuum", "", true));
tool_library.push(new ToolData(7, "Chainsaw", Chainsaw, 55, "chainsaw", "", true));
tool_library.push(new ToolData(8, "Injection", Injection, 56, "injection", "", true));
tool_library.push(new ToolData(9, "Battery", Battery, 57, "battery", "", true));
tool_library.push(new ToolData(10, "Scanner", Scanner, 48, "scanner", "", true));
}
public function getToolByName(_arg1:String):ToolData{
var _local2:ToolData;
var _local3:int = tool_library.length;
var _local4:int;
while (_local4 < _local3) {
if (tool_library[_local4].name == _arg1){
_local2 = tool_library[_local4];
break;
};
_local4++;
};
return (_local2);
}
protected function onXMLLoaded():void{
parseFiles();
setupInjuries();
}
public function getInjuryByID(_arg1:int):InjuryData{
var _local2:InjuryData;
var _local3:int = injury_library.length;
var _local4:int;
while (_local4 < _local3) {
if (injury_library[_local4].id == _arg1){
_local2 = injury_library[_local4];
break;
};
_local4++;
};
return (_local2);
}
public static function getInstance():Library{
if (instance == null){
instance = new (Library);
};
return (instance);
}
public static function getToolLibrary():Array{
return (tool_library);
}
public static function getAssetList():Array{
return (asset_library);
}
}
}//package game.libraries
Section 43
//BarnicleAS (game.model.assets.injuries.BarnicleAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class BarnicleAS extends InjuryGraphic implements IInjury {
public var maxSpeed:int;// = 5
public var fastMulti:Number;// = 1.02
public var minX:int;// = 0
public var speed:Number;
public var rowY1:int;// = 110
public var rowY2:int;// = 230
public var minSpeed:int;// = 3
public var slowMulti:Number;// = 0.99
public var rowY3:int;// = 350
public var ovality:Number;// = 1.2
public var dir:String;
public var ox:Number;// = 0
public var oy:Number;// = -2.7
public var distanceFromEye:Number;// = 5
public var maxX:int;// = 600
public var maxEyeMovement:Number;// = 5
public var runRadius:int;// = 40
public var numRows:int;// = 3
public function BarnicleAS(_arg1:GameState){
super(_arg1);
make = "crab";
currentStage = 1;
maxStages = 1;
stageArray = [["lighter", "nothing", 1000, 250, 0.3, 350, "nothing", "nothing", true, "invisible", false, smallStage]];
depth = "creatures_lower";
}
override public function render():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:*;
var _local5:Object;
var _local6:Injury;
if (mc == null){
return;
};
if (alive){
if (((!((mc == null))) && (!((mc["pupil"] == null))))){
_local1 = (mc.mouseX - ox);
_local2 = (mc.mouseY - oy);
_local3 = Math.min(Math.max((Math.sqrt(((_local1 * _local1) + (_local2 * _local2))) / distanceFromEye), 0), maxEyeMovement);
_local4 = Math.atan2(_local2, _local1);
mc["pupil"].x = (((Math.cos(_local4) * _local3) * ovality) + ox);
mc["pupil"].y = ((Math.sin(_local4) * _local3) + oy);
};
specialTimer = (specialTimer + 2);
if (specialTimer >= stageArray[(currentStage - 1)][5]){
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
special();
};
} else {
_local5 = new Object();
_local5.id = 50;
_local5.x = mc.x;
_local5.y = mc.y;
_local5.rotation = 0;
_local5.scale = 1;
_local6 = new Injury(_local5);
gameState.addBlood(_local6);
if (mc["dying"] != null){
if (mc["dying"].currentFrame == mc["dying"].totalFrames){
mc.gotoAndStop("DEAD");
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
invincible = false;
};
};
return;
};
}
override public function setup():void{
var _local2:DisplayObject;
var _local3:ColorTransform;
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
mc.stop();
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local3 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local3.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local3.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local3.color = 6750003;
};
};
};
_local2.transform.colorTransform = _local3;
_local2.visible = true;
};
hitBoxes[0].push([_local2, 5]);
};
_local1++;
};
mc.gotoAndStop("ALIVE");
}
override public function updateInjury():void{
var _local1:int;
currentStage++;
speed = 0;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (currentStage > maxStages){
_local1 = ((Math.random() * 3) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("GENERIC_CREATURE" + _local1)]);
alive = false;
mc.gotoAndStop("DYING");
invincible = true;
};
}
override public function createEffect(_arg1:int, _arg2:int):void{
}
override public function interact():void{
}
override public function special():void{
}
}
}//package game.model.assets.injuries
Section 44
//BarnicleSplatterAS (game.model.assets.injuries.BarnicleSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class BarnicleSplatterAS extends BloodSplatterAS implements IInjury {
public var maxEyeMovement:Number;// = 30
public var ox:Number;// = 0
public var oy:Number;// = -2.7
public var distanceFromEye:Number;// = 5
public var ovality:Number;// = 1.2
public function BarnicleSplatterAS(_arg1:GameState, _arg2:Number=-1){
make = "barnicleSplatter";
super(_arg1, _arg2);
baseVel = 4;
numParticles = 1;
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
make = "barnicleSplatter";
}
}
}//package game.model.assets.injuries
Section 45
//BatAS (game.model.assets.injuries.BatAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
import game.model.assets.tools.*;
public class BatAS extends InjuryGraphic implements IInjury {
public var splatMod:int;// = 2
public var bloodVel:int;// = 20
public var minX:int;// = 0
public var minY:int;// = 0
public var state:String;
public var targetFrame:String;
public var maxEffectTimer:int;// = 3
public var maxX:int;// = 650
public var maxY:int;// = 460
public var splatChance:int;// = 50
public function BatAS(_arg1:GameState){
super(_arg1);
make = "bat";
currentStage = 1;
maxStages = 1;
stageArray = [[["injection", "lighter"], "nothing", 1000, 300, 0.1, 360, "nothing", "nothing", true, "invisible", false, bigStage]];
depth = "creatures_lower";
state = "sleeping";
}
override public function setup():void{
var _local2:DisplayObject;
var _local3:ColorTransform;
targetFrame = "";
specialTimer = 0;
state = "sleeping";
mc.gotoAndStop(state);
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local3 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local3.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local3.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local3.color = 6750003;
};
};
};
_local2.transform.colorTransform = _local3;
_local2.visible = true;
};
hitBoxes[0].push([_local2, 4]);
};
_local1++;
};
}
override public function render():void{
var _local1:*;
var _local2:int;
var _local3:int;
var _local4:Object;
var _local5:Injury;
var _local6:Object;
var _local7:Injury;
var _local8:Object;
var _local9:Injury;
var _local10:Object;
var _local11:Injury;
var _local12:Object;
var _local13:Injury;
var _local14:Number;
var _local15:Point;
var _local16:Point;
if (mc == null){
return;
};
if (alive){
if (targetFrame != ""){
if (state == "flapping"){
if (mc["body"] != null){
if (mc["body"].currentLabel != targetFrame){
mc["body"].nextFrame();
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXTRACTION1);
};
};
} else {
if (mc["body"] != null){
if (mc["body"].currentFrame > 1){
mc["body"].prevFrame();
};
};
};
};
if ((((state == "flapping")) || ((state == "spitting")))){
if (state == "flapping"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BAT_FLAP);
};
specialTimer++;
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
} else {
if (mc.currentLabel == "dying"){
if (mc["body"] != null){
mc["body"].play();
if (mc["body"].currentFrame == mc["body"].totalFrames){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.CRAB_EXPLODE);
_local1 = 0;
while (_local1 < 5) {
_local4 = new Object();
_local4.id = 0;
_local4.x = mc.x;
_local4.y = mc.y;
_local4.rotation = 0;
_local4.scale = 1;
_local5 = new Injury(_local4);
gameState.addBlood(_local5);
_local6 = new Object();
_local6.id = 0;
_local6.x = (mc.x + 100);
_local6.y = (mc.y - 100);
_local6.rotation = 0;
_local6.scale = 1;
_local7 = new Injury(_local6);
_local8 = new Object();
_local8.id = 0;
_local8.x = (mc.x - 100);
_local8.y = (mc.y + 100);
_local8.rotation = 0;
_local8.scale = 1;
_local9 = new Injury(_local8);
_local10 = new Object();
_local10.id = 0;
_local10.x = (mc.x + 100);
_local10.y = (mc.y + 100);
_local10.rotation = 0;
_local10.scale = 1;
_local11 = new Injury(_local10);
gameState.addBlood(_local11);
_local12 = new Object();
_local12.id = 0;
_local12.x = (mc.x - 100);
_local12.y = (mc.y - 100);
_local12.rotation = 0;
_local12.scale = 1;
_local13 = new Injury(_local12);
gameState.addBlood(_local13);
_local1++;
};
_local2 = (Math.random() * maxX);
_local3 = (Math.random() * maxY);
gameState.controller.addSplat("blood", _local2, _local3);
state = "dead";
mc.gotoAndStop(state);
currentStage++;
gameState.removeInjury(this);
};
};
};
};
if (state == "spitting"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SPITTING);
_local14 = (Math.random() * splatChance);
if ((((_local14 <= (splatChance / splatMod))) && (!((mc["spitting"] == null))))){
_local15 = new Point(mc["spitting"].x, mc["spitting"].y);
_local16 = MovieClip(mc["spitting"]).localToGlobal(_local15);
_local2 = ((Math.random() * 300) - 150);
_local3 = ((Math.random() * 300) - 150);
gameState.controller.addSplat("blood", (_local2 + _local16.x), (_local3 + _local16.y));
};
};
}
override public function updateInjury():void{
gameState.createPopup("correct", mc.x, mc.y, this, -1);
if (state == "sleeping"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.GENERIC_CREATURE3);
state = "flapping";
mc.gotoAndStop(state);
specialTimer = 0;
} else {
if (state == "flapping"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.GENERIC_CREATURE2);
if (targetFrame == ""){
targetFrame = "amount2";
} else {
if (targetFrame == "amount2"){
targetFrame = "amount3";
} else {
if (targetFrame == "amount3"){
targetFrame = "amount4";
alive = false;
state = "dying";
mc.gotoAndStop(state);
};
};
};
};
};
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addInjury(_local5, false);
_local6++;
};
}
override public function special():void{
var _local1:*;
var _local2:DisplayObject;
var _local3:ColorTransform;
if (state == "flapping"){
mc["body"].gotoAndStop(1);
targetFrame = "";
specialTimer = (stageArray[(currentStage - 1)][5] / 1.5);
state = "spitting";
hitBoxes = [[]];
_local1 = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local3 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local3.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local3.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local3.color = 6750003;
};
};
};
_local2.transform.colorTransform = _local3;
_local2.visible = true;
};
hitBoxes[0].push([_local2, 4]);
};
_local1++;
};
} else {
if (state == "spitting"){
specialTimer = 0;
state = "sleeping";
};
};
mc.gotoAndStop(state);
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
}
override public function interact():void{
}
}
}//package game.model.assets.injuries
Section 46
//BigCentipedeAS (game.model.assets.injuries.BigCentipedeAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
import game.model.assets.tools.*;
public class BigCentipedeAS extends InjuryGraphic implements IInjury {
public var splatMod:int;// = 2
public var lastX:int;// = -1
public var lastY:int;// = -1
public var state:String;
public var stunned:Boolean;
public var cutTimer:int;
public var maxCutTimer:int;// = 10
public var eyeHit:int;
public var maxEffectTimer:int;// = 3
public var oMaxMouseShake:int;// = 90
public var hits:Array;
public var bloodVel:int;// = 20
public var minX:int;// = 0
public var minY:int;// = 0
public var mouseShake:int;// = 0
public var maxMouseShake:int;
public var bloodTimer:int;
public var baseMaxShake:int;// = 15
public var maxX:int;// = 650
public var maxY:int;// = 460
public var neededDist:int;// = 10
public var splatChance:int;// = 50
public function BigCentipedeAS(_arg1:GameState){
super(_arg1);
make = "bigCentipede";
currentStage = 1;
maxStages = 1;
stageArray = [["injection", "nothing", 1000, 300, 0.05, 180, "nothing", "nothing", true, "invisible", false, bigStage]];
depth = "creatures_lower";
state = "hidden";
bloodTimer = 0;
}
override public function setup():void{
maxMouseShake = (oMaxMouseShake - (baseMaxShake * hits.length));
cutTimer = 0;
mouseShake = 0;
lastX = -1;
lastY = -1;
specialTimer = 0;
state = "hidden";
mc.gotoAndStop(state);
stunned = false;
}
override public function render():void{
var _local1:int;
var _local2:int;
var _local3:Object;
var _local4:Injury;
var _local5:Object;
var _local6:Injury;
var _local7:Object;
var _local8:Injury;
var _local9:Object;
var _local10:Injury;
var _local11:Object;
var _local12:Injury;
var _local13:Object;
var _local14:Injury;
var _local15:Object;
var _local16:Injury;
var _local17:Object;
var _local18:Injury;
var _local19:int;
var _local20:int;
var _local21:int;
var _local22:int;
var _local23:int;
var _local24:Boolean;
var _local25:int;
var _local26:Object;
var _local27:Injury;
var _local28:Number;
var _local29:int;
if (mc == null){
return;
};
if (mc[state] != null){
if (mc[state]["holder"] != null){
};
};
if (hits.indexOf(1) == -1){
if (((((((!((mc[state] == null))) && (!((mc[state]["holder"] == null))))) && (!((mc[state]["holder"]["holder"] == null))))) && (!((mc[state]["holder"]["holder"]["eye1"] == null))))){
mc[state]["holder"]["holder"]["eye1"].gotoAndStop("burst");
};
} else {
if (((((((!((mc[state] == null))) && (!((mc[state]["holder"] == null))))) && (!((mc[state]["holder"]["holder"] == null))))) && (!((mc[state]["holder"]["holder"]["eye1"] == null))))){
if (state == "stunned"){
mc[state]["holder"]["holder"]["eye1"].gotoAndStop("normal");
} else {
mc[state]["holder"]["holder"]["eye1"].gotoAndStop(1);
};
};
};
if (hits.indexOf(2) == -1){
if (((((((!((mc[state] == null))) && (!((mc[state]["holder"] == null))))) && (!((mc[state]["holder"]["holder"] == null))))) && (!((mc[state]["holder"]["holder"]["eye2"] == null))))){
mc[state]["holder"]["holder"]["eye2"].gotoAndStop("burst");
};
} else {
if (((((((!((mc[state] == null))) && (!((mc[state]["holder"] == null))))) && (!((mc[state]["holder"]["holder"] == null))))) && (!((mc[state]["holder"]["holder"]["eye2"] == null))))){
if (state == "stunned"){
mc[state]["holder"]["holder"]["eye2"].gotoAndStop("normal");
} else {
mc[state]["holder"]["holder"]["eye2"].gotoAndStop(1);
};
};
};
if (hits.indexOf(3) == -1){
if (((((((!((mc[state] == null))) && (!((mc[state]["holder"] == null))))) && (!((mc[state]["holder"]["holder"] == null))))) && (!((mc[state]["holder"]["holder"]["eye3"] == null))))){
mc[state]["holder"]["holder"]["eye3"].gotoAndStop("burst");
};
} else {
if (((((((!((mc[state] == null))) && (!((mc[state]["holder"] == null))))) && (!((mc[state]["holder"]["holder"] == null))))) && (!((mc[state]["holder"]["holder"]["eye3"] == null))))){
if (state == "stunned"){
mc[state]["holder"]["holder"]["eye3"].gotoAndStop("normal");
} else {
mc[state]["holder"]["holder"]["eye3"].gotoAndStop(1);
};
};
};
if (alive){
if ((((((state == "hidden")) || ((state == "stunned")))) || ((state == "craze")))){
if (state == "hidden"){
if ((((specialTimer == 0)) && ((gameState._injuries.length > 1)))){
return;
};
if (specialTimer <= (stageArray[(currentStage - 1)][5] * 0.7)){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.ERUPT);
gameState.controller.shakeScreen("Higher");
};
};
specialTimer++;
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
} else {
if (state == "appear"){
if (mc["appear"] != null){
if (mc["appear"].currentFrame >= 16){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.ROAR_LOOP);
_local1 = (Math.random() * maxX);
_local2 = (Math.random() * maxY);
gameState.controller.addSplat("blood", _local1, _local2);
};
mc["appear"].play();
if (mc["appear"].currentFrame == mc["appear"].totalFrames){
_local3 = new Object();
_local3.id = 3;
gameState.health = (gameState.health - 5);
_local3.x = (mc.x - 20);
_local3.y = (mc.y - (mc.height / 2));
_local3.rotation = 0;
_local3.scale = 2;
_local4 = new Injury(_local3);
gameState.addInjury(_local4, false);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.PIZZA_CUTTER);
state = "attack";
mc.gotoAndStop(state);
specialTimer = 0;
};
};
} else {
if (state == "retract"){
if (mc["retract"] != null){
mc["retract"].play();
if (mc["retract"].currentFrame == mc["retract"].totalFrames){
state = "stunned";
mc.gotoAndStop(state);
specialTimer = 0;
};
};
} else {
if (state == "vanish"){
if (mc["vanish"] != null){
mc["vanish"].play();
if (mc["vanish"].currentFrame == mc["vanish"].totalFrames){
_local3 = new Object();
_local3.id = 74;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addInjury(_local4, false);
_local5 = new Object();
_local5.id = 74;
_local5.x = (mc.x + 75);
_local5.y = (mc.y + 75);
_local5.rotation = 0;
_local5.scale = 1;
_local6 = new Injury(_local5);
state = "hidden";
mc.gotoAndStop(state);
specialTimer = 0;
_local7 = new Object();
_local7.id = 0;
_local7.x = mc.x;
_local7.y = mc.y;
_local7.rotation = 0;
_local7.scale = 1;
_local8 = new Injury(_local7);
gameState.addBlood(_local8);
};
};
};
};
};
};
} else {
if (mc.currentLabel == "dying"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.CENT_EXPLOSION);
bloodTimer++;
if (bloodTimer >= 10){
bloodTimer = 0;
_local9 = new Object();
_local9.id = 11;
_local9.x = mc.x;
_local9.y = mc.y;
_local9.rotation = 0;
_local9.scale = 1;
_local10 = new Injury(_local9);
gameState.addInjury(_local10, false);
_local11 = new Object();
_local11.id = 11;
_local11.x = (mc.x + 100);
_local11.y = (mc.y - 100);
_local11.rotation = 0;
_local11.scale = 1;
_local12 = new Injury(_local11);
_local13 = new Object();
_local13.id = 11;
_local13.x = (mc.x - 100);
_local13.y = (mc.y + 100);
_local13.rotation = 0;
_local13.scale = 1;
_local14 = new Injury(_local13);
_local15 = new Object();
_local15.id = 11;
_local15.x = (mc.x + 100);
_local15.y = (mc.y + 100);
_local15.rotation = 0;
_local15.scale = 1;
_local16 = new Injury(_local15);
gameState.addInjury(_local16, false);
_local17 = new Object();
_local17.id = 11;
_local17.x = (mc.x - 100);
_local17.y = (mc.y - 100);
_local17.rotation = 0;
_local17.scale = 1;
_local18 = new Injury(_local17);
gameState.addInjury(_local18, false);
_local9 = new Object();
_local9.id = 0;
_local9.x = mc.x;
_local9.y = mc.y;
_local9.rotation = 0;
_local9.scale = 1;
_local10 = new Injury(_local9);
gameState.addBlood(_local10);
_local11 = new Object();
_local11.id = 0;
_local11.x = (mc.x + 100);
_local11.y = (mc.y - 100);
_local11.rotation = 0;
_local11.scale = 1;
_local12 = new Injury(_local11);
gameState.addBlood(_local12);
_local13 = new Object();
_local13.id = 0;
_local13.x = (mc.x - 100);
_local13.y = (mc.y + 100);
_local13.rotation = 0;
_local13.scale = 1;
_local14 = new Injury(_local13);
gameState.addBlood(_local14);
_local15 = new Object();
_local15.id = 0;
_local15.x = (mc.x + 100);
_local15.y = (mc.y + 100);
_local15.rotation = 0;
_local15.scale = 1;
_local16 = new Injury(_local15);
gameState.addBlood(_local16);
_local17 = new Object();
_local17.id = 0;
_local17.x = (mc.x - 100);
_local17.y = (mc.y - 100);
_local17.rotation = 0;
_local17.scale = 1;
_local18 = new Injury(_local17);
gameState.addBlood(_local18);
};
_local1 = (Math.random() * maxX);
_local2 = (Math.random() * maxY);
gameState.controller.addSplat("poison", _local1, _local2);
if (mc["dying"] != null){
mc["dying"].play();
if (mc["dying"].currentFrame == mc["dying"].totalFrames){
_local3 = new Object();
_local3.id = 74;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addInjury(_local4, false);
gameState.addInjury(_local4, false);
gameState.addInjury(_local4, false);
gameState.removeInjury(this);
};
};
};
};
if (state == "craze"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.ERUPT);
gameState.controller.redScreen();
gameState.health = (gameState.health - stageArray[(currentStage - 1)][4]);
cutTimer++;
if (cutTimer == maxCutTimer){
cutTimer = 0;
_local19 = (360 * Math.random());
_local20 = 0;
while (_local20 < (_local19 + 360)) {
_local21 = ((mc.width / 2) + (Math.random() * (mc.width / 2)));
_local22 = (mc.x + (Math.sin((((_local19 + _local20) * Math.PI) / 180)) * _local21));
_local23 = (mc.y + (Math.cos((((_local19 + _local20) * Math.PI) / 180)) * -(_local21)));
if ((((((((_local22 > minX)) && ((_local22 < maxX)))) && ((_local23 > minY)))) && ((_local23 < maxY)))){
_local24 = true;
_local25 = MapUtils.getDist(_local22, mc.x, _local23, mc.y);
if (_local25 <= (mc.width / 2)){
_local24 = false;
continue;
};
if (_local24){
_local26 = new Object();
_local26.id = 1;
gameState.health = (gameState.health - 3);
_local26.x = _local22;
_local26.y = _local23;
_local26.rotation = (360 * Math.random());
_local26.scale = 1;
_local27 = new Injury(_local26);
gameState.addInjury(_local27, false);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.PIZZA_CUTTER);
_local7 = new Object();
_local7.id = 0;
_local7.x = _local22;
_local7.y = _local23;
_local7.rotation = 0;
_local7.scale = 1;
_local8 = new Injury(_local7);
gameState.addBlood(_local8);
break;
};
};
_local20 = (_local20 + 20);
};
};
} else {
if (state == "attack"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.ROAR_LOOP);
if (state == "attack"){
_local29 = MapUtils.getDist(lastX, mouseX, lastY, mouseY);
lastX = mouseX;
lastY = mouseY;
if (_local29 >= neededDist){
mouseShake++;
gameState.controller.shakeScreen("Higher");
};
if (mouseShake == maxMouseShake){
stunned = true;
mouseShake = 0;
state = "retract";
mc.gotoAndStop(state);
};
};
_local28 = (Math.random() * splatChance);
if (_local28 <= (splatChance / splatMod)){
_local1 = (Math.random() * maxX);
_local2 = (Math.random() * maxY);
gameState.controller.addSplat("poison", _local1, _local2);
};
gameState.health = (gameState.health - stageArray[(currentStage - 1)][4]);
} else {
if ((((state == "stunned")) || ((state == "retract")))){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.DAZED);
};
};
};
}
override public function updateInjury():void{
var _local1:* = 0;
while (_local1 < hits.length) {
if (hits[_local1] == eyeHit){
removeHit(_local1);
break;
};
_local1++;
};
maxMouseShake = (oMaxMouseShake - (baseMaxShake * hits.length));
if (hits.length == 0){
currentStage++;
};
if (currentStage > maxStages){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.CENT_SCREECH);
gameState.createPopup("correct", mc.x, mc.y, this);
alive = false;
invincible = true;
state = "dying";
mc.gotoAndStop(state);
} else {
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SNARL);
gameState.createPopup("correct", mc.x, mc.y, this, -1);
stunned = false;
specialTimer = (stageArray[(currentStage - 1)][5] / 2);
state = "craze";
mc.gotoAndStop(state);
};
}
public function updateEye(_arg1:int):void{
eyeHit = _arg1;
updateInjury();
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
hits = [1, 2, 3];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addInjury(_local5, false);
_local6++;
};
}
override public function special():void{
if (state == "hidden"){
specialTimer = (stageArray[(currentStage - 1)][5] / 1.5);
state = "appear";
} else {
if (state == "craze"){
specialTimer = 0;
state = "vanish";
} else {
if (state == "stunned"){
specialTimer = (stageArray[(currentStage - 1)][5] / 2);
state = "craze";
};
};
};
mc.gotoAndStop(state);
stunned = false;
}
override public function interact():void{
}
public function removeHit(_arg1:int):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SPLAT1);
var _local2:int = hits.splice(_arg1, 1);
mc[state]["holder"]["holder"][("eye" + _local2)].gotoAndStop(2);
var _local3:Object = new Object();
_local3.id = 0;
var _local4:Point = new Point((mc[state]["holder"]["holder"][("eye" + _local2)].x - (mc[state]["holder"]["holder"][("eye" + _local2)] / 4)), mc[state]["holder"]["holder"][("eye" + _local2)].y);
var _local5:Point = MovieClip(mc[state]["holder"]["holder"][("eye" + _local2)]).localToGlobal(_local4);
_local3.x = _local5.x;
_local3.y = _local5.y;
_local3.rotation = 0;
_local3.scale = 1;
var _local6:Injury = new Injury(_local3);
gameState.addBlood(_local6);
gameState.addBlood(_local6);
gameState.addBlood(_local6);
gameState.addBlood(_local6);
var _local7:Object = new Object();
_local7.id = 11;
_local7.x = _local5.x;
_local7.y = _local5.y;
_local7.rotation = 0;
_local7.scale = 1;
var _local8:Injury = new Injury(_local7);
gameState.addInjury(_local8, false);
gameState.addInjury(_local8, false);
gameState.addInjury(_local8, false);
gameState.addInjury(_local8, false);
}
}
}//package game.model.assets.injuries
Section 47
//BleedAS (game.model.assets.injuries.BleedAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
import game.model.assets.tools.*;
public class BleedAS extends InjuryGraphic implements IInjury {
public var mouthHealth:int;
public var thumbTimer:int;
public var maxTearsTimer:int;// = 600
public var maxThumbTimer:int;// = 500
public var syrupTimer:int;
public var maxSyrupTimer:int;// = 600
public var bodyHealth:int;
public var injectionTimer:int;
public var maxInjectionTimer:int;// = 900
public var batteryTimer:int;
public var hits:Array;
public var lighterTimer:int;
public var minX:int;// = 0
public var minY:int;// = 0
public var heartHealth:int;
public var maxBatteryTimer:int;// = 500
public var maxLighterTimer:int;// = 750
public var maxX:int;// = 650
public var maxY:int;// = 460
public var tearsTimer:int;
public var maxAliveTimer:int;// = 900
public var aliveTimer:int;
public function BleedAS(_arg1:GameState){
super(_arg1);
make = "bleed";
currentStage = 1;
maxStages = 1;
stageArray = [[["injection", "lighter", "stitch", "battery", "cream"], "nothing", 1000, 300, 0.1, 180, "nothing", "nothing", false, "invisible", false, bigStage]];
depth = "creatures_lower";
}
override public function render():void{
if (mc != null){
};
if ((((mc == null)) || ((mc["holder"] == null)))){
return;
};
if (injectionTimer > 0){
injectionTimer--;
if (injectionTimer <= 0){
};
};
if (batteryTimer > 0){
batteryTimer--;
if (batteryTimer <= 0){
};
};
if (syrupTimer > 0){
syrupTimer--;
if (syrupTimer <= 0){
mouthHealth = 15;
};
};
if (tearsTimer > 0){
tearsTimer--;
if (tearsTimer <= 0){
heartHealth = 15;
};
};
if (lighterTimer > 0){
lighterTimer--;
if (lighterTimer <= 0){
bodyHealth = 25;
};
};
if (thumbTimer > 0){
thumbTimer--;
if (thumbTimer <= 0){
mc["holder"]["thumb"].gotoAndStop(1);
};
};
if (gameState.health >= 30){
if (aliveTimer == 0){
aliveTimer = maxAliveTimer;
};
aliveTimer--;
if (aliveTimer <= 0){
mc.stage.removeEventListener(MouseEvent.MOUSE_DOWN, checkThumbClick);
alive = false;
invincible = true;
currentStage++;
gameState.removeInjury(this);
};
} else {
aliveTimer = 0;
};
gameState.health = 0;
gameState.health = (gameState.health + (1 * (((injectionTimer / maxInjectionTimer) * 100) / 10)));
gameState.health = (gameState.health + (1 * (((lighterTimer / maxLighterTimer) * 100) / 10)));
gameState.health = (gameState.health + (1 * (((syrupTimer / maxSyrupTimer) * 100) / 10)));
gameState.health = (gameState.health + (1 * (((batteryTimer / maxBatteryTimer) * 100) / 10)));
if (thumbTimer > 0){
gameState.health = (gameState.health + 10);
};
gameState.health = (gameState.health + (1 * (((tearsTimer / maxTearsTimer) * 100) / 10)));
var _local1:int = gameState.health;
if (_local1 < 1){
_local1 = 1;
} else {
if (_local1 > 30){
_local1 = 30;
};
};
mc["holder"]["eye1"].gotoAndStop(_local1);
mc["holder"]["eye2"].gotoAndStop(_local1);
mc["holder"]["green"].gotoAndStop(_local1);
}
override public function updateInjury():void{
gameState.createPopup("correct", mouseX, mouseY, this, -1);
if ((gameState.currentTool is Injection)){
if (injectionTimer == 0){
};
injectionTimer = maxInjectionTimer;
} else {
if ((gameState.currentTool is Battery)){
if (batteryTimer == 0){
};
batteryTimer = maxBatteryTimer;
} else {
if ((gameState.currentTool is Lighter)){
if (lighterTimer == 0){
};
lighterTimer = maxLighterTimer;
bodyHealth = 25;
} else {
if ((gameState.currentTool is Cream)){
if (syrupTimer == 0){
};
syrupTimer = maxSyrupTimer;
mouthHealth = 15;
} else {
if ((gameState.currentTool is Stitch)){
if (tearsTimer == 0){
};
tearsTimer = maxTearsTimer;
heartHealth = 15;
};
};
};
};
};
}
override public function interact():void{
}
override public function special():void{
}
public function checkThumbClick(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
if (((mc["holder"]["thumb"].hitTestPoint(mouseX, mouseY, true)) && ((mc["holder"]["thumb"].currentFrame == 1)))){
if (thumbTimer == 0){
};
thumbTimer = maxThumbTimer;
mc["holder"]["thumb"].gotoAndStop(2);
gameState.createPopup("correct", mouseX, mouseY, this, -1);
};
}
override public function setup():void{
aliveTimer = 0;
injectionTimer = 0;
batteryTimer = 0;
syrupTimer = 0;
lighterTimer = 0;
tearsTimer = 0;
thumbTimer = 0;
mouthHealth = 15;
heartHealth = 15;
bodyHealth = 25;
mc.stage.addEventListener(MouseEvent.MOUSE_DOWN, checkThumbClick);
}
}
}//package game.model.assets.injuries
Section 48
//BloodBurnAS (game.model.assets.injuries.BloodBurnAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class BloodBurnAS extends InjuryGraphic implements IInjury {
public function BloodBurnAS(_arg1:GameState){
super(_arg1);
make = "bloodBurn";
maxStages = 1;
stageArray = [["vacuum", "nothing", 1000, 250, 0.3, 500, "nothing", "nothing", true, "invisible", false, smallStage]];
}
}
}//package game.model.assets.injuries
Section 49
//BloodFireAS (game.model.assets.injuries.BloodFireAS)
package game.model.assets.injuries {
import shell.sound.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class BloodFireAS extends InjuryGraphic implements IInjury {
public var health:int;// = 7
public function BloodFireAS(_arg1:GameState){
super(_arg1);
make = "bloodFire";
maxStages = 1;
stageArray = [["vacuum", "nothing", 1000, 350, 0.4, 500, "fireSplatter", "nothing", true, "invisible", false, smallStage]];
depth = "injuries_higher";
}
override public function updateInjury():void{
var _local1:Object;
var _local2:Injury;
currentStage++;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (currentStage > maxStages){
_local1 = new Object();
_local1.id = 84;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = (360 * Math.random());
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, playerCreated);
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
};
}
override public function special():void{
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
var _local1:Object = new Object();
_local1.id = 90;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
var _local2:Injury = new Injury(_local1);
gameState.addInjury(_local2, playerCreated);
}
override public function render():void{
super.render();
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.FIRE);
}
}
}//package game.model.assets.injuries
Section 50
//BloodFireSplatterAS (game.model.assets.injuries.BloodFireSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class BloodFireSplatterAS extends SplatterAS implements IInjury {
public function BloodFireSplatterAS(_arg1:GameState, _arg2:Number=-1){
super(_arg1, _arg2);
make = "bloodFireSplatter";
}
override public function updateInjury():void{
currentStage++;
damageTimer = 0;
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
hitBoxes = [];
} else {
setup();
};
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
remove = true;
make = "fireSplatter";
ran = 1;
numParticles = 1;
baseVel = 6;
}
}
}//package game.model.assets.injuries
Section 51
//BloodLargeCutAS (game.model.assets.injuries.BloodLargeCutAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class BloodLargeCutAS extends InjuryGraphic implements IInjury {
public function BloodLargeCutAS(_arg1:GameState){
super(_arg1);
make = "bloodLargeCut";
maxStages = 1;
stageArray = [["vacuum", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", true, "invisible", true, smallStage]];
}
}
}//package game.model.assets.injuries
Section 52
//BloodSmallCutAS (game.model.assets.injuries.BloodSmallCutAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class BloodSmallCutAS extends InjuryGraphic implements IInjury {
public function BloodSmallCutAS(_arg1:GameState){
super(_arg1);
make = "bloodSmallCut";
maxStages = 1;
stageArray = [["vacuum", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", true, "invisible", true, smallStage]];
}
}
}//package game.model.assets.injuries
Section 53
//BloodSplatterAS (game.model.assets.injuries.BloodSplatterAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class BloodSplatterAS extends SplatterAS implements IInjury {
public function BloodSplatterAS(_arg1:GameState, _arg2:Number=-1){
super(_arg1, _arg2);
make = "bloodSplatter";
}
}
}//package game.model.assets.injuries
Section 54
//BlueBloodSplatterAS (game.model.assets.injuries.BlueBloodSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class BlueBloodSplatterAS extends BloodSplatterAS implements IInjury {
public function BlueBloodSplatterAS(_arg1:GameState, _arg2:Number=-1){
make = "blueBloodSplatter";
super(_arg1, _arg2);
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
make = "blueBloodSplatter";
}
}
}//package game.model.assets.injuries
Section 55
//BoneSplatterAS (game.model.assets.injuries.BoneSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class BoneSplatterAS extends SplatterAS implements IInjury {
public function BoneSplatterAS(_arg1:GameState, _arg2:Number=-1){
super(_arg1, _arg2);
make = "boneSplatter";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
remove = true;
make = "boneSplatter";
ran = 1;
}
}
}//package game.model.assets.injuries
Section 56
//BunnyAS (game.model.assets.injuries.BunnyAS)
package game.model.assets.injuries {
import flash.display.*;
import flash.geom.*;
import game.model.*;
import game.interfaces.*;
import game.model.assets.tools.*;
public class BunnyAS extends ExtractionAS implements IInjury {
public function BunnyAS(_arg1:GameState){
super(_arg1);
make = "bunny";
currentStage = 1;
maxStages = 1;
stageArray = [["tongs", "nothing", 1000, 250, 0.6, 900, "firefly", "nothing", true, "invisible", false, smallStage]];
depth = "injuries_higher";
slippery = false;
beingHeld = false;
}
override public function special():void{
mc.visible = true;
}
override public function setup():void{
var _local2:DisplayObject;
var _local3:ColorTransform;
cursor = ("Cursor" + go_data.linkage);
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = (Math.round((stageArray[(currentStage - 1)][5] * Math.random())) - (stageArray[(currentStage - 1)][5] / 2));
if (specialTimer < 0){
specialTimer = 0;
};
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local3 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local3.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local3.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local3.color = 6750003;
};
};
};
_local2.transform.colorTransform = _local3;
_local2.visible = true;
};
hitBoxes[0].push([_local2, 2]);
};
_local1++;
};
}
override public function render():void{
var _local1:int;
if (mc == null){
return;
};
if (alive){
_local1 = Math.round(((specialTimer / stageArray[(currentStage - 1)][5]) * 100));
damageTimer++;
if (damageTimer >= stageArray[(currentStage - 1)][3]){
damageTimer = 0;
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
};
specialTimer = (specialTimer + 2);
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
}
}
}//package game.model.assets.injuries
Section 57
//BurnAS (game.model.assets.injuries.BurnAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class BurnAS extends InjuryGraphic implements IInjury {
public function BurnAS(_arg1:GameState){
super(_arg1);
make = "burn";
maxStages = 1;
stageArray = [["cream", "nothing", 1000, 250, 0.3, 500, "nothing", "nothing", true, "invisible", false, smallStage]];
}
}
}//package game.model.assets.injuries
Section 58
//CentipedeAS (game.model.assets.injuries.CentipedeAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import gs.*;
import game.libraries.assets.*;
import app.connector.*;
import game.utils.*;
import shell.*;
import game.model.*;
import game.interfaces.*;
import fl.motion.easing.*;
import app.sound.*;
import game.model.assets.tools.*;
public class CentipedeAS extends InjuryGraphic implements IInjury {
public var seg6:MovieClip;
public var seg8:MovieClip;
public var seg5:MovieClip;
public var seg7:MovieClip;
public var seg9:MovieClip;
public var dir:String;// = ""
public var state:String;
public var stunned:Boolean;
public var maxMoveDist:Number;// = 30
public var maxHideTimer:int;// = 250
public var hideTimer:int;
public var maxEffectTimer:int;// = 3
public var ran_rot:int;// = 0
public var dirTimer:int;
public var maxDirTimer:int;// = 5
public var hits:Array;
public var minX:int;// = 75
public var minY:int;// = 125
public var angle:Number;
public var speed:Number;// = 0.2
public var currentHit:MovieClip;
public var targetX:Number;
public var targetY:Number;
public var maxX:int;// = 525
public var maxY:int;// = 385
public var seg1:MovieClip;
public var seg2:MovieClip;
public var seg3:MovieClip;
public var seg4:MovieClip;
public function CentipedeAS(_arg1:GameState){
hits = [];
super(_arg1);
make = "centipede";
currentStage = 1;
maxStages = 1;
stageArray = [["chainsaw", "nothing", 1000, 100, 0.2, 250, "smallCut", "nothing", false, "invisible", false, bigStage]];
depth = "creatures_lower";
state = "before_craze";
dirTimer = ((Math.random() * maxDirTimer) / 2);
}
override public function render():void{
var _local1:Object;
var _local2:Injury;
if (mc == null){
return;
};
if (alive){
specialTimer++;
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
} else {
_local1 = new Object();
_local1.id = 0;
_local1.x = seg1.x;
_local1.y = seg1.y;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addBlood(_local2);
gameState.addBlood(_local2);
gameState.addBlood(_local2);
_local1 = new Object();
_local1.id = 0;
_local1.x = seg6.x;
_local1.y = seg6.y;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addBlood(_local2);
gameState.addBlood(_local2);
gameState.addBlood(_local2);
};
}
override public function updateInjury():void{
var _local3:Object;
var _local4:Injury;
var _local5:Object;
gameState.createPopup("correct", mc.x, mc.y, this, -1);
if (hits.length == 1){
_local3 = new Object();
_local3.id = 12;
_local3.x = currentHit.x;
_local3.y = currentHit.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addInjury(_local4, false);
_local5 = new Object();
_local5.id = 11;
_local5.x = currentHit.x;
_local5.y = currentHit.y;
_local5.rotation = 0;
_local5.scale = 1;
_local4 = new Injury(_local5);
gameState.addInjury(_local4, false);
} else {
_local3 = new Object();
_local3.id = 11;
_local3.x = currentHit.x;
_local3.y = currentHit.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addInjury(_local4, false);
};
var _local1:Object = new Object();
_local1.id = 0;
_local1.x = currentHit.x;
_local1.y = currentHit.y;
_local1.rotation = 0;
_local1.scale = 1;
var _local2:Injury = new Injury(_local1);
gameState.addBlood(_local2);
removeHit(0);
}
override public function setup():void{
var _local4:String;
var _local5:DisplayObject;
hitBoxes = [];
specialTimer = (stageArray[(currentStage - 1)][5] / 2);
state = "before_spray";
stunned = false;
var _local1:* = 0;
while (_local1 < hits.length) {
if (_local1 == 0){
_local4 = "head";
} else {
_local4 = "body";
};
this[("seg" + hits[_local1])] = (RuntimeLibrary.getMovieClipByLinkageID(_local4) as MovieClip);
this[("seg" + hits[_local1])].x = mc.x;
this[("seg" + hits[_local1])].y = mc.y;
gameState.controller.view.creatures_lower.addChildAt(this[("seg" + hits[_local1])], 0);
_local1++;
};
this[("seg" + 6)] = (RuntimeLibrary.getMovieClipByLinkageID("tail") as MovieClip);
this[("seg" + 6)].x = mc.x;
this[("seg" + 6)].y = (mc.y + (hits.length * 50));
gameState.controller.view.creatures_lower.addChildAt(this[("seg" + 6)], 0);
currentHit = seg5;
ColourUtils.tint(0xFF0000, 0.3, currentHit);
hitBoxes = [];
hitBoxes.push([]);
var _local2:MovieClip = currentHit;
var _local3:* = 0;
while (_local3 < _local2.numChildren) {
_local5 = _local2.getChildAt(_local3);
if ((_local5 is MovieClip)){
hitBoxes[0].push([_local5, 5]);
};
_local3++;
};
tweenBodyParts();
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
hits = [1, 2, 3, 4, 5];
}
override public function special():void{
specialTimer = (stageArray[(currentStage - 1)][5] / 2);
var _local1:Object = new Object();
_local1.id = 1;
gameState.health = (gameState.health - 3);
_local1.x = seg1.x;
_local1.y = seg1.y;
_local1.rotation = seg1.rotation;
_local1.scale = 1;
var _local2:Injury = new Injury(_local1);
gameState.addInjury(_local2, false);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.PIZZA_CUTTER);
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = seg1.x;
_local3.y = seg1.y;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:Injury = new Injury(_local3);
gameState.addBlood(_local4);
}
private function tweenBodyParts():void{
var _local3:int;
var _local4:int;
var _local6:Number;
var _local1:int = (Math.random() * 3);
dirTimer++;
if (dirTimer == maxDirTimer){
dirTimer = ((Math.random() * maxDirTimer) / 2);
if (_local1 < 1){
ran_rot = -20;
} else {
if (_local1 < 2){
ran_rot = 20;
} else {
ran_rot = 0;
};
};
};
var _local2:int = seg1.rotation;
_local3 = (seg1.x + (Math.sin((((ran_rot + _local2) * Math.PI) / 180)) * maxMoveDist));
_local4 = (seg1.y + (Math.cos((((ran_rot + _local2) * Math.PI) / 180)) * -(maxMoveDist)));
if ((((((((_local3 > minX)) && ((_local3 < maxX)))) && ((_local4 > minY)))) && ((_local4 < maxY)))){
targetX = _local3;
targetY = _local4;
_local6 = (MapUtils.getAngle(seg1.x, targetX, seg1.y, targetY) - 90);
seg1.rotation = _local6;
} else {
_local3 = (seg1.x + (Math.sin((((_local2 + 180) * Math.PI) / 180)) * maxMoveDist));
_local4 = (seg1.y + (Math.cos((((_local2 + 180) * Math.PI) / 180)) * -(maxMoveDist)));
targetX = _local3;
targetY = _local4;
_local6 = (MapUtils.getAngle(seg1.x, targetX, seg1.y, targetY) - 90);
seg1.rotation = _local6;
dirTimer = (maxDirTimer - 1);
};
TweenLite.to(seg1, speed, {x:targetX, y:targetY, ease:Linear.easeNone, onComplete:tweenBodyParts});
var _local5:* = 1;
while (_local5 < hits.length) {
_local6 = (MapUtils.getAngle(this[("seg" + hits[_local5])].x, this[("seg" + hits[(_local5 - 1)])].x, this[("seg" + hits[_local5])].y, this[("seg" + hits[(_local5 - 1)])].y) - 90);
this[("seg" + hits[_local5])].rotation = _local6;
TweenLite.to(this[("seg" + hits[_local5])], speed, {x:this[("seg" + hits[(_local5 - 1)])].x, y:this[("seg" + hits[(_local5 - 1)])].y, ease:Linear.easeNone});
_local5++;
};
TweenLite.to(seg6, speed, {x:this[("seg" + hits[(hits.length - 1)])].x, y:this[("seg" + hits[(hits.length - 1)])].y, ease:Linear.easeNone});
_local6 = (MapUtils.getAngle(this[("seg" + 6)].x, this[("seg" + hits[(hits.length - 1)])].x, this[("seg" + 6)].y, this[("seg" + hits[(hits.length - 1)])].y) - 90);
this[("seg" + 6)].rotation = _local6;
}
override public function interact():void{
var _local1:*;
var _local2:MovieClip;
var _local3:*;
var _local4:DisplayObject;
if ((gameState.currentTool is Battery)){
ColourUtils.tint(0xFF0000, 0.3, currentHit);
gameState.createPopup("correct", mouseX, mouseY, this, -1);
_local1 = 0;
while (_local1 < hits.length) {
_local2 = this[("seg" + hits[_local1])];
_local3 = 0;
while (_local3 < _local2.numChildren) {
_local4 = _local2.getChildAt(_local3);
if ((_local4 is MovieClip)){
};
_local3++;
};
_local1++;
};
};
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:Injury = new Injury(_local3);
var _local5:* = 0;
while (_local5 < _arg1) {
gameState.addBlood(_local4);
_local5++;
};
}
public function removeHit(_arg1:int):void{
var _local2:int;
var _local6:MovieClip;
var _local7:*;
var _local8:DisplayObject;
_local2 = ((Math.random() * 1) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("SPLAT" + _local2)]);
var _local3:int = hits.splice((hits.length - 1), 1);
var _local4:Object = new Object();
_local4.id = 0;
_local4.x = this[("seg" + _local3)].x;
_local4.y = this[("seg" + _local3)].y;
_local4.rotation = 0;
_local4.scale = 1;
var _local5:Injury = new Injury(_local4);
gameState.addBlood(_local5);
gameState.addBlood(_local5);
gameState.addBlood(_local5);
hitBoxes.splice((hits.length - 1), 1);
if (hits.length == 0){
_local2 = ((Math.random() * 3) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("GENERIC_CREATURE" + _local2)]);
seg6.visible = false;
currentStage++;
alive = false;
TweenLite.killTweensOf(seg1);
TweenLite.killTweensOf(seg6);
seg1.visible = false;
gameState.removeInjury(this);
} else {
this[("seg" + _local3)].visible = false;
currentHit = this[("seg" + hits[(hits.length - 1)])];
ColourUtils.tint(0xFF0000, 0.3, currentHit);
hitBoxes = [];
hitBoxes.push([]);
_local6 = currentHit;
_local7 = 0;
while (_local7 < _local6.numChildren) {
_local8 = _local6.getChildAt(_local7);
if ((_local8 is MovieClip)){
hitBoxes[0].push([_local8, 5]);
};
_local7++;
};
};
}
}
}//package game.model.assets.injuries
Section 59
//ClownNoseAS (game.model.assets.injuries.ClownNoseAS)
package game.model.assets.injuries {
import shell.sound.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class ClownNoseAS extends InjuryGraphic implements IInjury {
public function ClownNoseAS(_arg1:GameState){
super(_arg1);
make = "clownNose";
currentStage = 1;
maxStages = 4;
stageArray = [["cutter", "nothing", 1000, 250, 0.3, 75, "nothing", "nothing", false, "yellow", true, smallStage], ["stitch", "nothing", 1000, 250, 0.3, 500, "blood", "nothing", false, "invisible", true, smallStage], ["lighter", "back", 1000, 250, 0.3, 100, "nothing", "nothing", false, "invisible", true, smallStage], ["cream", "back", 1000, 250, 0.3, 500, "nothing", "nothing", false, "invisible", true, smallStage]];
}
override public function updateInjury():void{
var _local1:Object;
var _local2:Injury;
var _local3:*;
currentStage++;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (stageArray[(currentStage - 2)][10]){
mc.nextFrame();
};
if (currentStage == 2){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.NOSE_POP);
_local1 = new Object();
_local1.id = 0;
_local1.x = mc.x;
_local1.y = (mc.y + (mc.height / 2));
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
_local3 = 0;
while (_local3 < 15) {
gameState.addBlood(_local2);
gameState.addBlood(_local2, 1);
gameState.addBlood(_local2, 2);
gameState.addBlood(_local2, 4);
gameState.addBlood(_local2, 6);
gameState.addBlood(_local2, 7);
gameState.addBlood(_local2, 8);
gameState.addBlood(_local2, 10);
gameState.addBlood(_local2, 11);
gameState.addBlood(_local2, 13);
gameState.addBlood(_local2, 14);
gameState.addBlood(_local2, 15);
gameState.addBlood(_local2, 16);
gameState.addBlood(_local2, 18);
_local3++;
};
};
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
};
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < (_arg1 * 8)) {
gameState.addBlood(_local5, _local4);
_local6++;
};
}
}
}//package game.model.assets.injuries
Section 60
//CrabAS (game.model.assets.injuries.CrabAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class CrabAS extends InjuryGraphic implements IInjury {
public var maxSpeed:int;// = 5
public var runRadius:int;// = 40
public var minX:int;// = 0
public var speed:Number;
public var rowY1:int;// = 110
public var rowY2:int;// = 230
public var rowY3:int;// = 350
public var minSpeed:int;// = 3
public var dir:String;
public var maxX:int;// = 600
public var slowMulti:Number;// = 0.99
public var fastMulti:Number;// = 1.02
public var numRows:int;// = 3
public function CrabAS(_arg1:GameState){
super(_arg1);
make = "crab";
currentStage = 1;
maxStages = 2;
stageArray = [["chainsaw", "nothing", 1000, 250, 0.6, 600, "smallCut", "nothing", false, "invisible", true, bigStage], ["chainsaw", "nothing", 1000, 250, 0.6, 450, "smallCut", "nothing", true, "invisible", true, bigStage]];
depth = "creatures_lower";
}
override public function render():void{
var _local2:Object;
var _local3:Injury;
var _local4:Object;
var _local5:Injury;
var _local6:String;
if (mc == null){
return;
};
if (mc.currentLabel == "HITTING_SHELL"){
if (mc["holder"] != null){
if (mc["holder"].currentFrame == mc["holder"].totalFrames){
_local2 = new Object();
_local2.id = 18;
gameState.health = (gameState.health - 3);
_local2.x = mc.x;
_local2.y = mc.y;
if (mc.x < (minX + 150)){
_local2.rotation = 45;
} else {
if (mc.x > (maxX - 150)){
_local2.rotation = 315;
} else {
_local2.rotation = (360 * Math.random());
};
};
_local2.scale = 1;
_local3 = new Injury(_local2);
_local3.offset = true;
gameState.addInjury(_local3, false);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.PIZZA_CUTTER);
setup();
speed = maxSpeed;
invincible = false;
};
};
return;
} else {
if (mc.currentLabel == "HITTING_NOSHELL"){
_local4 = new Object();
_local4.id = 17;
_local4.x = mc.x;
_local4.y = mc.y;
_local4.rotation = 0;
_local4.scale = 1;
_local5 = new Injury(_local4);
gameState.addBlood(_local5);
if (mc["holder"] != null){
if (mc["holder"].currentFrame == mc["holder"].totalFrames){
mc.gotoAndStop("DEAD");
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
speed = maxSpeed;
invincible = false;
};
};
return;
};
};
if (alive){
specialTimer = (specialTimer + 2);
if (specialTimer >= stageArray[(currentStage - 1)][5]){
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
special();
};
};
var _local1:int = MapUtils.getDist(mc.x, mouseX, mc.y, mouseY);
if (_local1 <= runRadius){
if (mouseX > mc.x){
_local6 = "left";
dir = "left";
} else {
if (mouseX < mc.x){
_local6 = "right";
dir = "right";
};
};
if (_local6 != dir){
if (speed <= minSpeed){
dir = _local6;
} else {
speed = (speed * slowMulti);
};
} else {
if (speed < maxSpeed){
speed = (speed * fastMulti);
};
};
} else {
if (speed > minSpeed){
speed = (speed * slowMulti);
};
};
if (dir == "left"){
mc.x = (mc.x - speed);
if (mc.x <= (minX - 50)){
mc.x = (maxX + 50);
};
} else {
mc.x = (mc.x + speed);
if (mc.x >= (maxX + 50)){
mc.x = (minX - 50);
};
};
}
override public function setup():void{
var _local2:DisplayObject;
var _local3:ColorTransform;
var _local4:Number;
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
mc.stop();
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local3 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local3.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local3.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local3.color = 6750003;
};
};
};
_local2.transform.colorTransform = _local3;
_local2.visible = true;
};
hitBoxes[0].push([_local2, 4]);
};
_local1++;
};
if (currentStage == 1){
mc.gotoAndStop("WALKING_SHELL");
speed = minSpeed;
mc.x = Math.round((maxX * Math.random()));
_local4 = (Math.random() * 2);
if (_local4 <= 1){
dir = "left";
} else {
dir = "right";
};
} else {
if (currentStage == 2){
mc.gotoAndStop("WALKING_NOSHELL");
};
};
}
override public function updateInjury():void{
currentStage++;
speed = 0;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (currentStage > maxStages){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.CRAB_DEATH);
alive = false;
mc.gotoAndStop("HITTING_NOSHELL");
invincible = true;
} else {
if (currentStage == 2){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.CRAB_EXPLODE);
mc.gotoAndStop("HITTING_SHELL");
invincible = true;
};
};
minSpeed = (minSpeed * 1.7);
maxSpeed = (maxSpeed * 1.7);
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object;
var _local4:int;
var _local5:Injury;
var _local6:*;
if (currentStage != 1){
_local3 = new Object();
_local3.id = 17;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = _arg2;
_local5 = new Injury(_local3);
_local6 = 0;
while (_local6 < _arg1) {
gameState.addBlood(_local5, _local4);
_local6++;
};
} else {
_local6 = 0;
while (_local6 < _arg1) {
gameState.controller.addEffect("sparkParticle", mouseX, mouseY, 0, "effects_lower", 1);
_local6++;
};
};
}
override public function interact():void{
}
override public function special():void{
var _local1:Object;
var _local2:Injury;
var _local3:Object;
var _local4:Injury;
if ((((mc.x > (minX + 75))) && ((mc.x < (maxX - 75))))){
if (stageArray[(currentStage - 1)][6] == "smallCut"){
_local1 = new Object();
_local1.id = 1;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.PIZZA_CUTTER);
gameState.health = (gameState.health - 3);
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = (360 * Math.random());
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, false);
_local3 = new Object();
_local3.id = 0;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addBlood(_local4);
};
};
}
}
}//package game.model.assets.injuries
Section 61
//DirtAS (game.model.assets.injuries.DirtAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class DirtAS extends InjuryGraphic implements IInjury {
public var health:int;// = 1
public function DirtAS(_arg1:GameState){
super(_arg1);
make = "dirt";
maxStages = 1;
stageArray = [["nothing", "nothing", 1000, 350, 0.3, 500, "nothing", "nothing", true, "invisible", false, smallStage]];
depth = "splatter_lower";
}
override public function updateInjury():void{
currentStage++;
damageTimer = 0;
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
};
}
override public function special():void{
}
override public function render():void{
super.render();
}
}
}//package game.model.assets.injuries
Section 62
//DoveAS (game.model.assets.injuries.DoveAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class DoveAS extends InjuryGraphic implements IInjury {
public var settleDist:int;// = 25
public var minSpeed:int;// = 10
public var frameCount:int;
public var angleTimer:int;
public var slowMulti:Number;// = 0.99
public var firstRun:Boolean;
public var maxAngleTimer:int;// = 120
public var maxSpeed:int;// = 10
public var minX:int;// = 75
public var minY:int;// = 125
public var fastMulti:Number;// = 1.02
public var speed:Number;
public var numIs:int;
public var angle:Number;
public var maxCrossed:int;// = 1
public var side:String;
public var crossed:int;
public var attracted:Boolean;
public var targetX:Number;
public var targetY:Number;
public var maxX:int;// = 525
public var maxY:int;// = 385
public var runRadius:int;// = 40
public static var numCreated:int = 0;
public function DoveAS(_arg1:GameState){
frameCount = 0;
super(_arg1);
make = "dove";
currentStage = 1;
maxStages = 1;
stageArray = [["battery", "nothing", 1000, 210, 0.2, 70, "smallCut", "nothing", true, "invisible", false, bigStage]];
depth = "creatures_higher";
lives = 3;
numCreated++;
if (numCreated == 1){
numIs = 1;
} else {
numIs = 2;
};
}
override public function setup():void{
var _local1:int;
super.setup();
if (currentStage == 1){
invincible = false;
mc.gotoAndStop("ALIVE");
crossed = 1;
if (numIs == 1){
_local1 = 1;
} else {
_local1 = 2;
};
if (_local1 == 1){
side = "right";
mc.x = (minX - 250);
targetX = (maxX + 250);
} else {
side = "left";
mc.x = (maxX + 250);
targetX = (minX - 250);
};
mc.y = (Math.round(((maxY - minY) * Math.random())) + minY);
targetY = (Math.round(((maxY - minY) * Math.random())) + minY);
angle = (MapUtils.getAngle(mc.x, targetX, mc.y, targetY) - 90);
mc.rotation = angle;
angleTimer = 0;
if (angleTimer < 0){
angleTimer = 0;
};
lives = 3;
mc["shadow"].visible = false;
mc["alive"].visible = true;
speed = (maxSpeed / ((maxCrossed - crossed) + 1));
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.DOVE_COOING);
firstRun = true;
crossed = 0;
};
}
override public function render():void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Injury;
frameCount++;
if (mc == null){
return;
};
var _local1:* = gameState.controller.view;
if (alive){
mc.rotation = angle;
_local2 = (Math.sin(((angle * Math.PI) / 180)) * speed);
_local3 = (Math.cos(((angle * Math.PI) / 180)) * -(speed));
mc.x = (mc.x + _local2);
mc.y = (mc.y + _local3);
if (((!((mc["shocked"] == null))) && ((mc.currentLabel == "SHOCKED")))){
if (mc["shocked"].currentFrame == mc["shocked"].totalFrames){
mc.gotoAndStop("ALIVE");
};
};
if (speed != 0){
if (mc["shadow"].visible){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.DOVE_FLAP);
} else {
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SOARING);
};
if (mc["alive"] != null){
specialTimer++;
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
_local4 = MapUtils.getDist(mc.x, targetX, mc.y, targetY);
if (_local4 <= settleDist){
speed = 0;
};
} else {
angleTimer++;
if (angleTimer >= maxAngleTimer){
angleTimer = 0;
if (angleTimer < 0){
angleTimer = 0;
};
if (crossed == maxCrossed){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.DOVE_COOING);
invincible = false;
if (side == "left"){
side = "right";
targetX = (maxX + 250);
} else {
side = "left";
targetX = (minX - 250);
};
targetY = (Math.round(((maxY - minY) * Math.random())) + minY);
angle = (MapUtils.getAngle(mc.x, targetX, mc.y, targetY) - 90);
mc.rotation = angle;
angleTimer = 0;
if (angleTimer < 0){
angleTimer = 0;
};
mc["shadow"].visible = false;
mc["alive"].visible = true;
speed = (maxSpeed / ((maxCrossed - crossed) + 1));
crossed = 0;
} else {
invincible = true;
mc["shadow"].visible = true;
mc["alive"].visible = false;
if (side == "left"){
side = "right";
targetX = (maxX + 250);
} else {
side = "left";
targetX = (minX - 250);
};
targetY = (Math.round(((maxY - minY) * Math.random())) + minY);
angle = (MapUtils.getAngle(mc.x, targetX, mc.y, targetY) - 90);
mc.rotation = angle;
angleTimer = 0;
if (angleTimer < 0){
angleTimer = 0;
};
mc["shadow"].gotoAndStop((crossed + 1));
speed = (maxSpeed / ((maxCrossed - crossed) + 1));
crossed++;
};
};
};
} else {
_local5 = new Object();
_local5.id = 0;
_local5.x = mc.x;
_local5.y = mc.y;
_local5.rotation = 0;
_local5.scale = 1;
_local6 = new Injury(_local5);
gameState.addBlood(_local6);
gameState.addBlood(_local6);
gameState.addBlood(_local6);
gameState.addBlood(_local6);
if (mc["anim"] != null){
if (mc["anim"].currentFrame == mc["anim"].totalFrames){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.DOVE_EXPLODE);
mc.gotoAndStop("DEAD");
gameState.removeInjury(this);
};
};
};
}
override public function updateInjury():void{
currentStage++;
speed = 0;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (currentStage > maxStages){
invincible = true;
alive = false;
mc.gotoAndStop("DYING");
};
}
override public function createEffect(_arg1:int, _arg2:int):void{
}
override public function special():void{
var _local1:Object;
var _local2:Injury;
var _local3:Object;
var _local4:Injury;
if ((((((((mc.x > minX)) && ((mc.x < maxX)))) && ((mc.y > minY)))) && ((mc.y < maxY)))){
if (mc["alive"].visible){
specialTimer = ((stageArray[(currentStage - 1)][5] / 2) + Math.round(((stageArray[(currentStage - 1)][5] / 2) * Math.random())));
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
_local1 = new Object();
_local1.id = 1;
gameState.health = (gameState.health - 3);
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = (360 * Math.random());
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, false);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.PIZZA_CUTTER);
_local3 = new Object();
_local3.id = 0;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addBlood(_local4);
} else {
specialTimer = 0;
_local1 = new Object();
_local1.id = 57;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, false);
};
};
}
override public function interact():void{
var _local1:Object = new Object();
_local1.id = 58;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
var _local2:Injury = new Injury(_local1);
gameState.addInjury(_local2, false);
gameState.addInjury(_local2, false);
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:Injury = new Injury(_local3);
gameState.addBlood(_local4);
gameState.addBlood(_local4);
var _local5:Object = new Object();
_local5.id = 95;
_local5.x = mc.x;
_local5.y = mc.y;
_local5.rotation = 0;
_local5.scale = 1;
var _local6:Injury = new Injury(_local5);
gameState.addBlood(_local6);
gameState.addBlood(_local6);
gameState.addBlood(_local6);
var _local7:Object = new Object();
_local7.id = 95;
_local7.x = (mc.x + 50);
_local7.y = (mc.y + 50);
_local7.rotation = 0;
_local7.scale = 1;
var _local8:Injury = new Injury(_local7);
gameState.addBlood(_local8);
gameState.addBlood(_local8);
gameState.addBlood(_local8);
var _local9:Object = new Object();
_local9.id = 95;
_local9.x = (mc.x - 50);
_local9.y = (mc.y - 50);
_local9.rotation = 0;
_local9.scale = 1;
var _local10:Injury = new Injury(_local9);
gameState.addBlood(_local10);
gameState.addBlood(_local10);
gameState.addBlood(_local10);
lives--;
var _local11:int = ((Math.random() * 1) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("DOVE_SQUEAL" + _local11)]);
if (lives == 0){
speed = 0;
updateInjury();
} else {
gameState.createPopup("correct", mc.x, mc.y, this, -1);
invincibleTimer = 0;
invincible = true;
mc.gotoAndStop("SHOCKED");
};
}
}
}//package game.model.assets.injuries
Section 63
//DoveSplatterAS (game.model.assets.injuries.DoveSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class DoveSplatterAS extends SplatterAS implements IInjury {
public function DoveSplatterAS(_arg1:GameState, _arg2:Number=-1){
make = "doveSplatter";
super(_arg1, _arg2);
numParticles = 2;
stageArray = [["nothing", "nothing", 1000, 250, 0.06, 100, "nothing", "nothing", true, "invisible", false, smallStage]];
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
make = "doveSplatter";
}
override public function render():void{
super.render();
if (alive){
damageTimer++;
if (damageTimer >= stageArray[(currentStage - 1)][3]){
damageTimer = 0;
gameState.health = (gameState.health - (particles.length / 3));
};
specialTimer = (specialTimer + 2);
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
}
}
}//package game.model.assets.injuries
Section 64
//DropletAS (game.model.assets.injuries.DropletAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class DropletAS extends InjuryGraphic implements IInjury {
public function DropletAS(_arg1:GameState){
super(_arg1);
make = "droplet";
currentStage = 1;
maxStages = 1;
stageArray = [["nothing", "nothing", 1000, 210, 0.3, 8, "smallCut", "nothing", true, "invisible", false, bigStage]];
depth = "splatter_higher";
}
override public function updateInjury():void{
var _local1:Object;
var _local2:Injury;
currentStage++;
if (currentStage > maxStages){
_local1 = new Object();
_local1.id = 58;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, false);
gameState.addInjury(_local2, false);
invincible = true;
alive = false;
mc.visible = false;
gameState.removeInjury(this);
};
}
override public function createEffect(_arg1:int, _arg2:int):void{
}
override public function interact():void{
}
override public function special():void{
}
override public function setup():void{
}
override public function render():void{
if (mc == null){
return;
};
if (mc.currentFrame == mc.totalFrames){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXTRACTION2);
updateInjury();
};
}
}
}//package game.model.assets.injuries
Section 65
//ExplosiveExtractionAS (game.model.assets.injuries.ExplosiveExtractionAS)
package game.model.assets.injuries {
import shell.sound.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class ExplosiveExtractionAS extends InjuryGraphic implements IInjury {
public function ExplosiveExtractionAS(_arg1:GameState){
super(_arg1);
make = "explosiveExtraction";
currentStage = 1;
maxStages = 1;
stageArray = [["lighter", "nothing", 1000, 250, 0.6, 75, "nothing", "nothing", true, "invisible", true, smallStage]];
}
override public function updateInjury():void{
var _local1:Object;
var _local2:Injury;
var _local3:Object;
var _local4:Injury;
if (currentStage == 1){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXPLOSION);
_local1 = new Object();
_local1.id = 27;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, false);
_local3 = new Object();
_local3.id = 29;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addInjury(_local4, false);
gameState.health = (gameState.health - 2);
};
super.updateInjury();
}
}
}//package game.model.assets.injuries
Section 66
//ExplosiveExtractionBombAS (game.model.assets.injuries.ExplosiveExtractionBombAS)
package game.model.assets.injuries {
import shell.sound.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class ExplosiveExtractionBombAS extends InjuryGraphic implements IInjury {
public function ExplosiveExtractionBombAS(_arg1:GameState){
super(_arg1);
make = "explosiveExtractionBomb";
currentStage = 1;
maxStages = 1;
stageArray = [["lighter", "nothing", 1000, 250, 0.6, 75, "nothing", "nothing", true, "invisible", true, smallStage]];
}
override public function updateInjury():void{
var _local1:Object;
var _local2:Injury;
var _local3:Object;
var _local4:Injury;
var _local5:Object;
var _local6:Injury;
if (currentStage == 1){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXPLOSION);
_local1 = new Object();
_local1.id = 27;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, false);
_local3 = new Object();
_local3.id = 29;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addInjury(_local4, false);
_local5 = new Object();
_local5.id = 12;
_local5.x = mc.x;
_local5.y = mc.y;
_local5.rotation = 0;
_local5.scale = 1;
_local6 = new Injury(_local5);
gameState.addInjury(_local6, false);
gameState.health = (gameState.health - 2);
};
super.updateInjury();
}
}
}//package game.model.assets.injuries
Section 67
//ExtractionAS (game.model.assets.injuries.ExtractionAS)
package game.model.assets.injuries {
import flash.display.*;
import flash.geom.*;
import game.model.*;
import game.interfaces.*;
public class ExtractionAS extends InjuryGraphic implements IInjury {
public function ExtractionAS(_arg1:GameState){
super(_arg1);
make = "extraction";
depth = "injuries_higher";
}
override public function updateInjury():void{
currentStage++;
damageTimer = 0;
gameState.createPopup("correct", mouseX, mouseY, this);
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
}
override public function setup():void{
var _local2:DisplayObject;
var _local3:ColorTransform;
if (alive){
mc.visible = true;
};
cursor = ("Cursor" + go_data.linkage);
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = (Math.round(((stageArray[(currentStage - 1)][5] / 2) * Math.random())) + (stageArray[(currentStage - 1)][5] / 2));
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local3 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local3.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local3.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local3.color = 6750003;
};
};
};
_local2.transform.colorTransform = _local3;
_local2.visible = true;
};
hitBoxes[0].push([_local2, 2]);
};
_local1++;
};
}
}
}//package game.model.assets.injuries
Section 68
//ExtractionFireFlyEggBrokenAS (game.model.assets.injuries.ExtractionFireFlyEggBrokenAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class ExtractionFireFlyEggBrokenAS extends ExtractionAS implements IInjury {
public function ExtractionFireFlyEggBrokenAS(_arg1:GameState){
super(_arg1);
make = "extractionFireFlyEggBroken";
currentStage = 1;
maxStages = 1;
stageArray = [["tongs", "nothing", 1000, 250, 0.6, 200, "nothing", "nothing", true, "invisible", false, smallStage]];
}
override public function updateInjury():void{
super.updateInjury();
mc.visible = false;
}
}
}//package game.model.assets.injuries
Section 69
//EyelidAS (game.model.assets.injuries.EyelidAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class EyelidAS extends InjuryGraphic implements IInjury {
public var origHY:Number;
public var angleBuffer:int;// = 35
public var removeDist:int;// = 180
public function EyelidAS(_arg1:GameState){
super(_arg1);
make = "eyelid";
maxStages = 1;
stageArray = [["tongs", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", false, smallStage]];
origHY = -1;
depth = "injuries_lower";
}
override public function updateInjury():void{
currentStage++;
var _local1:int = (stageArray[(currentStage - 2)][11] - gameState.injuryTimer);
if (_local1 < 0){
_local1 = 0;
};
gameState.createPopup("correct", mc.x, mc.y, this);
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
};
}
override public function setup():void{
super.setup();
if (origHY == -1){
origHY = mc["hit"].y;
};
mc["hit"].y = origHY;
mc["anim"].gotoAndStop(1);
}
}
}//package game.model.assets.injuries
Section 70
//EyeTransplantAS (game.model.assets.injuries.EyeTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class EyeTransplantAS extends TransplantAS implements IInjury {
public function EyeTransplantAS(_arg1:GameState){
super(_arg1);
make = "eyeTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 1;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addBlood(_local5, _local4);
_local6++;
};
}
}
}//package game.model.assets.injuries
Section 71
//FatAS (game.model.assets.injuries.FatAS)
package game.model.assets.injuries {
import shell.sound.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class FatAS extends InjuryGraphic implements IInjury {
public function FatAS(_arg1:GameState){
super(_arg1);
make = "fat";
maxStages = 2;
stageArray = [["cutter", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", false, smallStage], ["lighter", "back", 1000, 250, 0.4, 100, "nothing", "nothing", true, "invisible", false, smallStage]];
hidden = true;
}
override public function updateInjury():void{
var _local1:int;
var _local2:Object;
var _local3:Injury;
var _local4:*;
var _local5:Object;
var _local6:Injury;
var _local7:Object;
var _local8:Injury;
var _local9:Object;
var _local10:Injury;
var _local11:Object;
var _local12:Injury;
if (currentStage == 1){
_local1 = ((Math.random() * 1) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("SPLAT" + _local1)]);
hidden = false;
_local2 = new Object();
_local2.id = 69;
_local2.y = mc.y;
_local2.x = mc.x;
_local2.rotation = 0;
_local2.scale = 1;
_local3 = new Injury(_local2);
gameState.addInjury(_local3, false);
gameState.addInjury(_local3, false);
gameState.addInjury(_local3, false);
mc.visible = true;
_local4 = 0;
while (_local4 < mc.numChildren) {
mc.getChildAt(_local4).visible = true;
_local4++;
};
};
currentStage++;
gameState.createPopup("correct", mc.x, mc.y, this);
if (stageArray[(currentStage - 2)][10]){
mc.nextFrame();
};
if (currentStage > maxStages){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.NOSE_POP);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXPLOSION);
alive = false;
_local2 = new Object();
_local2.id = 69;
_local2.x = mc.x;
_local2.y = mc.y;
_local2.rotation = 0;
_local2.scale = 1;
_local3 = new Injury(_local2);
gameState.addInjury(_local3, false);
gameState.addInjury(_local3, false);
gameState.addInjury(_local3, false);
_local5 = new Object();
_local5.id = 69;
_local5.x = (mc.x - 30);
_local5.y = (mc.y - 30);
_local5.rotation = 0;
_local5.scale = 1;
_local6 = new Injury(_local5);
gameState.addInjury(_local6, false);
gameState.addInjury(_local6, false);
gameState.addInjury(_local6, false);
_local7 = new Object();
_local7.id = 69;
_local7.x = (mc.x + 30);
_local7.y = (mc.y + 30);
_local7.rotation = 0;
_local7.scale = 1;
_local8 = new Injury(_local7);
gameState.addInjury(_local8, false);
gameState.addInjury(_local8, false);
gameState.addInjury(_local8, false);
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
_local9 = new Object();
_local9.id = 27;
_local9.x = mc.x;
_local9.y = mc.y;
_local9.rotation = 0;
_local9.scale = 1;
_local10 = new Injury(_local9);
gameState.addInjury(_local10, false);
_local11 = new Object();
_local11.id = 29;
_local11.x = mc.x;
_local11.y = mc.y;
_local11.rotation = 0;
_local11.scale = 1;
_local12 = new Injury(_local11);
gameState.addInjury(_local12, false);
gameState.health = (gameState.health - 2);
} else {
setup();
};
}
override public function setup():void{
super.setup();
if (currentStage == 1){
mc.visible = false;
};
}
}
}//package game.model.assets.injuries
Section 72
//FatSplatterAS (game.model.assets.injuries.FatSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class FatSplatterAS extends SplatterAS implements IInjury {
public function FatSplatterAS(_arg1:GameState, _arg2:Number=-1){
super(_arg1, _arg2);
make = "fatSplatter";
baseVel = 7;
numParticles = 8;
stageArray = [["nothing", "nothing", 1000, 350, 0.06, 100, "nothing", "nothing", true, "invisible", false, smallStage]];
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
ran = 5;
}
override public function render():void{
super.render();
if (alive){
damageTimer++;
if (damageTimer >= stageArray[(currentStage - 1)][3]){
damageTimer = 0;
gameState.health = (gameState.health - (particles.length / 3));
};
specialTimer = (specialTimer + 2);
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
}
}
}//package game.model.assets.injuries
Section 73
//FeatherSplatterAS (game.model.assets.injuries.FeatherSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class FeatherSplatterAS extends BloodSplatterAS implements IInjury {
public var maxEyeMovement:Number;// = 30
public var ox:Number;// = 0
public var oy:Number;// = -2.7
public var distanceFromEye:Number;// = 5
public var ovality:Number;// = 1.2
public function FeatherSplatterAS(_arg1:GameState, _arg2:Number=-1){
make = "featherSplatter";
super(_arg1, _arg2);
baseVel = 4;
numParticles = 1;
ran = 1;
stageArray = [["nothing", "nothing", 1000, 250, 0.06, 300, "nothing", "nothing", true, "invisible", false, smallStage]];
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
make = "featherSplatter";
ran = 1;
}
}
}//package game.model.assets.injuries
Section 74
//FireAS (game.model.assets.injuries.FireAS)
package game.model.assets.injuries {
import shell.sound.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class FireAS extends InjuryGraphic implements IInjury {
public var health:int;// = 7
public function FireAS(_arg1:GameState){
super(_arg1);
make = "fire";
maxStages = 1;
stageArray = [["vacuum", "nothing", 1000, 350, 0.4, 500, "fireSplatter", "nothing", true, "invisible", false, smallStage]];
depth = "injuries_higher";
}
override public function updateInjury():void{
var _local1:Object;
var _local2:Injury;
currentStage++;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (currentStage > maxStages){
_local1 = new Object();
_local1.id = 28;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = (360 * Math.random());
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, playerCreated);
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
};
}
override public function special():void{
specialTimer = Math.round(((stageArray[(currentStage - 1)][5] / 2) * Math.random()));
var _local1:Object = new Object();
_local1.id = 27;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
var _local2:Injury = new Injury(_local1);
gameState.addInjury(_local2, playerCreated);
}
override public function render():void{
super.render();
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.FIRE);
}
}
}//package game.model.assets.injuries
Section 75
//FireFlyAS (game.model.assets.injuries.FireFlyAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class FireFlyAS extends InjuryGraphic implements IInjury {
public var maxSpeed:int;// = 18
public var runRadius:int;// = 40
public var minX:int;// = 75
public var minY:int;// = 125
public var angle:int;
public var speed:Number;
public var minSpeed:int;// = 12
public var attracted:Boolean;
public var targetX:int;
public var targetY:int;
public var angleTimer:int;
public var maxX:int;// = 525
public var maxY:int;// = 360
public var maxAngleTimer:int;// = 30
public var slowMulti:Number;// = 0.99
public var fastMulti:Number;// = 1.02
public function FireFlyAS(_arg1:GameState){
super(_arg1);
make = "fireFly";
currentStage = 1;
maxStages = 1;
stageArray = [["battery", "nothing", 1000, 250, 0.3, 400, "fireball", "nothing", true, "invisible", true, bigStage]];
depth = "creatures_higher";
}
override public function updateInjury():void{
var _local1:Object;
var _local2:Injury;
currentStage++;
speed = 0;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (currentStage > maxStages){
_local1 = new Object();
_local1.id = 50;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addBlood(_local2);
gameState.addBlood(_local2);
gameState.addBlood(_local2);
gameState.addBlood(_local2);
gameState.addBlood(_local2);
invincible = true;
alive = false;
mc.gotoAndStop("DEAD");
};
}
override public function interact():void{
var _local1:int;
lives--;
if (lives == 0){
_local1 = ((Math.random() * 1) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("GENERIC_CREATURE" + _local1)]);
updateInjury();
} else {
gameState.createPopup("correct", mc.x, mc.y, this);
};
}
override public function setup():void{
super.setup();
if (currentStage == 1){
lives = 1;
mc.gotoAndStop("ALIVE");
if ((((mc.x == -1)) && ((mc.y == -1)))){
mc.x = (Math.round(((maxX - minX) * Math.random())) + minX);
mc.y = (Math.round(((maxY - minY) * Math.random())) + minY);
};
targetX = (Math.round(((maxX - minX) * Math.random())) + minX);
targetY = (Math.round(((maxY - minY) * Math.random())) + minY);
angle = (MapUtils.getAngle(mc.x, targetX, mc.y, targetY) - 90);
angleTimer = ((maxAngleTimer * Math.random()) - (maxAngleTimer / 3));
if (angleTimer < 0){
angleTimer = 0;
};
speed = maxSpeed;
};
}
override public function render():void{
var _local1:int;
var _local2:Object;
var _local3:Injury;
var _local4:Object;
var _local5:Injury;
if (mc == null){
return;
};
if (alive){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUZZ);
specialTimer++;
if (specialTimer >= stageArray[(currentStage - 1)][5]){
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
special();
};
mc.x = (mc.x + (Math.sin(((angle * Math.PI) / 180)) * speed));
mc.y = (mc.y + (Math.cos(((angle * Math.PI) / 180)) * -(speed)));
if (speed != 0){
_local1 = MapUtils.getDist(mc.x, targetX, mc.y, targetY);
if (_local1 <= speed){
speed = 0;
};
} else {
angleTimer++;
if (angleTimer >= maxAngleTimer){
angleTimer = ((maxAngleTimer * Math.random()) - (maxAngleTimer / 3));
if (angleTimer < 0){
angleTimer = 0;
};
speed = maxSpeed;
targetX = (Math.round(((maxX - minX) * Math.random())) + minX);
targetY = (Math.round(((maxY - minY) * Math.random())) + minY);
angle = (MapUtils.getAngle(mc.x, targetX, mc.y, targetY) - 90);
};
};
} else {
if (mc["anim"] != null){
if (mc["anim"].currentFrame == 40){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.CRAB_EXPLODE);
_local2 = new Object();
_local2.id = 29;
gameState.health = (gameState.health - 2);
_local2.x = mc.x;
_local2.y = mc.y;
_local2.rotation = 0;
_local2.scale = 1;
_local3 = new Injury(_local2);
gameState.addInjury(_local3, false);
_local4 = new Object();
_local4.id = 27;
_local4.x = mc.x;
_local4.y = mc.y;
_local4.rotation = 0;
_local4.scale = 1;
_local5 = new Injury(_local4);
gameState.addInjury(_local5, false);
};
if (mc["anim"].currentFrame == mc["anim"].totalFrames){
mc.visible = false;
gameState.removeInjury(this);
};
};
};
}
override public function createEffect(_arg1:int, _arg2:int):void{
}
override public function special():void{
var _local1:Object;
var _local2:Injury;
var _local3:Object;
var _local4:Injury;
if ((((((((mc.x > (minX + 50))) && ((mc.x < (maxX - 50))))) && ((mc.y > (minY + 50))))) && ((mc.y < (maxY - 50))))){
if (stageArray[(currentStage - 1)][6] == "fireball"){
_local1 = new Object();
_local1.id = 29;
gameState.health = (gameState.health - 2);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXPLOSION);
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, false);
_local3 = new Object();
_local3.id = 27;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addInjury(_local4, false);
};
};
}
}
}//package game.model.assets.injuries
Section 76
//FireFlyEggAS (game.model.assets.injuries.FireFlyEggAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.display.*;
import flash.geom.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
import game.model.assets.tools.*;
public class FireFlyEggAS extends ExtractionAS implements IInjury {
public function FireFlyEggAS(_arg1:GameState){
super(_arg1);
make = "fireFlyEgg";
currentStage = 1;
maxStages = 1;
stageArray = [["tongs", "nothing", 1000, 250, 0.5, 900, "firefly", "nothing", true, "invisible", false, smallStage]];
depth = "injuries_higher";
slippery = true;
beingHeld = false;
}
override public function special():void{
var _local1:Object;
var _local2:Object;
var _local3:Injury;
var _local4:Object;
var _local5:Injury;
var _local6:Injury;
var _local7:Object;
var _local8:Injury;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXPLOSION);
mc["anim"].gotoAndPlay(99);
gameState.health = (gameState.health - 2);
if (beingHeld){
_local1 = new Object();
_local2 = new Object();
_local2.id = 32;
_local2.x = mouseX;
_local2.y = mouseY;
_local2.rotation = 0;
_local2.scale = 1;
_local3 = new Injury(_local2);
gameState.addInjury(_local3, false);
_local4 = new Object();
_local4.id = 33;
_local4.x = mouseX;
_local4.y = mouseY;
_local4.rotation = 0;
_local4.scale = 1;
_local5 = new Injury(_local4);
gameState.addInjury(_local5, false);
_local1.id = 29;
_local1.x = mouseX;
_local1.y = mouseY;
_local1.rotation = 0;
_local1.scale = 1;
_local6 = new Injury(_local1);
gameState.addInjury(_local6, false);
trace("special");
Tongs(gameState.currentTool).holding = [];
Tongs(gameState.currentTool).injury = null;
Tongs(gameState.currentTool).turnOff();
_local7 = new Object();
_local7.id = 27;
_local7.x = mouseX;
_local7.y = mouseY;
_local7.rotation = 0;
_local7.scale = 1;
_local8 = new Injury(_local7);
gameState.addInjury(_local8, false);
} else {
_local2 = new Object();
_local2.id = 32;
_local2.x = mc.x;
_local2.y = mc.y;
_local2.rotation = 0;
_local2.scale = 1;
_local3 = new Injury(_local2);
gameState.addInjury(_local3, false);
_local4 = new Object();
_local4.id = 33;
_local4.x = mc.x;
_local4.y = mc.y;
_local4.rotation = 0;
_local4.scale = 1;
_local5 = new Injury(_local4);
gameState.addInjury(_local5, false);
_local1 = new Object();
_local1.id = 29;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
_local6 = new Injury(_local1);
gameState.addInjury(_local6, false);
_local7 = new Object();
_local7.id = 27;
_local7.x = mc.x;
_local7.y = mc.y;
_local7.rotation = 0;
_local7.scale = 1;
_local8 = new Injury(_local7);
gameState.addInjury(_local8, false);
};
currentStage++;
gameState.removeInjury(this);
}
override public function setup():void{
var _local2:DisplayObject;
var _local3:ColorTransform;
cursor = ("Cursor" + go_data.linkage);
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = (Math.round((stageArray[(currentStage - 1)][5] * Math.random())) - (stageArray[(currentStage - 1)][5] / 2));
if (specialTimer < 0){
specialTimer = 0;
};
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local3 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local3.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local3.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local3.color = 6750003;
};
};
};
_local2.transform.colorTransform = _local3;
_local2.visible = true;
};
hitBoxes[0].push([_local2, 2]);
};
_local1++;
};
}
override public function render():void{
var _local1:int;
if (mc == null){
return;
};
if (alive){
_local1 = Math.round(((specialTimer / stageArray[(currentStage - 1)][5]) * 100));
if (beingHeld){
if (Tongs(gameState.currentTool).draggable["anim"] != null){
Tongs(gameState.currentTool).draggable["anim"].gotoAndStop(_local1);
};
} else {
if (mc["anim"] != null){
mc["anim"].gotoAndStop(_local1);
};
};
damageTimer++;
if (damageTimer >= stageArray[(currentStage - 1)][3]){
damageTimer = 0;
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
};
specialTimer++;
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
}
}
}//package game.model.assets.injuries
Section 77
//FireSplatterAS (game.model.assets.injuries.FireSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class FireSplatterAS extends SplatterAS implements IInjury {
public function FireSplatterAS(_arg1:GameState, _arg2:Number=-1){
super(_arg1, _arg2);
make = "fireSplatter";
}
override public function updateInjury():void{
currentStage++;
damageTimer = 0;
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
hitBoxes = [];
} else {
setup();
};
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
remove = true;
make = "fireSplatter";
ran = 1;
numParticles = 1;
baseVel = 6;
}
}
}//package game.model.assets.injuries
Section 78
//IncisionAS (game.model.assets.injuries.IncisionAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class IncisionAS extends InjuryGraphic implements IInjury {
public function IncisionAS(_arg1:GameState){
super(_arg1);
make = "incision";
currentStage = 1;
maxStages = 1;
stageArray = [["cutter", "nothing", 1000, 250, 0.5, 75, "nothing", "nothing", true, "yellow", true, smallStage]];
}
}
}//package game.model.assets.injuries
Section 79
//IncisionCoffinAS (game.model.assets.injuries.IncisionCoffinAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class IncisionCoffinAS extends InjuryGraphic implements IInjury {
public function IncisionCoffinAS(_arg1:GameState){
super(_arg1);
make = "incisionCoffin";
currentStage = 1;
maxStages = 1;
stageArray = [["chainsaw", "nothing", 1000, 250, 0.5, 75, "nothing", "nothing", true, "yellow", true, smallStage]];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:* = 0;
while (_local3 < _arg1) {
gameState.controller.addEffect("sparkParticle", mouseX, mouseY, 0, "effects_lower", 1);
_local3++;
};
gameState.controller.addEffect("woodParticle", mouseX, mouseY, 0, "effects_lower", 1);
}
}
}//package game.model.assets.injuries
Section 80
//InjuryGraphic (game.model.assets.injuries.InjuryGraphic)
package game.model.assets.injuries {
import flash.display.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
public class InjuryGraphic extends Sprite implements IInjury {
public var currentStage:int;
public var lives:int;
public var specialTimer:int;
public var beingHeld:Boolean;
public var damageTimer:int;
public var instance_data:Injury;
public var mc:MovieClip;
public var invincible:Boolean;
public var go_data:InjuryData;
public var hidden:Boolean;
public var smallStage:int;// = 120
public var maxStages:int;
public var slippery:Boolean;
public var gameState:GameState;
public var depth:String;
public var playerCreated:Boolean;
public var alive:Boolean;
public var original:Boolean;
public var cursor:String;
public var removable:MovieClip;
public var bigStage:int;// = 240
public var maxInvincibleTimer:int;// = 45
public var hitBoxes:Array;
public var invincibleTimer:int;
public var make:String;
public var stageArray:Array;
public function InjuryGraphic(_arg1:GameState){
hidden = false;
gameState = _arg1;
currentStage = 1;
alive = true;
depth = "injuries_lower";
}
public function updateInjury():void{
currentStage++;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (stageArray[(currentStage - 2)][10]){
mc.nextFrame();
};
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
};
}
public function render():void{
if (alive){
damageTimer++;
if (damageTimer >= stageArray[(currentStage - 1)][3]){
damageTimer = 0;
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
};
specialTimer = (specialTimer + 2);
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
}
public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addBlood(_local5, _local4);
_local6++;
};
}
public function interact():void{
}
public function special():void{
var _local1:Object;
var _local2:int;
var _local3:Point;
var _local4:Point;
var _local5:Injury;
var _local6:Object;
var _local7:Injury;
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
if (stageArray[(currentStage - 1)][6] == "blood"){
_local1 = new Object();
_local1.id = 0;
_local2 = (mc.rotation + 180);
_local3 = new Point(mc.x, mc.y);
_local4 = LineUtils.getPositionFromAngle(_local3, _local2, (mc.height / 2));
_local1.y = _local4.y;
_local1.x = _local4.x;
_local1.rotation = 0;
_local1.scale = 1;
_local5 = new Injury(_local1);
gameState.addBlood(_local5);
} else {
if (stageArray[(currentStage - 1)][6] == "smallCut"){
_local6 = new Object();
_local6.id = 1;
_local6.x = mc.x;
_local6.y = mc.y;
_local6.rotation = (360 * Math.random());
_local6.scale = 1;
_local7 = new Injury(_local6);
gameState.addInjury(_local7, false);
_local1 = new Object();
_local1.id = 0;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
_local5 = new Injury(_local1);
gameState.addBlood(_local5);
};
};
}
public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
go_data = _arg1;
instance_data = _arg2;
playerCreated = _arg3;
original = _arg4;
}
public function getHitBoxes():Array{
return (hitBoxes);
}
public function cleanUp():void{
}
public function setup():void{
var _local2:DisplayObject;
var _local3:ColorTransform;
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
mc.stop();
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local3 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local3.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local3.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local3.color = 6750003;
};
};
};
_local2.transform.colorTransform = _local3;
_local2.visible = true;
};
hitBoxes[0].push([_local2, 2]);
};
_local1++;
};
}
}
}//package game.model.assets.injuries
Section 81
//InkSplatterAS (game.model.assets.injuries.InkSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import game.model.*;
import game.interfaces.*;
public class InkSplatterAS extends SplatterAS implements IInjury {
public function InkSplatterAS(_arg1:GameState, _arg2:Number=-1){
super(_arg1, _arg2);
make = "inkSplatter";
stageArray = [["nothing", "nothing", 1000, 350, 0.06, 100, "nothing", "nothing", true, "invisible", false, smallStage]];
baseVel = 8;
numParticles = 15;
}
override public function render():void{
super.render();
if (alive){
damageTimer++;
if (damageTimer >= stageArray[(currentStage - 1)][3]){
damageTimer = 0;
gameState.health = (gameState.health - (particles.length / 3));
};
specialTimer = (specialTimer + 2);
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
}
}
}//package game.model.assets.injuries
Section 82
//InsectBossAS (game.model.assets.injuries.InsectBossAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class InsectBossAS extends InjuryGraphic implements IInjury {
public var maxSpeed:int;// = 70
public var runRadius:int;// = 40
public var minX:int;// = 75
public var minY:int;// = 125
public var settleDist:int;// = 50
public var angle:Number;
public var speed:Number;
public var side:String;
public var maxCrossed:int;// = 2
public var minSpeed:int;// = 26
public var crossed:int;
public var attracted:Boolean;
public var targetX:int;
public var bloodTimer:int;
public var targetY:int;
public var angleTimer:int;
public var maxX:int;// = 525
public var maxY:int;// = 385
public var maxAngleTimer:int;// = 270
public var slowMulti:Number;// = 0.99
public var fastMulti:Number;// = 1.02
public function InsectBossAS(_arg1:GameState){
super(_arg1);
make = "insectBoss";
currentStage = 1;
maxStages = 1;
stageArray = [["battery", "nothing", 1000, 210, 0.4, 8, "smallCut", "nothing", true, "invisible", false, bigStage]];
depth = "creatures_higher";
lives = 3;
crossed = 0;
bloodTimer = 0;
}
override public function updateInjury():void{
currentStage++;
speed = 0;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (currentStage > maxStages){
invincible = true;
alive = false;
mc.gotoAndStop("DYING");
};
}
override public function special():void{
var _local1:Object;
var _local2:Injury;
var _local3:Object;
var _local4:Injury;
if ((((((((mc.x > minX)) && ((mc.x < maxX)))) && ((mc.y > minY)))) && ((mc.y < maxY)))){
if (stageArray[(currentStage - 1)][6] == "smallCut"){
_local1 = new Object();
_local1.id = 1;
gameState.health = (gameState.health - 3);
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = (360 * Math.random());
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, false);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.PIZZA_CUTTER);
_local3 = new Object();
_local3.id = 0;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addBlood(_local4);
};
};
}
override public function render():void{
var _local1:int;
var _local2:Object;
var _local3:Injury;
var _local4:Object;
var _local5:Injury;
if (mc == null){
return;
};
if (alive){
mc.rotation = angle;
mc.x = (mc.x + (Math.sin(((angle * Math.PI) / 180)) * speed));
mc.y = (mc.y + (Math.cos(((angle * Math.PI) / 180)) * -(speed)));
if (speed != 0){
invincible = true;
specialTimer++;
if (specialTimer >= stageArray[(currentStage - 1)][5]){
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
special();
};
_local1 = MapUtils.getDist(mc.x, targetX, mc.y, targetY);
if (_local1 <= settleDist){
speed = 0;
if (((!((mc["alive"] == null))) && ((mc.currentLabel == "ALIVE")))){
mc["alive"].stop();
};
};
} else {
invincible = false;
angleTimer++;
if (angleTimer >= maxAngleTimer){
angleTimer = ((maxAngleTimer * Math.random()) - (maxAngleTimer / 3));
if (angleTimer < 0){
angleTimer = 0;
};
speed = maxSpeed;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.WASP_FLY);
if (((!((mc["alive"] == null))) && ((mc.currentLabel == "ALIVE")))){
mc["alive"].play();
};
if (crossed == maxCrossed){
crossed = 0;
targetX = (Math.round(((maxX - minX) * Math.random())) + minX);
targetY = (Math.round(((maxY - minY) * Math.random())) + minY);
angle = (MapUtils.getAngle(mc.x, targetX, mc.y, targetY) - 90);
mc.rotation = angle;
angleTimer = (maxAngleTimer / 1.2);
if (angleTimer < 0){
angleTimer = 0;
};
} else {
if (side == "left"){
side = "right";
targetX = (maxX + 250);
} else {
side = "left";
targetX = (minX - 250);
};
targetY = (Math.round(((maxY - minY) * Math.random())) + minY);
angle = (MapUtils.getAngle(mc.x, targetX, mc.y, targetY) - 90);
mc.rotation = angle;
angleTimer = 0;
if (angleTimer < 0){
angleTimer = 0;
};
crossed++;
};
};
};
if (((!((mc["shocked"] == null))) && ((mc.currentLabel == "SHOCKED")))){
if (mc["shocked"].currentFrame == mc["shocked"].totalFrames){
mc.gotoAndStop("ALIVE");
};
};
} else {
bloodTimer++;
if (bloodTimer >= 10){
bloodTimer = 0;
_local2 = new Object();
_local2.id = 11;
_local2.x = mc.x;
_local2.y = mc.y;
_local2.rotation = 0;
_local2.scale = 1;
_local3 = new Injury(_local2);
gameState.addInjury(_local3, false);
};
if (mc["anim"] != null){
if (mc["anim"].currentFrame == mc["anim"].totalFrames){
_local4 = new Object();
_local4.id = 12;
_local4.x = mc.x;
_local4.y = mc.y;
_local4.rotation = 0;
_local4.scale = 1;
_local5 = new Injury(_local4);
gameState.addInjury(_local5, false);
mc.gotoAndStop("DEAD");
mc.visible = false;
gameState.removeInjury(this);
};
};
};
}
override public function interact():void{
var _local3:Object;
var _local4:Injury;
var _local1:Object = new Object();
_local1.id = 11;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
var _local2:Injury = new Injury(_local1);
gameState.addInjury(_local2, false);
gameState.addInjury(_local2, false);
lives--;
if (lives == 0){
updateInjury();
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.GENERIC_CREATURE1);
} else {
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.CRAB_EXPLODE);
_local3 = new Object();
_local3.id = 12;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addInjury(_local4, false);
gameState.createPopup("correct", mc.x, mc.y, this, -1);
if (side == "left"){
side = "right";
targetX = (maxX + 150);
} else {
side = "left";
targetX = (minX - 150);
};
targetY = (Math.round(((maxY - minY) * Math.random())) + minY);
angle = (MapUtils.getAngle(mc.x, targetX, mc.y, targetY) - 90);
mc.rotation = angle;
angleTimer = (maxAngleTimer - 1);
invincibleTimer = 0;
invincible = true;
mc.gotoAndStop("SHOCKED");
};
}
override public function createEffect(_arg1:int, _arg2:int):void{
}
override public function setup():void{
var _local1:int;
super.setup();
if (currentStage == 1){
mc.gotoAndStop("ALIVE");
_local1 = ((Math.random() * 2) + 1);
if (_local1 == 1){
side = "left";
mc.x = (minX - 250);
targetX = (maxX + 250);
} else {
side = "right";
mc.x = (maxX + 250);
targetX = (minX - 250);
};
mc.y = (Math.round(((maxY - minY) * Math.random())) + minY);
targetY = (Math.round(((maxY - minY) * Math.random())) + minY);
angle = (MapUtils.getAngle(mc.x, targetX, mc.y, targetY) - 90);
mc.rotation = angle;
angleTimer = 0;
if (angleTimer < 0){
angleTimer = 0;
};
lives = 3;
speed = maxSpeed;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.WASP_FLY);
crossed = 0;
};
}
}
}//package game.model.assets.injuries
Section 83
//InsertionAS (game.model.assets.injuries.InsertionAS)
package game.model.assets.injuries {
import shell.sound.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
import game.model.assets.tools.*;
public class InsertionAS extends InjuryGraphic implements IInjury {
public var max_pieces:Number;
public var removed:Array;
public var pieces_removed:Number;
public var hits:Array;
public var oHeight:int;
public var removables:Array;
public function InsertionAS(_arg1:GameState){
super(_arg1);
oHeight = -1;
make = "insertion";
currentStage = 1;
maxStages = 2;
stageArray = [["cutter", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "yellow", true, smallStage], ["tongs", "back", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage]];
depth = "injuries_lower";
}
override public function updateInjury():void{
var _local1:int;
var _local2:ITool;
currentStage++;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (oHeight == -1){
oHeight = (mc.height / 2);
};
if (stageArray[(currentStage - 2)][10]){
mc.nextFrame();
};
if (currentStage > maxStages){
alive = false;
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
_local1 = 0;
while (_local1 < gameState._tools.length) {
_local2 = gameState._tools[_local1];
if ((_local2 is Tongs)){
Tongs(_local2).setTrayHolding(this, "CursorInsertionPlaceable");
Tongs(_local2).addTray();
};
_local1++;
};
};
}
override public function render():void{
var _local1:Object;
var _local2:int;
var _local3:Point;
var _local4:Point;
var _local5:Injury;
if (mc == null){
return;
};
if (mc["anim"] != null){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXTRACTION4);
_local1 = new Object();
_local1.id = 0;
_local2 = (mc.rotation + 180);
_local3 = new Point(mc.x, mc.y);
_local4 = LineUtils.getPositionFromAngle(_local3, _local2, (oHeight / 2));
_local1.y = _local4.y;
_local1.x = _local4.x;
_local1.rotation = 0;
_local1.scale = 1;
_local5 = new Injury(_local1);
gameState.addBlood(_local5);
if (mc["anim"].currentFrame == mc["anim"].totalFrames){
alive = false;
gameState.removeInjury(this);
};
};
if (alive){
damageTimer++;
if (damageTimer >= stageArray[(currentStage - 1)][3]){
damageTimer = 0;
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
};
specialTimer = (specialTimer + 2);
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
}
}
}//package game.model.assets.injuries
Section 84
//KidneyTransplantLeftAS (game.model.assets.injuries.KidneyTransplantLeftAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class KidneyTransplantLeftAS extends TransplantAS implements IInjury {
public function KidneyTransplantLeftAS(_arg1:GameState){
super(_arg1);
make = "kidneyTransplantLeft";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 3;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addBlood(_local5, _local4);
_local6++;
};
}
}
}//package game.model.assets.injuries
Section 85
//KidneyTransplantRightAS (game.model.assets.injuries.KidneyTransplantRightAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class KidneyTransplantRightAS extends TransplantAS implements IInjury {
public function KidneyTransplantRightAS(_arg1:GameState){
super(_arg1);
make = "kidneyTransplantRight";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 3;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addBlood(_local5, _local4);
_local6++;
};
}
}
}//package game.model.assets.injuries
Section 86
//KneeTransplantAS (game.model.assets.injuries.KneeTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class KneeTransplantAS extends TransplantAS implements IInjury {
public function KneeTransplantAS(_arg1:GameState){
super(_arg1);
make = "kneeTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 1;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:* = 0;
while (_local3 < _arg1) {
gameState.controller.addEffect("sparkParticle", mouseX, mouseY, 0, "effects_lower", 1);
_local3++;
};
gameState.controller.addEffect("boneParticle", mouseX, mouseY, 0, "effects_lower", 1);
}
}
}//package game.model.assets.injuries
Section 87
//LargeCutAS (game.model.assets.injuries.LargeCutAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class LargeCutAS extends InjuryGraphic implements IInjury {
public function LargeCutAS(_arg1:GameState){
super(_arg1);
make = "largeCut";
maxStages = 3;
stageArray = [["stitch", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["lighter", "back", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", true, smallStage], ["cream", "back", 1000, 250, 0.4, 500, "nothing", "nothing", true, "invisible", true, smallStage]];
}
}
}//package game.model.assets.injuries
Section 88
//LargeCutScarAS (game.model.assets.injuries.LargeCutScarAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class LargeCutScarAS extends InjuryGraphic implements IInjury {
public function LargeCutScarAS(_arg1:GameState){
super(_arg1);
make = "largeCutScar";
maxStages = 2;
stageArray = [["stitch", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["lighter", "back", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", true, smallStage]];
}
}
}//package game.model.assets.injuries
Section 89
//LeftThumbTransplantAS (game.model.assets.injuries.LeftThumbTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class LeftThumbTransplantAS extends TransplantAS implements IInjury {
public function LeftThumbTransplantAS(_arg1:GameState){
super(_arg1);
make = "leftThumbTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 1;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:* = 0;
while (_local3 < _arg1) {
gameState.controller.addEffect("sparkParticle", mouseX, mouseY, 0, "effects_lower", 1);
_local3++;
};
}
}
}//package game.model.assets.injuries
Section 90
//LipAS (game.model.assets.injuries.LipAS)
package game.model.assets.injuries {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import game.model.*;
import game.interfaces.*;
public class LipAS extends InjuryGraphic implements IInjury {
public function LipAS(_arg1:GameState){
super(_arg1);
make = "lip";
currentStage = 1;
maxStages = 1;
stageArray = [["injection", "nothing", 1000, 250, 0.3, 350, "nothing", "nothing", false, "invisible", false, smallStage]];
depth = "injuries_lower";
}
override public function updateInjury():void{
currentStage++;
damageTimer = 0;
gameState.createPopup("correct", mc.x, mc.y, this);
if (currentStage > maxStages){
alive = false;
mc.gotoAndStop("DYING");
invincible = true;
gameState.removeInjury(this);
};
}
override public function createEffect(_arg1:int, _arg2:int):void{
}
override public function render():void{
if (mc == null){
return;
};
}
override public function interact():void{
}
override public function special():void{
}
override public function setup():void{
var _local2:DisplayObject;
var _local3:ColorTransform;
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
mc.stop();
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local3 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local3.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local3.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local3.color = 6750003;
};
};
};
_local2.transform.colorTransform = _local3;
_local2.visible = true;
};
hitBoxes[0].push([_local2, 3]);
};
_local1++;
};
mc.gotoAndStop("ALIVE");
}
}
}//package game.model.assets.injuries
Section 91
//NoseTransplantAS (game.model.assets.injuries.NoseTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class NoseTransplantAS extends TransplantAS implements IInjury {
public function NoseTransplantAS(_arg1:GameState){
super(_arg1);
make = "noseTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 1;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:* = 0;
while (_local3 < _arg1) {
gameState.controller.addEffect("sparkParticle", mouseX, mouseY, 0, "effects_lower", 1);
_local3++;
};
gameState.controller.addEffect("boneParticle", mouseX, mouseY, 0, "effects_lower", 1);
}
}
}//package game.model.assets.injuries
Section 92
//PelvisTransplantAS (game.model.assets.injuries.PelvisTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class PelvisTransplantAS extends TransplantAS implements IInjury {
public function PelvisTransplantAS(_arg1:GameState){
super(_arg1);
make = "pelvisTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 1;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:* = 0;
while (_local3 < _arg1) {
gameState.controller.addEffect("sparkParticle", mouseX, mouseY, 0, "effects_lower", 1);
_local3++;
};
gameState.controller.addEffect("boneParticle", mouseX, mouseY, 0, "effects_lower", 1);
}
}
}//package game.model.assets.injuries
Section 93
//PoisonAS (game.model.assets.injuries.PoisonAS)
package game.model.assets.injuries {
import flash.display.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
public class PoisonAS extends InjuryGraphic implements IInjury {
public var minX:int;// = -50
public var minY:int;// = 150
public var created:Boolean;
public var maxX:int;// = 550
public var maxY:int;// = 410
public function PoisonAS(_arg1:GameState){
super(_arg1);
make = "poison";
maxStages = 1;
stageArray = [["injection", "nothing", 1000, 250, 0.4, 980, "poison", "nothing", true, "invisible", false, smallStage]];
created = false;
}
override public function updateInjury():void{
var _local1:Object;
var _local2:Injury;
if (currentStage == 1){
_local1 = new Object();
_local1.id = 11;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, false);
gameState.addInjury(_local2, false);
gameState.addInjury(_local2, false);
};
super.updateInjury();
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 11;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addInjury(_local5, false);
_local6++;
};
}
override public function special():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Boolean;
var _local6:*;
var _local7:InjuryGraphic;
var _local8:int;
var _local9:Object;
var _local10:Injury;
if (created == false){
specialTimer = Math.round(((stageArray[(currentStage - 1)][5] / 2) * Math.random()));
_local1 = (360 * Math.random());
_local2 = 0;
while (_local2 < (_local1 + 360)) {
_local3 = (mc.x + (Math.sin((((_local1 + _local2) * Math.PI) / 180)) * (mc.width * 0.8)));
_local4 = (mc.y + (Math.cos((((_local1 + _local2) * Math.PI) / 180)) * -((mc.width * 0.8))));
if ((((((((_local3 > minX)) && ((_local3 < maxX)))) && ((_local4 > minY)))) && ((_local4 < maxY)))){
_local5 = true;
_local6 = 0;
while (_local6 < gameState._injuries.length) {
_local7 = (gameState._injuries[_local6] as InjuryGraphic);
if ((((_local7 is PoisonAS)) && (!((_local7 == this))))){
_local8 = MapUtils.getDist(_local3, _local7.instance_data.x, _local4, _local7.instance_data.y);
if (_local8 <= (mc.width * 0.8)){
_local5 = false;
break;
};
};
_local6++;
};
if (_local5){
_local9 = new Object();
_local9.id = 12;
_local9.x = _local3;
_local9.y = _local4;
_local9.rotation = 0;
_local9.scale = 1;
_local10 = new Injury(_local9);
gameState.addInjury(_local10, false);
break;
};
};
_local2 = (_local2 + 20);
};
};
}
override public function setup():void{
var _local2:DisplayObject;
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = Math.round(((stageArray[(currentStage - 1)][5] / 2) * Math.random()));
mc.stop();
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local2.visible = true;
};
hitBoxes[0].push([_local2, 3]);
};
_local1++;
};
}
}
}//package game.model.assets.injuries
Section 94
//PoisonKidneyTransplantAS (game.model.assets.injuries.PoisonKidneyTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class PoisonKidneyTransplantAS extends TransplantAS implements IInjury {
public function PoisonKidneyTransplantAS(_arg1:GameState){
super(_arg1);
make = "poisonKidneyTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 3;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addBlood(_local5, _local4);
_local6++;
};
}
}
}//package game.model.assets.injuries
Section 95
//PoisonLiverTransplantAS (game.model.assets.injuries.PoisonLiverTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class PoisonLiverTransplantAS extends TransplantAS implements IInjury {
public function PoisonLiverTransplantAS(_arg1:GameState){
super(_arg1);
make = "poisonLiverTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 3;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addBlood(_local5, _local4);
_local6++;
};
}
}
}//package game.model.assets.injuries
Section 96
//PoisonSplatterAS (game.model.assets.injuries.PoisonSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class PoisonSplatterAS extends SplatterAS implements IInjury {
public function PoisonSplatterAS(_arg1:GameState, _arg2:Number=-1){
super(_arg1, _arg2);
make = "poisonSplatter";
baseVel = 6;
numParticles = 13;
stageArray = [["nothing", "nothing", 1000, 350, 0.06, 100, "nothing", "nothing", true, "invisible", false, smallStage]];
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
ran = 1;
}
override public function render():void{
super.render();
if (alive){
damageTimer++;
if (damageTimer >= stageArray[(currentStage - 1)][3]){
damageTimer = 0;
gameState.health = (gameState.health - (particles.length / 3));
};
specialTimer = (specialTimer + 2);
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
}
}
}//package game.model.assets.injuries
Section 97
//RightThumbTransplantAS (game.model.assets.injuries.RightThumbTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class RightThumbTransplantAS extends TransplantAS implements IInjury {
public function RightThumbTransplantAS(_arg1:GameState){
super(_arg1);
make = "rightThumbTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 1;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:* = 0;
while (_local3 < _arg1) {
gameState.controller.addEffect("sparkParticle", mouseX, mouseY, 0, "effects_lower", 1);
_local3++;
};
}
}
}//package game.model.assets.injuries
Section 98
//SaltSplatterAS (game.model.assets.injuries.SaltSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class SaltSplatterAS extends SplatterAS implements IInjury {
public function SaltSplatterAS(_arg1:GameState, _arg2:Number=-1){
super(_arg1, _arg2);
make = "saltSplatter";
baseVel = 6;
numParticles = 3;
stageArray = [["nothing", "nothing", 1000, 350, 0.06, 100, "nothing", "nothing", true, "invisible", false, smallStage]];
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
ran = 1;
}
override public function render():void{
super.render();
if (alive){
damageTimer++;
if (damageTimer >= stageArray[(currentStage - 1)][3]){
damageTimer = 0;
gameState.health = (gameState.health - (particles.length / 3));
};
specialTimer = (specialTimer + 2);
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
}
}
}//package game.model.assets.injuries
Section 99
//ScarringAS (game.model.assets.injuries.ScarringAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class ScarringAS extends InjuryGraphic implements IInjury {
public function ScarringAS(_arg1:GameState){
super(_arg1);
make = "scarring";
currentStage = 1;
maxStages = 3;
stageArray = [["cutter", "nothing", 1000, 250, 0.5, 75, "nothing", "nothing", false, "yellow", true, smallStage], ["stitch", "nothing", 1000, 250, 0.5, 500, "blood", "nothing", false, "invisible", true, smallStage], ["lighter", "back", 1000, 250, 0.5, 100, "nothing", "nothing", false, "invisible", true, smallStage]];
}
}
}//package game.model.assets.injuries
Section 100
//ShoulderTransplantAS (game.model.assets.injuries.ShoulderTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class ShoulderTransplantAS extends TransplantAS implements IInjury {
public function ShoulderTransplantAS(_arg1:GameState){
super(_arg1);
make = "shoulderTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 1;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:* = 0;
while (_local3 < _arg1) {
gameState.controller.addEffect("sparkParticle", mouseX, mouseY, 0, "effects_lower", 1);
_local3++;
};
gameState.controller.addEffect("boneParticle", mouseX, mouseY, 0, "effects_lower", 1);
}
}
}//package game.model.assets.injuries
Section 101
//SmallCutAS (game.model.assets.injuries.SmallCutAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class SmallCutAS extends InjuryGraphic implements IInjury {
public function SmallCutAS(_arg1:GameState){
super(_arg1);
make = "smallCut";
maxStages = 2;
stageArray = [["lighter", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["cream", "back", 1000, 250, 0.4, 500, "nothing", "nothing", true, "invisible", true, smallStage]];
}
}
}//package game.model.assets.injuries
Section 102
//SparkSplatterAS (game.model.assets.injuries.SparkSplatterAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class SparkSplatterAS extends SplatterAS implements IInjury {
public function SparkSplatterAS(_arg1:GameState, _arg2:Number=-1){
super(_arg1, _arg2);
make = "sparkSplatter";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
remove = true;
ran = 1;
}
}
}//package game.model.assets.injuries
Section 103
//SpineTransplantAS (game.model.assets.injuries.SpineTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class SpineTransplantAS extends TransplantAS implements IInjury {
public function SpineTransplantAS(_arg1:GameState){
super(_arg1);
make = "spineTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 1;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:* = 0;
while (_local3 < _arg1) {
gameState.controller.addEffect("sparkParticle", mouseX, mouseY, 0, "effects_lower", 1);
_local3++;
};
gameState.controller.addEffect("boneParticle", mouseX, mouseY, 0, "effects_lower", 1);
}
}
}//package game.model.assets.injuries
Section 104
//SplatterAS (game.model.assets.injuries.SplatterAS)
package game.model.assets.injuries {
import flash.display.*;
import app.connector.*;
import shell.*;
import game.model.*;
import game.interfaces.*;
public class SplatterAS extends InjuryGraphic implements IInjury {
public var remove:Boolean;
public var minX:int;// = 25
public var numParticles:int;// = 1
public var particle_mod:Number;// = 0.7
public var baseVel:Number;// = 7
public var minY:int;// = 110
public var ran:int;// = 5
public var particles:Array;
public var maxY:int;// = 435
public var friction:Number;// = 0.9
public var maxX:int;// = 575
public function SplatterAS(_arg1:GameState, _arg2:Number=-1){
super(_arg1);
maxStages = 1;
depth = "splatter_higher";
particles = [];
if (_arg2 != -1){
baseVel = _arg2;
};
stageArray = [["nothing", "nothing", 1000, 250, 0.06, 100, "nothing", "nothing", true, "invisible", false, smallStage]];
}
override public function render():void{
var _local1:*;
var _local2:MovieClip;
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Injury;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local1 = 0;
for (;_local1 < particles.length;_local1++) {
_local2 = particles[_local1][0];
if (particles[_local1][1] != -1){
_local3 = (particles[_local1][1] * friction);
if (_local3 <= 1){
_local3 = 0;
};
particles[_local1][1] = _local3;
_local2.x = (_local2.x + (Math.sin(((_local2.rotation * Math.PI) / 180)) * _local3));
_local2.y = (_local2.y + (Math.cos(((_local2.rotation * Math.PI) / 180)) * -(_local3)));
_local4 = particles[_local1][2][0];
if (_local4 == particles[_local1][2][1]){
if ((this is FeatherSplatterAS)){
_local2.gotoAndStop(1);
} else {
_local2.nextFrame();
};
mc.cacheAsBitmap = true;
if (depth == "splatter_higher"){
if (remove){
if ((this is FeatherSplatterAS)){
};
while (mc.numChildren > 0) {
if ((this is FireSplatterAS)){
_local5 = new Object();
_local5.id = 28;
_local5.x = mc.getChildAt(0).x;
_local5.y = mc.getChildAt(0).y;
_local5.rotation = (360 * Math.random());
_local5.scale = 1;
_local6 = new Injury(_local5);
gameState.addInjury(_local6, playerCreated);
} else {
if ((this is BloodFireSplatterAS)){
_local5 = new Object();
_local5.id = 84;
_local5.x = mc.getChildAt(0).x;
_local5.y = mc.getChildAt(0).y;
_local5.rotation = (360 * Math.random());
_local5.scale = 1;
_local6 = new Injury(_local5);
gameState.addInjury(_local6, playerCreated);
};
};
mc.removeChildAt(0);
particles.splice(0, 1);
};
if (particles.length == 0){
updateInjury();
};
} else {
depth = "splatter_lower";
gameState.controller.view.swapDepth(this, "splatter_higher");
if ((((((((_local2.x < minX)) || ((_local2.x > maxX)))) || ((_local2.y < minY)))) || ((_local2.y > maxY)))){
if ((this is FeatherSplatterAS)){
};
removeParticle(_local1);
continue;
};
};
};
if (_local2.currentFrame == _local2.totalFrames){
};
} else {
_local4++;
_local8 = Math.round(((100 / particles[_local1][2][1]) * _local4));
if ((this is FeatherSplatterAS)){
_local9 = ((100 - _local8) / 1000);
} else {
_local9 = ((50 - _local8) / 1000);
};
_local7 = (1 + _local9);
_local2.scaleX = (_local2.scaleX * _local7);
_local2.scaleY = (_local2.scaleY * _local7);
particles[_local1][2][0] = _local4;
};
};
};
}
override public function updateInjury():void{
currentStage++;
damageTimer = 0;
gameState.createPopup("correct", mouseX, mouseY, this);
if (stageArray[(currentStage - 2)][10]){
mc.nextFrame();
};
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
};
}
public function removeParticle(_arg1:int):void{
mc.removeChild(particles[_arg1][0]);
particles.splice(_arg1, 1);
if ((((((((((this is PoisonSplatterAS)) || ((this is InkSplatterAS)))) || ((this is FatSplatterAS)))) || ((this is DoveSplatterAS)))) || ((this is SaltSplatterAS)))){
if (particles.length == 0){
updateInjury();
};
} else {
if (particles.length == 0){
gameState.checkTutorial("removed_injury", this);
};
};
}
override public function setup():void{
var _local2:MovieClip;
var _local3:Number;
var _local4:Number;
var _local5:int;
var _local6:Array;
damageTimer = 0;
specialTimer = 0;
var _local1:* = 0;
while (_local1 < Math.ceil((numParticles * particle_mod))) {
_local2 = (RuntimeLibrary.getMovieClipByLinkageID((make + Math.round((1 + ((ran - 1) * Math.random()))))) as MovieClip);
_local2.x = instance_data.x;
_local2.y = instance_data.y;
_local2.scaleX = 0.3;
_local2.scaleY = 0.3;
if (original){
_local2.gotoAndStop(2);
} else {
_local2.gotoAndStop(1);
};
_local2.rotation = (360 * Math.random());
mc.addChild(_local2);
_local3 = ((baseVel / 2) + (baseVel * Math.random()));
_local4 = _local3;
_local5 = 1;
while (_local4 > 1) {
_local4 = (_local4 * friction);
_local5++;
};
if (original){
};
_local6 = [_local2, _local3, [0, _local5]];
particles.push(_local6);
_local1++;
};
}
}
}//package game.model.assets.injuries
Section 105
//SquidAS (game.model.assets.injuries.SquidAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import shell.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
import game.model.assets.tools.*;
public class SquidAS extends InjuryGraphic implements IInjury {
public var splatMod:int;// = 2
public var bloodVel:int;// = 20
public var minX:int;// = 0
public var minY:int;// = 0
public var hits:Array;
public var state:String;
public var stunned:Boolean;
public var arm1:MovieClip;
public var arm_positions:Array;
public var arm3:MovieClip;
public var arm5:MovieClip;
public var arm4:MovieClip;
public var arm2:MovieClip;
public var maxEffectTimer:int;// = 3
public var maxX:int;// = 650
public var maxY:int;// = 460
public var splatChance:int;// = 50
public var inkTimer:int;
public function SquidAS(_arg1:GameState){
arm_positions = [[-245.5, -142], [-223.5, 80.7], [244, -187.3], [247, 18.3], [-17.9, 156]];
super(_arg1);
make = "squid";
currentStage = 1;
maxStages = 6;
stageArray = [[["chainsaw", "battery"], "nothing", 1000, 250, 0.07, 150, "nothing", "nothing", false, "yellow", false, bigStage], [["chainsaw", "battery"], "nothing", 1000, 250, 0.07, 150, "nothing", "nothing", false, "yellow", false, bigStage], [["chainsaw", "battery"], "nothing", 1000, 250, 0.07, 150, "nothing", "nothing", false, "yellow", false, bigStage], [["chainsaw", "battery"], "nothing", 1000, 250, 0.07, 150, "nothing", "nothing", false, "yellow", false, bigStage], [["chainsaw", "battery"], "nothing", 1000, 250, 0.07, 150, "nothing", "nothing", false, "yellow", false, bigStage], [["chainsaw", "battery"], "nothing", 1000, 250, 0.07, 150, "nothing", "nothing", true, "invisible", false, bigStage]];
depth = "creatures_lower";
state = "dying";
inkTimer = 0;
}
override public function setup():void{
var _local1:*;
var _local2:MovieClip;
var _local3:*;
var _local4:DisplayObject;
hitBoxes = [];
_local1 = 0;
while (_local1 < hits.length) {
hitBoxes.push([]);
_local2 = mc[("hit" + hits[_local1])];
_local3 = 0;
while (_local3 < _local2.numChildren) {
_local4 = _local2.getChildAt(_local3);
if ((_local4 is MovieClip)){
_local4.visible = false;
hitBoxes[_local1].push([_local4, 6]);
};
_local3++;
};
_local1++;
};
specialTimer = 0;
state = "before_spray";
mc["head"].gotoAndStop(state);
stunned = false;
_local1 = 0;
while (_local1 < (hits.length - 1)) {
this[("arm" + (_local1 + 1))] = (RuntimeLibrary.getMovieClipByLinkageID(("arm" + (_local1 + 1))) as MovieClip);
this[("arm" + (_local1 + 1))].x = (arm_positions[_local1][0] + mc.x);
this[("arm" + (_local1 + 1))].y = (arm_positions[_local1][1] + mc.y);
gameState.controller.view.injuries_lower.addChildAt(this[("arm" + (_local1 + 1))], 0);
_local1++;
};
}
override public function updateInjury():void{
currentStage++;
gameState.createPopup("correct", mc.x, mc.y, this);
if (currentStage > maxStages){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SNARL);
alive = false;
invincible = true;
state = "dying";
mc["head"].gotoAndStop(state);
} else {
stunned = false;
specialTimer = stageArray[(currentStage - 1)][5];
};
}
public function removeHit(_arg1:int):void{
var _local3:int;
var _local4:int;
var _local2:int = hits.splice(_arg1, 1);
mc[("hit" + _local2)].visible = false;
hitBoxes.splice(_arg1, 1);
if (_local2 != 6){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SQUID_ANGRY);
_local3 = (5 + (Math.random() * 10));
_local4 = (5 + (Math.random() * 10));
this[("arm" + _local2)].x = (this[("arm" + _local2)].x - _local3);
this[("arm" + _local2)].y = (this[("arm" + _local2)].y - _local4);
} else {
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SQUID_PAIN);
};
}
override public function render():void{
var _local1:int;
var _local2:int;
var _local3:Object;
var _local4:Injury;
var _local5:Object;
var _local6:Injury;
var _local7:Object;
var _local8:Injury;
var _local9:Object;
var _local10:Injury;
var _local11:Object;
var _local12:Injury;
var _local13:Number;
if (mc == null){
return;
};
if (alive){
specialTimer++;
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
} else {
if (mc["head"].currentLabel == "dying"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SQUID_EXPLOSION);
inkTimer++;
if (inkTimer >= 25){
inkTimer = 0;
_local3 = new Object();
_local3.id = 48;
_local3.x = mc.x;
_local3.y = mc.y;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addInjury(_local4, false);
_local5 = new Object();
_local5.id = 48;
_local5.x = (mc.x + 100);
_local5.y = (mc.y - 100);
_local5.rotation = 0;
_local5.scale = 1;
_local6 = new Injury(_local5);
_local7 = new Object();
_local7.id = 48;
_local7.x = (mc.x - 100);
_local7.y = (mc.y + 100);
_local7.rotation = 0;
_local7.scale = 1;
_local8 = new Injury(_local7);
_local9 = new Object();
_local9.id = 48;
_local9.x = (mc.x + 100);
_local9.y = (mc.y + 100);
_local9.rotation = 0;
_local9.scale = 1;
_local10 = new Injury(_local9);
gameState.addInjury(_local10, false);
_local11 = new Object();
_local11.id = 48;
_local11.x = (mc.x - 100);
_local11.y = (mc.y - 100);
_local11.rotation = 0;
_local11.scale = 1;
_local12 = new Injury(_local11);
gameState.addInjury(_local12, false);
};
_local1 = (Math.random() * maxX);
_local2 = (Math.random() * maxY);
gameState.controller.addSplat("ink", _local1, _local2);
trace(MenuObject.describe(mc["head"]));
if (mc["head"]["dying"] != null){
mc["head"]["dying"].gotoAndStop((mc["head"]["dying"].currentFrame + 1));
if (mc["head"]["dying"].currentFrame == mc["head"]["dying"].totalFrames){
state = "dead";
mc["head"].gotoAndStop(state);
gameState.removeInjury(this);
};
};
};
};
if (state == "craze"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.ERUPT);
gameState.controller.redScreen();
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
} else {
if (state == "spray"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SPITTING);
_local13 = (Math.random() * splatChance);
if (_local13 <= (splatChance / splatMod)){
_local1 = (Math.random() * maxX);
_local2 = (Math.random() * maxY);
gameState.controller.addSplat("ink", _local1, _local2);
};
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
} else {
if (state == "mouth_open"){
if (((((((!((mc["head"] == null))) && (!((mc["head"]["mouth_open"] == null))))) && (!((mc["head"]["mouth_open"]["holder"] == null))))) && ((mc["head"]["mouth_open"]["holder"].currentFrame > 15)))){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SUCK);
};
} else {
if (state == "stunned"){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.DAZED);
};
};
};
};
}
override public function special():void{
var _local2:MovieClip;
var _local3:*;
var _local4:DisplayObject;
if (state == "before_craze"){
specialTimer = (stageArray[(currentStage - 1)][5] / 2);
state = "craze";
} else {
if (state == "craze"){
specialTimer = 0;
state = "before_spray";
} else {
if (state == "before_spray"){
specialTimer = ((stageArray[(currentStage - 1)][5] / 10) * currentStage);
mc["head"]["mouth_open"] = null;
state = "mouth_open";
} else {
if (state == "mouth_open"){
specialTimer = (stageArray[(currentStage - 1)][5] / 2);
state = "spray";
SoundController.getInstance().stopFX(SoundPackage.SUCK);
} else {
if (state == "spray"){
specialTimer = 0;
state = "before_spray";
} else {
if (state == "stunned"){
specialTimer = (stageArray[(currentStage - 1)][5] / 2);
state = "craze";
};
};
};
};
};
};
mc["head"].gotoAndStop(state);
stunned = false;
var _local1:* = 0;
while (_local1 < hits.length) {
_local2 = mc[("hit" + hits[_local1])];
_local3 = 0;
while (_local3 < _local2.numChildren) {
_local4 = _local2.getChildAt(_local3);
if ((_local4 is MovieClip)){
_local4.visible = false;
};
_local3++;
};
_local1++;
};
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
super.setData(_arg1, _arg2, _arg3, _arg4);
hits = [1, 2, 3, 4, 5, 6];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 48;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addInjury(_local5, false);
_local6++;
};
}
override public function interact():void{
var _local1:*;
var _local2:MovieClip;
var _local3:*;
var _local4:DisplayObject;
var _local5:ColorTransform;
if ((gameState.currentTool is Battery)){
if (mc["head"]["mouth_open"]["tonsils"].hitTestPoint(mouseX, mouseY, true)){
mc["head"]["mouth_open"]["tonsils"] = null;
gameState.createPopup("correct", mouseX, mouseY, this, -1);
state = "stunned";
SoundController.getInstance().stopFX(SoundPackage.SUCK);
mc["head"].gotoAndStop(state);
specialTimer = 0;
stunned = true;
_local1 = 0;
while (_local1 < hits.length) {
_local2 = mc[("hit" + hits[_local1])];
_local3 = 0;
while (_local3 < _local2.numChildren) {
_local4 = _local2.getChildAt(_local3);
if ((_local4 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local4.visible = false;
} else {
_local5 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local5.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local5.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local5.color = 6750003;
};
};
};
_local4.transform.colorTransform = _local5;
_local4.visible = true;
};
};
_local3++;
};
_local1++;
};
} else {
gameState.createPopup("wrong", mouseX, mouseY, null);
};
};
}
}
}//package game.model.assets.injuries
Section 106
//SurfaceExtractionAS (game.model.assets.injuries.SurfaceExtractionAS)
package game.model.assets.injuries {
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
public class SurfaceExtractionAS extends InjuryGraphic implements IInjury {
public var removableLength:int;// = 46
public var angleBuffer:int;// = 35
public var origRX:Number;
public var origHX:Number;
public function SurfaceExtractionAS(_arg1:GameState){
super(_arg1);
make = "surfaceExtraction";
maxStages = 5;
stageArray = [["tongs", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", false, smallStage], ["tongs", "back", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["stitch", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["lighter", "back", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", true, smallStage], ["cream", "back", 1000, 250, 0.4, 500, "nothing", "nothing", true, "invisible", true, smallStage]];
origRX = -1;
origHX = -1;
depth = "injuries_lower";
}
override public function updateInjury():void{
var _local6:Object;
var _local7:Injury;
var _local1:int = (mc.rotation + 180);
var _local2:Point = new Point(mc.x, mc.y);
var _local3:int = MapUtils.getDist(mc["s"].x, mc["e"].x, mc["s"].y, mc["e"].y);
var _local4:Point = LineUtils.getPositionFromAngle(_local2, _local1, (_local3 / 2));
if (currentStage == 1){
_local6 = new Object();
_local6.id = 0;
_local6.y = _local4.y;
_local6.x = _local4.x;
_local6.rotation = 0;
_local6.scale = 1;
_local7 = new Injury(_local6);
gameState.addBlood(_local7);
};
currentStage++;
var _local5:int = (stageArray[(currentStage - 2)][11] - gameState.injuryTimer);
if (_local5 < 0){
_local5 = 0;
};
if (currentStage == 3){
gameState.createPopup("correct", mouseX, mouseY, this);
} else {
gameState.createPopup("correct", _local4.x, _local4.y, this);
};
if (stageArray[(currentStage - 2)][10]){
mc.nextFrame();
};
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
removable.getChildAt(0).visible = false;
};
}
override public function setup():void{
var _local1:Object;
var _local2:int;
var _local3:Point;
var _local4:int;
var _local5:Point;
var _local6:Injury;
if ((((currentStage == 1)) && ((removable.getChildAt(0).visible == false)))){
_local1 = new Object();
_local1.id = 0;
_local2 = (mc.rotation + 180);
_local3 = new Point(mc.x, mc.y);
_local4 = MapUtils.getDist(mc["s"].x, mc["e"].x, mc["s"].y, mc["e"].y);
_local5 = LineUtils.getPositionFromAngle(_local3, _local2, (_local4 / 2));
_local1.y = _local5.y;
_local1.x = _local5.x;
_local1.rotation = 0;
_local1.scale = 1;
_local6 = new Injury(_local1);
gameState.addBlood(_local6);
};
super.setup();
if (origRX == -1){
origRX = removable.getChildAt(0).x;
};
if (origHX == -1){
origHX = mc["hit"].x;
};
removable.getChildAt(0).x = origRX;
mc["hit"].x = origHX;
removable.getChildAt(0).visible = true;
cursor = ("Cursor" + go_data.linkage);
removableLength = (removable.getChildAt(0).height / 2);
}
}
}//package game.model.assets.injuries
Section 107
//SurfaceExtractionGarlicAS (game.model.assets.injuries.SurfaceExtractionGarlicAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class SurfaceExtractionGarlicAS extends SurfaceExtractionAS implements IInjury {
public function SurfaceExtractionGarlicAS(_arg1:GameState){
super(_arg1);
make = "surfaceExtraction";
maxStages = 3;
stageArray = [["tongs", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", false, smallStage], ["tongs", "back", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["vacuum", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", true, "invisible", true, smallStage]];
origRX = -1;
origHX = -1;
depth = "injuries_lower";
}
}
}//package game.model.assets.injuries
Section 108
//SurfaceExtractionStakeAS (game.model.assets.injuries.SurfaceExtractionStakeAS)
package game.model.assets.injuries {
import game.model.*;
import game.interfaces.*;
public class SurfaceExtractionStakeAS extends SurfaceExtractionAS implements IInjury {
public function SurfaceExtractionStakeAS(_arg1:GameState){
super(_arg1);
make = "surfaceExtraction";
maxStages = 3;
stageArray = [["tongs", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", false, smallStage], ["tongs", "back", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["vacuum", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", true, "invisible", true, smallStage]];
origRX = -1;
origHX = -1;
depth = "injuries_lower";
}
}
}//package game.model.assets.injuries
Section 109
//ThighTransplantAS (game.model.assets.injuries.ThighTransplantAS)
package game.model.assets.injuries {
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class ThighTransplantAS extends TransplantAS implements IInjury {
public function ThighTransplantAS(_arg1:GameState){
super(_arg1);
make = "thighTransplant";
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 1;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:* = 0;
while (_local3 < _arg1) {
gameState.controller.addEffect("sparkParticle", mouseX, mouseY, 0, "effects_lower", 1);
_local3++;
};
gameState.controller.addEffect("boneParticle", mouseX, mouseY, 0, "effects_lower", 1);
}
}
}//package game.model.assets.injuries
Section 110
//TransplantAS (game.model.assets.injuries.TransplantAS)
package game.model.assets.injuries {
import flash.display.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class TransplantAS extends InjuryGraphic implements IInjury {
public var max_pieces:Number;
public var removed:Array;
public var pieces_removed:Number;
public var hits:Array;
public var removables:Array;
public function TransplantAS(_arg1:GameState){
super(_arg1);
make = "transplant";
maxStages = 4;
stageArray = [[["chainsaw", "tongs"], "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "yellow", false, smallStage], ["tongs", "back", 1000, 250, 0.4, 500, "nothing", "nothing", false, "invisible", true, smallStage], ["lighter", "back", 1000, 250, 0.4, 100, "nothing", "nothing", false, "black", true, smallStage], ["cream", "back", 1000, 250, 0.4, 500, "nothing", "nothing", false, "green", true, smallStage]];
depth = "injuries_lower";
}
public function updateRemovables(_arg1:int):void{
var _local2:*;
var _local3:int;
var _local4:int;
if (_arg1 == 1){
if (hits.length == 0){
_local2 = 1;
while (_local2 <= max_pieces) {
if (removables.indexOf(_local2) == -1){
removables.push(_local2);
};
_local3 = (5 + (Math.random() * 10));
_local4 = (5 + (Math.random() * 10));
mc[("removable" + _local2)].x = (mc[("removable" + _local2)].x - _local3);
mc[("removable" + _local2)].y = (mc[("removable" + _local2)].y - _local4);
_local2++;
};
} else {
if (removables.indexOf(1) == -1){
removables.push(1);
};
_local3 = (5 + (Math.random() * 10));
_local4 = (5 + (Math.random() * 10));
mc[("removable" + 1)].x = (mc[("removable" + 1)].x - _local3);
mc[("removable" + 1)].y = (mc[("removable" + 1)].y - _local4);
};
} else {
if (_arg1 < (max_pieces - 1)){
if (hits.indexOf((_arg1 - 1)) == -1){
if (removables.indexOf(_arg1) == -1){
removables.push(_arg1);
};
_local3 = (5 + (Math.random() * 10));
_local4 = (5 + (Math.random() * 10));
mc[("removable" + (_arg1 - 1))].x = (mc[("removable" + (_arg1 - 1))].x - _local3);
mc[("removable" + (_arg1 - 1))].y = (mc[("removable" + (_arg1 - 1))].y - _local4);
};
if (hits.indexOf((_arg1 + 1)) == -1){
if (removables.indexOf((_arg1 + 1)) == -1){
removables.push((_arg1 + 1));
};
_local3 = (5 + (Math.random() * 10));
_local4 = (5 + (Math.random() * 10));
mc[("removable" + (_arg1 + 1))].x = (mc[("removable" + (_arg1 + 1))].x - _local3);
mc[("removable" + (_arg1 + 1))].y = (mc[("removable" + (_arg1 + 1))].y - _local4);
};
} else {
if (_arg1 == (max_pieces - 1)){
if (removables.indexOf(_local2) == -1){
removables.push(max_pieces);
};
_local3 = (5 + (Math.random() * 10));
_local4 = (5 + (Math.random() * 10));
mc[("removable" + max_pieces)].x = (mc[("removable" + max_pieces)].x - _local3);
mc[("removable" + max_pieces)].y = (mc[("removable" + max_pieces)].y - _local4);
if (hits.indexOf((_arg1 - 1)) == -1){
if (removables.indexOf(_arg1) == -1){
removables.push(_arg1);
};
_local3 = (5 + (Math.random() * 10));
_local4 = (5 + (Math.random() * 10));
mc[("removable" + _arg1)].x = (mc[("removable" + _arg1)].x - _local3);
mc[("removable" + _arg1)].y = (mc[("removable" + _arg1)].y - _local4);
};
};
};
};
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= (max_pieces - 1)) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function updateInjury():void{
var _local1:int;
var _local2:int;
if (removed.length == max_pieces){
currentStage++;
_local2 = (currentStage - 2);
_local1 = -2;
} else {
_local2 = (currentStage - 1);
_local1 = -1;
};
var _local3:int = (stageArray[_local2][11] - gameState.injuryTimer);
if (_local3 < 0){
_local3 = 0;
};
gameState.createPopup("correct", mc.x, mc.y, this, _local1);
if (stageArray[_local2][10]){
mc.nextFrame();
};
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
};
}
public function removeHit(_arg1:int):void{
var _local2:int = hits.splice(_arg1, 1);
hitBoxes.splice(_arg1, 1);
mc[("hit" + _local2)].visible = false;
updateRemovables(_local2);
}
public function removeRemovable(_arg1:int):void{
mc[("removable" + _arg1)].visible = false;
var _local2:* = 0;
while (_local2 < removables.length) {
if (removables[_local2] == _arg1){
removables.splice(_local2, 1);
};
_local2++;
};
removed.push(_arg1);
}
override public function setup():void{
var _local1:*;
var _local2:MovieClip;
var _local3:*;
var _local4:DisplayObject;
var _local5:ColorTransform;
var _local6:MovieClip;
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
mc.stop();
hitBoxes = [];
_local1 = 0;
while (_local1 < hits.length) {
hitBoxes.push([]);
_local2 = mc[("hit" + hits[_local1])];
_local3 = 0;
while (_local3 < _local2.numChildren) {
_local4 = _local2.getChildAt(_local3);
if ((_local4 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local4.visible = false;
} else {
_local5 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local5.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local5.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local5.color = 6750003;
};
};
};
_local4.transform.colorTransform = _local5;
_local4.visible = true;
hitBoxes[_local1].push([_local4, 2]);
};
};
_local3++;
};
_local1++;
};
_local2 = mc["hit"];
_local3 = 0;
while (_local3 < _local2.numChildren) {
hitBoxes.push([]);
_local4 = _local2.getChildAt(_local3);
if ((_local4 is MovieClip)){
if ((((stageArray[(currentStage - 1)][9] == "invisible")) || ((currentStage == 1)))){
_local4.visible = false;
} else {
_local5 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local5.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local5.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local5.color = 6750003;
};
};
};
_local4.transform.colorTransform = _local5;
_local4.visible = true;
};
if (currentStage != 1){
hitBoxes[_local1].push([_local4, 3]);
};
};
_local3++;
};
_local1 = 0;
while (_local1 < removables.length) {
if (removed.indexOf(removables[_local1]) == -1){
_local6 = mc[("removable" + removables[_local1])];
_local6.visible = true;
};
_local1++;
};
cursor = ("Cursor" + go_data.linkage);
}
}
}//package game.model.assets.injuries
Section 111
//TypeAndTellAS (game.model.assets.injuries.TypeAndTellAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import gs.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import fl.motion.easing.*;
import app.sound.*;
public class TypeAndTellAS extends TransplantAS implements IInjury {
public var oWords:Array;
public var neededWords:int;// = 10
public var minY:int;// = 100
public var minX:int;// = 50
public var typedWord:String;
public var correctWords:int;
public var currentWord:String;
public var words:Array;
public var mx:int;// = -127
public var maxY:int;// = 360
public var otx:int;
public var maxX:int;// = 550
public function TypeAndTellAS(_arg1:GameState){
oWords = ["bacon", "oink", "trotter", "piggy", "troth", "farm", "muddy", "back", "little", "piglet", "swine", "pork", "sausage"];
super(_arg1);
make = "typeAndTell";
maxStages = 6;
stageArray = [[["chainsaw", "tongs"], "nothing", 1000, 250, 0.3, 100, "nothing", "nothing", false, "yellow", false, smallStage], ["tongs", "back", 1000, 250, 0.3, 500, "nothing", "nothing", false, "invisible", true, smallStage], ["lighter", "back", 1000, 250, 0.3, 500, "nothing", "nothing", false, "black", true, smallStage], ["cream", "back", 1000, 250, 0.3, 500, "nothing", "nothing", false, "green", true, smallStage], ["battery", "back", 1000, 250, 0.3, 100, "nothing", "nothing", false, "invisible", true, smallStage], ["anything", "back", 1000, 350, 3, 600, "nothing", "nothing", false, "invisible", true, smallStage]];
otx = -1;
words = [];
trace("type and tell init");
}
public function chooseWord():void{
var _local2:*;
if (words.length == 0){
words = [];
_local2 = 0;
while (_local2 < oWords.length) {
words.push(oWords[_local2]);
_local2++;
};
};
var _local1:int = (Math.random() * words.length);
currentWord = words.splice(_local1, 1);
typedWord = "";
if (otx == -1){
otx = mc["screen"]["word"].x;
};
mc["screen"]["word"].x = otx;
mc["screen"]["word"].text = currentWord;
TweenLite.to(mc["screen"]["word"], ((stageArray[(currentStage - 1)][3] / 30) - correctWords), {ease:Linear.easeNone, x:(mc["screen"]["bomb"].x + (mc["screen"]["bomb"].width / 2)), onComplete:tooSlow});
}
override public function cleanUp():void{
trace("cleanup");
if (mc.stage.hasEventListener(KeyboardEvent.KEY_DOWN)){
mc.stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyboardCheck);
};
if (((!((mc["screen"] == null))) && (!((mc["screen"]["word"] == null))))){
TweenLite.killTweensOf(mc["screen"]["word"]);
};
}
private function setupListener(_arg1:Event=null):void{
var _local2:*;
mc.removeEventListener(Event.ADDED_TO_STAGE, setupListener);
if (mc.stage.hasEventListener(KeyboardEvent.KEY_DOWN) == false){
mc.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardCheck);
gameState.controller.view[depth].mouseEnabled = (gameState.controller.view[depth].mouseChildren = true);
mc.mouseEnabled = (mc.mouseChildren = true);
mc["screen"].mouseEnabled = true;
mc["screen"]["keys"].mouseEnabled = true;
mc["screen"]["keys"].mouseChildren = true;
_local2 = 0;
while (_local2 < mc["screen"]["keys"].numChildren) {
_local2++;
};
};
}
public function wrongWord():void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUZZER_WRONG);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXPLOSION);
TweenLite.killTweensOf(mc["screen"]["word"]);
gameState.createPopup("wrong", mc.x, mc.y, null);
var _local1:Object = new Object();
_local1.id = 29;
_local1.x = (Math.round(((maxX - minX) * Math.random())) + minX);
_local1.y = (Math.round(((maxY - minY) * Math.random())) + minY);
_local1.rotation = 0;
_local1.scale = 1;
var _local2:Injury = new Injury(_local1);
gameState.addInjury(_local2, false);
var _local3:Object = new Object();
_local3.id = 27;
_local3.x = _local1.x;
_local3.y = _local1.y;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:Injury = new Injury(_local3);
gameState.addInjury(_local4, false);
trace("wrong word");
setup();
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
}
private function checkListener(_arg1:Event):void{
if (mc.stage != null){
setupListener();
mc.removeEventListener(Event.ENTER_FRAME, checkListener);
};
}
override public function render():void{
if (alive){
specialTimer++;
if (specialTimer >= stageArray[(currentStage - 1)][5]){
special();
};
};
}
override public function updateInjury():void{
var _local1:int;
var _local2:int;
var _local4:*;
if (removed.length == max_pieces){
currentStage++;
_local2 = (currentStage - 2);
_local1 = -2;
} else {
_local2 = (currentStage - 1);
_local1 = -1;
};
var _local3:int = (stageArray[_local2][11] - gameState.injuryTimer);
if (_local3 < 0){
_local3 = 0;
};
if (currentStage < 6){
gameState.createPopup("correct", mc.x, mc.y, this, _local1);
};
if (stageArray[_local2][10]){
mc.nextFrame();
};
if (currentStage > maxStages){
alive = false;
if (mc.stage.hasEventListener(KeyboardEvent.KEY_DOWN)){
mc.stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyboardCheck);
_local4 = 0;
while (_local4 < mc["screen"]["keys"].numChildren) {
_local4++;
};
};
mc["screen"]["word"].x = mx;
mc["screen"]["word"].text = "!!!CONGRATULATIONS!!!";
ColourUtils.ApplyColourToString(0, mc["screen"]["word"].text.length, 6750003, mc["screen"]["word"]);
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
trace("update injury");
setup();
};
}
override public function updateRemovables(_arg1:int):void{
removables.push(_arg1);
var _local2:int = (2 + (Math.random() * 10));
var _local3:int = (2 + (Math.random() * 10));
mc[("removable" + _arg1)].x = (mc[("removable" + _arg1)].x - _local2);
mc[("removable" + _arg1)].y = (mc[("removable" + _arg1)].y - _local3);
}
override public function setData(_arg1:InjuryData, _arg2:Injury, _arg3:Boolean, _arg4:Boolean):void{
var _local5:*;
super.setData(_arg1, _arg2, _arg3, _arg4);
max_pieces = 3;
pieces_removed = 0;
removables = [];
hits = [];
if (max_pieces == 1){
hits.push(1);
} else {
_local5 = 1;
while (_local5 <= max_pieces) {
hits.push(_local5);
_local5++;
};
};
removed = [];
}
override public function createEffect(_arg1:int, _arg2:int):void{
var _local3:Object = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:int = _arg2;
var _local5:Injury = new Injury(_local3);
var _local6:* = 0;
while (_local6 < _arg1) {
gameState.addBlood(_local5, _local4);
_local6++;
};
}
public function keyCheck(_arg1:MovieClip):void{
var _local2:String = _arg1.name.split("key")[1];
checkWord(_local2);
}
public function checkWord(_arg1:String):void{
var _local2:Boolean;
if (currentWord.substr(typedWord.length, 1) == _arg1){
ColourUtils.ApplyColourToString(0, (typedWord.length + 1), 6750003, mc["screen"]["word"]);
typedWord = (typedWord + _arg1);
if (typedWord == currentWord){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUZZER_RIGHT);
gameState.createPopup("correct", mc.x, mc.y, this, -1);
TweenLite.killTweensOf(mc["screen"]["word"]);
correctWords++;
if (correctWords == neededWords){
mc["screen"]["bomb"].visible = false;
updateInjury();
} else {
trace("check word");
setup();
};
};
} else {
wrongWord();
};
}
override public function interact():void{
var _local1:*;
var _local2:MovieClip;
if (currentStage == 5){
updateInjury();
} else {
if (currentStage == 6){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
_local1 = 0;
while (_local1 < mc["screen"]["keys"].numChildren) {
_local2 = mc["screen"]["keys"].getChildAt(_local1);
if (_local2.hitTestPoint(mouseX, mouseY, true)){
keyCheck(_local2);
};
_local1++;
};
};
};
}
public function keyboardCheck(_arg1:KeyboardEvent):void{
var _local2:String = String.fromCharCode(_arg1.charCode);
checkWord(_local2);
}
public function tooSlow():void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUZZER_WRONG);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXPLOSION);
TweenLite.killTweensOf(mc["screen"]["word"]);
gameState.createPopup("tooslow", mc.x, mc.y, null);
var _local1:Object = new Object();
_local1.id = 29;
_local1.x = (Math.round(((maxX - minX) * Math.random())) + minX);
_local1.y = (Math.round(((maxY - minY) * Math.random())) + minY);
_local1.rotation = 0;
_local1.scale = 1;
var _local2:Injury = new Injury(_local1);
gameState.addInjury(_local2, false);
var _local3:Object = new Object();
_local3.id = 27;
_local3.x = _local1.x;
_local3.y = _local1.y;
_local3.rotation = 0;
_local3.scale = 1;
var _local4:Injury = new Injury(_local3);
gameState.addInjury(_local4, false);
trace("too slow");
setup();
gameState.health = (gameState.health - (stageArray[(currentStage - 1)][4] * 2));
}
override public function setup():void{
var _local1:*;
var _local2:MovieClip;
var _local3:*;
var _local4:DisplayObject;
var _local5:ColorTransform;
var _local6:MovieClip;
trace("calling setup");
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
mc.stop();
if (currentStage > 5){
if (mc.stage != null){
setupListener();
} else {
mc.addEventListener(Event.ENTER_FRAME, checkListener);
};
chooseWord();
return;
};
correctWords = 0;
hitBoxes = [];
_local1 = 0;
while (_local1 < hits.length) {
hitBoxes.push([]);
_local2 = mc[("hit" + hits[_local1])];
_local3 = 0;
while (_local3 < _local2.numChildren) {
_local4 = _local2.getChildAt(_local3);
if ((_local4 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local4.visible = false;
} else {
_local5 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local5.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local5.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local5.color = 6750003;
};
};
};
_local4.transform.colorTransform = _local5;
_local4.visible = true;
hitBoxes[_local1].push([_local4, 2]);
};
};
_local3++;
};
_local1++;
};
_local2 = mc["hit"];
_local3 = 0;
while (_local3 < _local2.numChildren) {
hitBoxes.push([]);
_local4 = _local2.getChildAt(_local3);
if ((_local4 is MovieClip)){
if ((((stageArray[(currentStage - 1)][9] == "invisible")) || ((currentStage == 1)))){
_local4.visible = false;
} else {
_local5 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local5.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local5.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local5.color = 6750003;
};
};
};
_local4.transform.colorTransform = _local5;
_local4.visible = true;
};
if (currentStage != 1){
hitBoxes[_local1].push([_local4, 3]);
};
};
_local3++;
};
_local1 = 0;
while (_local1 < removables.length) {
if (removed.indexOf(removables[_local1]) == -1){
_local6 = mc[("removable" + removables[_local1])];
_local6.visible = true;
};
_local1++;
};
cursor = ("Cursor" + go_data.linkage);
}
}
}//package game.model.assets.injuries
Section 112
//UnderSurfaceExtractionAS (game.model.assets.injuries.UnderSurfaceExtractionAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class UnderSurfaceExtractionAS extends SurfaceExtractionAS implements IInjury {
public function UnderSurfaceExtractionAS(_arg1:GameState){
super(_arg1);
make = "underSurfaceExtraction";
maxStages = 6;
stageArray = [["cutter", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", false, smallStage], ["tongs", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", false, smallStage], ["tongs", "back", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["stitch", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["lighter", "back", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", true, smallStage], ["cream", "back", 1000, 250, 0.4, 500, "nothing", "nothing", true, "invisible", true, smallStage]];
hidden = true;
}
override public function updateInjury():void{
var _local6:int;
var _local7:Object;
var _local8:Injury;
var _local9:*;
var _local1:int = (mc.rotation + 180);
var _local2:Point = new Point(mc.x, mc.y);
var _local3:int = MapUtils.getDist(mc["s"].x, mc["e"].x, mc["s"].y, mc["e"].y);
var _local4:Point = LineUtils.getPositionFromAngle(_local2, _local1, (_local3 / 2));
if (currentStage == 1){
_local6 = ((Math.random() * 1) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("SPLAT" + _local6)]);
hidden = false;
_local7 = new Object();
_local7.id = 0;
_local7.y = _local4.y;
_local7.x = _local4.x;
_local7.rotation = 0;
_local7.scale = 1;
_local8 = new Injury(_local7);
gameState.addBlood(_local8);
mc.visible = true;
_local9 = 0;
while (_local9 < mc.numChildren) {
mc.getChildAt(_local9).visible = true;
_local9++;
};
removable.getChildAt(0).visible = true;
};
currentStage++;
var _local5:int = (stageArray[(currentStage - 2)][11] - gameState.injuryTimer);
if (_local5 < 0){
_local5 = 0;
};
gameState.createPopup("correct", _local4.x, _local4.y, this);
if (stageArray[(currentStage - 2)][10]){
mc.nextFrame();
};
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
if (currentStage != 2){
removable.getChildAt(0).visible = false;
};
};
}
override public function setup():void{
super.setup();
if (currentStage == 1){
mc.visible = false;
removable.getChildAt(0).visible = false;
};
}
}
}//package game.model.assets.injuries
Section 113
//UnderSurfaceExtractionClownAS (game.model.assets.injuries.UnderSurfaceExtractionClownAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.display.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class UnderSurfaceExtractionClownAS extends SurfaceExtractionAS implements IInjury {
public var moved:int;
public function UnderSurfaceExtractionClownAS(_arg1:GameState){
beingHeld = false;
super(_arg1);
make = "underSurfaceExtractionClown";
maxStages = 5;
stageArray = [["cutter", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", false, smallStage], ["tongs", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", true, smallStage], ["stitch", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["lighter", "back", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", true, smallStage], ["cream", "back", 1000, 250, 0.4, 500, "nothing", "nothing", true, "invisible", true, smallStage]];
hidden = true;
moved = 0;
}
override public function updateInjury():void{
var _local1:int;
var _local2:Point;
var _local4:Point;
var _local6:int;
var _local7:Object;
var _local8:Injury;
var _local9:*;
var _local10:Object;
var _local11:Injury;
_local1 = (mc.rotation + 180);
_local2 = new Point(mc.x, mc.y);
var _local3:int = MapUtils.getDist(mc["s"].x, mc["e"].x, mc["s"].y, mc["e"].y);
_local4 = LineUtils.getPositionFromAngle(_local2, _local1, (_local3 / 2));
if (currentStage == 1){
_local6 = ((Math.random() * 1) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("SPLAT" + _local6)]);
hidden = false;
_local7 = new Object();
_local7.id = 0;
_local7.y = _local4.y;
_local7.x = _local4.x;
_local7.rotation = 0;
_local7.scale = 1;
_local8 = new Injury(_local7);
gameState.addBlood(_local8);
mc.visible = true;
_local9 = 0;
while (_local9 < mc.numChildren) {
mc.getChildAt(_local9).visible = true;
_local9++;
};
removable.getChildAt(0).visible = true;
};
currentStage++;
var _local5:int = (stageArray[(currentStage - 2)][11] - gameState.injuryTimer);
if (_local5 < 0){
_local5 = 0;
};
gameState.createPopup("correct", _local4.x, _local4.y, this);
if (stageArray[(currentStage - 2)][10]){
mc.nextFrame();
};
if (currentStage == 3){
_local10 = new Object();
_local10.id = 66;
_local1 = (mc.rotation + 180);
_local2 = new Point(mc.x, mc.y);
_local4 = LineUtils.getPositionFromAngle(_local2, _local1, 72);
_local10.x = _local4.x;
_local10.y = (_local4.y + 100);
_local10.rotation = 0;
_local10.scale = 1;
_local11 = new Injury(_local10);
gameState.addInjury(_local11, false);
removable.getChildAt(0).visible = false;
mc["hit"].x = origHX;
};
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
if (currentStage != 2){
removable.getChildAt(0).visible = false;
};
};
}
override public function render():void{
if (mc == null){
return;
};
super.render();
if (mouseY > 460){
beingHeld = false;
};
if (beingHeld == false){
if ((((((removable.getChildAt(0).x > origRX)) && ((hidden == false)))) && ((currentStage == 2)))){
removable.getChildAt(0).x = (removable.getChildAt(0).x - 1);
mc["hit"].x = (mc["hit"].x - 1);
moved = (moved - 1);
};
};
}
override public function setup():void{
var _local2:Object;
var _local3:int;
var _local4:Point;
var _local5:int;
var _local6:Point;
var _local7:Injury;
var _local8:DisplayObject;
var _local9:ColorTransform;
if ((((currentStage == 1)) && ((removable.getChildAt(0).visible == false)))){
_local2 = new Object();
_local2.id = 0;
_local3 = (mc.rotation + 180);
_local4 = new Point(mc.x, mc.y);
_local5 = MapUtils.getDist(mc["s"].x, mc["e"].x, mc["s"].y, mc["e"].y);
_local6 = LineUtils.getPositionFromAngle(_local4, _local3, (_local5 / 2));
_local2.y = _local6.y;
_local2.x = _local6.x;
_local2.rotation = 0;
_local2.scale = 1;
_local7 = new Injury(_local2);
gameState.addBlood(_local7);
};
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = Math.round((stageArray[(currentStage - 1)][5] * Math.random()));
mc.stop();
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local8 = mc["hit"].getChildAt(_local1);
if ((_local8 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local8.visible = false;
} else {
_local9 = new ColorTransform();
if (stageArray[(currentStage - 1)][9] == "yellow"){
_local9.color = 16777011;
} else {
if (stageArray[(currentStage - 1)][9] == "black"){
_local9.color = 0;
} else {
if (stageArray[(currentStage - 1)][9] == "green"){
_local9.color = 6750003;
};
};
};
_local8.transform.colorTransform = _local9;
_local8.visible = true;
};
hitBoxes[0].push([_local8, 2]);
};
_local1++;
};
if (origRX == -1){
origRX = removable.getChildAt(0).x;
};
if (origHX == -1){
origHX = mc["hit"].x;
};
beingHeld = false;
removable.getChildAt(0).visible = true;
cursor = ("Cursor" + go_data.linkage);
removableLength = (removable.getChildAt(0).height / 2);
removableLength = 1000;
if (currentStage != 2){
removable.getChildAt(0).visible = false;
};
if (currentStage == 1){
mc.visible = false;
};
}
}
}//package game.model.assets.injuries
Section 114
//UnderSurfaceExtractionSilverAS (game.model.assets.injuries.UnderSurfaceExtractionSilverAS)
package game.model.assets.injuries {
import shell.sound.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class UnderSurfaceExtractionSilverAS extends SurfaceExtractionAS implements IInjury {
public function UnderSurfaceExtractionSilverAS(_arg1:GameState){
super(_arg1);
make = "underSurfaceExtractionSilver";
maxStages = 4;
stageArray = [["cutter", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", false, smallStage], ["tongs", "nothing", 1000, 250, 0.4, 100, "nothing", "nothing", false, "invisible", false, smallStage], ["tongs", "back", 1000, 250, 0.4, 500, "blood", "nothing", false, "invisible", true, smallStage], ["vacuum", "nothing", 1000, 250, 0.4, 500, "blood", "nothing", true, "invisible", true, smallStage]];
hidden = true;
}
override public function updateInjury():void{
var _local6:int;
var _local7:Object;
var _local8:Injury;
var _local9:*;
var _local1:int = (mc.rotation + 180);
var _local2:Point = new Point(mc.x, mc.y);
var _local3:int = MapUtils.getDist(mc["s"].x, mc["e"].x, mc["s"].y, mc["e"].y);
var _local4:Point = LineUtils.getPositionFromAngle(_local2, _local1, (_local3 / 2));
if (currentStage == 1){
_local6 = ((Math.random() * 1) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("SPLAT" + _local6)]);
hidden = false;
_local7 = new Object();
_local7.id = 0;
_local7.y = _local4.y;
_local7.x = _local4.x;
_local7.rotation = 0;
_local7.scale = 1;
_local8 = new Injury(_local7);
gameState.addBlood(_local8);
mc.visible = true;
_local9 = 0;
while (_local9 < mc.numChildren) {
mc.getChildAt(_local9).visible = true;
_local9++;
};
removable.getChildAt(0).visible = true;
};
currentStage++;
var _local5:int = (stageArray[(currentStage - 2)][11] - gameState.injuryTimer);
if (_local5 < 0){
_local5 = 0;
};
gameState.createPopup("correct", _local4.x, _local4.y, this);
if (stageArray[(currentStage - 2)][10]){
mc.nextFrame();
};
if (currentStage > maxStages){
alive = false;
gameState.removeInjury(this);
gameState.currentInjuries.splice(gameState.currentInjuries.indexOf(this), 1);
hitBoxes = [];
} else {
setup();
if (currentStage != 2){
removable.getChildAt(0).visible = false;
};
};
}
override public function setup():void{
super.setup();
if (currentStage == 1){
mc.visible = false;
removable.getChildAt(0).visible = false;
};
}
}
}//package game.model.assets.injuries
Section 115
//UnibrowAS (game.model.assets.injuries.UnibrowAS)
package game.model.assets.injuries {
import flash.display.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
public class UnibrowAS extends InjuryGraphic implements IInjury {
public var created:Boolean;
public function UnibrowAS(_arg1:GameState){
super(_arg1);
make = "unibrow";
maxStages = 1;
stageArray = [["lighter", "nothing", 1000, 250, 0.4, 900, "nothing", "nothing", true, "visible", false, smallStage]];
}
override public function updateInjury():void{
var _local1:Object = new Object();
_local1.id = 29;
_local1.x = mc.x;
_local1.y = mc.y;
_local1.rotation = 0;
_local1.scale = 1;
var _local2:Injury = new Injury(_local1);
gameState.addInjury(_local2, false);
super.updateInjury();
gameState.health = (gameState.health - 2);
}
override public function setup():void{
var _local2:DisplayObject;
invincible = false;
invincibleTimer = maxInvincibleTimer;
damageTimer = 0;
specialTimer = Math.round(((stageArray[(currentStage - 1)][5] / 2) * Math.random()));
mc.stop();
hitBoxes = [[]];
var _local1:* = 0;
while (_local1 < mc["hit"].numChildren) {
_local2 = mc["hit"].getChildAt(_local1);
if ((_local2 is MovieClip)){
if (stageArray[(currentStage - 1)][9] == "invisible"){
_local2.visible = false;
} else {
_local2.visible = true;
};
hitBoxes[0].push([_local2, 2]);
};
_local1++;
};
}
}
}//package game.model.assets.injuries
Section 116
//ClownEyeAS (game.model.assets.organs.ClownEyeAS)
package game.model.assets.organs {
import flash.display.*;
import shell.*;
import game.interfaces.*;
public class ClownEyeAS extends EyeAS implements IOrgan {
public function ClownEyeAS(_arg1, _arg2){
super(_arg1, _arg2);
maxEyeMovement = 30;
distanceFromEye = 10;
ovality = 1.2;
ox = 0;
oy = 0;
}
override public function addClip():void{
clip = (RuntimeLibrary.getMovieClipByLinkageID("ClownEye") as MovieClip);
addChild(clip);
clip.x = _x;
clip.y = _y;
}
override public function render():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:*;
if (((!((clip == null))) && (!((clip["pupil"] == null))))){
_local1 = (clip.mouseX - ox);
_local2 = (clip.mouseY - oy);
_local3 = Math.min(Math.max((Math.sqrt(((_local1 * _local1) + (_local2 * _local2))) / distanceFromEye), 0), maxEyeMovement);
_local4 = Math.atan2(_local2, _local1);
clip["pupil"].x = (((Math.cos(_local4) * _local3) * ovality) + ox);
clip["pupil"].y = ((Math.sin(_local4) * _local3) + oy);
};
}
}
}//package game.model.assets.organs
Section 117
//EyeAS (game.model.assets.organs.EyeAS)
package game.model.assets.organs {
import flash.display.*;
import shell.*;
import game.interfaces.*;
public class EyeAS extends Sprite implements IOrgan {
public var maxEyeMovement:Number;// = 90
public var _x:Number;
public var ox:Number;// = 299
public var oy:Number;// = 186
public var clip:MovieClip;
public var distanceFromEye:Number;// = 10
public var _y:Number;
public var ovality:Number;// = 1.2
public function EyeAS(_arg1, _arg2){
_x = _arg1;
_y = _arg2;
trace("hello i am an eye");
}
public function addClip():void{
clip = (RuntimeLibrary.getMovieClipByLinkageID("movingEye") as MovieClip);
addChild(clip);
clip.x = _x;
clip.y = _y;
}
public function render():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:*;
if (((!((clip == null))) && (!((clip["pupil"] == null))))){
_local1 = (mouseX - ox);
_local2 = (mouseY - oy);
_local3 = Math.min(Math.max((Math.sqrt(((_local1 * _local1) + (_local2 * _local2))) / distanceFromEye), 0), maxEyeMovement);
_local4 = Math.atan2(_local2, _local1);
clip["pupil"].x = (((Math.cos(_local4) * _local3) * ovality) + ox);
clip["pupil"].y = ((Math.sin(_local4) * _local3) + oy);
};
}
}
}//package game.model.assets.organs
Section 118
//EyeWithLidAS (game.model.assets.organs.EyeWithLidAS)
package game.model.assets.organs {
import flash.display.*;
import shell.*;
import game.interfaces.*;
public class EyeWithLidAS extends Sprite implements IOrgan {
public var maxEyeMovement:Number;// = 90
public var _x:Number;
public var ox:Number;// = 299
public var oy:Number;// = 186
public var clip:MovieClip;
public var distanceFromEye:Number;// = 10
public var _y:Number;
public var ovality:Number;// = 1.2
public function EyeWithLidAS(_arg1, _arg2){
_x = _arg1;
_y = _arg2;
trace("hello i am an eye");
}
public function addClip():void{
clip = (RuntimeLibrary.getMovieClipByLinkageID("movingEyeWithLid") as MovieClip);
addChild(clip);
clip.x = _x;
clip.y = _y;
}
public function render():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:*;
if (((!((clip == null))) && (!((clip["pupil"] == null))))){
_local1 = (mouseX - ox);
_local2 = (mouseY - oy);
_local3 = Math.min(Math.max((Math.sqrt(((_local1 * _local1) + (_local2 * _local2))) / distanceFromEye), 0), maxEyeMovement);
_local4 = Math.atan2(_local2, _local1);
clip["pupil"].x = (((Math.cos(_local4) * _local3) * ovality) + ox);
clip["pupil"].y = ((Math.sin(_local4) * _local3) + oy);
};
}
}
}//package game.model.assets.organs
Section 119
//Battery (game.model.assets.tools.Battery)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import app.connector.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Battery extends Tool implements ITool {
public var restartAmount:int;
public function Battery(_arg1:GameState){
super(_arg1);
getSingleInjury = false;
level = gameState.controller.so.mySO.data["battery_level"];
if (level == 1){
restartAmount = 10;
} else {
if (level == 2){
restartAmount = 20;
} else {
if (level == 3){
restartAmount = 30;
};
};
};
}
override public function onMouseUp():void{
super.onMouseUp();
}
override public function onMouseDown():void{
super.onMouseDown();
}
override public function turnOff(_arg1:Boolean=true):void{
super.turnOff();
}
override public function wrongUsage():void{
var _local1:Object;
var _local2:Injury;
super.wrongUsage();
gameState.createPopup("wrong", mouseX, mouseY, null);
if ((Connector._current_mission + 1) == 20){
} else {
if ((Connector._current_mission + 1) != 10){
gameState.inShock = true;
gameState.inShockTimer = 0;
_local1 = new Object();
_local1.id = 28;
_local1.x = mouseX;
_local1.y = mouseY;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, true);
} else {
_local1 = new Object();
_local1.id = 29;
_local1.x = mouseX;
_local1.y = mouseY;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, true);
};
};
turnOff();
}
override public function turnOn():void{
var _local1:Boolean;
var _local2:*;
var _local3:*;
if (turnedOn){
return;
};
if ((Connector._current_mission + 1) == 19){
_local1 = false;
_local2 = 0;
while (_local2 < gameState._injuries.length) {
_local3 = gameState._injuries[_local2];
if ((((_local3 is BigCentipedeAS)) && ((BigCentipedeAS(_local3).state == "attack")))){
_local1 = true;
return;
};
_local2++;
};
};
super.turnOn();
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BATTERY);
gameState.controller.addEffect("bodyshock", mouseX, mouseY, 0, "effects_higher", 1);
if ((gameState.currentInjuries[0] is Array)){
if (gameState.currentInjuries[0][0] == "anything"){
gameState.currentInjuries[0][1].interact();
return;
};
};
}
override public function render(_arg1:Event):void{
var _local2:*;
var _local3:BleedAS;
var _local4:InjuryGraphic;
var _local5:MovieClip;
var _local6:Object;
var _local7:Injury;
var _local8:Array;
var _local9:Boolean;
if ((Connector._current_mission + 1) == 10){
wrongUsage();
return;
};
if ((Connector._current_mission + 1) == 20){
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
if (gameState.currentInjuries.length != 0){
_local2 = 0;
while (_local2 < gameState.currentInjuries.length) {
_local3 = gameState.currentInjuries[_local2];
_local3.updateInjury();
_local2++;
};
} else {
wrongUsage();
};
return;
};
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
if (gameState.currentInjuries.length != 0){
_local2 = 0;
while (_local2 < gameState.currentInjuries.length) {
_local4 = gameState.currentInjuries[_local2];
if ((_local4 is DoveAS)){
if (((_local4.invincible) && (_local4.mc["alive"].visible))){
return;
};
if (((_local4.invincible) && ((_local4.mc["alive"].visible == false)))){
wrongUsage();
return;
};
} else {
if (_local4.invincible){
return;
};
};
if ((_local4 is SquidAS)){
_local5 = _local4.mc["hit6"];
} else {
_local5 = _local4.mc["hit"];
};
if (_local5.hitTestPoint(mouseX, mouseY, true)){
_local4.interact();
turnOff();
return;
};
_local2++;
};
} else {
if (gameState.inShock){
_local6 = new Object();
_local6.id = 28;
_local6.x = mouseX;
_local6.y = mouseY;
_local6.rotation = 0;
_local6.scale = 1;
_local7 = new Injury(_local6);
gameState.addInjury(_local7, true);
gameState.createPopup("revived", mouseX, mouseY, null);
gameState.inShock = false;
gameState.inShockTimer = gameState.maxInShockTimer;
if (gameState.health > restartAmount){
gameState.health = restartAmount;
};
turnOff();
} else {
_local8 = gameState.controller.mission_data.data;
_local9 = false;
_local2 = 0;
while (_local2 < gameState._injuries.length) {
if ((((gameState._injuries[_local2] is CentipedeAS)) && (CentipedeAS(gameState._injuries[_local2]).hidden))){
_local9 = true;
CentipedeAS(gameState._injuries[_local2]).interact();
break;
};
_local2++;
};
if (((!((Connector.current_mission_id == 16))) || ((_local9 == false)))){
wrongUsage();
} else {
gameState.inShock = true;
gameState.inShockTimer = 0;
turnOff();
_local6 = new Object();
_local6.id = 28;
_local6.x = mouseX;
_local6.y = mouseY;
_local6.rotation = 0;
_local6.scale = 1;
_local7 = new Injury(_local6);
gameState.addInjury(_local7, true);
};
};
};
}
}
}//package game.model.assets.tools
Section 120
//Chainsaw (game.model.assets.tools.Chainsaw)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import app.connector.*;
import game.utils.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Chainsaw extends Tool implements ITool {
public var splatMod:int;// = 10
public var minX:int;// = 0
public var minY:int;// = 0
public var maxX:int;// = 650
public var maxY:int;// = 460
public var splatChance:int;// = 50
public function Chainsaw(_arg1:GameState){
super(_arg1);
getSingleInjury = true;
maxEffectTimer = 8;
maxBloodTimer = 8;
maxLowEffectTimer = (maxEffectTimer / 3);
bloodVel = 14;
level = gameState.controller.so.mySO.data["chainsaw_level"];
if (level == 1){
damage = 5;
hitBuffer = 20;
healAmount = 1;
} else {
if (level == 2){
damage = 3;
hitBuffer = 50;
healAmount = 2;
} else {
if (level == 3){
damage = 1;
hitBuffer = 80;
healAmount = 3;
};
};
};
}
override public function onMouseUp():void{
super.onMouseUp();
}
override public function turnOff(_arg1:Boolean=true):void{
super.turnOff();
}
override public function onMouseDown():void{
super.onMouseDown();
}
override public function wrongUsage():void{
var _local4:Injury;
super.wrongUsage();
if (gameState.inShock == false){
if ((Connector._current_mission + 1) != 20){
gameState.health = (gameState.health - damage);
};
};
var _local1:Object = new Object();
if ((Connector._current_mission + 1) == 20){
} else {
if ((Connector._current_mission + 1) == 10){
_local1.id = 83;
} else {
_local1.id = 3;
};
};
if ((Connector._current_mission + 1) != 20){
_local1.x = mouseX;
_local1.y = mouseY;
_local1.rotation = (360 * Math.random());
_local1.scale = 1;
_local4 = new Injury(_local1);
gameState.addInjury(_local4, true);
};
var _local2:Object = new Object();
_local2.id = 0;
_local2.x = mouseX;
_local2.y = mouseY;
_local2.rotation = 0;
_local2.scale = 1;
var _local3:Injury = new Injury(_local2);
gameState.addBlood(_local3, bloodVel);
}
override public function turnOn():void{
var _local1:Boolean;
var _local2:*;
var _local3:*;
if (turnedOn){
return;
};
if ((Connector._current_mission + 1) == 19){
_local1 = false;
_local2 = 0;
while (_local2 < gameState._injuries.length) {
_local3 = gameState._injuries[_local2];
if ((((_local3 is BigCentipedeAS)) && ((BigCentipedeAS(_local3).state == "attack")))){
_local1 = true;
return;
};
_local2++;
};
};
super.turnOn();
if ((gameState.currentInjuries[0] is Array)){
if (gameState.currentInjuries[0][0] == "anything"){
gameState.currentInjuries[0][1].interact();
return;
};
};
effectTimer = (maxEffectTimer - 1);
if (level == 1){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 1;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 1;
} else {
if (level == 2){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 5;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 5;
} else {
if (level == 3){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 10;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 10;
};
};
};
}
override public function render(_arg1:Event):void{
var _local2:Boolean;
var _local3:Object;
var _local4:Injury;
var _local5:Number;
var _local6:*;
var _local7:InjuryGraphic;
var _local8:MovieClip;
var _local9:Array;
var _local10:*;
var _local11:Boolean;
var _local12:*;
var _local13:MovieClip;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.CHAINSAW);
super.render(_arg1);
gameState.controller.shakeScreen("Higher");
bloodTimer++;
if (bloodTimer >= maxBloodTimer){
bloodTimer = 0;
_local3 = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addBlood(_local4, bloodVel);
gameState.addBlood(_local4, bloodVel);
gameState.addBlood(_local4, bloodVel);
_local5 = (Math.random() * splatChance);
};
if (gameState.currentInjuries.length == 0){
};
_local2 = false;
if (gameState.currentInjuries.length != 0){
_local6 = 0;
while (_local6 < gameState.currentInjuries.length) {
_local7 = gameState.currentInjuries[_local6];
if (_local7.invincible){
return;
};
_local8 = gameState.controller.view.controlPanel.cursor["hit"];
_local9 = _local7.getHitBoxes();
if ((_local7 is IncisionCoffinAS)){
_local10 = 0;
while (_local10 < _local9.length) {
if (_local9[_local10].length != 0){
_local11 = true;
_local12 = 0;
while (_local12 < _local9[_local10].length) {
_local13 = _local9[_local10][_local12][0];
_local2 = false;
_local8 = gameState.controller.view.controlPanel.cursor["hit"];
if (_local8.hitTestObject(_local13)){
_local2 = true;
};
if (_local2){
effectTimer++;
if (effectTimer >= maxEffectTimer){
_local7.createEffect(1, bloodVel);
effectTimer = 0;
};
_local9[_local10][_local12][1] = (_local9[_local10][_local12][1] - healAmount);
};
if (_local9[_local10][_local12][1] <= 0){
_local9[_local10][_local12][0].visible = false;
} else {
_local11 = false;
};
_local12++;
};
if (_local11){
_local7.updateInjury();
};
};
_local10++;
};
} else {
_local10 = 0;
while (_local10 < _local9.length) {
if (_local9[_local10].length != 0){
_local11 = true;
_local12 = 0;
while (_local12 < _local9[_local10].length) {
_local13 = _local9[_local10][_local12][0];
_local2 = false;
if (_local8.hitTestObject(_local13)){
_local2 = true;
};
if (_local2){
_local7.interact();
effectTimer++;
if (effectTimer >= maxEffectTimer){
effectTimer = 0;
_local7.createEffect(2, bloodVel);
};
_local9[_local10][_local12][1] = (_local9[_local10][_local12][1] - healAmount);
};
if (_local9[_local10][_local12][1] <= 0){
_local9[_local10][_local12][0].visible = false;
} else {
_local11 = false;
};
_local12++;
};
if (_local11){
if ((_local7 is TransplantAS)){
TransplantAS(_local7).removeHit(_local10);
} else {
if ((_local7 is SquidAS)){
SquidAS(_local7).removeHit(_local10);
};
};
_local7.updateInjury();
};
};
_local10++;
};
};
_local6++;
};
};
if (_local2 == false){
if (gameState.inShock == false){
if ((Connector._current_mission + 1) != 20){
gameState.health = (gameState.health - (damage / 70));
};
};
};
}
}
}//package game.model.assets.tools
Section 121
//Cream (game.model.assets.tools.Cream)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import app.connector.*;
import game.utils.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Cream extends Tool implements ITool {
public function Cream(_arg1:GameState){
super(_arg1);
getSingleInjury = false;
level = gameState.controller.so.mySO.data["cream_level"];
maxEffectTimer = 8;
maxBloodTimer = 8;
maxLowEffectTimer = (maxEffectTimer / 3);
if (level == 1){
hitBuffer = 20;
healAmount = 1;
damage = 0.1;
} else {
if (level == 2){
hitBuffer = 50;
healAmount = 2;
damage = 0.2;
} else {
if (level == 3){
hitBuffer = 80;
healAmount = 3;
damage = 0.3;
};
};
};
}
override public function onMouseUp():void{
super.onMouseUp();
}
override public function turnOff(_arg1:Boolean=true):void{
super.turnOff();
}
override public function wrongUsage():void{
super.wrongUsage();
gameState.createPopup("wrong", mouseX, mouseY, null);
var _local1:Object = new Object();
_local1.id = 84;
_local1.x = mouseX;
_local1.y = mouseY;
_local1.rotation = 0;
_local1.scale = 1;
var _local2:Injury = new Injury(_local1);
gameState.addInjury(_local2, true);
}
override public function onMouseDown():void{
super.onMouseDown();
}
override public function turnOn():void{
var _local1:Boolean;
var _local2:*;
var _local3:*;
if (turnedOn){
return;
};
if ((Connector._current_mission + 1) == 19){
_local1 = false;
_local2 = 0;
while (_local2 < gameState._injuries.length) {
_local3 = gameState._injuries[_local2];
if ((((_local3 is BigCentipedeAS)) && ((BigCentipedeAS(_local3).state == "attack")))){
_local1 = true;
return;
};
_local2++;
};
};
super.turnOn();
if ((gameState.currentInjuries[0] is Array)){
if (gameState.currentInjuries[0][0] == "anything"){
gameState.currentInjuries[0][1].interact();
};
};
if (level == 1){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 1;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 1;
} else {
if (level == 2){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 5;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 5;
} else {
if (level == 3){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 10;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 10;
};
};
};
}
override public function render(_arg1:Event):void{
var _local2:*;
var _local3:BleedAS;
var _local4:InjuryGraphic;
var _local5:Array;
var _local6:*;
var _local7:Boolean;
var _local8:*;
var _local9:MovieClip;
var _local10:Boolean;
var _local11:MovieClip;
if (mouseY > 460){
turnOff(true);
};
lowEffectTimer++;
if (lowEffectTimer >= maxLowEffectTimer){
lowEffectTimer = 0;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.CREAM);
if ((Connector._current_mission + 1) != 20){
gameState.controller.addEffect("cream", mouseX, mouseY, 0, "effects_higher", 0.2);
} else {
gameState.controller.addEffect("syrup", mouseX, mouseY, 0, "effects_higher", 0.2);
};
};
effectTimer++;
if (effectTimer >= maxEffectTimer){
effectTimer = 0;
if ((Connector._current_mission + 1) != 20){
gameState.controller.addEffect("creamSpray", mouseX, mouseY, (360 * Math.random()), "effects_lower", 0.1);
} else {
gameState.controller.addEffect("syrupSpray", mouseX, mouseY, (360 * Math.random()), "effects_lower", 0.1);
};
};
if (lowEffectTimer >= (maxLowEffectTimer - 1)){
if ((Connector._current_mission + 1) == 10){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.LIGHTER);
gameState.controller.addEffect("smoke", mouseX, mouseY, 0, "effects_higher", 1);
};
};
if ((Connector._current_mission + 1) == 10){
wrongUsageTimer++;
if (wrongUsageTimer >= maxWrongUsageTimer){
wrongUsage();
};
return;
};
if ((Connector._current_mission + 1) == 20){
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
if (gameState.currentInjuries.length != 0){
_local2 = 0;
while (_local2 < gameState.currentInjuries.length) {
_local3 = gameState.currentInjuries[_local2];
if (((!((_local3.mc["holder"]["mouth"] == null))) && (_local3.mc["holder"]["mouth"].hitTestPoint(mouseX, mouseY, true)))){
_local3.mouthHealth--;
if (_local3.mouthHealth <= 0){
_local3.updateInjury();
};
};
_local2++;
};
};
return;
};
if (gameState.inShock == false){
};
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
if (gameState.currentInjuries.length != 0){
_local2 = 0;
while (_local2 < gameState.currentInjuries.length) {
if ((gameState.currentInjuries[_local2] is Array) == false){
_local4 = gameState.currentInjuries[_local2];
if (_local4.invincible){
return;
};
_local5 = _local4.getHitBoxes();
_local6 = 0;
while (_local6 < _local5.length) {
if (_local5[_local6].length != 0){
_local7 = true;
_local8 = 0;
while (_local8 < _local5[_local6].length) {
_local9 = _local5[_local6][_local8][0];
_local10 = false;
_local11 = gameState.controller.view.controlPanel.cursor["hit"];
if (_local11.hitTestObject(_local9)){
_local10 = true;
};
if (_local10){
if (gameState.inShock == false){
if ((Connector._current_mission + 1) != 20){
gameState.health = (gameState.health + damage);
};
};
_local5[_local6][_local8][1] = (_local5[_local6][_local8][1] - healAmount);
};
if (_local5[_local6][_local8][1] <= 0){
_local5[_local6][_local8][0].visible = false;
} else {
_local7 = false;
};
_local8++;
};
if (_local7){
_local4.updateInjury();
};
};
_local6++;
};
};
_local2++;
};
};
}
}
}//package game.model.assets.tools
Section 122
//Cutter (game.model.assets.tools.Cutter)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Cutter extends Tool implements ITool {
public function Cutter(_arg1:GameState){
super(_arg1);
getSingleInjury = true;
maxEffectTimer = 8;
maxBloodTimer = 8;
maxLowEffectTimer = (maxEffectTimer / 3);
bloodVel = 9;
level = gameState.controller.so.mySO.data["cutter_level"];
if (level == 1){
hitBuffer = 20;
healAmount = 1;
} else {
if (level == 2){
hitBuffer = 50;
healAmount = 2;
} else {
if (level == 3){
hitBuffer = 80;
healAmount = 3;
};
};
};
damage = 3;
}
override public function onMouseUp():void{
super.onMouseUp();
}
override public function turnOff(_arg1:Boolean=true):void{
super.turnOff();
}
override public function wrongUsage():void{
var _local4:Injury;
super.wrongUsage();
if (gameState.inShock == false){
if ((Connector._current_mission + 1) != 20){
gameState.health = (gameState.health - damage);
};
};
var _local1:Object = new Object();
if ((Connector._current_mission + 1) == 20){
} else {
if ((Connector._current_mission + 1) == 10){
_local1.id = 82;
} else {
_local1.id = 1;
};
};
if ((Connector._current_mission + 1) != 20){
_local1.x = mouseX;
_local1.y = mouseY;
_local1.rotation = (360 * Math.random());
_local1.scale = 1;
_local4 = new Injury(_local1);
gameState.addInjury(_local4, true);
};
var _local2:Object = new Object();
_local2.id = 0;
_local2.x = mouseX;
_local2.y = mouseY;
_local2.rotation = 0;
_local2.scale = 1;
var _local3:Injury = new Injury(_local2);
gameState.addBlood(_local3, bloodVel);
}
override public function onMouseDown():void{
super.onMouseDown();
}
override public function turnOn():void{
var _local1:Boolean;
var _local2:*;
var _local3:*;
if (turnedOn){
return;
};
if ((Connector._current_mission + 1) == 19){
_local1 = false;
_local2 = 0;
while (_local2 < gameState._injuries.length) {
_local3 = gameState._injuries[_local2];
if ((((_local3 is BigCentipedeAS)) && ((BigCentipedeAS(_local3).state == "attack")))){
_local1 = true;
return;
};
_local2++;
};
};
super.turnOn();
if ((gameState.currentInjuries[0] is Array)){
if (gameState.currentInjuries[0][0] == "anything"){
gameState.currentInjuries[0][1].interact();
return;
};
};
effectTimer = (maxEffectTimer - 1);
if (level == 1){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 1;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 1;
} else {
if (level == 2){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 5;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 5;
} else {
if (level == 3){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 10;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 10;
};
};
};
}
override public function render(_arg1:Event):void{
var _local2:Object;
var _local3:Injury;
var _local4:*;
var _local5:InjuryGraphic;
var _local6:int;
var _local7:Point;
var _local8:int;
var _local9:Point;
var _local10:int;
var _local11:Array;
var _local12:*;
var _local13:Boolean;
var _local14:*;
var _local15:MovieClip;
var _local16:Boolean;
var _local17:MovieClip;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.PIZZA_CUTTER);
super.render(_arg1);
bloodTimer++;
if (bloodTimer >= maxBloodTimer){
bloodTimer = 0;
_local2 = new Object();
_local2.id = 0;
_local2.x = mouseX;
_local2.y = mouseY;
_local2.rotation = 0;
_local2.scale = 1;
_local3 = new Injury(_local2);
gameState.addBlood(_local3, bloodVel);
};
if (gameState.currentInjuries.length != 0){
_local4 = 0;
while (_local4 < gameState.currentInjuries.length) {
_local5 = gameState.currentInjuries[_local4];
if (_local5.invincible){
return;
};
if ((((((((_local5 is FatAS)) || ((_local5 is UnderSurfaceExtractionAS)))) || ((_local5 is UnderSurfaceExtractionClownAS)))) || ((_local5 is UnderSurfaceExtractionSilverAS)))){
_local6 = (_local5.mc.rotation + 180);
_local7 = new Point(_local5.mc.x, _local5.mc.y);
if ((_local5 is FatAS)){
_local9 = _local7;
} else {
_local10 = MapUtils.getDist(_local5.mc["s"].x, _local5.mc["e"].x, _local5.mc["s"].y, _local5.mc["e"].y);
_local9 = LineUtils.getPositionFromAngle(_local7, _local6, (_local10 / 2));
};
_local8 = MapUtils.getDist(_local9.x, mouseX, _local9.y, mouseY);
if ((_local8 - hitBuffer) <= hitDist){
_local5.updateInjury();
};
} else {
_local11 = _local5.getHitBoxes();
_local12 = 0;
while (_local12 < _local11.length) {
if (_local11[_local12].length != 0){
_local13 = true;
_local14 = 0;
while (_local14 < _local11[_local12].length) {
_local15 = _local11[_local12][_local14][0];
_local16 = false;
_local17 = gameState.controller.view.controlPanel.cursor["hit"];
if (_local17.hitTestObject(_local15)){
_local16 = true;
};
if (_local16){
effectTimer++;
if (effectTimer >= maxEffectTimer){
_local5.createEffect(1, bloodVel);
effectTimer = 0;
};
_local11[_local12][_local14][1] = (_local11[_local12][_local14][1] - healAmount);
};
if (_local11[_local12][_local14][1] <= 0){
_local11[_local12][_local14][0].visible = false;
} else {
_local13 = false;
};
_local14++;
};
if (_local13){
_local5.updateInjury();
};
};
_local12++;
};
};
_local4++;
};
};
}
}
}//package game.model.assets.tools
Section 123
//Injection (game.model.assets.tools.Injection)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import app.connector.*;
import shell.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Injection extends Tool implements ITool {
public var minX:int;// = 25
public var minY:int;// = 200
public var bar:MovieClip;
public var eyeHit:Number;
public var boost:int;// = 10
public var maxX:int;// = 575
public var maxY:int;// = 600
public var injury:InjuryGraphic;
public function Injection(_arg1:GameState){
super(_arg1);
getSingleInjury = true;
damage = 2;
level = gameState.controller.so.mySO.data["injection_level"];
if (level == 1){
boost = 10;
} else {
if (level == 2){
boost = 13;
} else {
if (level == 3){
boost = 16;
};
};
};
}
override public function onMouseUp():void{
super.onMouseUp();
}
override public function onMouseDown():void{
super.onMouseDown();
}
override public function render(_arg1:Event):void{
var _local2:Object;
var _local3:Object;
var _local4:Injury;
var _local5:Injury;
if (mouseY > 460){
turnOff(true);
};
if ((((((bar["wall"] == null)) || ((bar["hit"] == null)))) || ((bar["floor"] == null)))){
return;
};
if (((!((injury == null))) && ((injury is BatAS)))){
if (BatAS(injury).state != "flapping"){
wrongUsage();
gameState.createPopup("wrong", mouseX, mouseY, null);
turnOff();
return;
};
};
if (bar["hit"].hitTestPoint(mouseX, mouseY, true)){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.INJECTION_OUT);
if (injury == null){
if (gameState.inShock == false){
if ((Connector._current_mission + 1) == 10){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.MMM);
gameState.createPopup("yummy", mouseX, mouseY, null);
gameState.health = (gameState.health + boost);
} else {
if ((Connector._current_mission + 1) != 20){
gameState.createPopup("correct", mouseX, mouseY, null);
gameState.health = (gameState.health + boost);
};
};
};
} else {
if ((injury is BigCentipedeAS)){
BigCentipedeAS(injury).updateEye(eyeHit);
} else {
injury.updateInjury();
};
};
turnOff();
return;
};
if (bar["wall"].hitTestPoint(mouseX, mouseY, true)){
wrongUsage();
gameState.createPopup("wrong", mouseX, mouseY, null);
if (gameState.inShock == false){
if ((Connector._current_mission + 1) != 20){
gameState.health = (gameState.health - damage);
};
_local2 = new Object();
if ((Connector._current_mission + 1) == 20){
} else {
if ((Connector._current_mission + 1) == 10){
_local2.id = 82;
} else {
_local2.id = 1;
};
};
if ((Connector._current_mission + 1) != 20){
_local2.x = mouseX;
_local2.y = mouseY;
_local2.rotation = (360 * Math.random());
_local2.scale = 1;
_local5 = new Injury(_local2);
gameState.addInjury(_local5, true);
};
_local3 = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addBlood(_local4, bloodVel);
};
turnOff();
return;
};
if (bar["floor"].hitTestPoint(mouseX, mouseY, true) == false){
wrongUsage();
gameState.createPopup("wrong", mouseX, mouseY, null);
if (gameState.inShock == false){
if ((Connector._current_mission + 1) != 20){
gameState.health = (gameState.health - damage);
};
_local2 = new Object();
if ((Connector._current_mission + 1) == 20){
} else {
if ((Connector._current_mission + 1) == 10){
_local2.id = 82;
} else {
_local2.id = 1;
};
};
if ((Connector._current_mission + 1) != 20){
_local2.x = mouseX;
_local2.y = mouseY;
_local2.rotation = (360 * Math.random());
_local2.scale = 1;
_local5 = new Injury(_local2);
gameState.addInjury(_local5, true);
};
_local3 = new Object();
_local3.id = 0;
_local3.x = mouseX;
_local3.y = mouseY;
_local3.rotation = 0;
_local3.scale = 1;
_local4 = new Injury(_local3);
gameState.addBlood(_local4, bloodVel);
};
turnOff();
return;
};
}
override public function turnOff(_arg1:Boolean=true):void{
gameState.controller.view.controlPanel.cursor.visible = true;
super.turnOff();
if (bar != null){
removeChild(bar);
bar = null;
};
injury = null;
}
override public function wrongUsage():void{
super.wrongUsage();
}
override public function turnOn():void{
var _local2:Boolean;
var _local3:*;
var _local4:*;
var _local5:*;
if (turnedOn){
return;
};
if ((Connector._current_mission + 1) == 19){
_local2 = false;
_local3 = 0;
while (_local3 < gameState._injuries.length) {
_local4 = gameState._injuries[_local3];
if ((((_local4 is BigCentipedeAS)) && ((BigCentipedeAS(_local4).state == "attack")))){
_local2 = true;
return;
};
_local3++;
};
};
super.turnOn();
gameState.controller.view.controlPanel.cursor.visible = false;
if ((gameState.currentInjuries[0] is Array)){
if (gameState.currentInjuries[0][0] == "anything"){
gameState.currentInjuries[0][1].interact();
return;
};
};
bar = null;
var _local1:int = ((Math.random() * 1) + 1);
bar = (RuntimeLibrary.getMovieClipByLinkageID(("injectionBar" + level)) as MovieClip);
if ((Connector._current_mission + 1) == 10){
bar.gotoAndStop(("vlad" + _local1));
} else {
bar.gotoAndStop(("bar" + _local1));
};
bar.x = mouseX;
bar.y = mouseY;
if (mouseY <= minY){
if (mouseX <= minX){
bar.rotation = 135;
} else {
if (mouseX >= maxX){
bar.rotation = 225;
} else {
bar.rotation = 180;
};
};
} else {
if (mouseY >= maxY){
if (mouseX <= minX){
bar.rotation = 45;
} else {
if (mouseX >= maxX){
bar.rotation = 315;
} else {
bar.rotation = 0;
};
};
} else {
if (mouseX <= minX){
bar.rotation = 45;
} else {
if (mouseX >= maxX){
bar.rotation = 315;
} else {
bar.rotation = 0;
};
};
};
};
addChild(bar);
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
if (gameState.currentInjuries.length != 0){
injury = gameState.currentInjuries[0];
if ((injury is BigCentipedeAS)){
_local5 = 0;
while (_local5 < BigCentipedeAS(injury).hits.length) {
if (injury.mc["stunned"]["holder"]["holder"][("eye" + BigCentipedeAS(injury).hits[_local5])].hitTestPoint(mouseX, mouseY, true)){
eyeHit = BigCentipedeAS(injury).hits[_local5];
break;
};
_local5++;
};
};
} else {
injury = null;
};
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.INJECTION_IN);
}
}
}//package game.model.assets.tools
Section 124
//Lighter (game.model.assets.tools.Lighter)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import app.connector.*;
import game.utils.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Lighter extends Tool implements ITool {
public function Lighter(_arg1:GameState){
super(_arg1);
getSingleInjury = false;
level = gameState.controller.so.mySO.data["lighter_level"];
maxEffectTimer = 8;
maxBloodTimer = 8;
maxLowEffectTimer = (maxEffectTimer / 3);
if (level == 1){
hitBuffer = 20;
healAmount = 1;
} else {
if (level == 2){
hitBuffer = 50;
healAmount = 2;
} else {
if (level == 3){
hitBuffer = 80;
healAmount = 3;
};
};
};
damage = 2;
}
override public function onMouseUp():void{
super.onMouseUp();
}
override public function turnOff(_arg1:Boolean=true):void{
super.turnOff();
}
override public function wrongUsage():void{
var _local1:Object;
var _local2:Injury;
super.wrongUsage();
gameState.createPopup("wrong", mouseX, mouseY, null);
if (gameState.inShock == false){
if ((Connector._current_mission + 1) != 20){
gameState.health = (gameState.health - damage);
};
};
if ((Connector._current_mission + 1) == 20){
} else {
if ((Connector._current_mission + 1) != 10){
_local1 = new Object();
_local1.id = 28;
_local1.x = mouseX;
_local1.y = mouseY;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, true);
} else {
_local1 = new Object();
_local1.id = 89;
_local1.x = mouseX;
_local1.y = mouseY;
_local1.rotation = 0;
_local1.scale = 1;
_local2 = new Injury(_local1);
gameState.addInjury(_local2, true);
};
};
}
override public function onMouseDown():void{
super.onMouseDown();
}
override public function turnOn():void{
var _local1:Boolean;
var _local2:*;
var _local3:*;
if (turnedOn){
return;
};
if ((Connector._current_mission + 1) == 19){
_local1 = false;
_local2 = 0;
while (_local2 < gameState._injuries.length) {
_local3 = gameState._injuries[_local2];
if ((((_local3 is BigCentipedeAS)) && ((BigCentipedeAS(_local3).state == "attack")))){
_local1 = true;
return;
};
_local2++;
};
};
super.turnOn();
if ((gameState.currentInjuries[0] is Array)){
if (gameState.currentInjuries[0][0] == "anything"){
gameState.currentInjuries[0][1].interact();
return;
};
};
if (level == 1){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 1;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 1;
} else {
if (level == 2){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 5;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 5;
} else {
if (level == 3){
gameState.controller.view.controlPanel.cursor["hit"].scaleX = 10;
gameState.controller.view.controlPanel.cursor["hit"].scaleY = 10;
};
};
};
}
override public function render(_arg1:Event):void{
var _local2:*;
var _local3:BleedAS;
var _local4:InjuryGraphic;
var _local5:Array;
var _local6:*;
var _local7:Boolean;
var _local8:*;
var _local9:MovieClip;
var _local10:Boolean;
var _local11:MovieClip;
lowEffectTimer++;
if (lowEffectTimer >= maxLowEffectTimer){
lowEffectTimer = 0;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.LIGHTER);
gameState.controller.addEffect("flame", mouseX, mouseY, 0, "effects_lower", 0.2);
};
effectTimer++;
if (effectTimer >= maxEffectTimer){
effectTimer = 0;
gameState.controller.addEffect("flameSpray", mouseX, mouseY, (360 * Math.random()), "effects_higher", 0.1);
};
if (lowEffectTimer >= (maxLowEffectTimer - 1)){
if ((Connector._current_mission + 1) == 10){
gameState.controller.addEffect("smoke", mouseX, mouseY, 0, "effects_higher", 1);
};
};
super.render(_arg1);
if (((((Connector._current_mission + 1) == 10)) && ((gameState.currentInjuries.length == 0)))){
wrongUsageTimer++;
if (wrongUsageTimer >= maxWrongUsageTimer){
wrongUsage();
};
return;
};
if ((Connector._current_mission + 1) == 20){
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
if (gameState.currentInjuries.length != 0){
_local2 = 0;
while (_local2 < gameState.currentInjuries.length) {
_local3 = gameState.currentInjuries[_local2];
_local3.bodyHealth--;
if (_local3.bodyHealth <= 0){
_local3.updateInjury();
};
_local2++;
};
};
return;
};
if (gameState.currentInjuries.length != 0){
_local2 = 0;
while (_local2 < gameState.currentInjuries.length) {
_local4 = gameState.currentInjuries[_local2];
if (_local4.invincible){
return;
};
_local5 = _local4.getHitBoxes();
_local6 = 0;
while (_local6 < _local5.length) {
if (_local5[_local6].length != 0){
_local7 = true;
_local8 = 0;
while (_local8 < _local5[_local6].length) {
_local9 = _local5[_local6][_local8][0];
_local10 = false;
_local11 = gameState.controller.view.controlPanel.cursor["hit"];
if (_local11.hitTestObject(_local9)){
_local10 = true;
};
if (_local10){
if (_local5[_local6][_local8][1] > 0){
_local5[_local6][_local8][1] = (_local5[_local6][_local8][1] - healAmount);
};
};
if (_local5[_local6][_local8][1] <= 0){
_local5[_local6][_local8][0].visible = false;
} else {
_local7 = false;
};
_local8++;
};
if (_local7){
_local4.updateInjury();
};
};
_local6++;
};
_local2++;
};
};
}
}
}//package game.model.assets.tools
Section 125
//Scanner (game.model.assets.tools.Scanner)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import shell.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Scanner extends Tool implements ITool {
public var yellowDist:int;// = 125
public var rings:MovieClip;
public var arrow:MovieClip;
public var bar:MovieClip;
public var orangeDist:int;// = 200
public function Scanner(_arg1:GameState){
super(_arg1);
getSingleInjury = false;
level = gameState.controller.so.mySO.data["scanner_level"];
}
override public function turnOff(_arg1:Boolean=true):void{
super.turnOff();
if (bar != null){
removeChild(bar);
bar = null;
};
if (arrow != null){
removeChild(arrow);
arrow = null;
};
if (rings != null){
removeChild(rings);
rings = null;
};
}
override public function wrongUsage():void{
}
override public function onMouseDown():void{
super.onMouseDown();
}
override public function onMouseUp():void{
super.onMouseUp();
}
override public function render(_arg1:Event):void{
var _local2:Boolean;
var _local3:int;
var _local4:int;
var _local5:Array;
var _local6:int;
var _local7:*;
var _local8:InjuryGraphic;
var _local9:Point;
var _local10:int;
var _local11:int;
var _local12:Point;
var _local13:int;
var _local14:int;
var _local15:int;
if (mouseY > 460){
turnOff(true);
};
bar.x = mouseX;
bar.y = mouseY;
arrow.x = mouseX;
arrow.y = mouseY;
gameState.currentInjuries = gameState.controller.findHiddenInjury(getSingleInjury);
if (((!((bar["holder"] == null))) && (!((bar["holder"]["ring"] == null))))){
_local2 = false;
if ((((bar["holder"]["ring"].currentLabel == "black")) || ((bar["holder"]["ring"].currentLabel == "red")))){
_local4 = (bar["holder"].totalFrames - (bar["holder"].currentFrame + 1));
if (_local4 < 0){
_local2 = true;
_local3 = Math.abs(_local4);
} else {
_local3 = (bar["holder"].currentFrame + 1);
};
bar["holder"].gotoAndStop(_local3);
} else {
if (bar["holder"]["ring"].currentLabel == "orange"){
_local4 = (bar["holder"].totalFrames - (bar["holder"].currentFrame + 2));
if (_local4 < 0){
_local2 = true;
_local3 = Math.abs(_local4);
} else {
_local3 = (bar["holder"].currentFrame + 2);
};
bar["holder"].gotoAndStop(_local3);
} else {
if (bar["holder"]["ring"].currentLabel == "yellow"){
_local4 = (bar["holder"].totalFrames - (bar["holder"].currentFrame + 3));
if (_local4 < 0){
_local2 = true;
_local3 = Math.abs(_local4);
} else {
_local3 = (bar["holder"].currentFrame + 3);
};
bar["holder"].gotoAndStop(_local3);
} else {
if (bar["holder"]["ring"].currentLabel == "green"){
_local4 = (bar["holder"].totalFrames - (bar["holder"].currentFrame + 4));
if (_local4 < 0){
_local2 = true;
_local3 = Math.abs(_local4);
} else {
_local3 = (bar["holder"].currentFrame + 4);
};
bar["holder"].gotoAndStop(_local3);
};
};
};
};
if (_local2){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BEEP);
};
};
if (gameState.currentInjuries.length != 0){
_local5 = [];
_local6 = -1;
_local7 = 0;
while (_local7 < gameState.currentInjuries.length) {
_local8 = gameState.currentInjuries[_local7];
_local9 = new Point();
if (((((_local8 is FatAS) == false)) && (((_local8 is CentipedeAS) == false)))){
_local11 = (_local8.mc.rotation + 180);
_local12 = new Point(_local8.mc.x, _local8.mc.y);
_local13 = MapUtils.getDist(_local8.mc["s"].x, _local8.mc["e"].x, _local8.mc["s"].y, _local8.mc["e"].y);
_local9 = LineUtils.getPositionFromAngle(_local12, _local11, (_local13 / 2));
} else {
if ((_local8 is CentipedeAS)){
_local9.x = CentipedeAS(_local8).seg1.x;
_local9.y = CentipedeAS(_local8).seg1.y;
} else {
_local9.x = _local8.mc.x;
_local9.y = _local8.mc.y;
};
};
_local10 = MapUtils.getDist(_local9.x, mouseX, _local9.y, mouseY);
if ((((_local6 == -1)) || ((_local10 < _local6)))){
_local6 = _local10;
_local5.unshift([_local8, _local10]);
} else {
_local5.push([_local8, _local10]);
};
_local7++;
};
_local7 = 0;
while (_local7 < _local5.length) {
_local8 = _local5[_local7][0];
_local14 = _local5[_local7][1];
_local9 = new Point();
if (((((_local8 is FatAS) == false)) && (((_local8 is CentipedeAS) == false)))){
_local11 = (_local8.mc.rotation + 180);
_local12 = new Point(_local8.mc.x, _local8.mc.y);
_local13 = MapUtils.getDist(_local8.mc["s"].x, _local8.mc["e"].x, _local8.mc["s"].y, _local8.mc["e"].y);
_local9 = LineUtils.getPositionFromAngle(_local12, _local11, (_local13 / 2));
} else {
if ((_local8 is CentipedeAS)){
_local9.x = CentipedeAS(_local8).seg1.x;
_local9.y = CentipedeAS(_local8).seg1.y;
} else {
_local9.x = _local8.mc.x;
_local9.y = _local8.mc.y;
};
};
_local15 = (MapUtils.getAngle(_local9.x, mouseX, _local9.y, mouseY) + 90);
if (_local14 <= hitDist){
arrow.rotation = _local15;
bar["holder"]["ring"].gotoAndStop("green");
break;
} else {
if (_local14 <= yellowDist){
arrow.rotation = _local15;
bar["holder"]["ring"].gotoAndStop("yellow");
break;
} else {
if (_local14 <= orangeDist){
arrow.rotation = _local15;
bar["holder"]["ring"].gotoAndStop("orange");
break;
} else {
arrow.rotation = _local15;
bar["holder"]["ring"].gotoAndStop("red");
break;
};
};
};
_local7++;
};
if (_local5.length == 0){
bar["holder"]["ring"].gotoAndStop("black");
};
} else {
bar["holder"]["ring"].gotoAndStop("black");
};
}
override public function turnOn():void{
var _local1:Boolean;
var _local2:*;
var _local3:*;
var _local4:InjuryGraphic;
var _local5:int;
var _local6:Point;
var _local7:MovieClip;
var _local8:Point;
var _local9:int;
if (turnedOn){
return;
};
if ((Connector._current_mission + 1) == 19){
_local1 = false;
_local2 = 0;
while (_local2 < gameState._injuries.length) {
_local3 = gameState._injuries[_local2];
if ((((_local3 is BigCentipedeAS)) && ((BigCentipedeAS(_local3).state == "attack")))){
_local1 = true;
return;
};
_local2++;
};
};
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BEEP);
super.turnOn();
rings = null;
bar = null;
bar = (RuntimeLibrary.getMovieClipByLinkageID("scannerBar") as MovieClip);
bar.x = mouseX;
bar.y = mouseY;
addChild(bar);
arrow = null;
arrow = (RuntimeLibrary.getMovieClipByLinkageID("scannerArrow") as MovieClip);
arrow.x = mouseX;
arrow.y = mouseY;
addChild(arrow);
if (level > 1){
arrow.visible = true;
} else {
arrow.visible = false;
};
if (level > 2){
rings = new MovieClip();
addChild(rings);
gameState.currentInjuries = gameState.controller.findHiddenInjury(getSingleInjury);
if (gameState.currentInjuries.length != 0){
_local2 = 0;
while (_local2 < gameState.currentInjuries.length) {
_local4 = gameState.currentInjuries[_local2];
_local5 = (_local4.mc.rotation + 180);
_local6 = new Point(_local4.mc.x, _local4.mc.y);
if ((_local4 is FatAS)){
_local8 = _local6;
} else {
_local9 = MapUtils.getDist(_local4.mc["s"].x, _local4.mc["e"].x, _local4.mc["s"].y, _local4.mc["e"].y);
_local8 = LineUtils.getPositionFromAngle(_local6, _local5, (_local9 / 2));
};
_local7 = (RuntimeLibrary.getMovieClipByLinkageID("scannerRing") as MovieClip);
_local7.x = _local8.x;
_local7.y = _local8.y;
rings.addChild(_local7);
_local2++;
};
};
};
}
}
}//package game.model.assets.tools
Section 126
//Stitch (game.model.assets.tools.Stitch)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Stitch extends Tool implements ITool {
public var line:MovieClip;
public var injuries:Array;
public var needed:int;
public function Stitch(_arg1:GameState){
super(_arg1);
getSingleInjury = false;
line = new MovieClip();
addChild(line);
damage = 2;
level = gameState.controller.so.mySO.data["stitch_level"];
if (level == 1){
needed = 4;
} else {
if (level == 2){
needed = 3;
} else {
if (level == 3){
needed = 2;
};
};
};
}
override public function onMouseUp():void{
super.onMouseUp();
}
override public function turnOn():void{
var _local1:Boolean;
var _local2:*;
var _local3:*;
var _local4:ColorTransform;
if (turnedOn){
return;
};
if ((Connector._current_mission + 1) == 19){
_local1 = false;
_local2 = 0;
while (_local2 < gameState._injuries.length) {
_local3 = gameState._injuries[_local2];
if ((((_local3 is BigCentipedeAS)) && ((BigCentipedeAS(_local3).state == "attack")))){
_local1 = true;
return;
};
_local2++;
};
};
super.turnOn();
if ((gameState.currentInjuries[0] is Array)){
if (gameState.currentInjuries[0][0] == "anything"){
gameState.currentInjuries[0][1].interact();
return;
};
};
injuries = [];
if ((Connector._current_mission + 1) != 20){
line.graphics.clear();
line.graphics.lineStyle(3, 0xFFFFFF);
line.graphics.moveTo(mouseX, mouseY);
_local4 = new ColorTransform();
_local4.color = 0x6600FF;
line.transform.colorTransform = _local4;
};
}
override public function onMouseDown():void{
super.onMouseDown();
}
override public function turnOff(_arg1:Boolean=true):void{
if (_arg1){
};
super.turnOff();
injuries = [];
line.graphics.clear();
}
override public function render(_arg1:Event):void{
var _local2:*;
var _local3:BleedAS;
var _local4:*;
var _local5:Boolean;
var _local6:*;
var _local7:InjuryGraphic;
var _local8:Boolean;
var _local9:Array;
var _local10:int;
var _local11:MovieClip;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:VectorX;
var _local20:Point;
var _local21:int;
var _local22:Point;
var _local23:VectorX;
var _local24:Point;
var _local25:Sprite;
var _local26:Boolean;
if (mouseY > 460){
turnOff(true);
};
if ((Connector._current_mission + 1) == 20){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXTRACTION1);
gameState.controller.addEffect("vampiretears", mouseX, mouseY, 0, "effects_higher", 0.2);
effectTimer++;
if (effectTimer >= maxEffectTimer){
effectTimer = 0;
gameState.controller.addEffect("vampiretearsSpray", mouseX, mouseY, (360 * Math.random()), "effects_lower", 0.1);
};
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
if (gameState.currentInjuries.length != 0){
_local2 = 0;
while (_local2 < gameState.currentInjuries.length) {
_local3 = gameState.currentInjuries[_local2];
if (((!((_local3.mc["holder"]["heart"] == null))) && (_local3.mc["holder"]["heart"].hitTestPoint(mouseX, mouseY, true)))){
_local3.heartHealth--;
if (_local3.heartHealth <= 0){
_local3.updateInjury();
};
};
_local2++;
};
};
return;
};
line.graphics.lineTo(mouseX, mouseY);
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
if (gameState.currentInjuries.length != 0){
_local4 = 0;
while (_local4 < gameState.currentInjuries.length) {
_local5 = false;
_local6 = 0;
while (_local6 < injuries.length) {
if (gameState.currentInjuries[_local4] == injuries[_local6][0]){
_local5 = true;
break;
};
_local6++;
};
if (_local5 == false){
injuries.push([gameState.currentInjuries[_local4], [], [], [], []]);
};
_local4++;
};
};
if (injuries.length != 0){
_local2 = 0;
while (_local2 < injuries.length) {
_local7 = injuries[_local2][0];
_local8 = false;
_local9 = _local7.getHitBoxes()[0];
_local10 = _local9.length;
_local11 = _local7.mc["hit"];
if (_local9.length != 0){
};
_local12 = _local7.mc["s"].x;
_local13 = _local7.mc["s"].y;
_local14 = _local7.mc["e"].y;
if (_local9.length != 0){
if (_local7.mc.mouseX < _local12){
if (injuries[_local2][2] == "right"){
_local8 = true;
};
injuries[_local2][2] = "left";
} else {
if (_local7.mc.mouseX > _local12){
if (injuries[_local2][2] == "left"){
_local8 = true;
};
injuries[_local2][2] = "right";
};
};
};
if (_local8){
_local8 = false;
_local15 = 0;
_local16 = (_local14 - _local13);
_local17 = (mouseX - injuries[_local2][3]);
_local18 = (mouseY - injuries[_local2][4]);
_local19 = new VectorX(mouseX, mouseY, _local17, _local18);
_local20 = new Point((_local12 + _local7.mc.x), (_local13 + _local7.mc.y));
_local21 = (_local7.mc.rotation + 180);
trace(("angle " + _local21));
_local22 = LineUtils.getPositionFromAngle(_local20, _local21, _local16);
_local23 = new VectorX(_local20.x, _local20.y, (_local22.x - _local20.x), (_local22.y - _local20.y));
_local24 = LineUtils.getIntersectionPoint(_local23, _local19);
_local25 = (_local7.mc.parent as Sprite);
injuries[_local2][1].push(_local24);
_local26 = finishedStitching(_local9, injuries[_local2][1], injuries[_local2][0], needed);
if (_local26){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXTRACTION3);
_local7.updateInjury();
turnOff();
break;
};
};
injuries[_local2][3] = mouseX;
injuries[_local2][4] = mouseY;
_local2++;
};
};
}
override public function wrongUsage():void{
super.wrongUsage();
turnOff();
injuries = [];
if (gameState.inShock == false){
gameState.health = (gameState.health - damage);
};
}
public function finishedStitching(_arg1:Array, _arg2:Array, _arg3:InjuryGraphic, _arg4:int):Boolean{
var _local7:*;
var _local8:Point;
var _local9:MovieClip;
var _local5:int;
var _local6:* = 0;
while (_local6 < _arg1.length) {
_local7 = 0;
while (_local7 < _arg2.length) {
_local8 = _arg2[_local7];
_local9 = _arg1[_local6][0];
if (_local9.hitTestPoint(_local8.x, _local8.y, true)){
_local5++;
break;
};
_local7++;
};
_local6++;
};
if (_local5 == _arg4){
return (true);
};
return (false);
}
}
}//package game.model.assets.tools
Section 127
//Tongs (game.model.assets.tools.Tongs)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import shell.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Tongs extends Tool implements ITool {
public var holding:Array;
public var draggable:MovieClip;
public var clip:MovieClip;
public var grip:int;
public var minMovement:int;// = 5
public var removeBuffer:int;
public var lastInjury:InjuryGraphic;
public var angleBuffer:int;
public var mouseArray:Array;
public var tray:MovieClip;
public var injury:InjuryGraphic;
public var movedDist:int;
public var trayHolding:Array;
public function Tongs(_arg1:GameState){
super(_arg1);
holding = [];
trayHolding = [];
getSingleInjury = true;
tray = (RuntimeLibrary.getMovieClipByLinkageID("tray") as MovieClip);
tray.x = 75;
tray.y = 400;
addChild(tray);
removeTray();
level = gameState.controller.so.mySO.data["tongs_level"];
if (level == 1){
angleBuffer = 0;
removeBuffer = 0;
grip = 0;
} else {
if (level == 2){
angleBuffer = 15;
removeBuffer = 15;
grip = 2;
} else {
if (level == 3){
angleBuffer = 30;
removeBuffer = 30;
grip = 4;
};
};
};
damage = 2;
}
public function setHolding(_arg1:String=""):void{
var _local2:int = ((Math.random() * 4) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("EXTRACTION" + _local2)]);
holding = [injury, injury.cursor, _arg1];
draggable = (RuntimeLibrary.getMovieClipByLinkageID((injury.cursor + _arg1)) as MovieClip);
draggable.x = mouseX;
draggable.y = mouseY;
addChild(draggable);
addTray();
}
public function removeTrayHolding():void{
holding = [];
trayHolding = [];
removeTray();
}
override public function turnOff(_arg1:Boolean=true):void{
var _local2:int;
if (injury != null){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.SPLAT1);
};
super.turnOff();
if (((((((!((injury == null))) && (!((injury == undefined))))) && ((injury is UnderSurfaceExtractionClownAS)))) && ((_arg1 == true)))){
injury.beingHeld = false;
return;
};
if ((injury is UnderSurfaceExtractionClownAS)){
injury.beingHeld = false;
};
if (((((!((injury == null))) && (!((injury == undefined))))) && (injury.alive))){
if (holding.length == 0){
super.wrongUsage();
if (gameState.inShock == false){
gameState.health = (gameState.health - damage);
};
gameState.createPopup("dropped", mouseX, mouseY, null);
};
injury.setup();
};
if (holding.length != 0){
if (holding[2] == "tray"){
removeChild(draggable);
draggable = null;
if (trayHolding[0]["mc"].hitTestPoint(mouseX, mouseY, true)){
_local2 = ((Math.random() * 4) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("EXTRACTION" + _local2)]);
trayHolding[0].updateInjury();
removeTrayHolding();
} else {
super.wrongUsage();
if (gameState.inShock == false){
gameState.health = (gameState.health - damage);
};
gameState.createPopup("dropped", mouseX, mouseY, null);
setTrayHolding(trayHolding[0], (("Cursor" + trayHolding[0].go_data.linkage) + "Placeable"));
};
} else {
if (tray["hit"].hitTestPoint(mouseX, mouseY, true)){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.DROP);
if (((((!((holding[2] == null))) && (!((holding[2] == null))))) && ((injury is TransplantAS)))){
TransplantAS(injury).removeRemovable(int(holding[2]));
};
injury.updateInjury();
if ((((injury.currentStage == 2)) && ((injury is TransplantAS)))){
setTrayHolding(injury, (("Cursor" + injury.go_data.linkage) + "Placeable"));
};
} else {
super.wrongUsage();
if (gameState.inShock == false){
gameState.health = (gameState.health - damage);
};
gameState.createPopup("dropped", mouseX, mouseY, null);
if ((injury is FireFlyEggAS)){
holding[0].special();
} else {
if ((injury is BunnyAS)){
holding[0].special();
};
holding[0].setup();
if (((((injury is TransplantAS) == false)) && (((injury is ExtractionAS) == false)))){
holding[0].currentStage--;
};
};
};
};
};
if (draggable != null){
removeChild(draggable);
draggable = null;
};
injury = null;
holding = [];
mouseArray = [];
if (trayHolding.length == 0){
removeTray();
};
movedDist = 0;
}
override public function turnOn():void{
var _local2:Boolean;
var _local3:*;
var _local4:*;
if (turnedOn){
return;
};
if ((Connector._current_mission + 1) == 19){
_local2 = false;
_local3 = 0;
while (_local3 < gameState._injuries.length) {
_local4 = gameState._injuries[_local3];
if ((((_local4 is BigCentipedeAS)) && ((BigCentipedeAS(_local4).state == "attack")))){
_local2 = true;
return;
};
_local3++;
};
};
if ((Connector._current_mission + 1) == 20){
return;
};
super.turnOn();
if ((gameState.currentInjuries[0] is Array)){
if (gameState.currentInjuries[0][0] == "anything"){
gameState.currentInjuries[0][1].interact();
return;
};
};
if ((lastInjury is UnderSurfaceExtractionClownAS) == false){
movedDist = 0;
} else {
movedDist = UnderSurfaceExtractionClownAS(lastInjury).moved;
};
holding = [];
mouseArray = [];
injury = null;
draggable = null;
var _local1:* = [mouseX, mouseY];
mouseArray.push(_local1, _local1, _local1, _local1);
if (((!((trayHolding.length == 0))) && (trayHolding[1].hitTestPoint(mouseX, mouseY, true)))){
setHoldingFromTray(trayHolding);
};
}
override public function onMouseDown():void{
super.onMouseDown();
}
public function removeTray():void{
tray.visible = false;
if (trayHolding.length != 0){
removeChild(clip);
clip = null;
};
trayHolding = [];
}
override public function render(_arg1:Event):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:MovieClip;
var _local6:Array;
var _local7:MovieClip;
var _local8:*;
var _local9:MovieClip;
var _local10:Array;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:int;
var _local19:*;
var _local20:int;
var _local21:Point;
var _local22:Point;
if (mouseY > 460){
turnOff(true);
};
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
wrongUsageTimer = 0;
if (holding.length != 0){
if (holding[0].slippery != true){
draggable.x = mouseX;
draggable.y = mouseY;
} else {
_local2 = (MapUtils.getAngle(mouseX, draggable.x, mouseY, draggable.y) + 90);
_local3 = MapUtils.getDist(mouseX, draggable.x, mouseY, draggable.y);
if (_local3 <= 3){
_local3 = 0;
};
_local4 = (3 + grip);
if (_local4 > _local3){
_local4 = _local3;
};
if (_local3 == 0){
_local4 = 0;
};
draggable.x = (draggable.x + (Math.sin(((_local2 * Math.PI) / 180)) * _local4));
draggable.y = (draggable.y + (Math.cos(((_local2 * Math.PI) / 180)) * -(_local4)));
if (draggable.hitTestPoint(mouseX, mouseY, true) == false){
turnOff(false);
};
};
} else {
if (injury != null){
if ((injury is ExtractionAS)){
if (injury.mc["hit"].hitTestPoint(mouseX, mouseY, true)){
ExtractionAS(injury).beingHeld = true;
injury.mc.visible = false;
setHolding();
gameState.createPopup("correct", mouseX, mouseY, injury, -1);
};
return;
} else {
if ((injury is TransplantAS)){
_local6 = TransplantAS(injury).removables;
_local7 = null;
_local8 = 0;
while (_local8 < _local6.length) {
_local9 = injury.mc[("removable" + _local6[_local8])];
if (_local9.hitTestPoint(mouseX, mouseY, true)){
setHolding(String(_local6[_local8]));
injury.updateInjury();
injury.mc[("removable" + _local6[_local8])].visible = false;
_local7 = _local9;
break;
};
_local8++;
};
if (_local7 == null){
wrongUsage();
gameState.createPopup("dropped", mouseX, mouseY, null);
};
_local5 = _local7;
return;
} else {
if ((injury is EyelidAS)){
if (injury.mc["hit"].hitTestPoint(mouseX, mouseY, true) == false){
wrongUsage();
gameState.createPopup("dropped", mouseX, mouseY, null);
};
} else {
if (injury.removable.getChildAt(0).hitTestPoint(mouseX, mouseY, true) == false){
wrongUsage();
gameState.createPopup("dropped", mouseX, mouseY, null);
};
};
};
};
};
if (gameState.currentInjuries.length != 0){
_local8 = 0;
while (_local8 < gameState.currentInjuries.length) {
injury = gameState.currentInjuries[_local8];
lastInjury = injury;
if ((injury is ExtractionAS)){
return;
};
if ((injury is EyelidAS)){
_local10 = [mouseX, mouseY];
_local11 = mouseArray[(mouseArray.length - 1)][0];
_local12 = mouseArray[(mouseArray.length - 1)][1];
mouseArray.push(_local10);
_local13 = _local10[0];
_local14 = _local10[1];
_local15 = (MapUtils.getAngle(_local13, _local11, _local14, _local12) + 90);
_local16 = MapUtils.getDist(_local13, _local13, _local14, _local12);
_local17 = MapUtils.getDist(_local13, _local13, _local14, injury.mc.y);
if ((((_local15 > (injury.mc.rotation - (EyelidAS(injury).angleBuffer + angleBuffer)))) && ((_local15 < (injury.mc.rotation + (EyelidAS(injury).angleBuffer + angleBuffer)))))){
injury.mc["hit"].y = (injury.mc["hit"].y - _local16);
movedDist = (movedDist + _local16);
_local18 = ((injury.mc["anim"].totalFrames / EyelidAS(injury).removeDist) * movedDist);
injury.mc["anim"].gotoAndStop(_local18);
if (injury.mc["anim"].currentFrame == injury.mc["anim"].totalFrames){
injury.updateInjury();
turnOff();
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXTRACTION4);
};
} else {
if (_local16 >= minMovement){
wrongUsage();
gameState.createPopup("dropped", mouseX, mouseY, null);
break;
};
};
return;
} else {
if ((injury is TransplantAS)){
_local6 = TransplantAS(injury).removables;
_local19 = 0;
while (_local19 < _local6.length) {
_local9 = injury.mc[("removable" + _local6[_local19])];
_local5 = _local9;
return;
_local19++;
};
} else {
_local5 = (injury.removable.getChildAt(0) as MovieClip);
};
};
if ((((_local5 == null)) || ((_local5.hitTestPoint(mouseX, mouseY, true) == false)))){
wrongUsage();
gameState.createPopup("dropped", mouseX, mouseY, null);
break;
};
if ((injury is UnderSurfaceExtractionSilverAS)){
if ((Connector._current_mission + 1) == 10){
_local20 = (injury.mc.rotation + 180);
_local21 = new Point(injury.mc.x, injury.mc.y);
_local22 = LineUtils.getPositionFromAngle(_local21, _local20, (injury.mc.height / 2));
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.LIGHTER);
gameState.controller.addEffect("smoke", _local22.x, _local22.y, 0, "effects_higher", 1);
};
};
injury.beingHeld = true;
_local10 = [mouseX, mouseY];
mouseArray.push(_local10);
_local11 = mouseArray[(mouseArray.length - 5)][0];
_local12 = mouseArray[(mouseArray.length - 5)][1];
_local13 = _local10[0];
_local14 = _local10[1];
_local15 = (MapUtils.getAngle(_local13, _local11, _local14, _local12) + 90);
_local16 = MapUtils.getDist(_local13, _local11, _local14, _local12);
_local17 = MapUtils.getDist(_local13, injury.mc.x, _local14, injury.mc.y);
if ((((_local15 > ((injury.mc.rotation + 90) - (SurfaceExtractionAS(injury).angleBuffer + angleBuffer)))) && ((_local15 < ((injury.mc.rotation + 90) + (SurfaceExtractionAS(injury).angleBuffer + angleBuffer)))))){
_local5.x = (_local5.x + _local16);
movedDist = (movedDist + _local16);
if ((injury is UnderSurfaceExtractionClownAS)){
UnderSurfaceExtractionClownAS(injury).moved = (UnderSurfaceExtractionClownAS(injury).moved + _local16);
};
injury.mc["hit"].x = (injury.mc["hit"].x + _local16);
if ((movedDist + removeBuffer) >= SurfaceExtractionAS(injury).removableLength){
if ((injury is UnderSurfaceExtractionClownAS) == false){
setHolding();
} else {
turnOff();
};
injury.updateInjury();
};
} else {
if (_local16 >= minMovement){
if ((injury is UnderSurfaceExtractionClownAS) == false){
wrongUsage();
gameState.createPopup("dropped", mouseX, mouseY, null);
break;
} else {
if (_local12 < _local14){
wrongUsage();
gameState.createPopup("dropped", mouseX, mouseY, null);
break;
};
};
};
};
_local8++;
};
};
};
}
public function setTrayHolding(_arg1:InjuryGraphic, _arg2:String):void{
clip = (RuntimeLibrary.getMovieClipByLinkageID(_arg2) as MovieClip);
addChild(clip);
clip.x = tray.x;
clip.y = tray.y;
if (_arg2 == "CursorInsertionPlaceable"){
clip.y = (clip.y + (clip.height / 2));
};
trayHolding = [_arg1, clip];
}
override public function onMouseUp():void{
super.onMouseUp();
}
public function setHoldingFromTray(_arg1:Array):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.DROP);
holding = [_arg1[0], _arg1[1], "tray"];
draggable = _arg1[1];
draggable.x = mouseX;
draggable.y = mouseY;
}
override public function wrongUsage():void{
super.wrongUsage();
turnOff(false);
if (gameState.inShock == false){
gameState.health = (gameState.health - damage);
};
}
public function addTray():void{
tray.visible = true;
}
}
}//package game.model.assets.tools
Section 128
//Tool (game.model.assets.tools.Tool)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import app.connector.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Tool extends Sprite implements ITool {
public var level:int;
public var go_data:ToolData;
public var maxWrongUsageTimer:int;// = 45
public var maxEffectTimer:int;// = 3
public var wrongUsageTimer:int;// = 0
public var effectTimer:int;
public var hitBuffer:int;
public var gameState:GameState;
public var lowEffectTimer:int;
public var bloodVel:int;// = 5
public var maxLowEffectTimer:int;// = 3
public var getSingleInjury:Boolean;
public var hitDist:int;// = 50
public var turnedOn:Boolean;
public var healAmount:int;
public var bloodTimer:int;
public var damage:int;
public var maxBloodTimer:int;// = 3
public function Tool(_arg1:GameState){
gameState = _arg1;
}
public function render(_arg1:Event):void{
if (mouseY > 460){
turnOff(true);
};
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
if (gameState.currentInjuries.length != 0){
wrongUsageTimer = 0;
} else {
wrongUsageTimer++;
if (wrongUsageTimer >= maxWrongUsageTimer){
gameState.createPopup("wrong", mouseX, mouseY, null);
wrongUsage();
};
};
}
public function getData():ToolData{
return (go_data);
}
public function isTurnedOn():Boolean{
return (turnedOn);
}
public function setData(_arg1:ToolData):void{
go_data = _arg1;
}
public function turnOn():void{
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
if ((gameState.currentInjuries[0] is Array)){
if (gameState.currentInjuries[0][0] == "anything"){
if (((((gameState.currentTool is Vacuum) == false)) && (((gameState.currentTool is Cream) == false)))){
return;
};
};
};
turnedOn = true;
if (hasEventListener(Event.ENTER_FRAME) == false){
addEventListener(Event.ENTER_FRAME, render);
};
}
public function onMouseUp():void{
turnOff();
}
public function turnOff(_arg1:Boolean=true):void{
turnedOn = false;
gameState.currentInjuries = [];
if (hasEventListener(Event.ENTER_FRAME)){
removeEventListener(Event.ENTER_FRAME, render);
};
}
public function onMouseDown():void{
if ((((gameState.controller.view.controlPanel["target"].hitTestPoint(mouseX, mouseY, true) == false)) && ((turnedOn == false)))){
turnOn();
};
}
public function checkUsage():void{
}
public function wrongUsage():void{
var _local1:int;
if ((Connector._current_mission + 1) != 20){
if (gameState.inShock == false){
if ((Connector.current_mission_id + 1) == 7){
_local1 = ((Math.random() * 4) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("CLOWN_SCREAM" + _local1)]);
} else {
if ((Connector.current_mission_id + 1) == 5){
_local1 = ((Math.random() * 2) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("PLEASURE_SCREAM" + _local1)]);
} else {
if (((((Connector.current_mission_id + 1) == 6)) || (((Connector.current_mission_id + 1) == 14)))){
_local1 = ((Math.random() * 4) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("FEMALE_SCREAM" + _local1)]);
} else {
if ((Connector.current_mission_id + 1) == 12){
_local1 = ((Math.random() * 2) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("PIG_SCREAM" + _local1)]);
} else {
_local1 = ((Math.random() * 4) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("MALE_SCREAM" + _local1)]);
};
};
};
};
};
};
wrongUsageTimer = 0;
}
}
}//package game.model.assets.tools
Section 129
//Vacuum (game.model.assets.tools.Vacuum)
package game.model.assets.tools {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import game.libraries.assets.*;
import flash.geom.*;
import app.connector.*;
import game.utils.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
public class Vacuum extends Tool implements ITool {
public var nozzleRadius:int;// = 25
public var bloodHeld:int;
public var radius:int;// = 75
public var bar:MovieClip;
public var suction:int;// = 200
public function Vacuum(_arg1:GameState){
super(_arg1);
getSingleInjury = false;
bloodHeld = 100;
level = gameState.controller.so.mySO.data["vacuum_level"];
if (level == 1){
healAmount = 1;
hitBuffer = 20;
suction = 250;
radius = 75;
} else {
if (level == 2){
healAmount = 2;
hitBuffer = 50;
suction = 350;
radius = 150;
} else {
if (level == 3){
healAmount = 3;
hitBuffer = 80;
suction = 450;
radius = 300;
};
};
};
}
override public function onMouseUp():void{
super.onMouseUp();
}
override public function onMouseDown():void{
super.onMouseDown();
}
override public function render(_arg1:Event):void{
var _local3:*;
var _local4:*;
var _local5:MovieClip;
var _local6:int;
var _local7:int;
var _local8:Point;
var _local9:int;
var _local10:Point;
var _local11:Array;
var _local12:*;
var _local13:Boolean;
var _local14:*;
var _local15:MovieClip;
var _local16:Boolean;
var _local17:MovieClip;
var _local18:DirtAS;
var _local19:BloodSplatterAS;
var _local20:MovieClip;
var _local21:Number;
var _local22:Number;
var _local23:InjuryGraphic;
var _local24:*;
var _local25:Number;
if (mouseY > 460){
turnOff(true);
};
gameState.currentInjuries = gameState.controller.findCorrectInjury(getSingleInjury);
var _local2:Boolean;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.VACUUM);
if (gameState.currentInjuries.length != 0){
_local3 = 0;
while (_local3 < gameState.currentInjuries.length) {
if ((gameState.currentInjuries[_local3] is Array) == false){
_local4 = gameState.currentInjuries[_local3];
if ((((_local4 is FireAS)) || ((_local4 is BloodFireAS)))){
_local5 = _local4.mc["hit"];
_local6 = _local5.x;
_local7 = _local5.y;
if ((_local4 is DirtAS) == false){
_local10 = new Point(((_local6 + _local4.mc.x) + (_local5.width / 2)), ((_local7 + _local4.mc.y) + (_local5.height / 2)));
} else {
_local10 = new Point((_local6 + _local4.mc.x), (_local7 + _local4.mc.y));
};
_local8 = _local10;
_local9 = MapUtils.getDist(_local8.x, mouseX, _local8.y, mouseY);
if ((((_local9 <= hitBuffer)) && ((bloodHeld > 0)))){
_local4.health--;
if ((_local4 is DirtAS) == false){
gameState.controller.addEffect("bloodDrop", mouseX, mouseY, 0, "effects_higher", 1);
};
if (_local4.health <= 0){
_local4.updateInjury();
};
_local2 = true;
};
} else {
_local11 = _local4.getHitBoxes();
_local12 = 0;
while (_local12 < _local11.length) {
if (_local11[_local12].length != 0){
_local13 = true;
_local14 = 0;
while (_local14 < _local11[_local12].length) {
_local15 = _local11[_local12][_local14][0];
_local16 = false;
_local17 = gameState.controller.view.controlPanel.cursor["hit"];
if (_local17.hitTestObject(_local15)){
_local16 = true;
};
if (_local16){
gameState.controller.addEffect("bloodDrop", mouseX, mouseY, 0, "effects_higher", 1);
_local11[_local12][_local14][1] = (_local11[_local12][_local14][1] - healAmount);
_local2 = true;
};
if (_local11[_local12][_local14][1] <= 0){
_local11[_local12][_local14][0].visible = false;
} else {
_local13 = false;
};
_local14++;
};
if (_local13){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.EXTRACTION3);
_local4.updateInjury();
};
};
_local12++;
};
};
};
_local3++;
};
};
if (_local2){
return;
};
_local3 = 0;
while (_local3 < gameState._blood.length) {
if ((gameState._blood[_local3] is DirtAS)){
_local18 = gameState._blood[_local3];
_local5 = _local18.mc["hit"];
_local6 = _local5.x;
_local7 = _local5.y;
if ((_local18 is DirtAS) == false){
_local10 = new Point(((_local6 + _local18.mc.x) + (_local5.width / 2)), ((_local7 + _local18.mc.y) + (_local5.height / 2)));
} else {
_local10 = new Point((_local6 + _local18.mc.x), (_local7 + _local18.mc.y));
};
_local8 = _local10;
_local9 = MapUtils.getDist(_local8.x, mouseX, _local8.y, mouseY);
if ((((_local9 <= hitBuffer)) && ((bloodHeld > 0)))){
_local18.health--;
if ((_local18 is DirtAS) == false){
gameState.controller.addEffect("bloodDrop", mouseX, mouseY, 0, "effects_higher", 1);
};
if ((((_local18.health <= 0)) && (_local18.alive))){
_local18.updateInjury();
};
};
} else {
_local19 = (gameState._blood[_local3] as BloodSplatterAS);
_local12 = 0;
while (_local12 < _local19.particles.length) {
_local20 = _local19.particles[_local12][0];
if (_local19.particles[_local12][2][0] >= _local19.particles[_local12][2][1]){
_local21 = MapUtils.getDist(_local20.x, mouseX, _local20.y, mouseY);
if (_local21 <= nozzleRadius){
_local19.removeParticle(_local12);
bloodHeld = (bloodHeld + 10);
} else {
if (_local21 <= radius){
_local20.gotoAndStop(1);
_local19.particles[_local12][1] = -1;
_local22 = (MapUtils.getAngle(_local20.x, mouseX, _local20.y, mouseY) - 90);
_local20.x = (_local20.x + (Math.sin(((_local22 * Math.PI) / 180)) * (suction / _local21)));
_local20.y = (_local20.y + (Math.cos(((_local22 * Math.PI) / 180)) * -((suction / _local21))));
};
};
};
_local12++;
};
};
_local3++;
};
_local3 = 0;
while (_local3 < gameState._injuries.length) {
_local23 = (gameState._injuries[_local3] as InjuryGraphic);
if (((((((((((_local23 is PoisonSplatterAS) == false)) && (((_local23 is FatSplatterAS) == false)))) && (((_local23 is DoveSplatterAS) == false)))) && (((_local23 is InkSplatterAS) == false)))) && (((_local23 is SaltSplatterAS) == false)))){
} else {
_local24 = _local23;
_local12 = 0;
while (_local12 < _local24.particles.length) {
_local20 = _local24.particles[_local12][0];
if (_local24.particles[_local12][2][0] >= _local24.particles[_local12][2][1]){
_local25 = MapUtils.getDist(_local20.x, mouseX, _local20.y, mouseY);
if (_local25 <= nozzleRadius){
_local24.removeParticle(_local12);
} else {
if (_local25 <= radius){
_local20.gotoAndStop(1);
_local24.particles[_local12][1] = -1;
_local22 = (MapUtils.getAngle(_local20.x, mouseX, _local20.y, mouseY) - 90);
_local20.x = (_local20.x + (Math.sin(((_local22 * Math.PI) / 180)) * (suction / _local25)));
_local20.y = (_local20.y + (Math.cos(((_local22 * Math.PI) / 180)) * -((suction / _local25))));
};
};
};
_local12++;
};
};
_local3++;
};
}
override public function turnOff(_arg1:Boolean=true):void{
super.turnOff();
if (bar != null){
removeChild(bar);
};
}
override public function wrongUsage():void{
}
override public function turnOn():void{
var _local1:Boolean;
var _local2:*;
var _local3:*;
if (turnedOn){
return;
};
if ((Connector._current_mission + 1) == 19){
_local1 = false;
_local2 = 0;
while (_local2 < gameState._injuries.length) {
_local3 = gameState._injuries[_local2];
if ((((_local3 is BigCentipedeAS)) && ((BigCentipedeAS(_local3).state == "attack")))){
_local1 = true;
return;
};
_local2++;
};
};
super.turnOn();
if ((gameState.currentInjuries[0] is Array)){
if (gameState.currentInjuries[0][0] == "anything"){
gameState.currentInjuries[0][1].interact();
};
};
}
}
}//package game.model.assets.tools
Section 130
//Popup (game.model.assets.Popup)
package game.model.assets {
import flash.display.*;
import shell.*;
public class Popup extends Sprite {
public var mc:MovieClip;
public function Popup(_arg1:String){
mc = (RuntimeLibrary.getMovieClipByLinkageID(_arg1) as MovieClip);
addChild(mc);
mc.scaleX = 0.8;
mc.scaleY = 0.8;
}
}
}//package game.model.assets
Section 131
//GameState (game.model.GameState)
package game.model {
import de.polygonal.ds.*;
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import game.libraries.assets.*;
import app.connector.*;
import shell.*;
import game.libraries.*;
import game.*;
import game.model.assets.injuries.*;
import game.ui.*;
import game.interfaces.*;
import app.sound.*;
import game.model.assets.tools.*;
import game.model.assets.*;
public class GameState extends EventDispatcher {
protected var overflow:Boolean;// = false
protected var cameray:int;
public var currentStage:int;
public var tutorial13:Array;
public var tutorial14:Array;
protected var _characters:Array;
protected var camerax:int;
public var tutorial10:Array;
public var injuryTimer:int;
public var tutUp:Boolean;
public var tutorial16:Array;
public var tutorial18:Array;
public var tutorial19:Array;
protected var _gameobjects:Array;
public var paused:Boolean;// = false
protected var creation_stack:LinkedStack;
public var tutorial17:Array;
public var selected_chars:Array;
public var tutorial20:Array;
protected var _pickups:Array;
protected var buffer:int;
public var minX:int;// = 50
public var minY:int;// = 150
public var tutorial15:Array;
public var maxInShockTimer:int;// = 300
public var health:Number;
public var current_tutorial:Array;
protected var max_renders_per_tick:int;// = 8
protected var _furniture:Array;
public var maxX:int;// = 550
public var maxY:int;// = 410
protected var cy:int;
protected var cx:int;
public var inShock:Boolean;
protected var walkMapState:Array2;
protected var displayList:Array;
private var sample_size:Number;// = 1.2
public var possible_tools:Array;
public var score:int;
protected var dragObject:String;
protected var ui:UI;
public var combo:int;
public var tutorial4:Array;
public var tutorial5:Array;
public var tutorial7:Array;
public var tutorial2:Array;
public var controller:Game;
public var tutorial6:Array;
public var _organs:Array;
public var tutorial1:Array;
public var tutorial3:Array;
public var tutorial8:Array;
public var tutorial9:Array;
public var currentTool:ITool;
protected var teams:Array;
public var baseHealScore:int;// = 10
public var _injuries:Array;
public var time:int;
public var inShockTimer:int;
public var used_tutorials:Array;
protected var _display_list:Array;
public var _tools:Array;
public var _bg:String;
public var currentInjuries:Array;
public var tutorial_pop:MovieClip;
public var baseTimeScore:int;// = 1
public var _blood:Array;
protected var _terrain:Array;
public var tutorial11:Array;
public var tutorial12:Array;
public static var STAGE_STARTED:String = "stage_started";
public static var TOOL_SUCCESS:String = "tool_success";
public static var SELECTION_TYPE_MIXED:String = "Selection_mixed";
public static var SELECTION_TYPE_NONE:String = "Selection_none";
public static var REMOVED_INJURY:String = "removed_injury";
public static var SELECTION_TYPE_SINGLE:String = "Selection_single";
public static var UPDATED_INJURY:String = "updated_injury";
public static var MISSION_FINISHED:String = "mission_finished";
public static var GAME_STATE_READY:String = "Gamestate_ready";
public static var TUTORIAL_CLICKED:String = "clicked";
public static var MISSION_FAILED:String = "mission_failed";
public static var STAGE_FINISHED:String = "stage_finished";
public static var TUTORIAL_TRIGGER:String = "tutorial";
public static var SELECTED_TOOL:String = "selected_tool";
public function GameState(_arg1:Game){
_display_list = [];
_characters = [];
_terrain = [];
_pickups = [];
_gameobjects = [];
_furniture = [];
_injuries = [];
_organs = [];
possible_tools = [];
_tools = [];
_blood = [];
tutorial1 = [[STAGE_STARTED, 1, ["clicked"], "pop", "It’s all coming back to me! Small cuts don’t need stitches, just grab the LIGHTER...", [["unlock", "lighter"], ["arrow", "lighter"]]], [SELECTED_TOOL, "lighter", [UPDATED_INJURY, SmallCutAS, 2], "text", "aaaand drag along the line to burn the cut shut! That sizzling is the smell of medical science, kids!", [[TUTORIAL_TRIGGER, 2]]], [TUTORIAL_TRIGGER, null, ["clicked"], "pop", "We don’t want scars, so if we just grab the SPECIAL CREAM...", [["unlock", "cream"], ["arrow", "cream"]]], [SELECTED_TOOL, "cream", [REMOVED_INJURY, SmallCutAS, "none"], "text", "...then applying along the line heals a burned cut completely! Placebo? Magic? Either way, no-one gets sued!"], [STAGE_STARTED, 2, ["clicked"], "pop", "Surgery is like a box of chocolates - sometimes there’s another layer underneath! Now where’s my pizza cutter?", [["unlock", "cutter"], ["arrow", "cutter"]]], [SELECTED_TOOL, "cutter", [REMOVED_INJURY, IncisionAS, "none"], "text", "Cut along the dotted line to get to the heart of the matter... Or lungs, stomach or whatever!"], [STAGE_STARTED, 3, ["clicked"], "pop", "Looks like there are things here that shouldn’t be. Let’s grab the TONGS!", [["unlock", "tongs"], ["arrow", "tongs"]]], [SELECTED_TOOL, "tongs", [UPDATED_INJURY, SurfaceExtractionAS, 3], "text", "GENTLY drag out the glass with the tongs and place on the tray. Remember! “If in doubt, yank it out!” Unless it’s heart surgery, or other vital organs...", [[TUTORIAL_TRIGGER, 8]]], [TUTORIAL_TRIGGER, null, ["clicked"], "pop", "Ok! This is a big cut. I used to use staples, but being in a home has let me perfect my STITCHING!", [["unlock", "stitch"], ["arrow", "stitch"]]], [SELECTED_TOOL, "stitch", [UPDATED_INJURY, SurfaceExtractionAS, 4], "text", "Click and hold to create stitches, drag back and forward down the length of a cut to close it up. Knit one, purl two!", [[TUTORIAL_TRIGGER, 10]]], [TUTORIAL_TRIGGER, null, ["clicked"], "pop", "Once a cut is stitched I can heal it as normal with lighter and cream. I’ll need to heal all the wounds before I can move on...", [["arrow", "lighter"], ["arrow", "cream"]]], [STAGE_STARTED, 4, ["clicked"], "pop", "Now to close up the exit wound and we’re done!"]];
tutorial2 = [[STAGE_STARTED, 1, ["clicked"], "pop", "This is dangerous – I can’t see what’s causing the trouble. I’ll need the ULTRASOUND 5000", [["unlock", "scanner"], ["arrow", "scanner"]]], [SELECTED_TOOL, "scanner", [UPDATED_INJURY, UnderSurfaceExtractionAS, 2], "text", "Move the ULTRASOUND 5000 around and the pulse will turn green when it’s near to an offending item – then I can switch to the PIZZA CUTTER to take it out!", [[TUTORIAL_TRIGGER, 2]]], [TUTORIAL_TRIGGER, null, ["clicked"], "pop", "Blood! Too much bleeding is bad for the patient, and it also makes it hard to see what you’re doing. Select the VACCUUM...", [["unlock", "vacuum"], ["arrow", "vacuum"]]], [SELECTED_TOOL, "vacuum", [REMOVED_INJURY, BloodSplatterAS, "none"], "text", "...click on the blood to suck it up!"], [STAGE_STARTED, 3, ["clicked"], "pop", "If your patient’s heart-rate drops to zero, or you run out of time – you fail! So keep a close eye on the heart-rate monitor, and the timer!", [["arrow", "health"], ["arrow", "time"]]]];
tutorial3 = [[STAGE_STARTED, 1, ["clicked"], "pop", "Prevention might be the best cure – but when a patient is really close to death, sometimes only a giant INJECTION up the wazoo will do! Select the SYRINGE...", [["unlock", "injection"], ["arrow", "injection"]]], [SELECTED_TOOL, "injection", [TOOL_SUCCESS, "injection"], "text", "...then CLICK and HOLD DOWN where you want to inject! A steady hand is needed to navigate it successfully without touching the sides.", [[TUTORIAL_TRIGGER, 2]]], [TUTORIAL_TRIGGER, null, ["clicked"], "pop", "Awesome! A few more shots and I can start work on these wounds!"]];
tutorial4 = [[STAGE_STARTED, 2, ["clicked"], "pop", "Always use the right tool for tricky jobs like cutting bone or tough organs. Or failing that, just get the CHAINSAW out!", [["unlock", "chainsaw"], ["arrow", "chainsaw"]]], [SELECTED_TOOL, "chainsaw", [UPDATED_INJURY, TransplantAS, 1], "text", "The chainsaw has a kick to it! So trace the yellow carefully!", [[TUTORIAL_TRIGGER, 2]]], [TUTORIAL_TRIGGER, null, ["clicked"], "pop", "Once you’ve cut the bone loose, grab it with the tongs. If you’re doing a transplant, take the replacement from the tray, and drop it in place...", [["arrow", "tongs"]]], [UPDATED_INJURY, [UPDATED_INJURY, TransplantAS, 3], ["clicked"], "pop", "...then burn it and cream it like always! Sweet!", [["arrow", "lighter"], ["arrow", "cream"]]]];
tutorial5 = [[STAGE_STARTED, 2, ["clicked"], "pop", "Sounds like she wants some extreme piercings. The lungs are the obvious choice!"]];
tutorial6 = [[STAGE_STARTED, 3, ["clicked"], "pop", "A crab?! Ewwww! I’ll bet we can use the chainsaw for massive damage!"]];
tutorial7 = [[STAGE_STARTED, 3, ["clicked"], "pop", "Creatures flapping and squirming around inside people are SURPRISINGLY common! The car battery is our friend here...", [["unlock", "battery"], ["arrow", "battery"]]], [SELECTED_TOOL, "battery", [UPDATED_INJURY, DoveAS, 1], "text", "Click on the creature to shock it – but be careful! If the patient is hit, it’ll stop their heart! Shock them again with the battery to give them a jolt back to life!"]];
tutorial8 = [[STAGE_STARTED, 3, ["clicked"], "pop", "Poison! Arrrgh! I HATE poison! Use the SYRINGE to pierce the skin and suck it up before it spreads!"]];
tutorial9 = [[STAGE_STARTED, 5, [UPDATED_INJURY, InsectBossAS, 1], "text", "What is that?! I should wait till it lands on the body and then I can taser it."]];
tutorial10 = [];
tutorial11 = [];
tutorial12 = [];
tutorial13 = [];
tutorial14 = [];
tutorial15 = [];
tutorial16 = [];
tutorial17 = [];
tutorial18 = [];
tutorial19 = [];
tutorial20 = [[STAGE_STARTED, 2, ["clicked"], "pop", "If I can keep his heartrate above 30 for more than 30 seconds, I'm in with a chance!", [[TUTORIAL_TRIGGER, 1]]], [TUTORIAL_TRIGGER, null, ["clicked"], "pop", "I'll need to feed him cough syrup, pour vampire tears on his heart, use voodoo to attach his thumb...and whatever other tricks I can think of!"]];
super();
controller = _arg1;
inShock = false;
inShockTimer = maxInShockTimer;
}
public function init():void{
var _local2:int;
var _local3:ToolData;
var _local4:ITool;
tutUp = false;
current_tutorial = [];
used_tutorials = [];
injuryTimer = 0;
score = 0;
combo = 0;
currentStage = 1;
_display_list = [];
teams = [0, 1];
selected_chars = [];
creation_stack = new LinkedStack();
currentTool = null;
var _local1:int;
while (_local1 < Library.getToolLibrary().length) {
_local2 = Library.getToolLibrary()[_local1].id;
_local3 = Library.getInstance().getToolByID(_local2);
_local4 = (new _local3.type(this) as ITool);
_local4.setData(_local3);
possible_tools.push(_local4);
if (((!((controller.mission_data.tools.indexOf(_local2) == -1))) || (!((controller.so.mySO.data["tools"].indexOf(_local2) == -1))))){
_tools.push(_local4);
};
_local1++;
};
dispatchEvent(new Event(GAME_STATE_READY));
setupStage(currentStage);
}
public function getWalkMapState():Array2{
return (walkMapState);
}
public function createPopup(_arg1:String, _arg2:Number, _arg3:Number, _arg4:InjuryGraphic, _arg5:int=-2):void{
var _local6:Boolean;
var _local7:int;
var _local8:int;
if ((((((((_arg1 == "correct")) || ((_arg1 == "healed")))) || ((_arg1 == "revived")))) || ((_arg1 == "yummy")))){
if (_arg4 == null){
if ((((((_arg1 == "correct")) || ((_arg1 == "healed")))) || ((_arg1 == "yummy")))){
if ((Connector._current_mission + 1) != 10){
_arg1 = "healed";
};
checkTutorial(TOOL_SUCCESS, "injection");
};
} else {
_local6 = false;
_local7 = (100 * (injuryTimer / _arg4.stageArray[(_arg4.currentStage + _arg5)][11]));
_arg1 = "awesome";
_local8 = baseHealScore;
if ((((_arg4.playerCreated == false)) && (!(((Connector._current_mission_id + 1) == 20))))){
combo++;
score = (score + ((baseHealScore + _local8) * combo));
};
checkTutorial(UPDATED_INJURY, _arg4);
};
} else {
combo = 0;
controller.redScreen();
};
controller.createPopup(_arg1, _arg2, _arg3, _arg4);
injuryTimer = 0;
}
public function get blood():Array{
return (_blood);
}
public function addOrgan(_arg1):void{
var _local2:String = _arg1.type;
var _local3:Class = (getDefinitionByName(_local2) as Class);
var _local4:IOrgan = (new _local3(_arg1.x, _arg1.y) as IOrgan);
_organs.push(_local4);
}
public function removeInjury(_arg1:InjuryGraphic):void{
if (_injuries.indexOf(_arg1) != -1){
_injuries.splice(_injuries.indexOf(_arg1), 1);
};
if (_blood.indexOf(_arg1) != -1){
_blood.splice(_blood.indexOf(_arg1), 1);
};
if (_display_list.indexOf(_arg1) != -1){
_display_list.splice(_display_list.indexOf(_arg1), 1);
};
checkTutorial("removed_injury", _arg1);
}
public function setupTutorial():void{
if (current_tutorial[0][3] == "pop"){
paused = true;
tutorial_pop = (RuntimeLibrary.getMovieClipByLinkageID("tut_pop") as MovieClip);
tutorial_pop.addEventListener(MouseEvent.CLICK, clickedTutorial);
tutorial_pop["txt"].text = current_tutorial[0][4];
tutorial_pop["cont"].addEventListener(MouseEvent.CLICK, clickedTutorial);
controller.view.addTut(tutorial_pop);
tutUp = true;
} else {
if (current_tutorial[0][3] == "text"){
tutorial_pop = (RuntimeLibrary.getMovieClipByLinkageID("text_pop") as MovieClip);
tutorial_pop.mouseEnabled = false;
tutorial_pop.mouseChildren = false;
tutorial_pop["txt"].text = current_tutorial[0][4];
controller.view.addTut(tutorial_pop);
tutUp = false;
};
};
}
public function filterRemovedClips(_arg1:Array):Array{
var _local2:Array = [];
var _local3:int = _arg1.length;
var _local4:int;
while (_local4 < _local3) {
if (((!((_characters.indexOf(_arg1[_local4]) == -1))) && ((_arg1[_local4].alive == true)))){
_local2.push(_arg1[_local4]);
};
_local4++;
};
return (_local2);
}
public function get display_list():Array{
return (_display_list);
}
public function removeOrgans():void{
_organs = [];
}
public function getUI():UI{
return (ui);
}
public function addInjury(_arg1:Injury, _arg2:Boolean, _arg3:Boolean=false):void{
if ((_injuries[0] is Incision)){
return;
};
var _local4:int = _arg1.id;
if (_arg3 == false){
if (_arg1.x < minX){
_arg1.x = minX;
};
if (_arg1.x > maxX){
_arg1.x = maxX;
};
if (_arg1.y < minY){
_arg1.y = minY;
};
if (_arg1.y > maxY){
_arg1.y = maxY;
};
};
var _local5:InjuryData = Library.getInstance().getInjuryByID(_local4);
var _local6:IInjury = (new _local5.type(this) as IInjury);
_local6.setData(_local5, _arg1, _arg2, _arg3);
_injuries.push(_local6);
_display_list.push(_local6);
if (_arg2){
checkTutorial("player_created_injury", _local6);
} else {
checkTutorial("computer_created_injury", _local6);
};
}
public function setupStage(_arg1:int):void{
var _local5:*;
var _local2:Mission = controller.mission_data;
var _local3:MissionStage = _local2.data[(_arg1 - 1)];
checkTutorial("stage_started", _arg1);
var _local4:Injury;
_local5 = 0;
while (_local5 < _local3.injuries.length) {
if (Injury(_local3.injuries[_local5]).id == 94){
addBlood(_local3.injuries[_local5]);
} else {
addInjury(_local3.injuries[_local5], false, true);
};
_local5++;
};
if (((!((_local3.organs == null))) && (!((_local3.organs.length == 0))))){
_local5 = 0;
while (_local5 < _local3.organs.length) {
addOrgan(_local3.organs[_local5]);
_local5++;
};
};
_bg = _local3.bg;
if (_local3.time != -1){
time = _local3.time;
};
if (_local3.health != -1){
health = _local3.health;
};
}
public function checkTutorial(_arg1:String, _arg2=null):void{
var _local4:*;
var _local5:Boolean;
var _local6:int;
var _local7:Boolean;
var _local8:*;
var _local9:*;
if (controller.so.mySO.data[("score" + (Connector.current_mission_id + 1))] != 0){
return;
};
var _local3:Array = this[("tutorial" + (Connector.current_mission_id + 1))];
if (current_tutorial.length == 0){
_local4 = 0;
while (_local4 < _local3.length) {
if (used_tutorials.indexOf(_local4) != -1){
} else {
if (_local3[_local4][0] == _arg1){
if (_arg1 == STAGE_STARTED){
if (currentStage == _local3[_local4][1]){
current_tutorial = [_local3[_local4], _local4];
setupTutorial();
break;
};
} else {
if (_arg1 == SELECTED_TOOL){
if (_arg2 == _local3[_local4][1]){
current_tutorial = [_local3[_local4], _local4];
setupTutorial();
break;
};
} else {
if (_arg1 == TUTORIAL_TRIGGER){
if (_local4 == _arg2){
current_tutorial = [_local3[_local4], _local4];
setupTutorial();
break;
};
} else {
if (_arg1 == UPDATED_INJURY){
if ((_arg2 is _local3[_local4][1][1])){
if (InjuryGraphic(_arg2).currentStage == _local3[_local4][1][2]){
current_tutorial = [_local3[_local4], _local4];
setupTutorial();
break;
};
};
};
};
};
};
};
};
_local4++;
};
} else {
_local5 = false;
_local6 = -1;
if (((((!((current_tutorial[0][2][0] == null))) && (!((current_tutorial[0][2][0] == undefined))))) && ((current_tutorial[0][2][0] == _arg1)))){
if (_arg1 == TUTORIAL_CLICKED){
paused = false;
tutorial_pop.removeEventListener(MouseEvent.CLICK, clickedTutorial);
tutorial_pop["cont"].removeEventListener(MouseEvent.CLICK, clickedTutorial);
_local5 = true;
} else {
if (_arg1 == UPDATED_INJURY){
if ((_arg2 is current_tutorial[0][2][1])){
_local7 = false;
_local8 = 0;
while (_local8 < _injuries.length) {
if ((_injuries[_local8] is current_tutorial[0][2][1])){
if (InjuryGraphic(_injuries[_local8]).currentStage < current_tutorial[0][2][2]){
_local7 = true;
break;
};
};
_local8++;
};
if (_local7 == false){
_local5 = true;
};
};
} else {
if (_arg1 == REMOVED_INJURY){
if ((_arg2 is current_tutorial[0][2][1])){
if ((_arg2 is BloodSplatterAS)){
_local5 = true;
} else {
_local7 = false;
_local8 = 0;
while (_local8 < _injuries.length) {
if ((_injuries[_local8] is current_tutorial[0][2][1])){
_local7 = true;
break;
};
_local8++;
};
if (_local7 == false){
_local5 = true;
};
};
};
} else {
if (_arg1 == TOOL_SUCCESS){
if (current_tutorial[0][2][1] == _arg2){
_local5 = true;
};
};
};
};
};
};
if (_local5){
controller.view.removeTut(tutorial_pop);
used_tutorials.push(current_tutorial[1]);
if (((!((current_tutorial[0][5] == null))) && (!((current_tutorial[0][5].length == 0))))){
_local8 = 0;
while (_local8 < current_tutorial[0][5].length) {
if (current_tutorial[0][5][_local8][0] == "unlock"){
_local9 = 0;
while (_local9 < possible_tools.length) {
if (Tool(possible_tools[_local9]).getData().name == current_tutorial[0][5][_local8][1]){
_tools.push(Tool(possible_tools[_local9]));
controller.view.controlPanel.updateTools();
};
_local9++;
};
} else {
if (current_tutorial[0][5][_local8][0] == "arrow"){
controller.view.controlPanel.displayArrow(current_tutorial[0][5][_local8][1]);
} else {
if (current_tutorial[0][5][_local8][0] == TUTORIAL_TRIGGER){
_local6 = current_tutorial[0][5][_local8][1];
};
};
};
_local8++;
};
};
current_tutorial = [];
if (_local6 != -1){
checkTutorial(TUTORIAL_TRIGGER, _local6);
};
};
};
}
public function clickedTutorial(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
checkTutorial(TUTORIAL_CLICKED);
}
public function cleanUp():void{
var _local2:ITool;
var _local1:int;
while (_local1 < _tools.length) {
_local2 = _tools[_local1];
if (_local2.isTurnedOn()){
_local2.turnOff();
_local2 = null;
};
_local1++;
};
_tools = [];
}
public function update():void{
}
public function removeBlood():void{
_blood = [];
}
public function addBlood(_arg1:Injury, _arg2:Number=-1):void{
var _local3:int;
var _local4:InjuryData;
var _local5:Class;
var _local6:IInjury;
if (((((!(((Connector._current_mission + 1) == 20))) || (!((_bg == "grave"))))) || ((_arg1 is DirtAS)))){
_local3 = _arg1.id;
_local4 = Library.getInstance().getInjuryByID(_local3);
_local5 = _local4.type;
if (_arg1.id == 94){
_local6 = (new _local5(this) as IInjury);
} else {
_local6 = (new _local5(this, _arg2) as IInjury);
};
_local6.setData(_local4, _arg1, false, false);
_blood.push(_local6);
_display_list.push(_local6);
};
}
}
}//package game.model
Section 132
//Model (game.model.Model)
package game.model {
import flash.events.*;
import flash.display.*;
import app.connector.*;
import game.libraries.*;
public class Model extends EventDispatcher {
public var mapHeight:Number;// = 0
protected var lib:Library;
public var targetx:int;
public var mapWidth:Number;// = 0
public var targety:int;
protected var instance;
public var visibleHeight:Number;
public var visibleWidth:Number;
private var master_array:Array;
public var stage:Stage;
public static var GAME_HEIGHT:Number = 540;
public static var GAME_WIDTH:Number = 760;
public static var MODEL_READY:String = "Model_ready";
public static var MODEL_CHANGED:String = "Model_CHANGED";
public static var QUIT:String = "quit";
public function Model(_arg1:Mission, _arg2:Stage){
master_array = _arg1.data;
stage = _arg2;
}
public function getStage():Stage{
return (stage);
}
protected function onLibraryReady(_arg1:Event):void{
dispatchEvent(new Event(MODEL_READY));
}
public function init():void{
lib = new Library();
lib.addEventListener(Library.COMPLETE, onLibraryReady);
}
}
}//package game.model
Section 133
//UI (game.ui.UI)
package game.ui {
import flash.events.*;
import flash.display.*;
public class UI extends EventDispatcher {
public var stage:Stage;
public static var KEY_ESCAPE:int = 27;
public static var KEY_DOWN_LEFT:int = 103;
public static var MOUSE:String = "mouseDown";
public static var KEY_LEFT:int = 37;
public static var KEY_UP:int = 38;
public static var keysPressed:Array = [];
public static var KEY_DOWN_RIGHT:int = 102;
public static var KEY_DOWN:int = 40;
public static var KEY_PRESS:String = "down";
public static var KEY_UP_LEFT:int = 101;
public static var KEY_ENTER:int = 13;
public static var mousePressed:Boolean = false;
public static var KEY_A:int = 65;
public static var KEY_B:int = 27;
public static var KEY_G:int = 71;
public static var KEY_D:int = 68;
public static var KEY_R:int = 82;
public static var KEY_S:int = 83;
public static var KEY_CONTROL:int = 17;
public static var KEY_W:int = 87;
public static var KEY_UP_RIGHT:int = 100;
public static var KEY_SHIFT:int = 16;
public static var KEY_SPACE:int = 32;
public static var KEY_RELEASE:String = "up";
public static var KEY_RIGHT:int = 39;
public function UI(_arg1:Stage){
stage = _arg1;
}
private function onMouseUp(_arg1:MouseEvent):void{
mousePressed = false;
}
private function onKeyDown(_arg1:KeyboardEvent):void{
keysPressed[_arg1.keyCode] = true;
dispatchEvent(new KeyboardEvent(KEY_PRESS, true));
}
private function onMouseDown(_arg1:MouseEvent):void{
mousePressed = true;
}
private function onKeyUp(_arg1:KeyboardEvent):void{
keysPressed[_arg1.keyCode] = false;
}
public static function isKeyDown():Boolean{
var _local1:Boolean;
if (keysPressed.length > 0){
_local1 = true;
};
return (_local1);
}
public static function keyIsDown(_arg1:uint):Boolean{
if (keysPressed[_arg1]){
return (keysPressed[_arg1]);
};
return (false);
}
}
}//package game.ui
Section 134
//ArrayUtils (game.utils.ArrayUtils)
package game.utils {
public class ArrayUtils {
public static function compareArrays(_arg1:Array, _arg2:Array):Array{
var _local5:int;
var _local3:Array = [];
var _local4:int;
while (_local4 < _arg1.length) {
_local5 = _arg2.indexOf(_arg1[_local4]);
if (_local5 == -1){
_local3.push(_arg1[_local4]);
};
_local4++;
};
return (_local3);
}
}
}//package game.utils
Section 135
//ColourUtils (game.utils.ColourUtils)
package game.utils {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import fl.motion.*;
public class ColourUtils {
public static function interpolateColor(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:ColorTransform = new ColorTransform();
_local4.redMultiplier = (_arg1.redMultiplier + ((_arg2.redMultiplier - _arg1.redMultiplier) * _arg3));
_local4.greenMultiplier = (_arg1.greenMultiplier + ((_arg2.greenMultiplier - _arg1.greenMultiplier) * _arg3));
_local4.blueMultiplier = (_arg1.blueMultiplier + ((_arg2.blueMultiplier - _arg1.blueMultiplier) * _arg3));
_local4.alphaMultiplier = (_arg1.alphaMultiplier + ((_arg2.alphaMultiplier - _arg1.alphaMultiplier) * _arg3));
_local4.redOffset = (_arg1.redOffset + ((_arg2.redOffset - _arg1.redOffset) * _arg3));
_local4.greenOffset = (_arg1.greenOffset + ((_arg2.greenOffset - _arg1.greenOffset) * _arg3));
_local4.blueOffset = (_arg1.blueOffset + ((_arg2.blueOffset - _arg1.blueOffset) * _arg3));
_local4.alphaOffset = (_arg1.alphaOffset + ((_arg2.alphaOffset - _arg1.alphaOffset) * _arg3));
return (_local4);
}
public static function tint(_arg1:Number, _arg2:Number, _arg3:DisplayObject){
var _local4:* = new Color();
_local4.setTint(_arg1, _arg2);
_arg3.transform.colorTransform = _local4;
}
public static function ApplyColourToString(_arg1:int, _arg2:int, _arg3:uint, _arg4:TextField):void{
var _local5:TextFormat = new TextFormat();
_local5.color = _arg3;
_arg4.setTextFormat(_local5, _arg1, _arg2);
}
}
}//package game.utils
Section 136
//fpsBox (game.utils.fpsBox)
package game.utils {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.text.*;
import flash.system.*;
public class fpsBox extends TextField {
protected var frames:uint;// = 0
protected var format:TextFormat;
protected var averageArray:Array;
protected var targetFPS:int;// = 0
public function fpsBox(... _args){
format = new TextFormat();
averageArray = new Array();
super();
var _local2:Timer = new Timer(1000);
format.font = "Verdana";
format.color = 1073200;
format.size = 20;
format.bold = true;
this.autoSize = TextFieldAutoSize.LEFT;
this.defaultTextFormat = format;
this.text = "-- FPS ---- AV";
_local2.addEventListener(TimerEvent.TIMER, tick);
if ((_args[0] is Stage)){
_args[0].addEventListener(Event.ENTER_FRAME, everyFrame, false, 0, true);
targetFPS = _args[0].frameRate;
} else {
this.addEventListener(Event.ENTER_FRAME, everyFrame, false, 0, true);
};
_local2.start();
}
public function everyFrame(_arg1:Event):void{
frames++;
}
protected function tick(_arg1:TimerEvent):void{
var _local2:int;
averageArray.push(frames);
if (averageArray.length == 4){
_local2 = 1;
while (_local2 < averageArray.length) {
averageArray[0] = (averageArray[0] + averageArray[_local2]);
_local2++;
};
averageArray.splice(1, (averageArray.length - 1));
averageArray[0] = (averageArray[0] / 4);
};
this.text = (((frames + " FPS ") + Math.round(averageArray[0])) + " AV");
if (targetFPS != 0){
this.appendText((" /" + targetFPS));
};
this.appendText(((" " + String(Math.round((System.totalMemory / 1000000)))) + " kb"));
frames = 0;
}
}
}//package game.utils
Section 137
//LineUtils (game.utils.LineUtils)
package game.utils {
import flash.geom.*;
public class LineUtils {
public static function degreesToRadians(_arg1:Number):Number{
var _local2:Number = ((_arg1 * Math.PI) / 180);
return (_local2);
}
public static function getIntersectionPoint(_arg1:VectorX, _arg2:VectorX):Point{
var _local3:* = (_arg2.x - _arg1.x);
var _local4:* = (_arg2.y - _arg1.y);
var _local5:* = new VectorX(0, 0, _local3, _local4);
var _local6:* = (perpProduct(_local5, _arg2) / perpProduct(_arg1, _arg2));
var _local7:* = (_arg1.x + (_arg1.vx * _local6));
var _local8:* = (_arg1.y + (_arg1.vy * _local6));
return (new Point(_local7, _local8));
}
public static function perpProduct(_arg1:VectorX, _arg2:VectorX):Number{
var _local3:Number = ((_arg1.vx * _arg2.vy) - (_arg1.vy * _arg2.vx));
return (_local3);
}
public static function radiansToDegrees(_arg1:Number):Number{
var _local2:Number = ((_arg1 * 180) / Math.PI);
return (_local2);
}
public static function getPositionFromAngle(_arg1:Point, _arg2:Number, _arg3:Number):Point{
var _local4:Number = (_arg1.x + (Math.sin(((_arg2 * Math.PI) / 180)) * _arg3));
var _local5:Number = (_arg1.y + (Math.cos(((_arg2 * Math.PI) / 180)) * -(_arg3)));
return (new Point(_local4, _local5));
}
public static function getDist(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number = Math.round((_arg1 - _arg2));
var _local6:Number = Math.round((_arg3 - _arg4));
var _local7:Number = Math.round(Math.sqrt(((_local5 * _local5) + (_local6 * _local6))));
return (_local7);
}
}
}//package game.utils
Section 138
//MapUtils (game.utils.MapUtils)
package game.utils {
import flash.geom.*;
public class MapUtils {
public static var scale:Number = 1;
public static var iso_scale:int = 2;
public static function perpProduct(_arg1:VectorX, _arg2:VectorX):Number{
var _local3:Number = ((_arg1.vx * _arg2.vy) - (_arg1.vy * _arg2.vx));
return (_local3);
}
public static function gridRefToMouse(_arg1:Number):Number{
return ((_arg1 * scale));
}
public static function getDirection(_arg1, _arg2):String{
var _local3:*;
var _local4:*;
if (_arg1 > _arg2){
_local3 = ((360 - _arg1) + _arg2);
} else {
_local3 = (_arg2 - _arg1);
};
if (_arg1 < _arg2){
_local4 = (_arg1 + (360 - _arg2));
} else {
_local4 = (_arg1 - _arg2);
};
if (_local3 < _local4){
return ("right");
};
return ("left");
}
public static function getIsoXYfromMouseXY(_arg1:Number, _arg2:Number):Point{
var _local3:Number = (_arg1 / scale);
var _local4:Number = (_arg2 / scale);
var _local5:Number = Math.round(((_local3 + (iso_scale * _local4)) / iso_scale));
var _local6:Number = Math.round(((_local3 - (iso_scale * _local4)) / iso_scale));
return (new Point(_local5, _local6));
}
public static function mouseToGridRef(_arg1:Number):Number{
return (Math.round((_arg1 / scale)));
}
public static function mouseToExactGridRef(_arg1:Number):Number{
return ((_arg1 / scale));
}
public static function isoGridRefToMouse(_arg1:Number, _arg2:Number):Point{
var _local3:Number = ((_arg1 + _arg2) * scale);
var _local4:Number = (((_arg1 - _arg2) * scale) / iso_scale);
return (new Point(_local3, _local4));
}
public static function getPointAlongLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Array{
var _local6:* = _arg5;
var _local7:* = Math.floor((_arg1 + ((_arg2 - _arg1) * _local6)));
var _local8:* = Math.floor((_arg3 + ((_arg4 - _arg3) * _local6)));
return ([_local7, _local8]);
}
public static function getIntersectionPoint(_arg1:VectorX, _arg2:VectorX):Point{
var _local3:* = (_arg2.x - _arg1.x);
var _local4:* = (_arg2.y - _arg1.y);
var _local5:* = new VectorX(0, 0, _local3, _local4);
var _local6:* = (perpProduct(_local5, _arg2) / perpProduct(_arg1, _arg2));
var _local7:* = (_arg1.x + (_arg1.vx * _local6));
var _local8:* = (_arg1.y + (_arg1.vy * _local6));
return (new Point(_local7, _local8));
}
public static function getDist(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number = (_arg1 - _arg2);
var _local6:Number = (_arg3 - _arg4);
var _local7:Number = Math.sqrt(((_local5 * _local5) + (_local6 * _local6)));
return (_local7);
}
public static function getAngle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((Math.atan2((_arg3 - _arg4), (_arg1 - _arg2)) * 180) / Math.PI));
}
}
}//package game.utils
Section 139
//MathUtils (game.utils.MathUtils)
package game.utils {
public class MathUtils {
public static function makeScorePretty(_arg1:Number):String{
var _local7:*;
var _local2 = "";
var _local3:String = String(_arg1);
var _local4:Array = _local3.split("");
var _local5:int;
var _local6:int;
_local7 = (_local3.length - 1);
while (_local7 >= 0) {
_local5++;
if ((((_local5 == 3)) && (!((_local7 == 0))))){
_local5 = 0;
_local4.splice(_local7, 0, ",");
_local6++;
if (_local7 <= 3){
break;
};
};
_local7--;
};
_local7 = 0;
while (_local7 < _local4.length) {
_local2 = (_local2 + _local4[_local7]);
_local7++;
};
return (_local2);
}
public static function makeMePretty(_arg1:Number):String{
var _local6:Number;
if (isNaN(_arg1)){
return ("£0");
};
_arg1 = (Math.round((_arg1 * 100)) / 100);
var _local2:Boolean;
if (_arg1 < 0){
_arg1 = Math.abs(_arg1);
_local2 = true;
};
var _local3:String = String(_arg1);
var _local4:* = _local3.split(".");
if (_local4[1] == undefined){
_local4[1] = "00";
};
if (_local4[1].length == 1){
_local4[1] = (_local4[1] + "0");
};
var _local5:Array = new Array();
var _local7:Number = _local4[0].length;
while (_local7 > 0) {
_local6 = Math.max((_local7 - 3), 0);
_local5.unshift(_local4[0].slice(_local6, _local7));
_local7 = _local6;
};
_local4[0] = _local5.join(",");
var _local8:String = _local4[0];
if (_local2 == true){
_local8 = ("-" + _local8);
};
_local8 = ("£" + _local8);
return (_local8);
}
public static function formatTime(_arg1:int):String{
var _local6:String;
var _local2:int = _arg1;
var _local3:int = Math.floor((_local2 / 60000));
var _local4:int = Math.floor(((_local2 - (_local3 * 60000)) / 1000));
if (_local4 < 10){
_local6 = ("0" + String(_local4));
} else {
_local6 = String(_local4);
};
var _local5:String = String(_local3);
return (((_local5 + ":") + _local6));
}
}
}//package game.utils
Section 140
//VectorX (game.utils.VectorX)
package game.utils {
public class VectorX {
public var vx:Number;
public var vy:Number;
public var x:Number;
public var y:Number;
public function VectorX(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
x = _arg1;
y = _arg2;
vx = _arg3;
vy = _arg4;
}
}
}//package game.utils
Section 141
//Panel (game.view.Panel)
package game.view {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import app.connector.*;
import game.utils.*;
import shell.*;
import game.model.assets.injuries.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
import flash.net.*;
import game.model.assets.tools.*;
public class Panel extends MenuObject {
private var detail:String;
public var cursor:MovieClip;
public var bleedCountdown:MovieClip;
protected var base:Sprite;
public var healthBound1:int;// = 0
public var healthBound2:int;// = 15
public var healthBound3:int;// = 25
public var healthBound4:int;// = 45
public var soundTimer:int;
public var maxSoundTimer:int;// = 180
protected var gameState:GameState;
public static var PANEL_READY:String = "Control_panel_ready";
public function Panel(_arg1:GameState){
base = new Sprite();
super();
gameState = _arg1;
setTarget("ui");
attachClip();
cursor = (RuntimeLibrary.getMovieClipByLinkageID("cursor") as MovieClip);
if ((Connector._current_mission + 1) == 20){
bleedCountdown = (RuntimeLibrary.getMovieClipByLinkageID("bleedCountdown") as MovieClip);
bleedCountdown.x = 525;
bleedCountdown.y = 150;
bleedCountdown.visible = false;
bleedCountdown.gotoAndStop(1);
addChild(bleedCountdown);
};
cursor.x = mouseX;
cursor.y = mouseY;
cursor.mouseEnabled = false;
addChild(cursor);
setCursor("nothing");
cursor.visible = true;
}
public function onKeyDown(_arg1:KeyboardEvent):void{
var _local4:ITool;
if (gameState.paused){
return;
};
if (((!((gameState.currentTool == null))) && (gameState.currentTool.isTurnedOn()))){
gameState.currentTool.turnOff();
};
var _local2:int = _arg1.charCode;
var _local3:* = 0;
while (_local3 < gameState._tools.length) {
_local4 = (gameState._tools[_local3] as ITool);
if (_local4.getData().keycode == _local2){
if (gameState.currentTool == _local4){
if (gameState.currentTool.isTurnedOn()){
gameState.currentTool.turnOff();
};
gameState.currentTool = null;
setUI(_local4.getData().name);
setCursor("nothing");
} else {
gameState.currentTool = _local4;
setUI(_local4.getData().name);
setCursor(_local4.getData().name);
gameState.checkTutorial("selected_tool", _local4.getData().name);
};
};
_local3++;
};
}
public function selectTool(_arg1:MouseEvent):void{
var _local3:ITool;
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
if (gameState.paused){
return;
};
if (((!((gameState.currentTool == null))) && (gameState.currentTool.isTurnedOn()))){
gameState.currentTool.turnOff();
};
var _local2:* = 0;
while (_local2 < gameState.possible_tools.length) {
_local3 = (gameState.possible_tools[_local2] as ITool);
if (_local3.getData().name == _arg1.currentTarget.name){
if (gameState.currentTool == _local3){
if (gameState.currentTool.isTurnedOn()){
gameState.currentTool.turnOff();
};
gameState.currentTool = null;
setUI(_local3.getData().name);
setCursor("nothing");
} else {
gameState.currentTool = _local3;
setUI(_local3.getData().name);
setCursor(_local3.getData().name);
gameState.checkTutorial("selected_tool", _local3.getData().name);
};
};
_local2++;
};
}
public function pauseGame(_arg1:Event):void{
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BUTTON_SELECT);
gameState.controller.view.addPauseScreen();
}
public function init():void{
var _local2:ITool;
soundTimer = 0;
target["pause_but"].addEventListener(MouseEvent.MOUSE_DOWN, pauseGame);
target["mcBug"].addEventListener(MouseEvent.MOUSE_DOWN, goToURL);
target["bg"].gotoAndStop(1);
target["jogger"].gotoAndStop(1);
target.x = 0;
target.y = 0;
dispatchEvent(new Event(PANEL_READY));
target.mouseEnabled = false;
var _local1:* = 0;
while (_local1 < gameState.possible_tools.length) {
_local2 = gameState.possible_tools[_local1];
if (gameState._tools.indexOf(_local2) != -1){
if (((((Connector._current_mission + 1) == 20)) && ((((_local2 is Cream)) || ((_local2 is Stitch)))))){
target[_local2.getData().name].gotoAndStop("bleed");
} else {
if (((((Connector._current_mission + 1) == 10)) && ((_local2 is Injection)))){
target[_local2.getData().name].gotoAndStop("vlad");
} else {
target[_local2.getData().name].gotoAndStop((2 * Tool(_local2).level));
};
};
target[_local2.getData().name].mouseEnabled = true;
target[_local2.getData().name].buttonMode = true;
target[_local2.getData().name].addEventListener(MouseEvent.MOUSE_DOWN, selectTool);
target[(_local2.getData().name + "highlight")].gotoAndStop(((2 * Tool(_local2).level) - 1));
} else {
if (((((Connector._current_mission + 1) == 20)) && ((((_local2 is Cream)) || ((_local2 is Stitch)))))){
target[_local2.getData().name].gotoAndStop("bleed");
} else {
if (((((Connector._current_mission + 1) == 10)) && ((_local2 is Injection)))){
target[_local2.getData().name].gotoAndStop("vlad");
} else {
target[_local2.getData().name].gotoAndStop(((2 * Tool(_local2).level) - 1));
};
};
target[_local2.getData().name].mouseEnabled = false;
target[_local2.getData().name].buttonMode = false;
target[(_local2.getData().name + "highlight")].gotoAndStop(((2 * Tool(_local2).level) - 1));
};
_local1++;
};
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyDown);
}
public function updateTools():void{
var _local2:ITool;
var _local1:* = 0;
while (_local1 < gameState.possible_tools.length) {
_local2 = gameState.possible_tools[_local1];
if (gameState._tools.indexOf(_local2) != -1){
if (((((Connector._current_mission + 1) == 20)) && ((((_local2 is Cream)) || ((_local2 is Stitch)))))){
target[_local2.getData().name].gotoAndStop("bleed");
} else {
if (((((Connector._current_mission + 1) == 10)) && ((_local2 is Injection)))){
target[_local2.getData().name].gotoAndStop("vlad");
} else {
target[_local2.getData().name].gotoAndStop((2 * Tool(_local2).level));
};
};
target[_local2.getData().name].mouseEnabled = true;
target[_local2.getData().name].buttonMode = true;
if (target[_local2.getData().name].hasEventListener(MouseEvent.MOUSE_DOWN)){
target[_local2.getData().name].removeEventListener(MouseEvent.MOUSE_DOWN, selectTool);
};
target[_local2.getData().name].addEventListener(MouseEvent.MOUSE_DOWN, selectTool);
target[(_local2.getData().name + "highlight")].gotoAndStop(((2 * Tool(_local2).level) - 1));
};
_local1++;
};
}
protected function detectKeyPresses():void{
}
public function onResume(_arg1:Event):void{
}
public function removeListeners():void{
var _local2:ITool;
if (((!((gameState.currentTool == null))) && (gameState.currentTool.isTurnedOn()))){
gameState.currentTool.turnOff();
};
if (stage.hasEventListener(KeyboardEvent.KEY_UP)){
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyDown);
};
var _local1:* = 0;
while (_local1 < gameState.possible_tools.length) {
_local2 = gameState.possible_tools[_local1];
if (target[_local2.getData().name].hasEventListener(MouseEvent.MOUSE_DOWN)){
target[_local2.getData().name].removeEventListener(MouseEvent.MOUSE_DOWN, selectTool);
};
_local1++;
};
}
public function render():void{
var _local4:int;
var _local5:int;
if (gameState.paused){
return;
};
if ((Connector._current_mission + 1) == 20){
if ((((gameState._injuries.length > 0)) && ((gameState._injuries[0] is BleedAS)))){
if (BleedAS(gameState._injuries[0]).aliveTimer > 0){
bleedCountdown.visible = true;
bleedCountdown["txt"].text = String(Math.round((BleedAS(gameState._injuries[0]).aliveTimer / 30)));
} else {
bleedCountdown.visible = false;
};
} else {
bleedCountdown.visible = false;
};
};
if (((((!((cursor == null))) && (!((cursor["hit"] == null))))) && (cursor["hit"].mouseEnabled))){
cursor["hit"].mouseEnabled = false;
};
if ((Connector._current_mission + 1) != 10){
if (gameState.health <= healthBound1){
soundTimer = (soundTimer + 10);
_local4 = 5;
_local5 = 5;
gameState.health = 0;
if (((!((target["jogger"]["holder"] == null))) && ((target["jogger"]["holder"].currentFrame == target["jogger"]["holder"].totalFrames)))){
if ((Connector._current_mission + 1) != 20){
gameState.controller.missionFailed();
};
};
} else {
if (gameState.health <= healthBound2){
soundTimer = (soundTimer + 8);
_local4 = 4;
_local5 = 4;
} else {
if (gameState.health <= healthBound3){
soundTimer = (soundTimer + 5);
_local4 = 3;
_local5 = 3;
} else {
if (gameState.health <= healthBound4){
soundTimer = (soundTimer + 3);
_local4 = 2;
_local5 = 2;
} else {
soundTimer = (soundTimer + 1);
_local4 = 1;
_local5 = 1;
};
};
};
};
if (soundTimer >= maxSoundTimer){
if (gameState.inShock == false){
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.BLIP);
};
soundTimer = -((soundTimer - maxSoundTimer));
};
target["health"].text = String(Math.round(gameState.health));
if (gameState.inShock){
_local4 = 7;
_local5 = 5;
target["health"].text = "0";
};
} else {
target["health"].text = "0";
_local4 = 5;
_local5 = 5;
};
if (target["jogger"].currentFrame != _local4){
target["jogger"].gotoAndStop(_local4);
};
if (target["bg"].currentFrame != _local5){
target["bg"].gotoAndStop(_local5);
};
target["score"].text = MathUtils.makeScorePretty(gameState.score);
target["time"].text = MathUtils.formatTime(((gameState.time / 30) * 1000));
cursor.x = mouseX;
cursor.y = mouseY;
var _local1:Array = gameState.controller.mission_data.data;
var _local2:MissionStage = _local1[0];
var _local3:MissionStage = _local1[(gameState.currentStage - 1)];
target["drip"].gotoAndStop((100 - int(((gameState.time / _local2.time) * 100))));
}
public function setCursor(_arg1:String):void{
if ((Connector._current_mission + 1) == 10){
if (_arg1 == "injection"){
_arg1 = "blood";
};
};
if ((Connector._current_mission + 1) == 20){
if (_arg1 == "stitch"){
_arg1 = "vial";
} else {
if (_arg1 == "cream"){
_arg1 = "syrup";
};
};
};
cursor.gotoAndStop(_arg1);
}
public function onQuit(_arg1:Event):void{
}
public function displayArrow(_arg1:String):void{
target[("effect" + _arg1)].gotoAndPlay(2);
}
public function onPause(_arg1:Event):void{
}
public function goToURL(_arg1:MouseEvent):void{
var _local8:String;
var _local2:String = _arg1.currentTarget.name;
var _local3 = "surgeon2";
var _local4:* = new LocalConnection();
var _local5:String = _local4.domain;
var _local6:URLVariables = new URLVariables();
var _local7 = "";
var _local9 = "";
switch (_local2){
case "mcMGHome":
_local9 = "moregames_btn";
_local8 = "http://games.adultswim.com/";
break;
case "mcBug":
_local9 = "moregames_bug";
_local8 = "http://games.adultswim.com/";
break;
case "mcIphoneHome":
_local8 = "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8";
break;
default:
_local8 = "http://games.adultswim.com";
break;
};
var _local10 = "ui_panel";
if (_local8 != "http://itunes.apple.com/us/app/amateur-surgeon-2/id400765065?mt=8"){
_local6.cid = ((((((("GAME_Ext_" + _local3) + "_") + _local5) + "_") + _local10) + "_") + _local9);
};
trace(("strURI " + _local8));
trace(("variables.cid " + _local6.cid));
var _local11:URLRequest = new URLRequest(_local8);
_local11.data = _local6;
navigateToURL(_local11, "_blank");
}
public function setUI(_arg1:String):void{
var _local2:*;
var _local3:ITool;
if ((target[(_arg1 + "highlight")].currentFrame % 2) != 0){
_local2 = 0;
while (_local2 < gameState._tools.length) {
_local3 = gameState._tools[_local2];
if (_local3.getData().name == _arg1){
target[(_local3.getData().name + "highlight")].gotoAndStop((2 * Tool(_local3).level));
} else {
target[(_local3.getData().name + "highlight")].gotoAndStop(((2 * Tool(_local3).level) - 1));
};
_local2++;
};
} else {
_local2 = 0;
while (_local2 < gameState._tools.length) {
_local3 = gameState._tools[_local2];
target[(_local3.getData().name + "highlight")].gotoAndStop(((2 * Tool(_local3).level) - 1));
_local2++;
};
};
}
}
}//package game.view
Section 142
//View (game.view.View)
package game.view {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
import game.utils.*;
import shell.*;
import game.libraries.*;
import game.*;
import game.model.assets.injuries.*;
import game.model.*;
import app.sound.*;
import app.view.*;
import game.model.assets.*;
import game.events.*;
public class View extends Sprite {
public var injuries_higher:Sprite;
public var splatter_lower:Sprite;
public var organs:Sprite;
public var effects_lower:Sprite;
public var currentShake:String;
protected var tools_holder:Sprite;
public var world:Sprite;
public var creatures_lower:Sprite;
public var injuries_lower:Sprite;
protected var popup_holder:Sprite;
public var shakeAmountLower:Number;// = 1
public var my_mask:Sprite;
public var controlPanel:Panel;
public var effects_higher:Sprite;
public var maxRedTimer:int;// = 30
public var fade_mc:Sprite;
public var redTimer:int;
protected var gameState:GameState;
public var fading:Array;
protected var bg:MovieClip;
public var splatter_higher:Sprite;
public var splatter_top:Sprite;
public var creatures_higher:Sprite;
public var pause_screen:PauseScreen;
protected var redScreen:Sprite;
public var shakeTimer:int;
public var maxShakeTimer:int;// = 5
public var shakeAmountHigher:Number;// = 4
public var tutorial_pop:Sprite;
protected var display_list:Array;
public static var VIEW_READY:String = "View_ready";
public function View(_arg1:GameState){
fading = [];
super();
gameState = _arg1;
}
function redraw():void{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:Popup;
var _local9:MovieClip;
var _local10:Number;
var _local11:Number;
var _local12:InjuryGraphic;
var _local13:MovieClip;
var _local1:Array = gameState.display_list;
_local2 = ArrayUtils.compareArrays(display_list, _local1);
_local3 = _local2.length;
_local4 = 0;
while (_local4 < _local3) {
_local7 = getDisplayIndex(_local2[_local4]);
if (_local7 > -1){
removeItem(display_list[_local7]);
display_list.splice(_local7, 1);
};
_local4++;
};
_local5 = _local1.length;
_local6 = 0;
while (_local6 < _local5) {
if (getDisplayIndex(_local1[_local6]) < 0){
display_list.push(_local1[_local6]);
addItem(_local1[_local6]);
};
_local6++;
};
if (bg.currentLabel != gameState._bg){
bg.gotoAndStop(gameState._bg);
};
_local4 = 0;
while (_local4 < popup_holder.numChildren) {
_local8 = Popup(popup_holder.getChildAt(_local4));
if (_local8.mc.currentFrame < _local8.mc.totalFrames){
_local8.mc.nextFrame();
} else {
popup_holder.removeChildAt(_local4);
};
_local4++;
};
_local4 = 0;
while (_local4 < effects_lower.numChildren) {
_local9 = (effects_lower.getChildAt(_local4) as MovieClip);
if (_local9.currentFrame != _local9.totalFrames){
};
if (_local9.currentFrame == _local9.totalFrames){
effects_lower.removeChildAt(_local4);
};
_local4++;
};
_local4 = 0;
while (_local4 < effects_higher.numChildren) {
_local9 = (effects_higher.getChildAt(_local4) as MovieClip);
if (_local9.currentFrame != _local9.totalFrames){
};
if (_local9.currentFrame == _local9.totalFrames){
effects_higher.removeChildAt(_local4);
};
_local4++;
};
_local4 = 0;
while (_local4 < splatter_top.numChildren) {
_local9 = (splatter_top.getChildAt(_local4) as MovieClip);
if (_local9.currentFrame != _local9.totalFrames){
};
if (_local9.currentFrame == _local9.totalFrames){
splatter_top.removeChildAt(_local4);
};
_local4++;
};
_local2 = ArrayUtils.compareArrays(display_list, _local1);
_local3 = _local2.length;
_local4 = 0;
while (_local4 < _local3) {
_local7 = getDisplayIndex(_local2[_local4]);
if (_local7 > -1){
removeItem(display_list[_local7]);
display_list.splice(_local7, 1);
};
_local4++;
};
_local5 = _local1.length;
_local6 = 0;
while (_local6 < _local5) {
if (getDisplayIndex(_local1[_local6]) < 0){
display_list.push(_local1[_local6]);
addItem(_local1[_local6]);
};
_local6++;
};
if (shakeTimer < maxShakeTimer){
shakeTimer++;
_local10 = (this[("shakeAmount" + currentShake)] - ((this[("shakeAmount" + currentShake)] * 2) * Math.random()));
_local11 = (this[("shakeAmount" + currentShake)] - ((this[("shakeAmount" + currentShake)] * 2) * Math.random()));
world.x = _local10;
world.y = _local11;
if (shakeTimer >= maxShakeTimer){
currentShake = "Lower";
world.x = 0;
world.y = 0;
};
};
if (redTimer < maxRedTimer){
redTimer++;
if (redScreen.visible == false){
redScreen.visible = true;
};
if (redTimer >= maxRedTimer){
redScreen.visible = false;
};
};
_local4 = 0;
while (_local4 < fading.length) {
_local12 = fading[_local4];
_local13 = _local12.mc;
_local12.mc.alpha = (_local13.alpha - 0.1);
if (_local13.alpha <= 0){
this[_local12.depth].removeChild(_local13);
fading.splice(_local4, 1);
dispatchEvent(new Event(Game.REMOVED_INJURY, true));
};
_local4++;
};
if (gameState.controller.torch){
if (my_mask != null){
my_mask.x = mouseX;
my_mask.y = mouseY;
};
};
if (organs.numChildren == 0){
if (gameState._organs.length != 0){
_local4 = 0;
while (_local4 < gameState._organs.length) {
organs.addChild(gameState._organs[_local4]);
gameState._organs[_local4].addClip();
_local4++;
};
};
};
}
public function onSelectionChanged():void{
controlPanel.render();
}
public function removeInjuries():void{
while (injuries_lower.numChildren > 0) {
injuries_lower.removeChildAt(0);
};
while (injuries_higher.numChildren > 0) {
injuries_higher.removeChildAt(0);
};
while (creatures_lower.numChildren > 0) {
creatures_lower.removeChildAt(0);
};
while (creatures_higher.numChildren > 0) {
creatures_higher.removeChildAt(0);
};
}
public function addSplat(_arg1:String, _arg2:Number, _arg3:Number):void{
var _local4:MovieClip = (RuntimeLibrary.getMovieClipByLinkageID(("bigSplat" + _arg1)) as MovieClip);
_local4.x = _arg2;
_local4.y = _arg3;
splatter_top.addChildAt(_local4, 0);
var _local5:int = ((Math.random() * 1) + 1);
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage[("INK" + _local5)]);
}
public function removeListeners():void{
if (hasEventListener(Event.ENTER_FRAME)){
removeEventListener(Event.ENTER_FRAME, render);
};
}
protected function disableMouse():void{
var _local3:Sprite;
var _local1:int = world.numChildren;
var _local2:int;
while (_local2 < _local1) {
_local3 = (world.getChildAt(_local2) as Sprite);
if (_local3 != controlPanel){
_local3.mouseEnabled = (_local3.mouseChildren = false);
};
_local2++;
};
popup_holder.mouseEnabled = (popup_holder.mouseChildren = false);
tools_holder.mouseEnabled = (tools_holder.mouseChildren = false);
organs.mouseEnabled = (organs.mouseChildren = false);
}
protected function onPanelReady(_arg1:Event):void{
controlPanel.render();
drawWorld();
dispatchEvent(new Event(VIEW_READY));
}
public function addListeners():void{
if (hasEventListener(Event.ENTER_FRAME) == false){
addEventListener(Event.ENTER_FRAME, render);
};
}
public function init():void{
currentShake = "Lower";
shakeTimer = maxShakeTimer;
redTimer = maxRedTimer;
display_list = [];
controlPanel = new Panel(gameState);
controlPanel.addEventListener(Panel.PANEL_READY, onPanelReady);
controlPanel.init();
}
protected function getDisplayIndex(_arg1):int{
var _local2 = -1;
var _local3:int = display_list.length;
var _local4:int;
while (_local4 < _local3) {
if (display_list[_local4] == _arg1){
_local2 = _local4;
break;
};
_local4++;
};
return (_local2);
}
public function addPauseScreen():void{
gameState.paused = true;
pause_screen = new PauseScreen(gameState.controller);
pause_screen.addEventListener(PauseScreen.PAUSE_COMPLETE, removePauseScreen);
addChild(pause_screen);
}
public function createPopup(_arg1:String, _arg2:Number, _arg3:Number, _arg4:InjuryGraphic):void{
var _local5:Popup = new Popup(_arg1);
popup_holder.addChild(_local5);
if ((((((((_arg1 == "ok")) || ((_arg1 == "good")))) || ((_arg1 == "great")))) || ((_arg1 == "awesome")))){
if (_arg4.playerCreated == false){
_local5.mc["holder"]["inner"]["combo"].visible = true;
} else {
_local5.mc["holder"]["inner"]["combo"].visible = false;
};
_local5.mc["holder"]["inner"]["combo"].text = ("x " + gameState.combo);
};
_local5.x = _arg2;
_local5.y = _arg3;
}
protected function drawWorld():void{
bg = (RuntimeLibrary.getMovieClipByLinkageID("bgHolder") as MovieClip);
world = new Sprite();
popup_holder = new Sprite();
tools_holder = new Sprite();
organs = new Sprite();
injuries_lower = new Sprite();
splatter_lower = new Sprite();
injuries_higher = new Sprite();
creatures_lower = new Sprite();
splatter_higher = new Sprite();
effects_lower = new Sprite();
effects_higher = new Sprite();
creatures_higher = new Sprite();
splatter_top = new Sprite();
fade_mc = new Sprite();
tutorial_pop = new Sprite();
addChild(world);
addChild(fade_mc);
redScreen = (RuntimeLibrary.getMovieClipByLinkageID("redScreen") as MovieClip);
addChild(redScreen);
redScreen.visible = false;
addChild(popup_holder);
addChild(controlPanel);
addChild(tutorial_pop);
addChild(tools_holder);
world.addChild(bg);
world.addChild(organs);
world.addChild(injuries_lower);
world.addChild(splatter_lower);
world.addChild(injuries_higher);
world.addChild(creatures_lower);
world.addChild(splatter_higher);
world.addChild(effects_lower);
world.addChild(effects_higher);
world.addChild(creatures_higher);
world.addChild(splatter_top);
if (gameState.controller.torch){
my_mask = null;
my_mask = (RuntimeLibrary.getMovieClipByLinkageID("torch") as MovieClip);
addChild(my_mask);
world.mask = my_mask;
};
redraw();
var _local1:* = 0;
while (_local1 < gameState.possible_tools.length) {
tools_holder.addChild(gameState.possible_tools[_local1]);
_local1++;
};
}
protected function removeItem(_arg1):void{
var _local2:InjuryGraphic = InjuryGraphic(_arg1);
if (_local2.stageArray[(_local2.currentStage - 2)][8]){
fading.push(_local2);
if ((_local2 is SurfaceExtractionAS)){
injuries_higher.removeChild(_local2.removable);
};
} else {
dispatchEvent(new Event(Game.REMOVED_INJURY, true));
};
}
public function addTut(_arg1:MovieClip):void{
tutorial_pop.addChild(_arg1);
tutorial_pop.mouseEnabled = false;
}
protected function render(_arg1:Event):void{
controlPanel.render();
gameState.update();
redraw();
}
public function cleanUp():void{
if (pause_screen != null){
pause_screen.cleanUp();
removePauseScreen(null);
};
var _local1:* = 0;
while (_local1 < gameState.possible_tools.length) {
tools_holder.removeChild(gameState.possible_tools[_local1]);
_local1++;
};
removeListeners();
controlPanel.removeListeners();
removeChild(controlPanel);
controlPanel = null;
}
public function removeOrgans():void{
while (organs.numChildren > 0) {
organs.removeChildAt(0);
};
}
public function onModelChanged():void{
controlPanel.render();
}
public function addEffect(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Number):void{
var _local7:MovieClip = (RuntimeLibrary.getMovieClipByLinkageID(_arg1) as MovieClip);
_local7.x = _arg2;
_local7.y = _arg3;
_local7.rotation = _arg4;
_local7.scaleX = _arg6;
_local7.scaleY = _arg6;
this[_arg5].addChild(_local7);
}
protected function addItem(_arg1):void{
var _local4:int;
var _local5:Point;
var _local6:Point;
var _local7:MovieClip;
var _local8:int;
var _local2:InjuryGraphic = InjuryGraphic(_arg1);
var _local3:MovieClip = (RuntimeLibrary.getMovieClipByLinkageID(_local2.go_data.linkage) as MovieClip);
_local2.mc = _local3;
if (_local2.instance_data.offset){
_local4 = (_local2.instance_data.rotation + 180);
_local5 = new Point(_local2.instance_data.x, _local2.instance_data.y);
_local6 = LineUtils.getPositionFromAngle(_local5, _local4, -((_local3.height / 2)));
_local2.instance_data.x = _local6.x;
_local2.instance_data.y = _local6.y;
};
if ((_local2 is SplatterAS) == false){
_local3.cacheAsBitmap = true;
_local3.x = _local2.instance_data.x;
_local3.y = _local2.instance_data.y;
_local3.rotation = _local2.instance_data.rotation;
_local3.scaleX = _local2.instance_data.scale;
_local3.scaleY = _local2.instance_data.scale;
this[_local2.depth].addChild(_local3);
if ((_local2 is SurfaceExtractionAS)){
_local7 = (createRemovable(_local2.go_data.linkage) as MovieClip);
_local2.removable = _local7;
_local4 = (_local2.instance_data.rotation + 180);
_local5 = new Point(_local2.instance_data.x, _local2.instance_data.y);
_local8 = MapUtils.getDist(_local3["s"].x, _local3["e"].x, _local3["s"].y, _local3["e"].y);
_local6 = LineUtils.getPositionFromAngle(_local5, _local4, (_local8 / 2));
_local2.removable.y = _local6.y;
_local2.removable.x = _local6.x;
_local2.removable.rotation = _local2.instance_data.rotation;
_local2.removable.scaleX = _local2.instance_data.scale;
_local2.removable.scaleY = _local2.instance_data.scale;
_local2.removable.getChildAt(0).rotation = 90;
_local2.removable.getChildAt(1).rotation = 90;
injuries_higher.addChild(_local2.removable);
};
} else {
this[_local2.depth].addChildAt(_local3, 0);
};
_local2.setup();
}
protected function createRemovable(_arg1:String):MovieClip{
var _local2:MovieClip = new MovieClip();
var _local3:MovieClip = (RuntimeLibrary.getMovieClipByLinkageID((_arg1 + "Removable")) as MovieClip);
var _local4:Sprite = new Sprite();
_local4.graphics.beginFill(15, 1);
_local4.graphics.moveTo(-200, -550);
_local4.graphics.lineTo(200, -200);
_local4.graphics.lineTo(200, 0);
_local4.graphics.lineTo(-200, 0);
_local4.graphics.lineTo(-200, -200);
_local4.graphics.endFill();
_local2.addChild(_local3);
_local2.addChild(_local4);
_local3.mask = _local4;
return (_local2);
}
public function removePauseScreen(_arg1:Event):void{
if (gameState.tutUp == false){
gameState.paused = false;
};
removeChild(pause_screen);
pause_screen = null;
}
public function removeBlood():void{
while (splatter_lower.numChildren > 0) {
splatter_lower.removeChildAt(0);
};
while (splatter_higher.numChildren > 0) {
splatter_higher.removeChildAt(0);
};
}
public function removeTut(_arg1:MovieClip):void{
tutorial_pop.removeChild(_arg1);
gameState.tutUp = false;
}
public function swapDepth(_arg1, _arg2:String):void{
var _local3:InjuryGraphic = InjuryGraphic(_arg1);
this[_arg2].removeChild(_local3.mc);
this[_local3.depth].addChild(_local3.mc);
}
}
}//package game.view
Section 143
//Game (game.Game)
package game {
import shell.sound.*;
import flash.events.*;
import flash.display.*;
import gs.*;
import app.connector.*;
import game.utils.*;
import shell.*;
import game.model.assets.injuries.*;
import game.ui.*;
import app.*;
import game.model.*;
import game.interfaces.*;
import app.sound.*;
import app.view.*;
import game.view.*;
import game.model.assets.tools.*;
import game.model.assets.*;
import game.events.*;
public class Game extends Sprite implements IEngine {
public var mission_data:Mission;
public var image_mc:MovieClip;
protected var ui:UI;
public var controller:Controller;
public var view:View;
public var unlockLevel:int;
protected var model:Model;
protected var _active:Boolean;// = false
public var gameState:GameState;
private var cut_scene:CutScene;
public var overTimer;// = 0
public var so:SharedObjectManager;
private var lost_screen:FailedScreen;
private var start_scene:StartScene;
public var torch:Boolean;
public static var REMOVED_INJURY:String = "removed injury";
public function Game(_arg1:Mission, _arg2:SharedObjectManager, _arg3:Controller){
so = _arg2;
controller = _arg3;
mission_data = _arg1;
if (MissionStage(mission_data.data[0]).torch){
torch = true;
} else {
torch = false;
};
addEventListener(Event.ADDED_TO_STAGE, getAssets);
OverwriteManager.init();
OverwriteManager.mode = OverwriteManager.NONE;
}
public function getAssets(_arg1:Event=null):void{
createModel(null);
}
public function addSplat(_arg1:String, _arg2:Number, _arg3:Number):void{
if (view == null){
return;
};
view.addSplat(_arg1, _arg2, _arg3);
}
public function get active():Boolean{
return (_active);
}
public function pauseGame():void{
stage.quality = StageQuality.HIGH;
removeListeners();
}
public function removeImageMC():void{
var _local1:*;
if (image_mc != null){
TweenLite.killTweensOf(image_mc);
_local1 = 0;
while (_local1 < image_mc.numChildren) {
image_mc.removeChildAt(0);
_local1++;
};
view.fade_mc.removeChild(image_mc);
};
image_mc = null;
}
public function createPopup(_arg1:String, _arg2:Number, _arg3:Number, _arg4:InjuryGraphic):void{
if (view == null){
return;
};
view.createPopup(_arg1, _arg2, _arg3, _arg4);
}
public function addEffect(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Number):void{
if (view == null){
return;
};
view.addEffect(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function createModel(_arg1:Event=null):void{
onModelLoaded();
}
public function render(_arg1:Event):void{
if (gameState == null){
return;
};
if (gameState.paused){
return;
};
if (gameState.inShockTimer < gameState.maxInShockTimer){
gameState.inShockTimer++;
if (gameState.inShockTimer >= gameState.maxInShockTimer){
gameState.inShockTimer = 0;
gameState.inShock = false;
missionFailed();
return;
};
};
gameState.injuryTimer++;
gameState.time--;
if (gameState.time <= 0){
gameState.time = 0;
missionFailed();
return;
};
updateInjuries();
if ((gameState.currentTool is Chainsaw)){
};
overTimer++;
if (overTimer == 60){
};
}
public function quitGo():void{
endGame();
if (cut_scene != null){
removeChild(cut_scene);
cut_scene.removeEventListener(CutScene.CUTSCENE_COMPLETE, quitGame);
cut_scene = null;
};
if (lost_screen != null){
removeChild(lost_screen);
lost_screen.removeEventListener(FailedScreen.LOSTSCREEN_COMPLETE, quitGame);
lost_screen.removeEventListener(FailedScreen.LOSTSCREEN_REPLAY, replay);
lost_screen = null;
};
dispatchEvent(new Event(Shell.QUIT_GAME, true));
}
public function shakeScreen(_arg1:String):void{
if (view == null){
return;
};
if (view.currentShake != "Higher"){
view.shakeTimer = 0;
view.currentShake = _arg1;
};
}
public function findHiddenInjury(_arg1:Boolean):Array{
var _local3:InjuryGraphic;
var _local2:Array = [];
var _local4:* = 0;
while (_local4 < gameState._injuries.length) {
_local3 = gameState._injuries[_local4];
if (_local3.alive == false){
} else {
if (_local3.hidden){
_local2.push(_local3);
if (_arg1){
break;
};
};
};
_local4++;
};
return (_local2);
}
public function missionCompleted():void{
var _local1:int;
_local1 = 0;
while (_local1 < gameState._injuries.length) {
InjuryGraphic(gameState._injuries[_local1]).cleanUp();
_local1++;
};
if (((!((gameState.currentTool == null))) && (gameState.currentTool.isTurnedOn()))){
gameState.currentTool.turnOff();
};
SoundController.getInstance().stopAllFX();
gameState.checkTutorial("mission_finished");
gameState.score = (gameState.score + (gameState.baseTimeScore * (gameState.time / 10)));
var _local2:Array = mission_data.data;
var _local3:MissionStage = _local2[0];
if ((Connector.current_mission_id + 1) >= so.mySO.data["highestLevel"]){
so.setHighestLevel((Connector.current_mission_id + 2));
};
var _local4:int = (_local3.time - gameState.time);
if ((((so.mySO.data[("time" + (Connector.current_mission_id + 1))] == 0)) || ((_local4 < so.mySO.data[("time" + (Connector.current_mission_id + 1))])))){
so.setLevelTime(_local4, String((Connector.current_mission_id + 1)));
};
if (gameState.score > so.mySO.data[("score" + (Connector.current_mission_id + 1))]){
so.setLevelScore(gameState.score, String((Connector.current_mission_id + 1)));
so.setLevelGrade(gameState.score, String((Connector.current_mission_id + 1)));
};
_local1 = 0;
while (_local1 < gameState._tools.length) {
if (so.mySO.data["tools"].indexOf(ITool(gameState._tools[_local1]).getData().id) == -1){
so.addTool(ITool(gameState._tools[_local1]).getData().id);
};
_local1++;
};
var _local5:Boolean;
_local1 = 1;
while (_local1 <= 20) {
if ((((((_local1 == 10)) && (_local5))) && ((controller.so.mySO.data["unlocked10"] == false)))){
controller.so.mySO.data["unlocked10"] = true;
unlockLevel = 10;
};
if ((((((_local1 == 20)) && (_local5))) && ((controller.so.mySO.data["unlocked20"] == false)))){
controller.so.mySO.data["unlocked20"] = true;
unlockLevel = 20;
};
if (controller.so.mySO.data[("grade" + _local1)] != "A"){
_local5 = false;
};
_local1++;
};
so.mySO.data["firstRun"] = false;
so.saveData();
pauseGame();
startEndCutScene();
}
public function startOpeningCutScene():void{
stage.quality = StageQuality.HIGH;
cut_scene = new CutScene("start", Connector.current_mission_id, this);
cut_scene.addEventListener(CutScene.CUTSCENE_COMPLETE, showIntro);
addChild(cut_scene);
}
public function startEndCutScene():void{
stage.quality = StageQuality.HIGH;
endGo();
}
public function endGo():void{
cut_scene = new CutScene("end", Connector.current_mission_id, this, unlockLevel);
cut_scene.addEventListener(CutScene.CUTSCENE_COMPLETE, quitGame);
addChild(cut_scene);
}
public function addListeners():void{
addEventListener(Event.ENTER_FRAME, render);
view.addListeners();
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
public function finishedMission():Boolean{
var _local1:Array = mission_data.data;
var _local2:MissionStage = _local1[(gameState.currentStage - 1)];
if (_local2 == null){
return (true);
};
return (false);
}
public function removeListeners():void{
removeEventListener(Event.ENTER_FRAME, render);
view.removeListeners();
removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
public function updateInjuries():void{
var _local1:*;
var _local2:InjuryGraphic;
var _local3:*;
if (gameState == null){
return;
};
_local1 = 0;
while (_local1 < gameState._injuries.length) {
_local2 = gameState._injuries[_local1];
_local2.render();
_local1++;
};
_local1 = 0;
while (_local1 < gameState._blood.length) {
_local2 = gameState._blood[_local1];
if ((_local2 is SplatterAS)){
_local2.render();
};
_local1++;
};
_local1 = 0;
while (_local1 < gameState._organs.length) {
_local3 = gameState._organs[_local1];
_local3.render();
_local1++;
};
}
public function onMouseUp(_arg1:MouseEvent):void{
if (gameState.paused){
};
if (((!((gameState.currentTool == null))) && (gameState.currentTool.isTurnedOn()))){
gameState.currentTool.onMouseUp();
};
}
public function onGameStateLoaded(_arg1:Event=null):void{
view = new View(gameState);
view.addEventListener(View.VIEW_READY, onViewLoaded);
view.init();
view.addEventListener(REMOVED_INJURY, checkInjuries);
}
public function onModelLoaded(_arg1:Event=null):void{
gameState = new GameState(this);
gameState.addEventListener(GameState.GAME_STATE_READY, onGameStateLoaded);
gameState.init();
}
public function onMouseDown(_arg1:MouseEvent):void{
if (gameState.paused){
return;
};
if (gameState.currentTool != null){
gameState.currentTool.onMouseDown();
};
}
public function onViewLoaded(_arg1:Event=null):void{
addChild(view);
startOpeningCutScene();
stage.focus = this;
}
public function createBitmap(_arg1:Sprite):Bitmap{
var _local2:BitmapData = new BitmapData(600, 460);
_local2.draw(_arg1);
return (new Bitmap(_local2));
}
public function createFadeAnimation(_arg1:MovieClip):void{
TweenLite.to(_arg1, 1.5, {alpha:0, onComplete:removeImageMC});
}
public function needToFade():Boolean{
var _local1:Array = mission_data.data;
var _local2:MissionStage = _local1[(gameState.currentStage - 2)];
var _local3:MissionStage = _local1[(gameState.currentStage - 1)];
if (((!((_local3 == null))) && (!((_local3.body_level == _local2.body_level))))){
return (true);
};
return (false);
}
public function showLostScreen():void{
stage.quality = StageQuality.HIGH;
lost_screen = new FailedScreen(Connector.current_mission_id, this);
lost_screen.addEventListener(FailedScreen.LOSTSCREEN_COMPLETE, quitGame);
lost_screen.addEventListener(FailedScreen.LOSTSCREEN_REPLAY, replay);
addChild(lost_screen);
}
public function resumeGame():void{
stage.quality = StageQuality.MEDIUM;
addListeners();
}
public function redScreen():void{
if (view == null){
return;
};
view.currentShake = "Higher";
view.shakeTimer = 0;
view.redTimer = 0;
}
public function findCorrectInjury(_arg1:Boolean):Array{
var _local3:InjuryGraphic;
var _local4:*;
var _local5:Boolean;
var _local6:Array;
var _local7:*;
var _local8:Boolean;
var _local9:*;
var _local10:Boolean;
var _local2:Array = [];
if ((Connector._current_mission + 1) == 19){
_local5 = false;
_local4 = 0;
while (_local4 < gameState._injuries.length) {
_local3 = gameState._injuries[_local4];
if ((((_local3 is BigCentipedeAS)) && ((BigCentipedeAS(_local3).state == "attack")))){
_local5 = true;
return (_local2);
};
_local4++;
};
};
if ((Connector._current_mission + 1) == 20){
_local4 = 0;
while (_local4 < gameState._injuries.length) {
_local3 = gameState._injuries[_local4];
if ((_local3 is BleedAS)){
if (_local3.mc["holder"]["thumb"].hitTestPoint(mouseX, mouseY, true)){
_local2.push(_local3);
return (_local2);
};
if (((!((_local3.mc["hit"] == null))) && (_local3.mc["hit"].hitTestPoint(mouseX, mouseY, true)))){
_local6 = _local3.stageArray[(_local3.currentStage - 1)][0];
_local7 = 0;
while (_local7 < _local6.length) {
if (_local6[_local7] == gameState.currentTool.getData().name){
_local2.push(_local3);
return (_local2);
};
_local7++;
};
};
};
_local4++;
};
};
_local4 = 0;
for (;_local4 < gameState._injuries.length;_local4++) {
_local3 = gameState._injuries[_local4];
if ((((_local3.alive == false)) || ((_local3 is SplatterAS)))){
} else {
if ((_local3 is SquidAS)){
_local6 = _local3.stageArray[(_local3.currentStage - 1)][0];
if (_local3.mc == null){
continue;
};
_local7 = 0;
while (_local7 < _local6.length) {
if (_local6[_local7] == gameState.currentTool.getData().name){
_local8 = false;
if ((gameState.currentTool is Battery)){
if ((((((((((((SquidAS(_local3).state == "mouth_open")) && (!((_local3.mc["head"]["mouth_open"] == null))))) && (!((_local3.mc["head"]["mouth_open"]["holder"] == null))))) && ((_local3.mc["head"]["mouth_open"]["holder"].currentFrame > 15)))) && (!((_local3.mc["head"]["mouth_open"]["tonsils"] == null))))) && (_local3.mc["head"]["mouth_open"]["tonsils"].hitTestPoint(mouseX, mouseY, true)))){
_local8 = true;
};
} else {
if ((gameState.currentTool is Chainsaw)){
if (_local3.currentStage < 6){
_local9 = 0;
while (_local9 < (SquidAS(_local3).hits.length - 1)) {
if (((((SquidAS(_local3).stunned) && (!((_local3.mc[("hit" + SquidAS(_local3).hits[_local9])] == null))))) && (_local3.mc[("hit" + SquidAS(_local3).hits[_local9])].hitTestPoint(mouseX, mouseY, true)))){
_local8 = true;
break;
};
_local9++;
};
} else {
if (((((SquidAS(_local3).stunned) && (!((_local3.mc["hit6"] == null))))) && (_local3.mc["hit6"].hitTestPoint(mouseX, mouseY, true)))){
_local8 = true;
};
};
};
};
if (_local8){
_local2.push(_local3);
if (_arg1){
return (_local2);
};
};
};
_local7++;
};
} else {
if ((_local3 is BigCentipedeAS)){
_local6 = _local3.stageArray[(_local3.currentStage - 1)];
if (_local3.mc == null){
continue;
};
if (_local6[0] == gameState.currentTool.getData().name){
_local8 = false;
if ((gameState.currentTool is Injection)){
_local9 = 0;
while (_local9 < BigCentipedeAS(_local3).hits.length) {
if (((((BigCentipedeAS(_local3).stunned) && (!((_local3.mc["stunned"]["holder"]["holder"][("eye" + BigCentipedeAS(_local3).hits[_local9])] == null))))) && (_local3.mc["stunned"]["holder"]["holder"][("eye" + BigCentipedeAS(_local3).hits[_local9])].hitTestPoint(mouseX, mouseY, true)))){
_local8 = true;
break;
};
_local9++;
};
};
if (_local8){
_local2.push(_local3);
if (_arg1){
return (_local2);
};
};
};
} else {
if ((_local3 is TransplantAS)){
if (_local3.currentStage == 1){
_local6 = _local3.stageArray[(_local3.currentStage - 1)][0];
} else {
_local6 = _local3.stageArray[(_local3.currentStage - 1)];
if (((((!((_local3.mc["hit"] == null))) && (_local3.mc["hit"].hitTestPoint(mouseX, mouseY, true)))) && ((_local6[0] == "anything")))){
_local2.push(["anything", _local3]);
};
if (((((!((_local3.mc["hit"] == null))) && (_local3.mc["hit"].hitTestPoint(mouseX, mouseY, true)))) && ((_local3.stageArray[(_local3.currentStage - 1)][0] == gameState.currentTool.getData().name)))){
_local2.push(_local3);
break;
};
};
if (_local3.mc == null){
continue;
};
_local7 = 0;
while (_local7 < _local6.length) {
if (_local6[_local7] == gameState.currentTool.getData().name){
_local8 = false;
_local9 = 0;
while (_local9 < TransplantAS(_local3).removables.length) {
if (((((!((_local3.mc[("removable" + TransplantAS(_local3).removables[_local9])] == null))) && (_local3.mc[("removable" + TransplantAS(_local3).removables[_local9])].visible))) && (_local3.mc[("removable" + TransplantAS(_local3).removables[_local9])].hitTestPoint(mouseX, mouseY, true)))){
_local8 = true;
break;
};
_local9++;
};
_local9 = 0;
while (_local9 < TransplantAS(_local3).hits.length) {
if (((((!((_local3.mc[("hit" + TransplantAS(_local3).hits[_local9])] == null))) && (_local3.mc[("hit" + TransplantAS(_local3).hits[_local9])].visible))) && (_local3.mc[("hit" + TransplantAS(_local3).hits[_local9])].hitTestPoint(mouseX, mouseY, true)))){
_local8 = true;
break;
};
_local9++;
};
if (_local8){
_local2.push(_local3);
if (_arg1){
return (_local2);
};
};
};
_local7++;
};
} else {
if ((_local3 is BatAS)){
_local6 = _local3.stageArray[(_local3.currentStage - 1)][0];
if (_local3.mc == null){
continue;
};
_local7 = 0;
while (_local7 < _local6.length) {
if (_local6[_local7] == gameState.currentTool.getData().name){
_local8 = false;
if ((gameState.currentTool is Lighter)){
if ((((((BatAS(_local3).state == "sleeping")) && (!((_local3.mc["hit"] == null))))) && (_local3.mc["hit"].hitTestPoint(mouseX, mouseY, true)))){
_local8 = true;
};
} else {
if ((gameState.currentTool is Injection)){
if ((((((BatAS(_local3).state == "flapping")) && (!((_local3.mc["body"] == null))))) && (_local3.mc["body"].hitTestPoint(mouseX, mouseY, true)))){
_local8 = true;
};
};
};
if (_local8){
_local2.push(_local3);
if (_arg1){
return (_local2);
};
};
};
_local7++;
};
} else {
if (_local3.stageArray[(_local3.currentStage - 1)][0] == gameState.currentTool.getData().name){
if ((_local3 is CentipedeAS)){
_local10 = false;
_local9 = 0;
while (_local9 < CentipedeAS(_local3).hits.length) {
if (CentipedeAS(_local3)[("seg" + CentipedeAS(_local3).hits[_local9])].hitTestPoint(mouseX, mouseY, true)){
_local10 = true;
break;
};
_local9++;
};
if (((((((!((CentipedeAS(_local3).currentHit == null))) && (!((CentipedeAS(_local3).currentHit == undefined))))) && (CentipedeAS(_local3).currentHit.hitTestPoint(mouseX, mouseY, true)))) || (_local10))){
_local2.push(_local3);
if (_arg1){
return (_local2);
};
};
} else {
if (((((!((_local3.mc["hit"] == null))) && (_local3.mc["hit"].hitTestPoint(mouseX, mouseY, true)))) || ((((((((_local3 is SurfaceExtractionAS)) && (!((_local3.removable == null))))) && (_local3.removable.visible))) && (_local3.removable.hitTestPoint(mouseX, mouseY, true)))))){
_local2.push(_local3);
if (_arg1){
return (_local2);
};
};
};
};
};
};
};
};
};
};
return (_local2);
}
public function quitGame(_arg1:Event=null):void{
controller.setupTransition(quitGo);
}
public function replayGo(_arg1:Event=null):void{
endGame();
if (cut_scene != null){
removeChild(cut_scene);
cut_scene.removeEventListener(CutScene.CUTSCENE_COMPLETE, quitGame);
cut_scene = null;
};
if (lost_screen != null){
removeChild(lost_screen);
lost_screen.removeEventListener(FailedScreen.LOSTSCREEN_COMPLETE, quitGame);
lost_screen.removeEventListener(FailedScreen.LOSTSCREEN_REPLAY, replay);
lost_screen = null;
};
dispatchEvent(new Event(Shell.REPLAY, true));
}
public function missionFailed():void{
var _local1:int;
while (_local1 < gameState._injuries.length) {
InjuryGraphic(gameState._injuries[_local1]).cleanUp();
_local1++;
};
if (((!((gameState.currentTool == null))) && (gameState.currentTool.isTurnedOn()))){
gameState.currentTool.turnOff();
};
SoundController.getInstance().stopAllFX();
SoundController.getInstance().playSound(SoundController.EFFECTS, SoundPackage.FLATLINE, false, 1, true);
gameState.checkTutorial("mission_failed");
pauseGame();
showLostScreen();
}
public function endGame():void{
SoundController.getInstance().stopping = false;
so.mySO.data["firstRun"] = false;
so.saveData();
if (((!((gameState.currentTool == null))) && (gameState.currentTool.isTurnedOn()))){
gameState.currentTool.onMouseUp();
};
_active = false;
pauseGame();
view.cleanUp();
gameState.cleanUp();
removeChild(view);
view = null;
gameState = null;
model = null;
}
public function replay(_arg1:Event=null):void{
replayGo();
}
public function showIntro(_arg1:Event):void{
if (cut_scene != null){
removeChild(cut_scene);
cut_scene.removeEventListener(CutScene.CUTSCENE_COMPLETE, showIntro);
cut_scene = null;
};
start_scene = new StartScene(Connector.current_mission_id, this);
start_scene.addEventListener(StartScene.STARTSCENE_COMPLETE, startGame);
addChild(start_scene);
}
public function startGame(_arg1:Event):void{
stage.quality = StageQuality.MEDIUM;
if (start_scene != null){
removeChild(start_scene);
start_scene.removeEventListener(StartScene.STARTSCENE_COMPLETE, startGame);
start_scene = null;
};
if ((Connector.current_mission_id + 1) <= 10){
SoundController.getInstance().swapTheme(SoundPackage.MUSIC_1, true);
} else {
SoundController.getInstance().swapTheme(SoundPackage.MUSIC_2, true);
};
trace("start game");
addListeners();
_active = true;
}
public function checkInjuries(_arg1:Event):void{
var _local2:Array;
var _local3:MissionStage;
var _local4:MissionStage;
if ((((gameState == null)) || ((view == null)))){
return;
};
if ((((gameState._injuries.length == 0)) && ((view.fading.length == 0)))){
gameState.currentStage++;
if (finishedMission()){
missionCompleted();
} else {
gameState.checkTutorial("stage_finished", gameState.currentStage);
if (needToFade()){
image_mc = new MovieClip();
image_mc.addChild(createBitmap(view.world));
view.fade_mc.addChild(image_mc);
createFadeAnimation(image_mc);
gameState.removeBlood();
gameState.removeOrgans();
view.removeOrgans();
view.removeBlood();
view.removeInjuries();
} else {
_local2 = mission_data.data;
_local3 = _local2[(gameState.currentStage - 2)];
_local4 = _local2[(gameState.currentStage - 1)];
gameState.removeOrgans();
view.removeOrgans();
if (((!((_local4 == null))) && (!((_local4.bg == _local3.bg))))){
gameState.removeBlood();
view.removeBlood();
view.removeInjuries();
};
};
gameState.setupStage(gameState.currentStage);
};
};
}
}
}//package game
Section 144
//OverwriteManager (gs.OverwriteManager)
package gs {
import flash.utils.*;
import flash.errors.*;
public class OverwriteManager {
public static const ALL:int = 1;
public static const NONE:int = 0;
public static const AUTO:int = 2;
public static const CONCURRENT:int = 3;
public static const version:Number = 0.96;
public static var mode:int;
public static var enabled:Boolean;
public static function killVars(_arg1:Object, _arg2:Object, _arg3:Array, _arg4:Array, _arg5:Array):void{
var _local7:String;
var _local6:int = (_arg4.length - 1);
while (_local6 > -1) {
if (_arg1[_arg4[_local6].name] != undefined){
_arg4.splice(_local6, 1);
};
_local6--;
};
_local6 = (_arg3.length - 1);
while (_local6 > -1) {
if (_arg1[_arg3[_local6].name] != undefined){
_arg3.splice(_local6, 1);
};
_local6--;
};
_local6 = (_arg5.length - 1);
while (_local6 > -1) {
if (_arg1[_arg5[_local6].name] != undefined){
_arg5.splice(_local6, 1);
};
_local6--;
};
for (_local7 in _arg1) {
delete _arg2[_local7];
};
}
public static function manageOverwrites(_arg1:TweenLite, _arg2:Dictionary):void{
var _local5:Object;
var _local8:int;
var _local9:Object;
var _local10:String;
var _local3:Object = _arg1.vars;
var _local4:int = ((_local3.overwrite)==undefined) ? mode : int(_local3.overwrite);
if (_local4 < 2){
return;
};
var _local6:Number = _arg1.startTime;
var _local7:Array = [];
for each (_local5 in _arg2) {
if (((!((_local5 == _arg1))) && ((_local5.startTime <= _local6)))){
_local7[_local7.length] = _local5;
};
};
if (_local7.length == 0){
return;
};
if (_local4 == AUTO){
if (_local3.isTV == true){
_local3 = _local3.exposedProps;
};
_local9 = {};
for (_local10 in _local3) {
if ((((((((((((((((((((((((((((((((((((((_local10 == "ease")) || ((_local10 == "delay")))) || ((_local10 == "overwrite")))) || ((_local10 == "onComplete")))) || ((_local10 == "onCompleteParams")))) || ((_local10 == "runBackwards")))) || ((_local10 == "persist")))) || ((_local10 == "onUpdate")))) || ((_local10 == "onUpdateParams")))) || ((_local10 == "timeScale")))) || ((_local10 == "onStart")))) || ((_local10 == "onStartParams")))) || ((_local10 == "renderOnStart")))) || ((_local10 == "proxiedEase")))) || ((_local10 == "easeParams")))) || ((_local10 == "onCompleteAll")))) || ((_local10 == "onCompleteAllParams")))) || ((_local10 == "yoyo")))) || ((_local10 == "loop")))){
} else {
_local9[_local10] = 1;
};
};
_local8 = (_local7.length - 1);
while (_local8 > -1) {
_local7[_local8].killVars(_local9);
_local8--;
};
} else {
_local8 = (_local7.length - 1);
while (_local8 > -1) {
_arg2[_local7[_local8]] = null;
delete _arg2[_local7[_local8]];
_local8--;
};
};
}
public static function init(_arg1:int=2):int{
if (TweenLite.version < 8.14){
};
TweenLite.overwriteManager = OverwriteManager;
mode = _arg1;
enabled = true;
return (mode);
}
}
}//package gs
Section 145
//TweenLite (gs.TweenLite)
package gs {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class TweenLite {
public var delay:Number;
protected var _hasUpdate:Boolean;
protected var _subTweens:Array;
protected var _initted:Boolean;
public var startTime:int;
public var target:Object;
public var duration:Number;
protected var _hst:Boolean;
protected var _isDisplayObject:Boolean;
protected var _active:Boolean;
public var tweens:Array;
public var vars:Object;
public var initTime:int;
protected var _timeScale:Number;
private static var _timer:Timer = new Timer(2000);
private static var _classInitted:Boolean;
public static var defaultEase:Function = TweenLite.easeOut;
public static var version:Number = 8.14;
protected static var _all:Dictionary = new Dictionary();
private static var _sprite:Sprite = new Sprite();
protected static var _curTime:uint;
public static var overwriteManager:Object;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
private static var _listening:Boolean;
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local5:*;
super();
if (_arg1 == null){
return;
};
if (!_classInitted){
_curTime = getTimer();
_sprite.addEventListener(Event.ENTER_FRAME, executeAll);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
_classInitted = true;
};
this.vars = _arg3;
this.duration = ((_arg2) || (0.001));
this.delay = ((_arg3.delay) || (0));
_timeScale = ((_arg3.timeScale) || (1));
_active = (((_arg2 == 0)) && ((this.delay == 0)));
this.target = _arg1;
_isDisplayObject = (_arg1 is DisplayObject);
if (!(this.vars.ease is Function)){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
this.vars.visible = (this.vars.alpha > 0);
};
this.tweens = [];
_subTweens = [];
_hst = (_initted = false);
this.initTime = _curTime;
this.startTime = (this.initTime + (this.delay * 1000));
var _local4:int = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
if ((((_all[_arg1] == undefined)) || (((!((_arg1 == null))) && ((_local4 == 1)))))){
delete _all[_arg1];
_all[_arg1] = new Dictionary(true);
} else {
if ((((_local4 > 1)) && ((this.delay == 0)))){
overwriteManager.manageOverwrites(this, _all[_arg1]);
};
};
_all[_arg1][this] = this;
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){
initTweenVals();
this.startTime = _curTime;
if (_active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
_local5 = this.vars.visible;
if (this.vars.isTV == true){
_local5 = this.vars.exposedProps.visible;
};
if (((((!((_local5 == null))) && ((this.vars.runBackwards == true)))) && (_isDisplayObject))){
this.target.visible = Boolean(_local5);
};
};
if (((!(_listening)) && (!(_active)))){
_timer.addEventListener("timer", killGarbage);
_timer.start();
_listening = true;
};
}
protected function addSubTween(_arg1:String, _arg2:Function, _arg3:Object, _arg4:Object, _arg5:Object=null):void{
var _local7:String;
var _local6:Object = {name:_arg1, proxy:_arg2, target:_arg3, info:_arg5};
_subTweens[_subTweens.length] = _local6;
for (_local7 in _arg4) {
if (typeof(_arg4[_local7]) == "number"){
this.tweens[this.tweens.length] = {o:_arg3, p:_local7, s:_arg3[_local7], c:(_arg4[_local7] - _arg3[_local7]), sub:_local6, name:_arg1};
} else {
this.tweens[this.tweens.length] = {o:_arg3, p:_local7, s:_arg3[_local7], c:Number(_arg4[_local7]), sub:_local6, name:_arg1};
};
};
_hst = true;
}
public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local6:Array;
var _local7:ColorTransform;
var _local8:ColorTransform;
var _local9:Object;
var _local5:Object = this.vars;
if (_local5.isTV == true){
_local5 = _local5.exposedProps;
};
if (((((!(_arg1)) && (!((this.delay == 0))))) && (overwriteManager.enabled))){
overwriteManager.manageOverwrites(this, _all[this.target]);
};
if ((this.target is Array)){
_local6 = ((this.vars.endArray) || ([]));
_local4 = 0;
while (_local4 < _local6.length) {
if (((!((this.target[_local4] == _local6[_local4]))) && (!((this.target[_local4] == undefined))))){
this.tweens[this.tweens.length] = {o:this.target, p:_local4.toString(), s:this.target[_local4], c:(_local6[_local4] - this.target[_local4]), name:_local4.toString()};
};
_local4++;
};
} else {
if (((((!((typeof(_local5.tint) == "undefined"))) || ((this.vars.removeTint == true)))) && (_isDisplayObject))){
_local7 = this.target.transform.colorTransform;
_local8 = new ColorTransform();
if (_local5.alpha != undefined){
_local8.alphaMultiplier = _local5.alpha;
delete _local5.alpha;
} else {
_local8.alphaMultiplier = this.target.alpha;
};
if (((!((this.vars.removeTint == true))) && (((((!((_local5.tint == null))) && (!((_local5.tint == ""))))) || ((_local5.tint == 0)))))){
_local8.color = _local5.tint;
};
addSubTween("tint", tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local7, endColor:_local8});
};
if (((!((_local5.frame == null))) && (_isDisplayObject))){
addSubTween("frame", frameProxy, {frame:this.target.currentFrame}, {frame:_local5.frame}, {target:this.target});
};
if (((!(isNaN(this.vars.volume))) && (this.target.hasOwnProperty("soundTransform")))){
addSubTween("volume", volumeProxy, this.target.soundTransform, {volume:this.vars.volume}, {target:this.target});
};
for (_local3 in _local5) {
if ((((((((((((((((((((((((((((((((((((((_local3 == "ease")) || ((_local3 == "delay")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "visible")))) || ((_local3 == "autoOverwrite")))) || ((_local3 == "persist")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((_local3 == "timeScale")))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "renderOnStart")))) || ((_local3 == "proxiedEase")))) || ((_local3 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local3) + " ")) == -1))))))){
} else {
if (((!(((_isDisplayObject) && ((((((_local3 == "tint")) || ((_local3 == "removeTint")))) || ((_local3 == "frame"))))))) && (!((((_local3 == "volume")) && (this.target.hasOwnProperty("soundTransform"))))))){
if (typeof(_local5[_local3]) == "number"){
this.tweens[this.tweens.length] = {o:this.target, p:_local3, s:this.target[_local3], c:(_local5[_local3] - this.target[_local3]), name:_local3};
} else {
this.tweens[this.tweens.length] = {o:this.target, p:_local3, s:this.target[_local3], c:Number(_local5[_local3]), name:_local3};
};
};
};
};
};
if (this.vars.runBackwards == true){
_local4 = (this.tweens.length - 1);
while (_local4 > -1) {
_local9 = this.tweens[_local4];
this.tweens[_local4].s = (_local9.s + _local9.c);
_local9.c = (_local9.c * -1);
_local4--;
};
};
if ((((_local5.visible == true)) && (_isDisplayObject))){
this.target.visible = true;
};
if (this.vars.onUpdate != null){
_hasUpdate = true;
};
_initted = true;
}
public function get active():Boolean{
if (_active){
return (true);
};
if (_curTime >= this.startTime){
_active = true;
if (!_initted){
initTweenVals();
} else {
if (((!((this.vars.visible == undefined))) && (_isDisplayObject))){
this.target.visible = true;
};
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
return (true);
//unresolved jump
};
return (false);
}
public function render(_arg1:uint):void{
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local2:Number = ((_arg1 - this.startTime) / 1000);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = 1;
} else {
_local3 = this.vars.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c));
_local5--;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5]);
_local5--;
};
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function killVars(_arg1:Object):void{
if (overwriteManager.enabled){
overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, []);
};
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
if (!_initted){
initTweenVals();
};
this.startTime = (_curTime - ((this.duration * 1000) / _timeScale));
render(_curTime);
return;
};
if (((!((this.vars.visible == undefined))) && (_isDisplayObject))){
if (((!(isNaN(this.vars.autoAlpha))) && ((this.target.alpha == 0)))){
this.target.visible = false;
} else {
if (this.vars.runBackwards != true){
this.target.visible = this.vars.visible;
};
};
};
if (this.vars.persist != true){
removeTween(this);
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function frameProxy(_arg1:Object):void{
_arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame));
}
public static function removeTween(_arg1:TweenLite=null):void{
if (((!((_arg1 == null))) && (!((_all[_arg1.target] == undefined))))){
_all[_arg1.target][_arg1] = null;
delete _all[_arg1.target][_arg1];
};
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Object;
var _local4:*;
if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){
if (_arg2){
_local3 = _all[_arg1];
for (_local4 in _local3) {
_local3[_local4].complete(false);
};
};
delete _all[_arg1];
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0}));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function executeAll(_arg1:Event=null):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:Object;
var _local2:uint = (_curTime = getTimer());
if (_listening){
_local3 = _all;
for each (_local4 in _local3) {
for (_local5 in _local4) {
if (((!((_local4[_local5] == undefined))) && (_local4[_local5].active))){
_local4[_local5].render(_local2);
};
};
};
};
}
public static function volumeProxy(_arg1:Object):void{
_arg1.info.target.soundTransform = _arg1.target;
}
public static function killGarbage(_arg1:TimerEvent):void{
var _local3:Boolean;
var _local4:Object;
var _local5:Object;
var _local6:Object;
var _local2:uint;
for (_local4 in _all) {
_local3 = false;
for (_local5 in _all[_local4]) {
_local3 = true;
break;
};
if (!_local3){
delete _all[_local4];
} else {
_local2++;
};
};
if (_local2 == 0){
_timer.removeEventListener("timer", killGarbage);
_timer.stop();
_listening = false;
};
}
public static function tintProxy(_arg1:Object):void{
var _local2:Number = _arg1.target.progress;
var _local3:Number = (1 - _local2);
var _local4:Object = _arg1.info.color;
var _local5:Object = _arg1.info.endColor;
_arg1.info.target.transform.colorTransform = new ColorTransform(((_local4.redMultiplier * _local3) + (_local5.redMultiplier * _local2)), ((_local4.greenMultiplier * _local3) + (_local5.greenMultiplier * _local2)), ((_local4.blueMultiplier * _local3) + (_local5.blueMultiplier * _local2)), ((_local4.alphaMultiplier * _local3) + (_local5.alphaMultiplier * _local2)), ((_local4.redOffset * _local3) + (_local5.redOffset * _local2)), ((_local4.greenOffset * _local3) + (_local5.greenOffset * _local2)), ((_local4.blueOffset * _local3) + (_local5.blueOffset * _local2)), ((_local4.alphaOffset * _local3) + (_local5.alphaOffset * _local2)));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 146
//arrowanimtyutjtjt_2929 (main_fla.arrowanimtyutjtjt_2929)
package main_fla {
import flash.display.*;
public dynamic class arrowanimtyutjtjt_2929 extends MovieClip {
public function arrowanimtyutjtjt_2929(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 147
//BLEEDEYEBALL_2469 (main_fla.BLEEDEYEBALL_2469)
package main_fla {
import flash.display.*;
public dynamic class BLEEDEYEBALL_2469 extends MovieClip {
public function BLEEDEYEBALL_2469(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 148
//blob1_3059 (main_fla.blob1_3059)
package main_fla {
import flash.display.*;
public dynamic class blob1_3059 extends MovieClip {
public function blob1_3059(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
}
}//package main_fla
Section 149
//bodyanim_1483 (main_fla.bodyanim_1483)
package main_fla {
import flash.display.*;
public dynamic class bodyanim_1483 extends MovieClip {
public function bodyanim_1483(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 150
//bonus_mission_banner_mc_1436 (main_fla.bonus_mission_banner_mc_1436)
package main_fla {
import flash.display.*;
public dynamic class bonus_mission_banner_mc_1436 extends MovieClip {
public var cont_btn:SimpleButton;
public function bonus_mission_banner_mc_1436(){
addFrameScript(0, frame1, 39, frame40, 79, frame80);
}
function frame1(){
stop();
}
function frame80(){
stop();
}
function frame40(){
stop();
}
}
}//package main_fla
Section 151
//corkhol_2886 (main_fla.corkhol_2886)
package main_fla {
import flash.display.*;
public dynamic class corkhol_2886 extends MovieClip {
public function corkhol_2886(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 152
//creamhol_2872 (main_fla.creamhol_2872)
package main_fla {
import flash.display.*;
public dynamic class creamhol_2872 extends MovieClip {
public function creamhol_2872(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 153
//cutholder_2831 (main_fla.cutholder_2831)
package main_fla {
import flash.display.*;
public dynamic class cutholder_2831 extends MovieClip {
public function cutholder_2831(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 154
//dischargeHolder_1399 (main_fla.dischargeHolder_1399)
package main_fla {
import flash.display.*;
import flash.text.*;
public dynamic class dischargeHolder_1399 extends MovieClip {
public var start:SimpleButton;
public var nscore:TextField;
public var patient:MovieClip;
public var ngrade:TextField;
public var tscore:MovieClip;
public var mcMGHome:SimpleButton;
public var time:MovieClip;
public var paf:TextField;
public var grade:MovieClip;
public var score:MovieClip;
public function dischargeHolder_1399(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 155
//drk_3127 (main_fla.drk_3127)
package main_fla {
import flash.display.*;
public dynamic class drk_3127 extends MovieClip {
public var masbut:SimpleButton;
public function drk_3127(){
addFrameScript(0, frame1);
}
function frame1(){
masbut.useHandCursor = false;
}
}
}//package main_fla
Section 156
//FINGA_2474 (main_fla.FINGA_2474)
package main_fla {
import flash.display.*;
public dynamic class FINGA_2474 extends MovieClip {
public function FINGA_2474(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 157
//grading_mc_1412 (main_fla.grading_mc_1412)
package main_fla {
import flash.display.*;
public dynamic class grading_mc_1412 extends MovieClip {
public function grading_mc_1412(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 158
//helpanimcopy_3013 (main_fla.helpanimcopy_3013)
package main_fla {
import flash.display.*;
public dynamic class helpanimcopy_3013 extends MovieClip {
public var holder:MovieClip;
public function helpanimcopy_3013(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
}
}
}//package main_fla
Section 159
//holderbullet_3062 (main_fla.holderbullet_3062)
package main_fla {
import flash.display.*;
public dynamic class holderbullet_3062 extends MovieClip {
public var hit:MovieClip;
public var glass:MovieClip;
public function holderbullet_3062(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 160
//introclip_244 (main_fla.introclip_244)
package main_fla {
import flash.display.*;
public dynamic class introclip_244 extends MovieClip {
public var skip:SimpleButton;
public function introclip_244(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 161
//lholder_3032 (main_fla.lholder_3032)
package main_fla {
import flash.display.*;
public dynamic class lholder_3032 extends MovieClip {
public var hit:MovieClip;
public function lholder_3032(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 162
//lighterhol_2842 (main_fla.lighterhol_2842)
package main_fla {
import flash.display.*;
public dynamic class lighterhol_2842 extends MovieClip {
public function lighterhol_2842(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 163
//manny_death_2785 (main_fla.manny_death_2785)
package main_fla {
import flash.display.*;
public dynamic class manny_death_2785 extends MovieClip {
public function manny_death_2785(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package main_fla
Section 164
//manny_shock1_2786 (main_fla.manny_shock1_2786)
package main_fla {
import flash.display.*;
public dynamic class manny_shock1_2786 extends MovieClip {
public function manny_shock1_2786(){
addFrameScript(40, frame41);
}
function frame41(){
stop();
}
}
}//package main_fla
Section 165
//newgamesure_203 (main_fla.newgamesure_203)
package main_fla {
import flash.display.*;
public dynamic class newgamesure_203 extends MovieClip {
public var new_game:SimpleButton;
public var holder:MovieClip;
public function newgamesure_203(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
}
}
}//package main_fla
Section 166
//pageholdercopy_3022 (main_fla.pageholdercopy_3022)
package main_fla {
import flash.display.*;
public dynamic class pageholdercopy_3022 extends MovieClip {
public var transplant:MovieClip;
public var largeCut:MovieClip;
public var burn:MovieClip;
public var surfaceExtraction:MovieClip;
public var poison:MovieClip;
public var smallCut:MovieClip;
public var underSurfaceExtraction:MovieClip;
public var fire:MovieClip;
public function pageholdercopy_3022(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 167
//ringocopy_3029 (main_fla.ringocopy_3029)
package main_fla {
import flash.display.*;
public dynamic class ringocopy_3029 extends MovieClip {
public function ringocopy_3029(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 168
//sawhol_2884 (main_fla.sawhol_2884)
package main_fla {
import flash.display.*;
public dynamic class sawhol_2884 extends MovieClip {
public function sawhol_2884(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 169
//shodercopy_3024 (main_fla.shodercopy_3024)
package main_fla {
import flash.display.*;
public dynamic class shodercopy_3024 extends MovieClip {
public var hit:MovieClip;
public function shodercopy_3024(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 170
//shol_2921 (main_fla.shol_2921)
package main_fla {
import flash.display.*;
public dynamic class shol_2921 extends MovieClip {
public function shol_2921(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 171
//shotholdercopy_3058 (main_fla.shotholdercopy_3058)
package main_fla {
import flash.display.*;
public dynamic class shotholdercopy_3058 extends MovieClip {
public var lighter:MovieClip;
public var holder:MovieClip;
public var hit:MovieClip;
public function shotholdercopy_3058(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame10(){
stop();
}
function frame3(){
stop();
}
function frame9(){
stop();
}
}
}//package main_fla
Section 172
//skewercomp_2332 (main_fla.skewercomp_2332)
package main_fla {
import flash.display.*;
public dynamic class skewercomp_2332 extends MovieClip {
public function skewercomp_2332(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package main_fla
Section 173
//sound_holder_1462 (main_fla.sound_holder_1462)
package main_fla {
import flash.display.*;
public dynamic class sound_holder_1462 extends MovieClip {
public function sound_holder_1462(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 174
//staplerhol_2874 (main_fla.staplerhol_2874)
package main_fla {
import flash.display.*;
public dynamic class staplerhol_2874 extends MovieClip {
public function staplerhol_2874(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 175
//strip_2827 (main_fla.strip_2827)
package main_fla {
import flash.display.*;
public dynamic class strip_2827 extends MovieClip {
public function strip_2827(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 176
//strip1_2806 (main_fla.strip1_2806)
package main_fla {
import flash.display.*;
public dynamic class strip1_2806 extends MovieClip {
public function strip1_2806(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 177
//strip2_2803 (main_fla.strip2_2803)
package main_fla {
import flash.display.*;
public dynamic class strip2_2803 extends MovieClip {
public function strip2_2803(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 178
//strip3_2789 (main_fla.strip3_2789)
package main_fla {
import flash.display.*;
public dynamic class strip3_2789 extends MovieClip {
public function strip3_2789(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 179
//strip4_2809 (main_fla.strip4_2809)
package main_fla {
import flash.display.*;
public dynamic class strip4_2809 extends MovieClip {
public function strip4_2809(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 180
//strip5_2812 (main_fla.strip5_2812)
package main_fla {
import flash.display.*;
public dynamic class strip5_2812 extends MovieClip {
public function strip5_2812(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 181
//strip6_2815 (main_fla.strip6_2815)
package main_fla {
import flash.display.*;
public dynamic class strip6_2815 extends MovieClip {
public function strip6_2815(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 182
//strip7_2818 (main_fla.strip7_2818)
package main_fla {
import flash.display.*;
public dynamic class strip7_2818 extends MovieClip {
public function strip7_2818(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 183
//strip8_2821 (main_fla.strip8_2821)
package main_fla {
import flash.display.*;
public dynamic class strip8_2821 extends MovieClip {
public function strip8_2821(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 184
//strip9_2824 (main_fla.strip9_2824)
package main_fla {
import flash.display.*;
public dynamic class strip9_2824 extends MovieClip {
public function strip9_2824(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 185
//SUPERHOLDER_2470 (main_fla.SUPERHOLDER_2470)
package main_fla {
import flash.display.*;
public dynamic class SUPERHOLDER_2470 extends MovieClip {
public function SUPERHOLDER_2470(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 186
//tonghol_2834 (main_fla.tonghol_2834)
package main_fla {
import flash.display.*;
public dynamic class tonghol_2834 extends MovieClip {
public function tonghol_2834(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 187
//vachol_2882 (main_fla.vachol_2882)
package main_fla {
import flash.display.*;
public dynamic class vachol_2882 extends MovieClip {
public function vachol_2882(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 188
//wireh_2919 (main_fla.wireh_2919)
package main_fla {
import flash.display.*;
public dynamic class wireh_2919 extends MovieClip {
public function wireh_2919(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package main_fla
Section 189
//mc_preroll_play (prerollAssets.mc_preroll_play)
package prerollAssets {
import flash.display.*;
public dynamic class mc_preroll_play extends MovieClip {
public var over:MovieClip;
public var mcPlay:MovieClip;
public function mc_preroll_play(){
addFrameScript(0, this.frame1);
}
function frame1(){
stop();
}
}
}//package prerollAssets
Section 190
//AOver_21 (prerollAssets_fla.AOver_21)
package prerollAssets_fla {
import flash.display.*;
public dynamic class AOver_21 extends MovieClip {
public function AOver_21(){
addFrameScript(3, this.frame4);
}
function frame4(){
stop();
}
}
}//package prerollAssets_fla
Section 191
//LOver_22 (prerollAssets_fla.LOver_22)
package prerollAssets_fla {
import flash.display.*;
public dynamic class LOver_22 extends MovieClip {
public function LOver_22(){
addFrameScript(3, this.frame4);
}
function frame4(){
stop();
}
}
}//package prerollAssets_fla
Section 192
//PLAYbuttonDOWN_19 (prerollAssets_fla.PLAYbuttonDOWN_19)
package prerollAssets_fla {
import flash.display.*;
public dynamic class PLAYbuttonDOWN_19 extends MovieClip {
public function PLAYbuttonDOWN_19(){
addFrameScript(4, this.frame5);
}
function frame5(){
stop();
}
}
}//package prerollAssets_fla
Section 193
//PLAYhit_2 (prerollAssets_fla.PLAYhit_2)
package prerollAssets_fla {
import flash.display.*;
public dynamic class PLAYhit_2 extends MovieClip {
public function PLAYhit_2(){
addFrameScript(0, this.frame1, 20, this.frame21);
}
function frame21(){
stop();
}
function frame1(){
stop();
}
}
}//package prerollAssets_fla
Section 194
//Pover_23 (prerollAssets_fla.Pover_23)
package prerollAssets_fla {
import flash.display.*;
public dynamic class Pover_23 extends MovieClip {
public function Pover_23(){
addFrameScript(3, this.frame4);
}
function frame4(){
stop();
}
}
}//package prerollAssets_fla
Section 195
//YOver_20 (prerollAssets_fla.YOver_20)
package prerollAssets_fla {
import flash.display.*;
public dynamic class YOver_20 extends MovieClip {
public function YOver_20(){
addFrameScript(3, this.frame4);
}
function frame4(){
stop();
}
}
}//package prerollAssets_fla
Section 196
//ISound (shell.sound.ISound)
package shell.sound {
public interface ISound {
function getEffects():Array;
function getSourceFolder():String;
function getMusic():Array;
}
}//package shell.sound
Section 197
//SoundController (shell.sound.SoundController)
package shell.sound {
import flash.media.*;
import flash.events.*;
import flash.utils.*;
import shell.*;
import flash.net.*;
public class SoundController {
private var effects:Array;
public var stopping:Boolean;
private var musicTransform:SoundTransform;
public var theme:String;
private var gameMusic:Sound;
private var ambient:String;
private var isMusicOn:Boolean;
private var source:String;
public var current_music:String;
private var effectSnds:Array;
private var music:Array;
private var load_from_file:Boolean;
private var musicSnds:Array;
private var fxTransform:SoundTransform;
private var isSoundEffectsOn:Boolean;
public static var EFFECTS:String = "effects";
public static var MUSIC:String = "music";
protected static var instance:SoundController;
public static var TOGGLE_EFFECTS:String = "toggle_fx";
public static var TOGGLE_MUSIC:String = "toggle_music";
private static var sound_folder:String = "assets/sounds/";
public function SoundController(_arg1:ISound, _arg2:Boolean){
if (instance == null){
load_from_file = _arg2;
isMusicOn = true;
isSoundEffectsOn = true;
effects = _arg1.getEffects();
music = _arg1.getMusic();
source = _arg1.getSourceFolder();
fxTransform = new SoundTransform(1);
musicTransform = new SoundTransform(1);
loadSounds();
instance = this;
};
stopping = false;
}
public function getSoundEffectsOn():Boolean{
return (isSoundEffectsOn);
}
private function sndProgress(_arg1:ProgressEvent):void{
}
private function createSound(_arg1:String):Sound{
var _local2:Sound = new Sound();
if (load_from_file == true){
_local2.load(new URLRequest((source + _arg1)));
_local2.addEventListener(IOErrorEvent.IO_ERROR, sndIOError);
_local2.addEventListener(ProgressEvent.PROGRESS, sndProgress);
_local2.addEventListener(Event.COMPLETE, sndComplete);
} else {
_local2 = RuntimeLibrary.getAssetByLinkageID(_arg1);
};
return (_local2);
}
public function setSoundEffectsOn(_arg1:Boolean):void{
fxTransform.volume = int(_arg1);
isSoundEffectsOn = _arg1;
}
private function loadSounds():void{
var _local5:Boolean;
var _local1:Array = [];
var _local2:Array = [];
var _local3:int;
while (_local3 < effects.length) {
_local5 = false;
if (String(effects[_local3]).split("ambient").length > 1){
};
_local1.push(new SoundHolder(createSound(effects[_local3]), EFFECTS, _local5));
_local3++;
};
effectSnds = _local1;
var _local4:int;
while (_local4 < music.length) {
_local2.push(new SoundHolder(createSound(music[_local4]), MUSIC));
_local4++;
};
musicSnds = _local2;
}
public function swapAmbient(_arg1:String, _arg2:Boolean=false):void{
_arg2 = false;
var _local3:SoundHolder = getEffect(ambient);
var _local4:Number = 0;
if (_local3 != null){
if (_arg2 == true){
_local3.fadeOut();
} else {
_local3.stop();
};
};
ambient = _arg1;
playSound(EFFECTS, ambient, _arg2, 9999);
}
public function getEffect(_arg1:String):SoundHolder{
var _local2:SoundHolder;
var _local3:int;
while (_local3 < effects.length) {
if (effects[_local3] == _arg1){
_local2 = effectSnds[_local3];
break;
};
_local3++;
};
return (_local2);
}
public function stopMusic(_arg1:Boolean=false):void{
var _local2:SoundHolder = getMusic(theme);
if (_local2 != null){
if (_arg1 == true){
_local2.fadeOut();
} else {
_local2.setVol(false);
};
};
theme = "";
}
public function stopAmbient(_arg1:Boolean=false):void{
var _local2:SoundHolder = getEffect(ambient);
if (_local2 != null){
if (_arg1 == true){
_local2.fadeOut();
} else {
_local2.setVol(false);
};
};
ambient = "";
}
public function getMusic(_arg1:String):SoundHolder{
var _local2:SoundHolder;
var _local3:int;
while (_local3 < music.length) {
if (music[_local3] == _arg1){
_local2 = musicSnds[_local3];
break;
};
_local3++;
};
return (_local2);
}
public function playSound(_arg1:String, _arg2:String, _arg3:Boolean=false, _arg4:int=1, _arg5:Boolean=false):void{
var _local6:SoundHolder;
var _local7:SoundHolder;
_arg3 = false;
if (_arg1 == MUSIC){
if (isMusicOn){
_local6 = getMusic(_arg2);
if (_local6 != null){
if (_arg3 == true){
_local6.fadeIn();
} else {
_local6.play(musicTransform, _arg4);
};
current_music = _arg2;
theme = _arg2;
};
};
};
if (_arg1 == EFFECTS){
if ((((stopping == false)) || (_arg5))){
if (isSoundEffectsOn){
_local7 = getEffect(_arg2);
if (_local7 != null){
if (_arg3 == true){
_local7.fadeIn();
} else {
_local7.play(fxTransform, _arg4);
};
};
};
};
};
}
public function stopAllFX():void{
var _local2:SoundHolder;
stopping = true;
var _local1:int;
while (_local1 < effects.length) {
_local2 = getEffect(effects[_local1]);
_local2.stop();
_local2 = null;
_local1++;
};
}
public function swapTheme(_arg1:String, _arg2:Boolean=false):void{
_arg2 = false;
var _local3:SoundHolder = getMusic(theme);
var _local4:Number = 0;
if (_local3 != null){
if (_arg2 == true){
_local3.fadeOut();
} else {
_local3.setVol(false);
};
};
theme = _arg1;
playSound(MUSIC, theme, _arg2);
current_music = theme;
}
private function sndComplete(_arg1:Event):void{
var _local2:Sound = (_arg1.target as Sound);
}
public function setMusicOn(_arg1:Boolean):void{
var _local2:SoundHolder;
isMusicOn = _arg1;
if (isMusicOn){
musicTransform.volume = 1;
} else {
musicTransform.volume = 0;
};
if (current_music != null){
_local2 = getMusic(current_music);
if (isMusicOn){
playSound(MUSIC, theme);
current_music = theme;
} else {
_local2.setVol(false);
};
};
}
public function stopFX(_arg1:String, _arg2:Boolean=false):void{
var _local3:SoundHolder = getEffect(_arg1);
if (_local3 != null){
if (_arg2 == true){
_local3.fadeOut();
} else {
_local3.stop();
};
};
}
public function getMusicOn():Boolean{
return (isMusicOn);
}
private function sndIOError(_arg1:IOErrorEvent):void{
}
public static function getInstance():SoundController{
return (instance);
}
}
}//package shell.sound
Section 198
//SoundHolder (shell.sound.SoundHolder)
package shell.sound {
import flash.media.*;
import flash.events.*;
import gs.*;
public class SoundHolder {
public var volume:Number;// = 0
private var channel:SoundChannel;
private var sound:Sound;
public var is_playing:Boolean;
public var type:String;
public function SoundHolder(_arg1:Sound, _arg2:String, _arg3:Boolean=false){
type = _arg2;
sound = _arg1;
channel = new SoundChannel();
is_playing = false;
if ((((type == SoundController.MUSIC)) || ((_arg3 == true)))){
channel = sound.play(0, 9999);
play(new SoundTransform(volume), 9999, _arg3);
};
}
public function stop():void{
if (channel.hasEventListener(Event.SOUND_COMPLETE)){
channel.removeEventListener(Event.SOUND_COMPLETE, onSoundComplete);
};
is_playing = false;
channel.stop();
}
public function fadeIn():void{
volume = 0;
TweenLite.to(this, 5, {volume:1, onUpdate:checkVol});
}
private function onSoundComplete(_arg1:Event):void{
channel.removeEventListener(Event.SOUND_COMPLETE, onSoundComplete);
is_playing = false;
}
public function fadeOut():void{
TweenLite.to(this, 5, {volume:0, onUpdate:checkVol});
}
public function checkVol():void{
var _local1:SoundTransform = new SoundTransform(volume);
channel.soundTransform = _local1;
}
public function play(_arg1:SoundTransform, _arg2:int=1, _arg3:Boolean=false):void{
var transform = _arg1;
var loops = _arg2;
var ambient = _arg3;
try {
if ((((((type == SoundController.EFFECTS)) && ((ambient == false)))) && ((is_playing == false)))){
is_playing = true;
channel = sound.play(0, loops);
channel.addEventListener(Event.SOUND_COMPLETE, onSoundComplete);
};
volume = transform.volume;
channel.soundTransform = transform;
} catch(e:Error) {
};
}
public function setVol(_arg1:Boolean):void{
var _local2:Number;
if (_arg1){
_local2 = 1;
} else {
_local2 = 0;
};
var _local3:SoundTransform = new SoundTransform(_local2);
channel.soundTransform = _local3;
}
}
}//package shell.sound
Section 199
//GetPath (shell.GetPath)
package shell {
public class GetPath {
private static var _path:String;
private static var _userpath:String;
public static function getRoot():String{
return (_path);
}
public static function setPath(_arg1:String, _arg2:String):void{
var _local4:*;
var _local3:String = _arg1;
if (_path == null){
_local4 = _local3.split("/");
_local4.pop();
_path = _local4.join("/");
if (_path.indexOf("UsersRoss") == -1){
(_path + "/");
};
};
_userpath = (_path + _arg2);
trace(((("GetPath set root to: " + _path) + "\n and path to : ") + _userpath));
}
public static function getPath():String{
return (_userpath);
}
}
}//package shell
Section 200
//JSON (shell.JSON)
package shell {
public class JSON {
public static function serialize(_arg1):String{
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local6:*;
var _local7:String;
var _local8:Number;
var _local5 = "";
switch (typeof(_arg1)){
case "object":
if (_arg1){
if ((_arg1 is Array)){
_local4 = _arg1.length;
_local3 = 0;
while (_local3 < _local4) {
_local6 = serialize(_arg1[_local3]);
if (_local5){
_local5 = (_local5 + ",");
};
_local5 = (_local5 + _local6);
_local3++;
};
return ((("[" + _local5) + "]"));
} else {
if (typeof(_arg1.toString) != "undefined"){
for (_local7 in _arg1) {
_local6 = _arg1[_local7];
if (((!((typeof(_local6) == "undefined"))) && (!((typeof(_local6) == "function"))))){
_local6 = serialize(_local6);
if (_local5){
_local5 = (_local5 + ",");
};
_local5 = (_local5 + ((serialize(_local7) + ":") + _local6));
};
};
return ((("{" + _local5) + "}"));
};
};
};
return ("null");
case "number":
return ((isFinite(_arg1)) ? String(_arg1) : "null");
case "string":
_local4 = _arg1.length;
_local5 = "\"";
_local3 = 0;
while (_local3 < _local4) {
_local2 = _arg1.charAt(_local3);
if (_local2 >= " "){
if ((((_local2 == "\\")) || ((_local2 == "\"")))){
_local5 = (_local5 + "\\");
};
_local5 = (_local5 + _local2);
} else {
switch (_local2){
case "\b":
_local5 = (_local5 + "\\b");
break;
case "\f":
_local5 = (_local5 + "\\f");
break;
case "\n":
_local5 = (_local5 + "\\n");
break;
case "\r":
_local5 = (_local5 + "\\r");
break;
case "\t":
_local5 = (_local5 + "\\t");
break;
default:
_local8 = _local2.charCodeAt();
_local5 = (_local5 + (("\\u00" + Math.floor((_local8 / 16)).toString(16)) + (_local8 % 16).toString(16)));
};
};
_local3 = (_local3 + 1);
};
return ((_local5 + "\""));
case "boolean":
return (String(_arg1));
default:
return ("null");
};
}
public static function deserialize(_arg1:String){
var at:Number;
var ch:String;
var _isDigit:Function;
var _isHexDigit:Function;
var _white:Function;
var _string:Function;
var _next:Function;
var _array:Function;
var _object:Function;
var _number:Function;
var _word:Function;
var _value:Function;
var _error:Function;
var source = _arg1;
source = new String(source);
at = 0;
ch = " ";
_isDigit = function (_arg1:String){
return (((("0" <= _arg1)) && ((_arg1 <= "9"))));
};
_isHexDigit = function (_arg1:String){
return (((((_isDigit(_arg1)) || (((("A" <= _arg1)) && ((_arg1 <= "F")))))) || (((("a" <= _arg1)) && ((_arg1 <= "f"))))));
};
_error = function (_arg1:String):void{
throw (new Error(_arg1, (at - 1)));
};
_next = function (){
ch = source.charAt(at);
at = (at + 1);
return (ch);
};
_white = function ():void{
while (ch) {
if (ch <= " "){
_next();
} else {
if (ch == "/"){
switch (_next()){
case "/":
do {
} while (((((_next()) && (!((ch == "\n"))))) && (!((ch == "\r")))));
break;
case "*":
_next();
while (true) {
if (ch){
if (ch == "*"){
if (_next() == "/"){
_next();
break;
};
} else {
_next();
};
} else {
_error("Unterminated Comment");
};
};
break;
default:
_error("Syntax Error");
};
} else {
break;
};
};
};
};
_string = function (){
var _local3:*;
var _local4:*;
var _local1:* = "";
var _local2:* = "";
var _local5:Boolean;
if (ch == "\""){
while (_next()) {
if (ch == "\""){
_next();
return (_local2);
};
if (ch == "\\"){
switch (_next()){
case "b":
_local2 = (_local2 + "\b");
break;
case "f":
_local2 = (_local2 + "\f");
break;
case "n":
_local2 = (_local2 + "\n");
break;
case "r":
_local2 = (_local2 + "\r");
break;
case "t":
_local2 = (_local2 + "\t");
break;
case "u":
_local4 = 0;
_local1 = 0;
while (_local1 < 4) {
_local3 = parseInt(_next(), 16);
if (!isFinite(_local3)){
_local5 = true;
break;
};
_local4 = ((_local4 * 16) + _local3);
_local1 = (_local1 + 1);
};
if (_local5){
_local5 = false;
break;
};
_local2 = (_local2 + String.fromCharCode(_local4));
break;
default:
_local2 = (_local2 + ch);
};
} else {
_local2 = (_local2 + ch);
};
};
};
_error("Bad String");
return (null);
};
_array = function (){
var _local1:Array = [];
if (ch == "["){
_next();
_white();
if (ch == "]"){
_next();
return (_local1);
};
while (ch) {
_local1.push(_value());
_white();
if (ch == "]"){
_next();
return (_local1);
};
if (ch != ","){
break;
};
_next();
_white();
};
};
_error("Bad Array");
return (null);
};
_object = function (){
var _local1:* = {};
var _local2:* = {};
if (ch == "{"){
_next();
_white();
if (ch == "}"){
_next();
return (_local2);
};
while (ch) {
_local1 = _string();
_white();
if (ch != ":"){
break;
};
_next();
_local2[_local1] = _value();
_white();
if (ch == "}"){
_next();
return (_local2);
};
if (ch != ","){
break;
};
_next();
_white();
};
};
_error("Bad Object");
};
_number = function (){
var _local2:*;
var _local1:* = "";
var _local3 = "";
var _local4 = "";
if (ch == "-"){
_local1 = "-";
_local4 = _local1;
_next();
};
if (ch == "0"){
_next();
if ((((ch == "x")) || ((ch == "X")))){
_next();
while (_isHexDigit(ch)) {
_local3 = (_local3 + ch);
_next();
};
if (_local3 == ""){
_error("mal formed Hexadecimal");
} else {
return (Number(((_local4 + "0x") + _local3)));
};
} else {
_local1 = (_local1 + "0");
};
};
while (_isDigit(ch)) {
_local1 = (_local1 + ch);
_next();
};
if (ch == "."){
_local1 = (_local1 + ".");
while (((((_next()) && ((ch >= "0")))) && ((ch <= "9")))) {
_local1 = (_local1 + ch);
};
};
_local2 = (1 * _local1);
if (!isFinite(_local2)){
_error("Bad Number");
} else {
return (_local2);
};
return (NaN);
};
_word = function (){
switch (ch){
case "t":
if ((((((_next() == "r")) && ((_next() == "u")))) && ((_next() == "e")))){
_next();
return (true);
};
break;
case "f":
if ((((((((_next() == "a")) && ((_next() == "l")))) && ((_next() == "s")))) && ((_next() == "e")))){
_next();
return (false);
};
break;
case "n":
if ((((((_next() == "u")) && ((_next() == "l")))) && ((_next() == "l")))){
_next();
return (null);
};
break;
};
_error("Syntax Error");
return (null);
};
_value = function (){
_white();
switch (ch){
case "{":
return (_object());
case "[":
return (_array());
case "\"":
return (_string());
case "-":
return (_number());
default:
return (((((ch >= "0")) && ((ch <= "9")))) ? _number() : _word());
};
};
return (_value());
}
}
}//package shell
Section 201
//LoadCollection (shell.LoadCollection)
package shell {
public class LoadCollection {
public var folder:String;
public var files:Array;
public function LoadCollection(_arg1:String, _arg2:Array){
folder = _arg1;
files = _arg2;
}
}
}//package shell
Section 202
//LoadInfo (shell.LoadInfo)
package shell {
public class LoadInfo {
public var total_bytes:int;
public var loaded_bytes:int;
public var percent:int;
public var total_files:int;
public var loaded_files:int;
public function LoadInfo(_arg1:int, _arg2:int, _arg3:int, _arg4:int){
loaded_bytes = _arg1;
total_bytes = _arg2;
loaded_files = _arg3;
total_files = _arg4;
percent = Math.round(((100 / total_bytes) * loaded_bytes));
}
}
}//package shell
Section 203
//MenuObject (shell.MenuObject)
package shell {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.text.*;
public class MenuObject extends Sprite {
public var data;
private var text_fields:Dictionary;
private var sprites:Dictionary;
public var target:MovieClip;
public var id:String;
public function MenuObject(_arg1:MovieClip=null, _arg2=null){
target = _arg1;
data = _arg2;
createIndex();
}
public function getMenuObject(_arg1:String):MenuObject{
var _local2:MovieClip = getMovieClip(_arg1);
return (new MenuObject(_local2));
}
private function createIndex():void{
var _local2:int;
var _local3:*;
var _local4:DisplayObject;
text_fields = new Dictionary(true);
sprites = new Dictionary(true);
var _local1 = (("---------------------\nContents of " + target) + " :\n");
if (target != null){
target.gotoAndStop(1);
_local2 = 0;
while (_local2 < target.numChildren) {
_local4 = target.getChildAt(_local2);
_local1 = (_local1 + ((_local4.name + " ") + _local4));
if ((_local4 is TextField)){
text_fields[_local4.name] = _local4;
} else {
if ((_local4 is MovieClip)){
_local1 = (_local1 + (" frames: " + MovieClip(_local4).totalFrames));
sprites[_local4.name] = _local4;
MovieClip(_local4).gotoAndStop(1);
} else {
sprites[_local4.name] = _local4;
};
};
_local1 = (_local1 + "\n");
_local2++;
};
id = target.name;
} else {
_local1 = (_local1 + " target is null");
};
trace(_local1);
}
public function getSprite(_arg1:String):Sprite{
return ((sprites[_arg1] as Sprite));
}
public function addButtonEvents(_arg1:Function, _arg2:Function=null, _arg3:Function=null):String{
target.mouseChildren = false;
target.buttonMode = true;
target.addEventListener(MouseEvent.CLICK, _arg1);
if (((!((_arg2 == null))) && (!((_arg3 == null))))){
target.addEventListener(MouseEvent.ROLL_OVER, _arg2);
target.addEventListener(MouseEvent.ROLL_OUT, _arg3);
};
return (target.name);
}
public function attachClip():void{
if (target != null){
addChild(target);
};
}
public function getTextField(_arg1:String):TextField{
return ((text_fields[_arg1] as TextField));
}
public function getMovieClip(_arg1:String):MovieClip{
return ((sprites[_arg1] as MovieClip));
}
public function setTarget(_arg1:String):void{
if (target != null){
trace("creating new target sprite");
};
target = (RuntimeLibrary.getMovieClipByLinkageID(_arg1) as MovieClip);
createIndex();
}
public static function describe(_arg1:Sprite):String{
var _local3:int;
var _local4:*;
var _local5:DisplayObject;
var _local2 = (("---------------------\nContents of " + _arg1) + " :\n");
if (_arg1 != null){
_local3 = 0;
while (_local3 < _arg1.numChildren) {
_local5 = _arg1.getChildAt(_local3);
_local2 = (_local2 + ((_local5.name + " ") + _local5));
if ((_local5 is MovieClip)){
_local2 = (_local2 + (" frames: " + MovieClip(_local5).totalFrames));
};
_local2 = (_local2 + "\n");
_local3++;
};
};
return (_local2);
}
}
}//package shell
Section 204
//Preloader (shell.Preloader)
package shell {
import flash.events.*;
import flash.display.*;
import app.connector.*;
import app.view.*;
public class Preloader extends Sprite {
private var PRELOAD_CLASS:Class;
private var myshell:Shell;
private var preloader;
private var WAITING_CLASS:Class;
private var _showing_waiter:Boolean;// = false
private var _showing_preloader:Boolean;// = false
private var _busy:Boolean;// = false
private var wait;
public static var LOAD_COMPLETE:String = "LOAD_COMPLETE";
public function Preloader(_arg1:Shell){
WAITING_CLASS = WaitView;
PRELOAD_CLASS = PreloaderView;
super();
myshell = _arg1;
addEventListener(Event.ADDED_TO_STAGE, init);
}
public function get busy():Boolean{
return (_busy);
}
private function onAssetsReady(_arg1:Event=null){
var _local2:Array = myshell.assets;
var _local3:int;
while (_local3 < _local2.length) {
myshell.rtl.addFiles(_local2[_local3]);
_local3++;
};
_busy = false;
showPreloader();
}
private function init(_arg1:Event):void{
trace("start preloader");
_busy = false;
removeEventListener(Event.ADDED_TO_STAGE, init);
var _local2:LoadCollection = myshell.preload_assets;
onAssetsReady();
}
private function stopWaiter(_arg1:Event):void{
_showing_waiter = false;
myshell.connector.removeEventListener(Connector.CONNECTOR_READY, stopWaiter);
wait.addEventListener(LOAD_COMPLETE, onWaiterStopped);
wait.onComplete();
}
private function stopPreloader(_arg1:Event=null):void{
myshell.rtl.removeEventListener(RuntimeLibrary.LIBRARY_READY, stopPreloader);
_showing_preloader = false;
removeEventListener(Event.ENTER_FRAME, updatePreloader);
preloader.addEventListener(LOAD_COMPLETE, onPreloaderStopped);
preloader.onComplete();
}
private function onReady():void{
checkComplete();
trace("ready");
if (_busy == false){
trace("not busy");
dispatchEvent(new Event(LOAD_COMPLETE));
};
}
private function checkComplete():void{
if ((((_showing_preloader == false)) && ((_showing_waiter == false)))){
_busy = false;
};
}
private function updatePreloader(_arg1:Event):void{
preloader.update(myshell.rtl.getBytesInfo());
if (myshell.rtl.ready == true){
trace("RTL ready");
stopPreloader();
};
}
public function showPreloader():void{
if (_busy == false){
_busy = true;
_showing_preloader = true;
preloader = new PRELOAD_CLASS();
addChild(preloader);
trace("add pre loader");
preloader.init();
addEventListener(Event.ENTER_FRAME, updatePreloader);
};
}
private function onWaiterStopped(_arg1:Event):void{
_showing_waiter = false;
removeChild(wait);
wait = null;
onReady();
}
private function onPreloaderStopped(_arg1:Event):void{
trace("preloader finished");
_showing_preloader = false;
removeChild(preloader);
preloader = null;
onReady();
}
public function showWaiter():void{
if (_busy == false){
_busy = true;
_showing_waiter = true;
wait = new WAITING_CLASS();
addChild(wait);
myshell.connector.addEventListener(Connector.CONNECTOR_READY, stopWaiter);
wait.init();
};
}
}
}//package shell
Section 205
//RuntimeLibrary (shell.RuntimeLibrary)
package shell {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class RuntimeLibrary extends EventDispatcher {
private var load_counter:int;// = 0
private var _ready:Boolean;// = false
private var bytes_counter:Dictionary;
private var load_total:int;// = 0
private var _game:Sprite;
private var bytes_total:Dictionary;
private static var loaders:Array = [];
private static var assetClass:Class;
private static var instance:RuntimeLibrary;
private static var file_look_up:Dictionary;
public static var LIBRARY_READY:String = "Library_ready";
public function RuntimeLibrary(_arg1:Sprite){
_game = _arg1;
if (instance == null){
instance = this;
loaders = [];
bytes_counter = new Dictionary(true);
bytes_total = new Dictionary(true);
file_look_up = new Dictionary(true);
load_total = 0;
};
}
public function getBytesInfo():LoadInfo{
var _local1:int = _game.stage.loaderInfo.bytesLoaded;
var _local2:int = _game.stage.loaderInfo.bytesTotal;
checkIfReady();
return (new LoadInfo(_local1, _local2, load_counter, load_total));
}
protected function checkLoad(_arg1:ProgressEvent):void{
var _local2:int;
while (_local2 < loaders.length) {
if ((loaders[_local2] is Loader)){
if (Loader(loaders[_local2]).contentLoaderInfo == _arg1.target){
bytes_total[loaders[_local2]] = _arg1.bytesTotal;
bytes_counter[loaders[_local2]] = _arg1.bytesLoaded;
};
} else {
if (loaders[_local2] == _arg1.target){
bytes_total[loaders[_local2]] = _arg1.bytesTotal;
bytes_counter[loaders[_local2]] = _arg1.bytesLoaded;
};
};
_local2++;
};
}
public function get ready():Boolean{
return (_ready);
}
public function addFiles(_arg1:LoadCollection):void{
_ready = false;
load_total = (load_total + _arg1.files.length);
var _local2:int;
while (_local2 < _arg1.files.length) {
load_total--;
_local2++;
};
checkIfReady();
}
public function checkIfReady():void{
trace((" _game.stage.loaderInfo.bytesLoaded " + _game.stage.loaderInfo.bytesLoaded));
trace(("_game.stage.loaderInfo.bytesTotal " + _game.stage.loaderInfo.bytesTotal));
if (_game.stage.loaderInfo.bytesLoaded >= _game.stage.loaderInfo.bytesTotal){
_ready = true;
dispatchEvent(new Event(LIBRARY_READY));
};
}
protected function loadComplete(_arg1:Event):void{
load_counter++;
checkIfReady();
}
public static function getMovieClipByLinkageID(_arg1:String):Sprite{
return (getAssetByLinkageID(_arg1));
}
public static function getClass(_arg1:String):Class{
var _local2:Class;
var _local4:ApplicationDomain;
var _local3:int;
while (_local3 < loaders.length) {
if ((loaders[_local3] is Loader)){
_local4 = Loader(loaders[_local3]).contentLoaderInfo.applicationDomain;
if (((!((_local4 == null))) && ((_local4.hasDefinition(_arg1) == true)))){
_local2 = (Loader(loaders[_local3]).contentLoaderInfo.applicationDomain.getDefinition(_arg1) as Class);
};
};
_local3++;
};
if (_local2 == null){
_local2 = (getDefinitionByName(_arg1) as Class);
};
if (_local2 == null){
trace((("Error: movieclip asset '" + _arg1) + "' was not found"));
};
return (_local2);
}
public static function getInstance():RuntimeLibrary{
return (instance);
}
public static function getAssetByLinkageID(_arg1:String){
assetClass = getClass(_arg1);
return (new assetClass());
}
public static function getFile(_arg1:String){
return (file_look_up[_arg1]);
}
}
}//package shell
Section 206
//Shell (shell.Shell)
package shell {
import flash.events.*;
import flash.display.*;
import app.connector.*;
import versioning.*;
public class Shell extends Sprite {
private var callback:Function;
private var _assets:Array;
private var _rtl:RuntimeLibrary;
private var _connector:Connector;
private var _game:Sprite;
private var _preloader:Preloader;
private var _preload_assets:LoadCollection;
public static var QUIT_GAME:String = "quit_game";
public static var RESUME_GAME:String = "resume_game";
public static var REPLAY:String = "replay";
public static var instance:Shell;
public static var STOP_GAME:String = "stop_game";
public function Shell(_arg1:Sprite, _arg2:LoadCollection, _arg3:Array):void{
trace("shell created");
if (instance == null){
_preload_assets = _arg2;
_assets = _arg3;
_game = _arg1;
addEventListener(Event.ADDED_TO_STAGE, init);
instance = this;
} else {
trace("Shell is a singleton: can only be instantiated once");
};
}
public function get assets():Array{
return (_assets);
}
public function loadConnector(_arg1:Event=null):void{
trace("load connector created");
_preloader.removeEventListener(Preloader.LOAD_COMPLETE, loadConnector);
_preloader.addEventListener(Preloader.LOAD_COMPLETE, onShellReady);
}
public function get rtl():RuntimeLibrary{
return (_rtl);
}
public function get connector():Connector{
return (_connector);
}
public function onShellReady(_arg1:Event):void{
trace(("remove preloader " + callback));
_connector = new Connector();
_connector.init();
if (callback != null){
trace(("Callback : call " + callback));
callback.call();
};
dispatchEvent(new Event(RESUME_GAME, true));
}
public function get preload_assets():LoadCollection{
return (_preload_assets);
}
private function init(_arg1:Event):void{
trace("shell init");
removeEventListener(Event.ADDED_TO_STAGE, init);
var _local2:GetVersion = new GetVersion((parent as Sprite));
GetPath.setPath(this.loaderInfo.loaderURL, "/");
trace("creating rtl and preloader");
_rtl = new RuntimeLibrary(_game);
_preloader = new Preloader(this);
_preloader.addEventListener(Preloader.LOAD_COMPLETE, onShellReady);
addChild(_preloader);
}
public static function getInstance():Shell{
return (instance);
}
}
}//package shell
Section 207
//ClickHandler (src.com.adultswim.Preroll.ClickHandler)
package src.com.adultswim.Preroll {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class ClickHandler extends Sprite {
private var stream:Object;
private var blackBg:Object;
private var stageHeight:Number;
private var stageWidth:Number;
private var oStage:Object;
private var oRoot:Object;
private var gameMethod:Function;
private var strDomain:String;
private var mcPlay:Object;
private var video:Object;
private var gameName:String;
public function ClickHandler(){
mcPlay = GlobalVarContainer.vars.mcPlay;
oStage = GlobalVarContainer.vars.stage;
oRoot = GlobalVarContainer.vars.root;
stageWidth = GlobalVarContainer.vars.stageWidth;
stageHeight = GlobalVarContainer.vars.stageHeight;
stream = GlobalVarContainer.vars.stream;
video = GlobalVarContainer.vars.video;
blackBg = GlobalVarContainer.vars.blackBg;
gameName = GlobalVarContainer.vars.gameName;
strDomain = GlobalVarContainer.vars.strDomain;
gameMethod = GlobalVarContainer.vars.gameMethod;
super();
trace("ClickHandler initiated");
oStage.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(_arg1:MouseEvent):void{
trace("click handler!!!");
switch (true){
case mcPlay.hitTestPoint(oStage.mouseX, oStage.mouseY, true):
trace("mcPlay", this, this["parent"]);
oStage.removeChild(mcPlay);
oStage.removeChild(video);
oStage.removeChild(blackBg);
oStage.removeEventListener(MouseEvent.CLICK, clickHandler);
oRoot.gameInit();
trace("clickHandler activated - play");
GlobalVarContainer.vars.gameMethod;
break;
default:
goToURL(GlobalVarContainer.vars.bReady);
break;
};
GlobalVarContainer.vars.stream.resume();
}
private function goToURL(_arg1:Boolean=false):void{
var _local2 = "http://games.adultswim.com";
var _local3 = "";
switch (_arg1){
case true:
_local3 = "_end";
break;
default:
break;
};
var _local4:URLVariables = new URLVariables();
_local4.cid = ((((("GAME_Ext_" + gameName) + "_") + strDomain) + "_preroll") + _local3);
trace("variables.cid", _local4.cid);
var _local5:URLRequest = new URLRequest(_local2);
_local5.data = _local4;
navigateToURL(_local5, "_blank");
}
}
}//package src.com.adultswim.Preroll
Section 208
//GetVars (src.com.adultswim.Preroll.GetVars)
package src.com.adultswim.Preroll {
import flash.display.*;
import flash.net.*;
public class GetVars extends Sprite {
private var oRoot:Object;
private var my_lc:LocalConnection;
public function GetVars(){
oRoot = GlobalVarContainer.vars.root;
my_lc = new LocalConnection();
super();
trace("~~~~", oRoot, GlobalVarContainer.vars.strBase);
switch (oRoot.loaderInfo.parameters.strBase){
case undefined:
case null:
case "":
GlobalVarContainer.vars.strBase = (("http://i.cdn.turner.com/adultswim/games/hs/" + GlobalVarContainer.vars.gameName) + "/");
break;
default:
try {
GlobalVarContainer.vars.strBase = oRoot.loaderInfo.parameters.strBase;
} catch(e:Error) {
};
break;
};
switch (oRoot.loaderInfo.parameters.strDomain){
case undefined:
case null:
case "":
GlobalVarContainer.vars.strDomain = my_lc.domain;
break;
default:
try {
GlobalVarContainer.vars.strDomain = oRoot.loaderInfo.parameters.strDomain;
} catch(e:Error) {
};
break;
};
}
}
}//package src.com.adultswim.Preroll
Section 209
//GlobalVarContainer (src.com.adultswim.Preroll.GlobalVarContainer)
package src.com.adultswim.Preroll {
public class GlobalVarContainer {
public static var vars:Object = [];
}
}//package src.com.adultswim.Preroll
Section 210
//Navigation (src.com.adultswim.Preroll.Navigation)
package src.com.adultswim.Preroll {
import flash.events.*;
import flash.display.*;
public class Navigation extends Sprite {
private var stageHeight:Number;
private var stream:Object;
private var stageWidth:Number;
private var mcPlay:Object;
private var oStage:Object;
public function Navigation(){
mcPlay = GlobalVarContainer.vars.mcPlay;
oStage = GlobalVarContainer.vars.stage;
stageWidth = GlobalVarContainer.vars.stageWidth;
stageHeight = GlobalVarContainer.vars.stageHeight;
stream = GlobalVarContainer.vars.stream;
super();
trace("Navigation initiated");
trace("mcPlay", mcPlay);
trace("mcPlay.name", mcPlay.name);
oStage.addChild(mcPlay);
mcPlay.mcPlayBtn.gotoAndPlay(2);
mcPlay.scaleX = (mcPlay.scaleY = 0.5);
mcPlay.x = ((stageWidth / 2) - (mcPlay.width / 2));
mcPlay.y = 289;
mcPlay.addEventListener(MouseEvent.MOUSE_OVER, clickMethod);
mcPlay.addEventListener(MouseEvent.MOUSE_OUT, clickMethod);
mcPlay.addEventListener(MouseEvent.MOUSE_DOWN, clickMethod);
}
public function clickMethod(_arg1:MouseEvent):void{
switch (_arg1.type){
case "mouseOver":
mcPlay.gotoAndStop("over");
break;
case "mouseOut":
mcPlay.gotoAndStop("off");
break;
case "click":
mcPlay.gotoAndStop("down");
break;
default:
break;
};
}
}
}//package src.com.adultswim.Preroll
Section 211
//NetStreamer (src.com.adultswim.Preroll.NetStreamer)
package src.com.adultswim.Preroll {
import flash.media.*;
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class NetStreamer extends Sprite {
public var nav:Navigation;
private var stageHeight:Number;
private var stream:NetStream;
private var stageWidth:Number;
private var connection:NetConnection;
private var oStage:Object;
private var oVideo:Object;
private var videoURL:String;
private var flvWidth:Number;
private var flvHeight:Number;
public function NetStreamer(){
flvHeight = GlobalVarContainer.vars.flvHeight;
flvWidth = GlobalVarContainer.vars.flvWidth;
oStage = GlobalVarContainer.vars.stage;
stageHeight = GlobalVarContainer.vars.stageHeight;
stageWidth = GlobalVarContainer.vars.stageWidth;
videoURL = GlobalVarContainer.vars.flvPath;
super();
connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
connection.connect(null);
}
private function securityErrorHandler(_arg1:SecurityErrorEvent):void{
trace(("securityErrorHandler: " + _arg1));
}
private function connectStream():void{
trace("|-o-| connectStream");
trace(((((("|-o-| rect " + oStage) + " :: ") + stageWidth) + " : ") + stageHeight));
stream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
stream.client = new CustomClient();
var _local1:Sprite = new Sprite();
_local1.graphics.beginFill(0);
_local1.graphics.drawRect(0, 0, stageWidth, stageHeight);
oStage.addChild(_local1);
GlobalVarContainer.vars.blackBg = _local1;
var _local2:Video = new Video();
GlobalVarContainer.vars.video = _local2;
trace(((("!!!!!!!! width: " + flvWidth) + " : ") + flvHeight));
_local2.x = ((stageWidth - flvWidth) / 2);
_local2.y = ((stageHeight - flvHeight) / 2);
_local2.width = flvWidth;
_local2.height = flvHeight;
_local2.attachNetStream(stream);
stream.play(videoURL);
GlobalVarContainer.vars.stream = stream;
oStage.addChild(_local2);
var _local3:MovieClip = new MovieClip();
}
private function netStatusHandler(_arg1:NetStatusEvent):void{
switch (_arg1.info.code){
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace(("Stream not found: " + videoURL));
break;
case "NetStream.Play.Stop":
trace("All Stop, Aye");
break;
default:
break;
};
}
}
}//package src.com.adultswim.Preroll
class CustomClient {
public var nav:Navigation;
private function CustomClient(){
}
public function onXMPData(_arg1:Object):void{
}
public function onCuePoint(_arg1:Object):void{
trace(((((("|-o-| |-o-| cuepoint: time=" + _arg1.time) + " name=") + _arg1.name) + " type=") + _arg1.type));
switch (_arg1.name){
case "enterPlay":
GlobalVarContainer.vars.bReady = true;
nav = new Navigation();
break;
default:
break;
};
}
public function onMetaData(_arg1:Object):void{
trace(((((((("metadata: duration=" + _arg1.duration) + " width=") + _arg1.width) + " height=") + _arg1.height) + " framerate=") + _arg1.framerate));
}
}
Section 212
//Preroller (src.com.adultswim.Preroll.Preroller)
package src.com.adultswim.Preroll {
import flash.display.*;
import flash.net.*;
public class Preroller extends Sprite {
private var clickHandler:ClickHandler;
private var myVid:NetStreamer;
private var oStage:Object;
private var oRoot:Object;
private var my_lc:LocalConnection;
private var getVars:GetVars;
public function Preroller(){
my_lc = new LocalConnection();
super();
trace("!@", my_lc.domain);
switch (stage){
case null:
case undefined:
case "":
oStage = GlobalVarContainer.vars.stage;
trace("@@@@stage is null. Now set to object: ", oStage);
break;
default:
oStage = stage;
trace("@@@@stage is available!");
break;
};
switch (root){
case null:
case undefined:
case "":
oRoot = GlobalVarContainer.vars.root;
trace("####root is null. Now set to object: ", oStage);
break;
default:
oRoot = root;
trace("####root is available!");
break;
};
trace("$$$$jumbotron", oStage, oRoot, "::", GlobalVarContainer.vars.root);
getVars = new GetVars();
myVid = new NetStreamer();
clickHandler = new ClickHandler();
}
}
}//package src.com.adultswim.Preroll
Section 213
//GetVersion (versioning.GetVersion)
package versioning {
import flash.display.*;
import flash.ui.*;
public class GetVersion {
private var cm:ContextMenu;
private static var id:String = Version.id;
public function GetVersion(_arg1:Sprite):void{
cm = new ContextMenu();
cm.hideBuiltInItems();
var _local2:ContextMenuItem = new ContextMenuItem(("Version : " + getVersionString()));
cm.customItems.push(_local2);
_arg1.contextMenu = cm;
}
public static function getVersionString():String{
return (id);
}
}
}//package versioning
Section 214
//Version (versioning.Version)
package versioning {
public class Version {
public static var id:String = "15/04/2010 16:46:15.83 MEDIATONIC-PC";
}
}//package versioning
Section 215
//ambient_bathroom (ambient_bathroom)
package {
import flash.media.*;
public dynamic class ambient_bathroom extends Sound {
}
}//package
Section 216
//ambient_office (ambient_office)
package {
import flash.media.*;
public dynamic class ambient_office extends Sound {
}
}//package
Section 217
//ambient_shack (ambient_shack)
package {
import flash.media.*;
public dynamic class ambient_shack extends Sound {
}
}//package
Section 218
//ambient_surgery (ambient_surgery)
package {
import flash.media.*;
public dynamic class ambient_surgery extends Sound {
}
}//package
Section 219
//arm1 (arm1)
package {
import flash.display.*;
public dynamic class arm1 extends MovieClip {
}
}//package
Section 220
//arm2 (arm2)
package {
import flash.display.*;
public dynamic class arm2 extends MovieClip {
}
}//package
Section 221
//arm3 (arm3)
package {
import flash.display.*;
public dynamic class arm3 extends MovieClip {
}
}//package
Section 222
//arm4 (arm4)
package {
import flash.display.*;
public dynamic class arm4 extends MovieClip {
}
}//package
Section 223
//arm5 (arm5)
package {
import flash.display.*;
public dynamic class arm5 extends MovieClip {
}
}//package
Section 224
//awesome (awesome)
package {
import flash.display.*;
public dynamic class awesome extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 225
//bandages (bandages)
package {
import flash.display.*;
public dynamic class bandages extends MovieClip {
}
}//package
Section 226
//Barnicle (Barnicle)
package {
import flash.display.*;
public dynamic class Barnicle extends MovieClip {
public var hit:MovieClip;
public var dying:MovieClip;
public var pupil:MovieClip;
}
}//package
Section 227
//barnicleSplatter1 (barnicleSplatter1)
package {
import flash.display.*;
public dynamic class barnicleSplatter1 extends MovieClip {
}
}//package
Section 228
//barnicleSplatter2 (barnicleSplatter2)
package {
import flash.display.*;
public dynamic class barnicleSplatter2 extends MovieClip {
}
}//package
Section 229
//barnicleSplatter3 (barnicleSplatter3)
package {
import flash.display.*;
public dynamic class barnicleSplatter3 extends MovieClip {
}
}//package
Section 230
//barnicleSplatter4 (barnicleSplatter4)
package {
import flash.display.*;
public dynamic class barnicleSplatter4 extends MovieClip {
}
}//package
Section 231
//barnicleSplatter5 (barnicleSplatter5)
package {
import flash.display.*;
public dynamic class barnicleSplatter5 extends MovieClip {
}
}//package
Section 232
//Bat (Bat)
package {
import flash.display.*;
public dynamic class Bat extends MovieClip {
public var body:MovieClip;
public var flapping:MovieClip;
public var sleeping:MovieClip;
public var dying:MovieClip;
public var hit:MovieClip;
public var spitting:MovieClip;
}
}//package
Section 233
//bat_flap (bat_flap)
package {
import flash.media.*;
public dynamic class bat_flap extends Sound {
}
}//package
Section 234
//battery (battery)
package {
import flash.media.*;
public dynamic class battery extends Sound {
}
}//package
Section 235
//beep (beep)
package {
import flash.media.*;
public dynamic class beep extends Sound {
}
}//package
Section 236
//bgHolder (bgHolder)
package {
import flash.display.*;
public dynamic class bgHolder extends MovieClip {
}
}//package
Section 237
//BigCentipede (BigCentipede)
package {
import flash.display.*;
public dynamic class BigCentipede extends MovieClip {
public var retract:MovieClip;
public var attack:MovieClip;
public var dying:MovieClip;
public var stunned:MovieClip;
public var appear:MovieClip;
public var vanish:MovieClip;
public var craze:MovieClip;
}
}//package
Section 238
//bigSplatblood (bigSplatblood)
package {
import flash.display.*;
public dynamic class bigSplatblood extends MovieClip {
}
}//package
Section 239
//bigSplatink (bigSplatink)
package {
import flash.display.*;
public dynamic class bigSplatink extends MovieClip {
}
}//package
Section 240
//bigSplatpoison (bigSplatpoison)
package {
import flash.display.*;
public dynamic class bigSplatpoison extends MovieClip {
}
}//package
Section 241
//Bleed (Bleed)
package {
import flash.display.*;
public dynamic class Bleed extends MovieClip {
public var hit:MovieClip;
public var holder:MovieClip;
}
}//package
Section 242
//bleedCountdown (bleedCountdown)
package {
import flash.display.*;
import flash.text.*;
public dynamic class bleedCountdown extends MovieClip {
public var txt:TextField;
}
}//package
Section 243
//blip (blip)
package {
import flash.media.*;
public dynamic class blip extends Sound {
}
}//package
Section 244
//bloodDrop (bloodDrop)
package {
import flash.display.*;
public dynamic class bloodDrop extends MovieClip {
}
}//package
Section 245
//bloodSplatter1 (bloodSplatter1)
package {
import flash.display.*;
public dynamic class bloodSplatter1 extends MovieClip {
}
}//package
Section 246
//bloodSplatter2 (bloodSplatter2)
package {
import flash.display.*;
public dynamic class bloodSplatter2 extends MovieClip {
}
}//package
Section 247
//bloodSplatter3 (bloodSplatter3)
package {
import flash.display.*;
public dynamic class bloodSplatter3 extends MovieClip {
}
}//package
Section 248
//bloodSplatter4 (bloodSplatter4)
package {
import flash.display.*;
public dynamic class bloodSplatter4 extends MovieClip {
}
}//package
Section 249
//bloodSplatter5 (bloodSplatter5)
package {
import flash.display.*;
public dynamic class bloodSplatter5 extends MovieClip {
}
}//package
Section 250
//blueBloodSplatter1 (blueBloodSplatter1)
package {
import flash.display.*;
public dynamic class blueBloodSplatter1 extends MovieClip {
}
}//package
Section 251
//blueBloodSplatter2 (blueBloodSplatter2)
package {
import flash.display.*;
public dynamic class blueBloodSplatter2 extends MovieClip {
}
}//package
Section 252
//blueBloodSplatter3 (blueBloodSplatter3)
package {
import flash.display.*;
public dynamic class blueBloodSplatter3 extends MovieClip {
}
}//package
Section 253
//blueBloodSplatter4 (blueBloodSplatter4)
package {
import flash.display.*;
public dynamic class blueBloodSplatter4 extends MovieClip {
}
}//package
Section 254
//blueBloodSplatter5 (blueBloodSplatter5)
package {
import flash.display.*;
public dynamic class blueBloodSplatter5 extends MovieClip {
}
}//package
Section 255
//body (body)
package {
import flash.display.*;
public dynamic class body extends MovieClip {
}
}//package
Section 256
//bodyshock (bodyshock)
package {
import flash.display.*;
public dynamic class bodyshock extends MovieClip {
}
}//package
Section 257
//boneParticle (boneParticle)
package {
import flash.display.*;
public dynamic class boneParticle extends MovieClip {
}
}//package
Section 258
//BottomLipLeft (BottomLipLeft)
package {
import flash.display.*;
public dynamic class BottomLipLeft extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 259
//BottomLipRight (BottomLipRight)
package {
import flash.display.*;
public dynamic class BottomLipRight extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 260
//Bunny (Bunny)
package {
import flash.display.*;
public dynamic class Bunny extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 261
//Burn (Burn)
package {
import flash.display.*;
public dynamic class Burn extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 262
//button_select (button_select)
package {
import flash.media.*;
public dynamic class button_select extends Sound {
}
}//package
Section 263
//buzz (buzz)
package {
import flash.media.*;
public dynamic class buzz extends Sound {
}
}//package
Section 264
//buzzer_right (buzzer_right)
package {
import flash.media.*;
public dynamic class buzzer_right extends Sound {
}
}//package
Section 265
//buzzer_wrong (buzzer_wrong)
package {
import flash.media.*;
public dynamic class buzzer_wrong extends Sound {
}
}//package
Section 266
//cent_explosion (cent_explosion)
package {
import flash.media.*;
public dynamic class cent_explosion extends Sound {
}
}//package
Section 267
//cent_screech (cent_screech)
package {
import flash.media.*;
public dynamic class cent_screech extends Sound {
}
}//package
Section 268
//chainsaw_loop (chainsaw_loop)
package {
import flash.media.*;
public dynamic class chainsaw_loop extends Sound {
}
}//package
Section 269
//clown_1 (clown_1)
package {
import flash.media.*;
public dynamic class clown_1 extends Sound {
}
}//package
Section 270
//clown_2 (clown_2)
package {
import flash.media.*;
public dynamic class clown_2 extends Sound {
}
}//package
Section 271
//clown_3 (clown_3)
package {
import flash.media.*;
public dynamic class clown_3 extends Sound {
}
}//package
Section 272
//clown_4 (clown_4)
package {
import flash.media.*;
public dynamic class clown_4 extends Sound {
}
}//package
Section 273
//clown_5 (clown_5)
package {
import flash.media.*;
public dynamic class clown_5 extends Sound {
}
}//package
Section 274
//ClownEye (ClownEye)
package {
import flash.display.*;
public dynamic class ClownEye extends MovieClip {
public var pupil:MovieClip;
}
}//package
Section 275
//ClownNose (ClownNose)
package {
import flash.display.*;
public dynamic class ClownNose extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 276
//Crab (Crab)
package {
import flash.display.*;
public dynamic class Crab extends MovieClip {
public var hit:MovieClip;
public var holder:MovieClip;
}
}//package
Section 277
//crab_death (crab_death)
package {
import flash.media.*;
public dynamic class crab_death extends Sound {
}
}//package
Section 278
//crab_explode (crab_explode)
package {
import flash.media.*;
public dynamic class crab_explode extends Sound {
}
}//package
Section 279
//cream (cream)
package {
import flash.display.*;
public dynamic class cream extends MovieClip {
}
}//package
Section 280
//cream_loop (cream_loop)
package {
import flash.media.*;
public dynamic class cream_loop extends Sound {
}
}//package
Section 281
//creamSpray (creamSpray)
package {
import flash.display.*;
public dynamic class creamSpray extends MovieClip {
}
}//package
Section 282
//cursor (cursor)
package {
import flash.display.*;
public dynamic class cursor extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 283
//CursorBunny (CursorBunny)
package {
import flash.display.*;
public dynamic class CursorBunny extends MovieClip {
}
}//package
Section 284
//CursorExtractionFireFlyEggBroken (CursorExtractionFireFlyEggBroken)
package {
import flash.display.*;
public dynamic class CursorExtractionFireFlyEggBroken extends MovieClip {
}
}//package
Section 285
//CursorFireFlyEgg (CursorFireFlyEgg)
package {
import flash.display.*;
public dynamic class CursorFireFlyEgg extends MovieClip {
public var anim:MovieClip;
}
}//package
Section 286
//CursorInsertionPlaceable (CursorInsertionPlaceable)
package {
import flash.display.*;
public dynamic class CursorInsertionPlaceable extends MovieClip {
}
}//package
Section 287
//CursorKidneyTransplantLeft1 (CursorKidneyTransplantLeft1)
package {
import flash.display.*;
public dynamic class CursorKidneyTransplantLeft1 extends MovieClip {
}
}//package
Section 288
//CursorKidneyTransplantLeft2 (CursorKidneyTransplantLeft2)
package {
import flash.display.*;
public dynamic class CursorKidneyTransplantLeft2 extends MovieClip {
}
}//package
Section 289
//CursorKidneyTransplantLeft3 (CursorKidneyTransplantLeft3)
package {
import flash.display.*;
public dynamic class CursorKidneyTransplantLeft3 extends MovieClip {
}
}//package
Section 290
//CursorKidneyTransplantLeftPlaceable (CursorKidneyTransplantLeftPlaceable)
package {
import flash.display.*;
public dynamic class CursorKidneyTransplantLeftPlaceable extends MovieClip {
}
}//package
Section 291
//CursorKidneyTransplantRight1 (CursorKidneyTransplantRight1)
package {
import flash.display.*;
public dynamic class CursorKidneyTransplantRight1 extends MovieClip {
}
}//package
Section 292
//CursorKidneyTransplantRight2 (CursorKidneyTransplantRight2)
package {
import flash.display.*;
public dynamic class CursorKidneyTransplantRight2 extends MovieClip {
}
}//package
Section 293
//CursorKidneyTransplantRight3 (CursorKidneyTransplantRight3)
package {
import flash.display.*;
public dynamic class CursorKidneyTransplantRight3 extends MovieClip {
}
}//package
Section 294
//CursorKidneyTransplantRightPlaceable (CursorKidneyTransplantRightPlaceable)
package {
import flash.display.*;
public dynamic class CursorKidneyTransplantRightPlaceable extends MovieClip {
}
}//package
Section 295
//CursorKneeTransplant1 (CursorKneeTransplant1)
package {
import flash.display.*;
public dynamic class CursorKneeTransplant1 extends MovieClip {
}
}//package
Section 296
//CursorKneeTransplantPlaceable (CursorKneeTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorKneeTransplantPlaceable extends MovieClip {
}
}//package
Section 297
//CursorLeftEyeTransplant1 (CursorLeftEyeTransplant1)
package {
import flash.display.*;
public dynamic class CursorLeftEyeTransplant1 extends MovieClip {
}
}//package
Section 298
//CursorLeftEyeTransplantPlaceable (CursorLeftEyeTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorLeftEyeTransplantPlaceable extends MovieClip {
}
}//package
Section 299
//CursorLeftThumbTransplant1 (CursorLeftThumbTransplant1)
package {
import flash.display.*;
public dynamic class CursorLeftThumbTransplant1 extends MovieClip {
}
}//package
Section 300
//CursorLeftThumbTransplantPlaceable (CursorLeftThumbTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorLeftThumbTransplantPlaceable extends MovieClip {
}
}//package
Section 301
//CursorNoseTransplant1 (CursorNoseTransplant1)
package {
import flash.display.*;
public dynamic class CursorNoseTransplant1 extends MovieClip {
public var removable1:MovieClip;
}
}//package
Section 302
//CursorNoseTransplantPlaceable (CursorNoseTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorNoseTransplantPlaceable extends MovieClip {
}
}//package
Section 303
//CursorPelvisTransplant1 (CursorPelvisTransplant1)
package {
import flash.display.*;
public dynamic class CursorPelvisTransplant1 extends MovieClip {
}
}//package
Section 304
//CursorPelvisTransplantPlaceable (CursorPelvisTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorPelvisTransplantPlaceable extends MovieClip {
}
}//package
Section 305
//CursorPoisonKidneyTransplant1 (CursorPoisonKidneyTransplant1)
package {
import flash.display.*;
public dynamic class CursorPoisonKidneyTransplant1 extends MovieClip {
public var removable1:MovieClip;
}
}//package
Section 306
//CursorPoisonKidneyTransplant2 (CursorPoisonKidneyTransplant2)
package {
import flash.display.*;
public dynamic class CursorPoisonKidneyTransplant2 extends MovieClip {
public var removable2:MovieClip;
}
}//package
Section 307
//CursorPoisonKidneyTransplant3 (CursorPoisonKidneyTransplant3)
package {
import flash.display.*;
public dynamic class CursorPoisonKidneyTransplant3 extends MovieClip {
public var removable3:MovieClip;
}
}//package
Section 308
//CursorPoisonKidneyTransplantPlaceable (CursorPoisonKidneyTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorPoisonKidneyTransplantPlaceable extends MovieClip {
}
}//package
Section 309
//CursorPoisonLiverTransplant1 (CursorPoisonLiverTransplant1)
package {
import flash.display.*;
public dynamic class CursorPoisonLiverTransplant1 extends MovieClip {
public var removable1:MovieClip;
}
}//package
Section 310
//CursorPoisonLiverTransplant2 (CursorPoisonLiverTransplant2)
package {
import flash.display.*;
public dynamic class CursorPoisonLiverTransplant2 extends MovieClip {
}
}//package
Section 311
//CursorPoisonLiverTransplant3 (CursorPoisonLiverTransplant3)
package {
import flash.display.*;
public dynamic class CursorPoisonLiverTransplant3 extends MovieClip {
public var removable3:MovieClip;
}
}//package
Section 312
//CursorPoisonLiverTransplantPlaceable (CursorPoisonLiverTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorPoisonLiverTransplantPlaceable extends MovieClip {
}
}//package
Section 313
//CursorRightEyeTransplant1 (CursorRightEyeTransplant1)
package {
import flash.display.*;
public dynamic class CursorRightEyeTransplant1 extends MovieClip {
}
}//package
Section 314
//CursorRightEyeTransplantPlaceable (CursorRightEyeTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorRightEyeTransplantPlaceable extends MovieClip {
}
}//package
Section 315
//CursorRightThumbTransplant1 (CursorRightThumbTransplant1)
package {
import flash.display.*;
public dynamic class CursorRightThumbTransplant1 extends MovieClip {
}
}//package
Section 316
//CursorRightThumbTransplantPlaceable (CursorRightThumbTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorRightThumbTransplantPlaceable extends MovieClip {
}
}//package
Section 317
//CursorShoulderTransplant1 (CursorShoulderTransplant1)
package {
import flash.display.*;
public dynamic class CursorShoulderTransplant1 extends MovieClip {
public var removable1:MovieClip;
}
}//package
Section 318
//CursorShoulderTransplantPlaceable (CursorShoulderTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorShoulderTransplantPlaceable extends MovieClip {
}
}//package
Section 319
//CursorSpineTransplant1 (CursorSpineTransplant1)
package {
import flash.display.*;
public dynamic class CursorSpineTransplant1 extends MovieClip {
}
}//package
Section 320
//CursorSpineTransplantPlaceable (CursorSpineTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorSpineTransplantPlaceable extends MovieClip {
}
}//package
Section 321
//CursorSurfaceExtraction (CursorSurfaceExtraction)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtraction extends MovieClip {
}
}//package
Section 322
//CursorSurfaceExtractionBone (CursorSurfaceExtractionBone)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionBone extends MovieClip {
}
}//package
Section 323
//CursorSurfaceExtractionCrab (CursorSurfaceExtractionCrab)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionCrab extends MovieClip {
}
}//package
Section 324
//CursorSurfaceExtractionGarlic (CursorSurfaceExtractionGarlic)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionGarlic extends MovieClip {
}
}//package
Section 325
//CursorSurfaceExtractionGlass (CursorSurfaceExtractionGlass)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionGlass extends MovieClip {
}
}//package
Section 326
//CursorSurfaceExtractionKnee1 (CursorSurfaceExtractionKnee1)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionKnee1 extends MovieClip {
}
}//package
Section 327
//CursorSurfaceExtractionKnee2 (CursorSurfaceExtractionKnee2)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionKnee2 extends MovieClip {
}
}//package
Section 328
//CursorSurfaceExtractionNeedle (CursorSurfaceExtractionNeedle)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionNeedle extends MovieClip {
}
}//package
Section 329
//CursorSurfaceExtractionStake (CursorSurfaceExtractionStake)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionStake extends MovieClip {
}
}//package
Section 330
//CursorSurfaceExtractionTentacle1 (CursorSurfaceExtractionTentacle1)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionTentacle1 extends MovieClip {
}
}//package
Section 331
//CursorSurfaceExtractionTentacle2 (CursorSurfaceExtractionTentacle2)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionTentacle2 extends MovieClip {
}
}//package
Section 332
//CursorSurfaceExtractionTentacle3 (CursorSurfaceExtractionTentacle3)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionTentacle3 extends MovieClip {
}
}//package
Section 333
//CursorSurfaceExtractionTentacle4 (CursorSurfaceExtractionTentacle4)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionTentacle4 extends MovieClip {
}
}//package
Section 334
//CursorSurfaceExtractionTentacle5 (CursorSurfaceExtractionTentacle5)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionTentacle5 extends MovieClip {
}
}//package
Section 335
//CursorSurfaceExtractionThigh1 (CursorSurfaceExtractionThigh1)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionThigh1 extends MovieClip {
}
}//package
Section 336
//CursorSurfaceExtractionThigh2 (CursorSurfaceExtractionThigh2)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionThigh2 extends MovieClip {
}
}//package
Section 337
//CursorSurfaceExtractionTooth1 (CursorSurfaceExtractionTooth1)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionTooth1 extends MovieClip {
}
}//package
Section 338
//CursorSurfaceExtractionTooth2 (CursorSurfaceExtractionTooth2)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionTooth2 extends MovieClip {
}
}//package
Section 339
//CursorSurfaceExtractionWire (CursorSurfaceExtractionWire)
package {
import flash.display.*;
public dynamic class CursorSurfaceExtractionWire extends MovieClip {
}
}//package
Section 340
//CursorThighTransplant1 (CursorThighTransplant1)
package {
import flash.display.*;
public dynamic class CursorThighTransplant1 extends MovieClip {
}
}//package
Section 341
//CursorThighTransplantPlaceable (CursorThighTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorThighTransplantPlaceable extends MovieClip {
}
}//package
Section 342
//CursorTransplant1 (CursorTransplant1)
package {
import flash.display.*;
public dynamic class CursorTransplant1 extends MovieClip {
}
}//package
Section 343
//CursorTransplant2 (CursorTransplant2)
package {
import flash.display.*;
public dynamic class CursorTransplant2 extends MovieClip {
}
}//package
Section 344
//CursorTransplant3 (CursorTransplant3)
package {
import flash.display.*;
public dynamic class CursorTransplant3 extends MovieClip {
}
}//package
Section 345
//CursorTransplantPlaceable (CursorTransplantPlaceable)
package {
import flash.display.*;
public dynamic class CursorTransplantPlaceable extends MovieClip {
}
}//package
Section 346
//CursorTypeAndTell1 (CursorTypeAndTell1)
package {
import flash.display.*;
public dynamic class CursorTypeAndTell1 extends MovieClip {
}
}//package
Section 347
//CursorTypeAndTell2 (CursorTypeAndTell2)
package {
import flash.display.*;
public dynamic class CursorTypeAndTell2 extends MovieClip {
}
}//package
Section 348
//CursorTypeAndTell3 (CursorTypeAndTell3)
package {
import flash.display.*;
public dynamic class CursorTypeAndTell3 extends MovieClip {
}
}//package
Section 349
//CursorTypeAndTellPlaceable (CursorTypeAndTellPlaceable)
package {
import flash.display.*;
public dynamic class CursorTypeAndTellPlaceable extends MovieClip {
}
}//package
Section 350
//CursorUnderSurfaceExtractionCard (CursorUnderSurfaceExtractionCard)
package {
import flash.display.*;
public dynamic class CursorUnderSurfaceExtractionCard extends MovieClip {
}
}//package
Section 351
//CursorUnderSurfaceExtractionMoney (CursorUnderSurfaceExtractionMoney)
package {
import flash.display.*;
public dynamic class CursorUnderSurfaceExtractionMoney extends MovieClip {
}
}//package
Section 352
//CursorUnderSurfaceExtractionPassport (CursorUnderSurfaceExtractionPassport)
package {
import flash.display.*;
public dynamic class CursorUnderSurfaceExtractionPassport extends MovieClip {
}
}//package
Section 353
//CursorUnderSurfaceExtractionSilver (CursorUnderSurfaceExtractionSilver)
package {
import flash.display.*;
public dynamic class CursorUnderSurfaceExtractionSilver extends MovieClip {
}
}//package
Section 354
//CursorUnderSurfaceExtractionTooth1 (CursorUnderSurfaceExtractionTooth1)
package {
import flash.display.*;
public dynamic class CursorUnderSurfaceExtractionTooth1 extends MovieClip {
}
}//package
Section 355
//CursorUnderSurfaceExtractionTooth2 (CursorUnderSurfaceExtractionTooth2)
package {
import flash.display.*;
public dynamic class CursorUnderSurfaceExtractionTooth2 extends MovieClip {
}
}//package
Section 356
//CursorUnderSurfaceExtractionWire (CursorUnderSurfaceExtractionWire)
package {
import flash.display.*;
public dynamic class CursorUnderSurfaceExtractionWire extends MovieClip {
}
}//package
Section 357
//cutSceneHolder (cutSceneHolder)
package {
import flash.display.*;
import flash.text.*;
public dynamic class cutSceneHolder extends MovieClip {
public var bg:MovieClip;
public var skip:SimpleButton;
public var underBut:MovieClip;
public var outro:MovieClip;
public var mcBug:SimpleButton;
public var char1:MovieClip;
public var char2:MovieClip;
public var char3:MovieClip;
public var char4:MovieClip;
public var speech:TextField;
public var upgrade:upgradeScreen;
public var summary:discharge;
public var banner:MovieClip;
public var next:SimpleButton;
}
}//package
Section 358
//dazed (dazed)
package {
import flash.media.*;
public dynamic class dazed extends Sound {
}
}//package
Section 359
//dirtSplatter (dirtSplatter)
package {
import flash.display.*;
public dynamic class dirtSplatter extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 360
//discharge (discharge)
package {
import flash.display.*;
public dynamic class discharge extends MovieClip {
public var holder:MovieClip;
public function discharge(){
addFrameScript(6, frame7);
}
function frame7(){
stop();
}
}
}//package
Section 361
//dot (dot)
package {
import flash.display.*;
public dynamic class dot extends MovieClip {
}
}//package
Section 362
//dot2 (dot2)
package {
import flash.display.*;
public dynamic class dot2 extends MovieClip {
}
}//package
Section 363
//dot3 (dot3)
package {
import flash.display.*;
public dynamic class dot3 extends MovieClip {
}
}//package
Section 364
//Dove (Dove)
package {
import flash.display.*;
public dynamic class Dove extends MovieClip {
public var shadow:MovieClip;
public var anim:MovieClip;
public var hit:MovieClip;
public var shocked:MovieClip;
public var alive:MovieClip;
}
}//package
Section 365
//dove_cooing (dove_cooing)
package {
import flash.media.*;
public dynamic class dove_cooing extends Sound {
}
}//package
Section 366
//dove_explode (dove_explode)
package {
import flash.media.*;
public dynamic class dove_explode extends Sound {
}
}//package
Section 367
//dove_flap (dove_flap)
package {
import flash.media.*;
public dynamic class dove_flap extends Sound {
}
}//package
Section 368
//dove_squeal_1 (dove_squeal_1)
package {
import flash.media.*;
public dynamic class dove_squeal_1 extends Sound {
}
}//package
Section 369
//dove_squeal_2 (dove_squeal_2)
package {
import flash.media.*;
public dynamic class dove_squeal_2 extends Sound {
}
}//package
Section 370
//doveSplatter1 (doveSplatter1)
package {
import flash.display.*;
public dynamic class doveSplatter1 extends MovieClip {
}
}//package
Section 371
//doveSplatter2 (doveSplatter2)
package {
import flash.display.*;
public dynamic class doveSplatter2 extends MovieClip {
}
}//package
Section 372
//doveSplatter3 (doveSplatter3)
package {
import flash.display.*;
public dynamic class doveSplatter3 extends MovieClip {
}
}//package
Section 373
//doveSplatter4 (doveSplatter4)
package {
import flash.display.*;
public dynamic class doveSplatter4 extends MovieClip {
}
}//package
Section 374
//doveSplatter5 (doveSplatter5)
package {
import flash.display.*;
public dynamic class doveSplatter5 extends MovieClip {
}
}//package
Section 375
//drop (drop)
package {
import flash.media.*;
public dynamic class drop extends Sound {
}
}//package
Section 376
//Droplet (Droplet)
package {
import flash.display.*;
public dynamic class Droplet extends MovieClip {
}
}//package
Section 377
//dropped (dropped)
package {
import flash.display.*;
public dynamic class dropped extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 378
//empty (empty)
package {
import flash.display.*;
public dynamic class empty extends MovieClip {
}
}//package
Section 379
//erupt (erupt)
package {
import flash.media.*;
public dynamic class erupt extends Sound {
}
}//package
Section 380
//explosion_alternate (explosion_alternate)
package {
import flash.media.*;
public dynamic class explosion_alternate extends Sound {
}
}//package
Section 381
//ExplosiveExtraction (ExplosiveExtraction)
package {
import flash.display.*;
public dynamic class ExplosiveExtraction extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 382
//ExplosiveExtractionBomb (ExplosiveExtractionBomb)
package {
import flash.display.*;
public dynamic class ExplosiveExtractionBomb extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 383
//ExplosiveExtractionEye (ExplosiveExtractionEye)
package {
import flash.display.*;
public dynamic class ExplosiveExtractionEye extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 384
//extraction_1 (extraction_1)
package {
import flash.media.*;
public dynamic class extraction_1 extends Sound {
}
}//package
Section 385
//extraction_2 (extraction_2)
package {
import flash.media.*;
public dynamic class extraction_2 extends Sound {
}
}//package
Section 386
//extraction_3 (extraction_3)
package {
import flash.media.*;
public dynamic class extraction_3 extends Sound {
}
}//package
Section 387
//extraction_4 (extraction_4)
package {
import flash.media.*;
public dynamic class extraction_4 extends Sound {
}
}//package
Section 388
//extraction_5 (extraction_5)
package {
import flash.media.*;
public dynamic class extraction_5 extends Sound {
}
}//package
Section 389
//ExtractionFireFlyEggBroken (ExtractionFireFlyEggBroken)
package {
import flash.display.*;
public dynamic class ExtractionFireFlyEggBroken extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 390
//Eye (Eye)
package {
import flash.display.*;
public dynamic class Eye extends MovieClip {
public var pupil:MovieClip;
}
}//package
Section 391
//Eyelid (Eyelid)
package {
import flash.display.*;
public dynamic class Eyelid extends MovieClip {
public var anim:MovieClip;
public var hit:MovieClip;
}
}//package
Section 392
//failedScreen (failedScreen)
package {
import flash.display.*;
public dynamic class failedScreen extends MovieClip {
public var holder:MovieClip;
public function failedScreen(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package
Section 393
//Fat (Fat)
package {
import flash.display.*;
public dynamic class Fat extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 394
//fatSplatter1 (fatSplatter1)
package {
import flash.display.*;
public dynamic class fatSplatter1 extends MovieClip {
}
}//package
Section 395
//fatSplatter2 (fatSplatter2)
package {
import flash.display.*;
public dynamic class fatSplatter2 extends MovieClip {
}
}//package
Section 396
//fatSplatter3 (fatSplatter3)
package {
import flash.display.*;
public dynamic class fatSplatter3 extends MovieClip {
}
}//package
Section 397
//fatSplatter4 (fatSplatter4)
package {
import flash.display.*;
public dynamic class fatSplatter4 extends MovieClip {
}
}//package
Section 398
//fatSplatter5 (fatSplatter5)
package {
import flash.display.*;
public dynamic class fatSplatter5 extends MovieClip {
}
}//package
Section 399
//featherSplatter1 (featherSplatter1)
package {
import flash.display.*;
public dynamic class featherSplatter1 extends MovieClip {
}
}//package
Section 400
//female_1 (female_1)
package {
import flash.media.*;
public dynamic class female_1 extends Sound {
}
}//package
Section 401
//female_2 (female_2)
package {
import flash.media.*;
public dynamic class female_2 extends Sound {
}
}//package
Section 402
//female_3 (female_3)
package {
import flash.media.*;
public dynamic class female_3 extends Sound {
}
}//package
Section 403
//female_4 (female_4)
package {
import flash.media.*;
public dynamic class female_4 extends Sound {
}
}//package
Section 404
//female_5 (female_5)
package {
import flash.media.*;
public dynamic class female_5 extends Sound {
}
}//package
Section 405
//Fire (Fire)
package {
import flash.display.*;
public dynamic class Fire extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 406
//fire_loop (fire_loop)
package {
import flash.media.*;
public dynamic class fire_loop extends Sound {
}
}//package
Section 407
//FireFly (FireFly)
package {
import flash.display.*;
public dynamic class FireFly extends MovieClip {
public var anim:MovieClip;
public var hit:MovieClip;
}
}//package
Section 408
//FireFlyEgg (FireFlyEgg)
package {
import flash.display.*;
public dynamic class FireFlyEgg extends MovieClip {
public var anim:MovieClip;
public var hit:MovieClip;
}
}//package
Section 409
//fireSplatter1 (fireSplatter1)
package {
import flash.display.*;
public dynamic class fireSplatter1 extends MovieClip {
}
}//package
Section 410
//flame (flame)
package {
import flash.display.*;
public dynamic class flame extends MovieClip {
}
}//package
Section 411
//FLAME_SPRAY (FLAME_SPRAY)
package {
import flash.display.*;
public dynamic class FLAME_SPRAY extends MovieClip {
}
}//package
Section 412
//flameSpray (flameSpray)
package {
import flash.display.*;
public dynamic class flameSpray extends MovieClip {
}
}//package
Section 413
//flatline (flatline)
package {
import flash.media.*;
public dynamic class flatline extends Sound {
}
}//package
Section 414
//generic_creature_1 (generic_creature_1)
package {
import flash.media.*;
public dynamic class generic_creature_1 extends Sound {
}
}//package
Section 415
//generic_creature_2 (generic_creature_2)
package {
import flash.media.*;
public dynamic class generic_creature_2 extends Sound {
}
}//package
Section 416
//generic_creature_3 (generic_creature_3)
package {
import flash.media.*;
public dynamic class generic_creature_3 extends Sound {
}
}//package
Section 417
//generic_creature_4 (generic_creature_4)
package {
import flash.media.*;
public dynamic class generic_creature_4 extends Sound {
}
}//package
Section 418
//good (good)
package {
import flash.display.*;
public dynamic class good extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 419
//great (great)
package {
import flash.display.*;
public dynamic class great extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 420
//head (head)
package {
import flash.display.*;
public dynamic class head extends MovieClip {
}
}//package
Section 421
//healed (healed)
package {
import flash.display.*;
public dynamic class healed extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 422
//health (health)
package {
import flash.display.*;
public dynamic class health extends MovieClip {
public var health_bar:MovieClip;
}
}//package
Section 423
//hit (hit)
package {
import flash.display.*;
public dynamic class hit extends MovieClip {
}
}//package
Section 424
//Incision (Incision)
package {
import flash.display.*;
public dynamic class Incision extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 425
//IncisionCoffin (IncisionCoffin)
package {
import flash.display.*;
public dynamic class IncisionCoffin extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 426
//injection_in (injection_in)
package {
import flash.media.*;
public dynamic class injection_in extends Sound {
}
}//package
Section 427
//injection_out (injection_out)
package {
import flash.media.*;
public dynamic class injection_out extends Sound {
}
}//package
Section 428
//injectionBar1 (injectionBar1)
package {
import flash.display.*;
public dynamic class injectionBar1 extends MovieClip {
public var hit:MovieClip;
public var wall:MovieClip;
public var floor:MovieClip;
public function injectionBar1(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 429
//injectionBar2 (injectionBar2)
package {
import flash.display.*;
public dynamic class injectionBar2 extends MovieClip {
public var hit:MovieClip;
public var wall:MovieClip;
public var floor:MovieClip;
public function injectionBar2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 430
//injectionBar3 (injectionBar3)
package {
import flash.display.*;
public dynamic class injectionBar3 extends MovieClip {
public var hit:MovieClip;
public var wall:MovieClip;
public var floor:MovieClip;
public function injectionBar3(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 431
//ink_1 (ink_1)
package {
import flash.media.*;
public dynamic class ink_1 extends Sound {
}
}//package
Section 432
//ink_2 (ink_2)
package {
import flash.media.*;
public dynamic class ink_2 extends Sound {
}
}//package
Section 433
//inkSplatter1 (inkSplatter1)
package {
import flash.display.*;
public dynamic class inkSplatter1 extends MovieClip {
}
}//package
Section 434
//inkSplatter2 (inkSplatter2)
package {
import flash.display.*;
public dynamic class inkSplatter2 extends MovieClip {
}
}//package
Section 435
//inkSplatter3 (inkSplatter3)
package {
import flash.display.*;
public dynamic class inkSplatter3 extends MovieClip {
}
}//package
Section 436
//inkSplatter4 (inkSplatter4)
package {
import flash.display.*;
public dynamic class inkSplatter4 extends MovieClip {
}
}//package
Section 437
//inkSplatter5 (inkSplatter5)
package {
import flash.display.*;
public dynamic class inkSplatter5 extends MovieClip {
}
}//package
Section 438
//InsectBoss (InsectBoss)
package {
import flash.display.*;
public dynamic class InsectBoss extends MovieClip {
public var anim:MovieClip;
public var hit:MovieClip;
public var shocked:MovieClip;
public var alive:MovieClip;
}
}//package
Section 439
//Insertion (Insertion)
package {
import flash.display.*;
public dynamic class Insertion extends MovieClip {
public var anim:MovieClip;
public var s:MovieClip;
public var e:MovieClip;
public var hit:MovieClip;
}
}//package
Section 440
//intro_music (intro_music)
package {
import flash.media.*;
public dynamic class intro_music extends Sound {
}
}//package
Section 441
//kidney (kidney)
package {
import flash.display.*;
public dynamic class kidney extends MovieClip {
}
}//package
Section 442
//KidneyTransplantLeft (KidneyTransplantLeft)
package {
import flash.display.*;
public dynamic class KidneyTransplantLeft extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var removable2:MovieClip;
public var removable3:MovieClip;
public var hit1:MovieClip;
public var hit2:MovieClip;
}
}//package
Section 443
//KidneyTransplantRight (KidneyTransplantRight)
package {
import flash.display.*;
public dynamic class KidneyTransplantRight extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var removable2:MovieClip;
public var removable3:MovieClip;
public var hit1:MovieClip;
public var hit2:MovieClip;
}
}//package
Section 444
//KneeTransplant (KneeTransplant)
package {
import flash.display.*;
public dynamic class KneeTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var hit1:MovieClip;
}
}//package
Section 445
//LargeCut (LargeCut)
package {
import flash.display.*;
public dynamic class LargeCut extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 446
//LargeCutScar (LargeCutScar)
package {
import flash.display.*;
public dynamic class LargeCutScar extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 447
//LeftEyeTransplant (LeftEyeTransplant)
package {
import flash.display.*;
public dynamic class LeftEyeTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var hit1:MovieClip;
}
}//package
Section 448
//LeftThumbTransplant (LeftThumbTransplant)
package {
import flash.display.*;
public dynamic class LeftThumbTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var hit1:MovieClip;
}
}//package
Section 449
//levelSelect (levelSelect)
package {
import flash.display.*;
import flash.text.*;
public dynamic class levelSelect extends MovieClip {
public var act2:SimpleButton;
public var page1:MovieClip;
public var page2:MovieClip;
public var time:TextField;
public var folder:patientfolder;
public var score:TextField;
public var mcBug:SimpleButton;
public var act1:SimpleButton;
}
}//package
Section 450
//lighter_loop (lighter_loop)
package {
import flash.media.*;
public dynamic class lighter_loop extends Sound {
}
}//package
Section 451
//lostScreen (lostScreen)
package {
import flash.display.*;
public dynamic class lostScreen extends MovieClip {
public var start:MovieClip;
}
}//package
Section 452
//Main (Main)
package {
import flash.events.*;
import flash.display.*;
import shell.*;
import app.*;
import src.com.adultswim.Preroll.*;
import flash.net.*;
import prerollAssets.*;
public class Main extends MovieClip {
private var clickHandler:ClickHandler;
private var myVid:NetStreamer;
private var play_mc:mc_preroll_play;
private var oStage:Object;
private var oRoot:Object;
private var logo;
private var re:RegExp;
private var my_lc:LocalConnection;
private var getVars:GetVars;
private var gameName:String;// = "amateursurgeon2"
public function Main(){
my_lc = new LocalConnection();
re = new RegExp("http://i.cdn.turner.com/adultswim/games2/tools/swf/preroll-asg-syndicated(-\\w+)?-(\\d+)x(\\d+).flv", "i");
play_mc = new mc_preroll_play();
super();
addFrameScript(0, frame1, 14, frame15);
addEventListener(Event.ADDED_TO_STAGE, init);
}
function frame15(){
stop();
}
public function init(_arg1:Event):void{
trace("init");
gameName = "surgeon2";
trace("!@", my_lc.domain);
switch (stage){
case null:
oStage = GlobalVarContainer.vars.stage;
trace("@@@@stage is null. Now set to object: ", oStage);
break;
default:
oStage = stage;
GlobalVarContainer.vars.stage = oStage;
trace("@@@@stage is available!");
break;
};
switch (root){
case null:
oRoot = GlobalVarContainer.vars.root;
trace("####root is null. Now set to object: ", oRoot);
break;
default:
oRoot = root;
GlobalVarContainer.vars.root = oRoot;
trace("####root is available!");
break;
};
GlobalVarContainer.vars.flvPath = "http://i.cdn.turner.com/adultswim/games2/tools/swf/preroll-asg-syndicated-noplay-728x500.flv";
GlobalVarContainer.vars.flvWidth = parseInt(GlobalVarContainer.vars.flvPath.replace(re, "$2"));
GlobalVarContainer.vars.flvHeight = parseInt(GlobalVarContainer.vars.flvPath.replace(re, "$3"));
trace(GlobalVarContainer.vars.flvPath.replace(re, "$0"), GlobalVarContainer.vars.flvPath.replace(re, "$1"), GlobalVarContainer.vars.flvPath.replace(re, "$2"), GlobalVarContainer.vars.flvPath.replace(re, "$3"));
GlobalVarContainer.vars.stageWidth = oStage.stageWidth;
GlobalVarContainer.vars.stageHeight = oStage.stageHeight;
GlobalVarContainer.vars.mcLogo = logo;
GlobalVarContainer.vars.mcPlay = play_mc;
trace("$$$$jumbotron", oStage, oRoot, "::", GlobalVarContainer.vars.root);
var _local2:Preroller = new Preroller();
addChild(play_mc);
play_mc.scaleX = (play_mc.scaleY = 0.5);
play_mc.x = ((oStage.stageWidth / 2) - (play_mc.width / 2));
play_mc.y = 289;
}
public function gameInit():void{
trace("start game");
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
tabChildren = false;
tabEnabled = false;
addChild(new Controller(this));
}
function frame1(){
stop();
}
}
}//package
Section 453
//male_1 (male_1)
package {
import flash.media.*;
public dynamic class male_1 extends Sound {
}
}//package
Section 454
//male_2 (male_2)
package {
import flash.media.*;
public dynamic class male_2 extends Sound {
}
}//package
Section 455
//male_3 (male_3)
package {
import flash.media.*;
public dynamic class male_3 extends Sound {
}
}//package
Section 456
//male_4 (male_4)
package {
import flash.media.*;
public dynamic class male_4 extends Sound {
}
}//package
Section 457
//male_5 (male_5)
package {
import flash.media.*;
public dynamic class male_5 extends Sound {
}
}//package
Section 458
//masking (masking)
package {
import flash.display.*;
public dynamic class masking extends MovieClip {
}
}//package
Section 459
//mmm (mmm)
package {
import flash.media.*;
public dynamic class mmm extends Sound {
}
}//package
Section 460
//movingEye (movingEye)
package {
import flash.display.*;
public dynamic class movingEye extends MovieClip {
public var pupil:MovieClip;
}
}//package
Section 461
//movingEyeWithLid (movingEyeWithLid)
package {
import flash.display.*;
public dynamic class movingEyeWithLid extends MovieClip {
public var pupil:MovieClip;
}
}//package
Section 462
//music_1 (music_1)
package {
import flash.media.*;
public dynamic class music_1 extends Sound {
}
}//package
Section 463
//music_2 (music_2)
package {
import flash.media.*;
public dynamic class music_2 extends Sound {
}
}//package
Section 464
//nose_pop (nose_pop)
package {
import flash.media.*;
public dynamic class nose_pop extends Sound {
}
}//package
Section 465
//NoseTransplant (NoseTransplant)
package {
import flash.display.*;
public dynamic class NoseTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var hit1:MovieClip;
}
}//package
Section 466
//ok (ok)
package {
import flash.display.*;
public dynamic class ok extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 467
//patientfolder (patientfolder)
package {
import flash.display.*;
public dynamic class patientfolder extends MovieClip {
public var holder:MovieClip;
public function patientfolder(){
addFrameScript(0, frame1, 19, frame20);
}
function frame20(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 468
//pauseScreen (pauseScreen)
package {
import flash.display.*;
public dynamic class pauseScreen extends MovieClip {
public var help:MovieClip;
public var holder:MovieClip;
public function pauseScreen(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package
Section 469
//PelvisTransplant (PelvisTransplant)
package {
import flash.display.*;
public dynamic class PelvisTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var hit1:MovieClip;
}
}//package
Section 470
//pig_1 (pig_1)
package {
import flash.media.*;
public dynamic class pig_1 extends Sound {
}
}//package
Section 471
//pig_2 (pig_2)
package {
import flash.media.*;
public dynamic class pig_2 extends Sound {
}
}//package
Section 472
//pig_3 (pig_3)
package {
import flash.media.*;
public dynamic class pig_3 extends Sound {
}
}//package
Section 473
//pizza_cutter_loop (pizza_cutter_loop)
package {
import flash.media.*;
public dynamic class pizza_cutter_loop extends Sound {
}
}//package
Section 474
//pleasure_1 (pleasure_1)
package {
import flash.media.*;
public dynamic class pleasure_1 extends Sound {
}
}//package
Section 475
//pleasure_2 (pleasure_2)
package {
import flash.media.*;
public dynamic class pleasure_2 extends Sound {
}
}//package
Section 476
//pleasure_3 (pleasure_3)
package {
import flash.media.*;
public dynamic class pleasure_3 extends Sound {
}
}//package
Section 477
//Poison (Poison)
package {
import flash.display.*;
public dynamic class Poison extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 478
//PoisonKidneyTransplant (PoisonKidneyTransplant)
package {
import flash.display.*;
public dynamic class PoisonKidneyTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var removable2:MovieClip;
public var removable3:MovieClip;
public var hit1:MovieClip;
public var hit2:MovieClip;
}
}//package
Section 479
//PoisonLiverTransplant (PoisonLiverTransplant)
package {
import flash.display.*;
public dynamic class PoisonLiverTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var removable2:MovieClip;
public var removable3:MovieClip;
public var hit1:MovieClip;
public var hit2:MovieClip;
}
}//package
Section 480
//poisonSplatter1 (poisonSplatter1)
package {
import flash.display.*;
public dynamic class poisonSplatter1 extends MovieClip {
}
}//package
Section 481
//preloader_mc (preloader_mc)
package {
import flash.display.*;
public dynamic class preloader_mc extends MovieClip {
public var preloader:MovieClip;
}
}//package
Section 482
//redScreen (redScreen)
package {
import flash.display.*;
public dynamic class redScreen extends MovieClip {
}
}//package
Section 483
//revived (revived)
package {
import flash.display.*;
public dynamic class revived extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 484
//RightEyeTransplant (RightEyeTransplant)
package {
import flash.display.*;
public dynamic class RightEyeTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var hit1:MovieClip;
}
}//package
Section 485
//RightThumbTransplant (RightThumbTransplant)
package {
import flash.display.*;
public dynamic class RightThumbTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var hit1:MovieClip;
}
}//package
Section 486
//roar_loop (roar_loop)
package {
import flash.media.*;
public dynamic class roar_loop extends Sound {
}
}//package
Section 487
//saltSplatter1 (saltSplatter1)
package {
import flash.display.*;
public dynamic class saltSplatter1 extends MovieClip {
}
}//package
Section 488
//saltSplatter2 (saltSplatter2)
package {
import flash.display.*;
public dynamic class saltSplatter2 extends MovieClip {
}
}//package
Section 489
//saltSplatter3 (saltSplatter3)
package {
import flash.display.*;
public dynamic class saltSplatter3 extends MovieClip {
}
}//package
Section 490
//scannerArrow (scannerArrow)
package {
import flash.display.*;
public dynamic class scannerArrow extends MovieClip {
}
}//package
Section 491
//scannerBar (scannerBar)
package {
import flash.display.*;
public dynamic class scannerBar extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 492
//scannerRing (scannerRing)
package {
import flash.display.*;
public dynamic class scannerRing extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 493
//Scarring (Scarring)
package {
import flash.display.*;
public dynamic class Scarring extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 494
//ShoulderTransplant (ShoulderTransplant)
package {
import flash.display.*;
public dynamic class ShoulderTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var hit1:MovieClip;
}
}//package
Section 495
//SmallCut (SmallCut)
package {
import flash.display.*;
public dynamic class SmallCut extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 496
//smoke (smoke)
package {
import flash.display.*;
public dynamic class smoke extends MovieClip {
}
}//package
Section 497
//snarl (snarl)
package {
import flash.media.*;
public dynamic class snarl extends Sound {
}
}//package
Section 498
//soaring (soaring)
package {
import flash.media.*;
public dynamic class soaring extends Sound {
}
}//package
Section 499
//soundtrack (soundtrack)
package {
import flash.media.*;
public dynamic class soundtrack extends Sound {
}
}//package
Section 500
//sparkParticle (sparkParticle)
package {
import flash.display.*;
public dynamic class sparkParticle extends MovieClip {
}
}//package
Section 501
//SpineTransplant (SpineTransplant)
package {
import flash.display.*;
public dynamic class SpineTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var hit1:MovieClip;
}
}//package
Section 502
//spitting (spitting)
package {
import flash.media.*;
public dynamic class spitting extends Sound {
}
}//package
Section 503
//splat_1 (splat_1)
package {
import flash.media.*;
public dynamic class splat_1 extends Sound {
}
}//package
Section 504
//splat_2 (splat_2)
package {
import flash.media.*;
public dynamic class splat_2 extends Sound {
}
}//package
Section 505
//Squid (Squid)
package {
import flash.display.*;
public dynamic class Squid extends MovieClip {
public var hit3:MovieClip;
public var hit4:MovieClip;
public var hit6:MovieClip;
public var hit5:MovieClip;
public var head:MovieClip;
public var hit1:MovieClip;
public var hit2:MovieClip;
}
}//package
Section 506
//squid_angry (squid_angry)
package {
import flash.media.*;
public dynamic class squid_angry extends Sound {
}
}//package
Section 507
//squid_explosion (squid_explosion)
package {
import flash.media.*;
public dynamic class squid_explosion extends Sound {
}
}//package
Section 508
//squid_pain (squid_pain)
package {
import flash.media.*;
public dynamic class squid_pain extends Sound {
}
}//package
Section 509
//start_mc (start_mc)
package {
import flash.display.*;
public dynamic class start_mc extends MovieClip {
public var mcIphoneHome:SimpleButton;
public var continue_btn:SimpleButton;
public var intro:MovieClip;
public var mcMGHome:SimpleButton;
public var credits_btn:SimpleButton;
public var credits:MovieClip;
public var start_btn:MovieClip;
}
}//package
Section 510
//startScreen1 (startScreen1)
package {
import flash.display.*;
public dynamic class startScreen1 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 511
//startScreen10 (startScreen10)
package {
import flash.display.*;
public dynamic class startScreen10 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 512
//startScreen11 (startScreen11)
package {
import flash.display.*;
public dynamic class startScreen11 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 513
//startScreen12 (startScreen12)
package {
import flash.display.*;
public dynamic class startScreen12 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 514
//startScreen13 (startScreen13)
package {
import flash.display.*;
public dynamic class startScreen13 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 515
//startScreen14 (startScreen14)
package {
import flash.display.*;
public dynamic class startScreen14 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 516
//startScreen15 (startScreen15)
package {
import flash.display.*;
public dynamic class startScreen15 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 517
//startScreen16 (startScreen16)
package {
import flash.display.*;
public dynamic class startScreen16 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 518
//startScreen17 (startScreen17)
package {
import flash.display.*;
public dynamic class startScreen17 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 519
//startScreen18 (startScreen18)
package {
import flash.display.*;
public dynamic class startScreen18 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 520
//startScreen19 (startScreen19)
package {
import flash.display.*;
public dynamic class startScreen19 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 521
//startScreen2 (startScreen2)
package {
import flash.display.*;
public dynamic class startScreen2 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 522
//startScreen20 (startScreen20)
package {
import flash.display.*;
public dynamic class startScreen20 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 523
//startScreen3 (startScreen3)
package {
import flash.display.*;
public dynamic class startScreen3 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 524
//startScreen4 (startScreen4)
package {
import flash.display.*;
public dynamic class startScreen4 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 525
//startScreen5 (startScreen5)
package {
import flash.display.*;
public dynamic class startScreen5 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 526
//startScreen6 (startScreen6)
package {
import flash.display.*;
public dynamic class startScreen6 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 527
//startScreen7 (startScreen7)
package {
import flash.display.*;
public dynamic class startScreen7 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 528
//startScreen8 (startScreen8)
package {
import flash.display.*;
public dynamic class startScreen8 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 529
//startScreen9 (startScreen9)
package {
import flash.display.*;
public dynamic class startScreen9 extends MovieClip {
public var start:SimpleButton;
public var mcBug:SimpleButton;
}
}//package
Section 530
//stitch (stitch)
package {
import flash.display.*;
public dynamic class stitch extends MovieClip {
}
}//package
Section 531
//suck (suck)
package {
import flash.media.*;
public dynamic class suck extends Sound {
}
}//package
Section 532
//SurfaceExtraction (SurfaceExtraction)
package {
import flash.display.*;
public dynamic class SurfaceExtraction extends MovieClip {
public var hit:MovieClip;
public var removable:MovieClip;
}
}//package
Section 533
//SurfaceExtractionBone (SurfaceExtractionBone)
package {
import flash.display.*;
public dynamic class SurfaceExtractionBone extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 534
//SurfaceExtractionBoneRemovable (SurfaceExtractionBoneRemovable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionBoneRemovable extends MovieClip {
}
}//package
Section 535
//SurfaceExtractionCrab (SurfaceExtractionCrab)
package {
import flash.display.*;
public dynamic class SurfaceExtractionCrab extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 536
//SurfaceExtractionCrabRemovable (SurfaceExtractionCrabRemovable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionCrabRemovable extends MovieClip {
}
}//package
Section 537
//SurfaceExtractionGarlic (SurfaceExtractionGarlic)
package {
import flash.display.*;
public dynamic class SurfaceExtractionGarlic extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 538
//SurfaceExtractionGarlicRemovable (SurfaceExtractionGarlicRemovable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionGarlicRemovable extends MovieClip {
}
}//package
Section 539
//SurfaceExtractionGlass (SurfaceExtractionGlass)
package {
import flash.display.*;
public dynamic class SurfaceExtractionGlass extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 540
//SurfaceExtractionGlassRemovable (SurfaceExtractionGlassRemovable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionGlassRemovable extends MovieClip {
}
}//package
Section 541
//SurfaceExtractionKnee1 (SurfaceExtractionKnee1)
package {
import flash.display.*;
public dynamic class SurfaceExtractionKnee1 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 542
//SurfaceExtractionKnee1Removable (SurfaceExtractionKnee1Removable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionKnee1Removable extends MovieClip {
}
}//package
Section 543
//SurfaceExtractionKnee2 (SurfaceExtractionKnee2)
package {
import flash.display.*;
public dynamic class SurfaceExtractionKnee2 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 544
//SurfaceExtractionKnee2Removable (SurfaceExtractionKnee2Removable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionKnee2Removable extends MovieClip {
}
}//package
Section 545
//SurfaceExtractionNeedle (SurfaceExtractionNeedle)
package {
import flash.display.*;
public dynamic class SurfaceExtractionNeedle extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 546
//SurfaceExtractionNeedleRemovable (SurfaceExtractionNeedleRemovable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionNeedleRemovable extends MovieClip {
}
}//package
Section 547
//SurfaceExtractionStake (SurfaceExtractionStake)
package {
import flash.display.*;
public dynamic class SurfaceExtractionStake extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 548
//SurfaceExtractionStakeRemovable (SurfaceExtractionStakeRemovable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionStakeRemovable extends MovieClip {
}
}//package
Section 549
//SurfaceExtractionTentacle1 (SurfaceExtractionTentacle1)
package {
import flash.display.*;
public dynamic class SurfaceExtractionTentacle1 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 550
//SurfaceExtractionTentacle2 (SurfaceExtractionTentacle2)
package {
import flash.display.*;
public dynamic class SurfaceExtractionTentacle2 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 551
//SurfaceExtractionTentacle3 (SurfaceExtractionTentacle3)
package {
import flash.display.*;
public dynamic class SurfaceExtractionTentacle3 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 552
//SurfaceExtractionTentacle4 (SurfaceExtractionTentacle4)
package {
import flash.display.*;
public dynamic class SurfaceExtractionTentacle4 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 553
//SurfaceExtractionTentacle5 (SurfaceExtractionTentacle5)
package {
import flash.display.*;
public dynamic class SurfaceExtractionTentacle5 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 554
//SurfaceExtractionThigh1 (SurfaceExtractionThigh1)
package {
import flash.display.*;
public dynamic class SurfaceExtractionThigh1 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 555
//SurfaceExtractionThigh1Removable (SurfaceExtractionThigh1Removable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionThigh1Removable extends MovieClip {
}
}//package
Section 556
//SurfaceExtractionThigh2 (SurfaceExtractionThigh2)
package {
import flash.display.*;
public dynamic class SurfaceExtractionThigh2 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 557
//SurfaceExtractionThigh2Removable (SurfaceExtractionThigh2Removable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionThigh2Removable extends MovieClip {
}
}//package
Section 558
//SurfaceExtractionTooth1 (SurfaceExtractionTooth1)
package {
import flash.display.*;
public dynamic class SurfaceExtractionTooth1 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 559
//SurfaceExtractionTooth1Removable (SurfaceExtractionTooth1Removable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionTooth1Removable extends MovieClip {
}
}//package
Section 560
//SurfaceExtractionTooth2 (SurfaceExtractionTooth2)
package {
import flash.display.*;
public dynamic class SurfaceExtractionTooth2 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 561
//SurfaceExtractionTooth2Removable (SurfaceExtractionTooth2Removable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionTooth2Removable extends MovieClip {
}
}//package
Section 562
//SurfaceExtractionWire (SurfaceExtractionWire)
package {
import flash.display.*;
public dynamic class SurfaceExtractionWire extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 563
//SurfaceExtractionWireRemovable (SurfaceExtractionWireRemovable)
package {
import flash.display.*;
public dynamic class SurfaceExtractionWireRemovable extends MovieClip {
}
}//package
Section 564
//syrup (syrup)
package {
import flash.display.*;
public dynamic class syrup extends MovieClip {
}
}//package
Section 565
//syrupSpray (syrupSpray)
package {
import flash.display.*;
public dynamic class syrupSpray extends MovieClip {
}
}//package
Section 566
//tail (tail)
package {
import flash.display.*;
public dynamic class tail extends MovieClip {
}
}//package
Section 567
//text_pop (text_pop)
package {
import flash.display.*;
import flash.text.*;
public dynamic class text_pop extends MovieClip {
public var txt:TextField;
}
}//package
Section 568
//ThighTransplant (ThighTransplant)
package {
import flash.display.*;
public dynamic class ThighTransplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var hit1:MovieClip;
}
}//package
Section 569
//tooslow (tooslow)
package {
import flash.display.*;
public dynamic class tooslow extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 570
//TopLipLeft (TopLipLeft)
package {
import flash.display.*;
public dynamic class TopLipLeft extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 571
//TopLipRight (TopLipRight)
package {
import flash.display.*;
public dynamic class TopLipRight extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 572
//torch (torch)
package {
import flash.display.*;
public dynamic class torch extends MovieClip {
}
}//package
Section 573
//Transplant (Transplant)
package {
import flash.display.*;
public dynamic class Transplant extends MovieClip {
public var hit:MovieClip;
public var removable1:MovieClip;
public var removable2:MovieClip;
public var removable3:MovieClip;
public var hit1:MovieClip;
public var hit2:MovieClip;
}
}//package
Section 574
//tray (tray)
package {
import flash.display.*;
public dynamic class tray extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 575
//tut_pop (tut_pop)
package {
import flash.display.*;
import flash.text.*;
public dynamic class tut_pop extends MovieClip {
public var txt:TextField;
public var cont:SimpleButton;
}
}//package
Section 576
//TypeAndTell (TypeAndTell)
package {
import flash.display.*;
public dynamic class TypeAndTell extends MovieClip {
public var hit3:MovieClip;
public var hit:MovieClip;
public var removable1:MovieClip;
public var removable2:MovieClip;
public var removable3:MovieClip;
public var screen:MovieClip;
public var hit1:MovieClip;
public var hit2:MovieClip;
}
}//package
Section 577
//ui (ui)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ui extends MovieClip {
public var cream:MovieClip;
public var mcBug:SimpleButton;
public var effectvacuum:MovieClip;
public var chainsaw:MovieClip;
public var effectstitch:MovieClip;
public var effectcream:MovieClip;
public var score:TextField;
public var battery:MovieClip;
public var tongshighlight:MovieClip;
public var effectlighter:MovieClip;
public var effecttongs:MovieClip;
public var cutter:MovieClip;
public var effectchainsaw:MovieClip;
public var stitchhighlight:MovieClip;
public var vacuumhighlight:MovieClip;
public var chainsawhighlight:MovieClip;
public var effecthealth:MovieClip;
public var stitch:MovieClip;
public var vacuum:MovieClip;
public var injectionhighlight:MovieClip;
public var pause_but:MovieClip;
public var lighter:MovieClip;
public var drip:MovieClip;
public var bg:MovieClip;
public var batteryhighlight:MovieClip;
public var effectscanner:MovieClip;
public var lighterhighlight:MovieClip;
public var jogger:MovieClip;
public var time:TextField;
public var injection:MovieClip;
public var health:TextField;
public var effecttime:MovieClip;
public var effectbattery:MovieClip;
public var effectinjection:MovieClip;
public var creamhighlight:MovieClip;
public var cutterhighlight:MovieClip;
public var scannerhighlight:MovieClip;
public var effectcutter:MovieClip;
public var scanner:MovieClip;
public var tongs:MovieClip;
}
}//package
Section 578
//UnderSurfaceExtractionCard (UnderSurfaceExtractionCard)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionCard extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 579
//UnderSurfaceExtractionCardRemovable (UnderSurfaceExtractionCardRemovable)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionCardRemovable extends MovieClip {
}
}//package
Section 580
//UnderSurfaceExtractionClown (UnderSurfaceExtractionClown)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionClown extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 581
//UnderSurfaceExtractionClownRemovable (UnderSurfaceExtractionClownRemovable)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionClownRemovable extends MovieClip {
}
}//package
Section 582
//UnderSurfaceExtractionMoney (UnderSurfaceExtractionMoney)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionMoney extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 583
//UnderSurfaceExtractionMoneyRemovable (UnderSurfaceExtractionMoneyRemovable)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionMoneyRemovable extends MovieClip {
}
}//package
Section 584
//UnderSurfaceExtractionPassport (UnderSurfaceExtractionPassport)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionPassport extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 585
//UnderSurfaceExtractionPassportRemovable (UnderSurfaceExtractionPassportRemovable)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionPassportRemovable extends MovieClip {
}
}//package
Section 586
//UnderSurfaceExtractionSilver (UnderSurfaceExtractionSilver)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionSilver extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 587
//UnderSurfaceExtractionSilverRemovable (UnderSurfaceExtractionSilverRemovable)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionSilverRemovable extends MovieClip {
}
}//package
Section 588
//UnderSurfaceExtractionTooth1 (UnderSurfaceExtractionTooth1)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionTooth1 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 589
//UnderSurfaceExtractionTooth1Removable (UnderSurfaceExtractionTooth1Removable)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionTooth1Removable extends MovieClip {
}
}//package
Section 590
//UnderSurfaceExtractionTooth2 (UnderSurfaceExtractionTooth2)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionTooth2 extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 591
//UnderSurfaceExtractionTooth2Removable (UnderSurfaceExtractionTooth2Removable)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionTooth2Removable extends MovieClip {
}
}//package
Section 592
//UnderSurfaceExtractionWire (UnderSurfaceExtractionWire)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionWire extends MovieClip {
public var s:MovieClip;
public var hit:MovieClip;
public var e:MovieClip;
}
}//package
Section 593
//UnderSurfaceExtractionWireRemovable (UnderSurfaceExtractionWireRemovable)
package {
import flash.display.*;
public dynamic class UnderSurfaceExtractionWireRemovable extends MovieClip {
}
}//package
Section 594
//Unibrow (Unibrow)
package {
import flash.display.*;
public dynamic class Unibrow extends MovieClip {
public var hit:MovieClip;
}
}//package
Section 595
//upgradeScreen (upgradeScreen)
package {
import flash.display.*;
public dynamic class upgradeScreen extends MovieClip {
public var holder:MovieClip;
public function upgradeScreen(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
}
}
}//package
Section 596
//vacuum_loop (vacuum_loop)
package {
import flash.media.*;
public dynamic class vacuum_loop extends Sound {
}
}//package
Section 597
//vacuumBar (vacuumBar)
package {
import flash.display.*;
public dynamic class vacuumBar extends MovieClip {
public var hitter:hit;
}
}//package
Section 598
//wait_mc (wait_mc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class wait_mc extends MovieClip {
public var txt:TextField;
public var wheel:MovieClip;
}
}//package
Section 599
//wake (wake)
package {
import flash.display.*;
public dynamic class wake extends MovieClip {
}
}//package
Section 600
//vampiretears (vampiretears)
package {
import flash.display.*;
public dynamic class vampiretears extends MovieClip {
}
}//package
Section 601
//vampiretearsSpray (vampiretearsSpray)
package {
import flash.display.*;
public dynamic class vampiretearsSpray extends MovieClip {
}
}//package
Section 602
//wasp_fly (wasp_fly)
package {
import flash.media.*;
public dynamic class wasp_fly extends Sound {
}
}//package
Section 603
//woodParticle (woodParticle)
package {
import flash.display.*;
public dynamic class woodParticle extends MovieClip {
}
}//package
Section 604
//wrong (wrong)
package {
import flash.display.*;
public dynamic class wrong extends MovieClip {
public var holder:MovieClip;
}
}//package
Section 605
//yummy (yummy)
package {
import flash.display.*;
public dynamic class yummy extends MovieClip {
public var holder:MovieClip;
}
}//package