daily pastebin goal
40%
SHARE
TWEET

File

a guest Apr 10th, 2019 104 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import flash.filters.DropShadowFilter;
  2. import flash.filters.BlurFilter;
  3. import flash.filters.ColorMatrixFilter;
  4. import flash.display.BitmapData;
  5. import mx.transitions.Tween;
  6. import mx.transitions.easing.*;
  7. import com.quasimondo.geom.ColorMatrix;
  8. import RegExp;
  9. import JSON;
  10.  
  11. var INTERFACE = _global.getCurrentInterface();
  12. var SHELL = _global.getCurrentShell();
  13. var ENGINE = _global.getCurrentEngine();
  14. var AIRTOWER = _global.getCurrentAirtower();
  15.  
  16. SHELL.getPlayerHexFromId = function (id) {
  17.     if ((id < 50) || (!isNaN(_loc2.colour_id))) {
  18.         var _local1 = SHELL.getPlayerColoursObject();
  19.         if (_local1[id] != undefined) {
  20.             return(_local1[id]);
  21.         }
  22.         return(_local1[0]);
  23.     }
  24.     return(id);
  25. };
  26.  
  27. SHELL.getMyPlayerHex = function()
  28. {
  29.     var _loc2 = SHELL.getMyPlayerObject();
  30.     var _loc1 = SHELL.getPlayerColoursObject();
  31.     if((_loc2.colour_id) < 50 || isNaN(_loc2.colour_id))
  32.         return _loc2.colour_id;
  33.     if (_loc1[_loc2.colour_id] != undefined){
  34.         return (_loc1[_loc2.colour_id]);
  35.     } else {
  36.         return (_loc1[0]);
  37.     }
  38. };
  39.  
  40. SHELL.handleSendUpdatePlayerColour = function(obj)
  41. {
  42.     var _loc5 = obj.shift();
  43.     var _loc1 = Number(obj[0]);
  44.     var _loc3 = Number(obj[1]);
  45.    
  46.     if (SHELL.isMyPlayer(_loc1)){
  47.         SHELL.setMyPlayerHexById(_loc3);
  48.     }
  49.     var _loc2 = SHELL.getPlayerObjectFromRoomById(_loc1);
  50.     if (_loc2 != undefined){
  51.         _loc2.colour_id = _loc3;
  52.         _loc2.frame_hack = SHELL.buildFrameHacksString(_loc2);
  53.         SHELL.updateListeners(SHELL.UPDATE_PLAYER, _loc2);
  54.         if (SHELL.isMyPlayer(_loc1))
  55.         {
  56.             SHELL.com.clubpenguin.login.LocalData.saveRoomPlayerObject(_loc2);
  57.         }
  58.     }
  59. };
  60.  
  61. SHELL.setMyPlayerHexById = function(id)
  62. {
  63.     var _loc1 = SHELL.getMyPlayerObject();
  64.     var _loc3 = _loc1.colour_id;
  65.     _loc1.colour_id = id;
  66.     if (SHELL.player_colours[_loc1.colour_id] != undefined){
  67.         return (SHELL.player_colours[_loc1.colour_id]);
  68.     } else {
  69.         return id;
  70.     }
  71. };
  72.  
  73. ENGINE.movePlayer = function(player_id, target_x, target_y, is_trigger, frame){
  74.     var player_ob = SHELL.getPlayerObjectById(player_id);
  75.     var _local4 = ENGINE.getRoomMovieClip();
  76.     if (is_trigger == undefined) {
  77.         is_trigger = true;
  78.     }
  79.     var mc = ENGINE.getPlayerMovieClip(player_id);
  80.     var start_x = Math.round(mc._x);
  81.     var start_y = Math.round(mc._y);
  82.     if (mc.is_reading) {
  83.         ENGINE.removePlayerBook(player_id);
  84.     }
  85.     if (!mc.is_ready) {
  86.         ENGINE.updatePlayerPosition(player_id, target_x, target_y);
  87.     } else {
  88.         var _local3 = ENGINE.findDistance(start_x, start_y, target_x, target_y);
  89.         if (_local4.ease_method == "easeInOutQuad") {
  90.             var easeFunction = ENGINE.mathEaseInOutQuad;
  91.         } else {
  92.             var easeFunction = ENGINE.mathLinearTween;
  93.         }
  94.         var _local2 = ENGINE.findAngle(start_x, start_y, target_x, target_y);
  95.         var d = ENGINE.findDirection(_local2);
  96.         if(player_ob.speed) {
  97.             var duration = (_local3 / player_ob.speed);
  98.         } else {
  99.             var duration = (_local3 / 4);
  100.         }
  101.         var change_x = (target_x - start_x);
  102.         var change_y = (target_y - start_y);
  103.         mc.is_moving = false;
  104.         ENGINE.updatePlayerFrame(player_id, d + 8);
  105.         var t = 0;
  106.         /*if(mc.r == "left") {
  107.             mc.r = "right";
  108.         } else {
  109.             mc.r = "left";
  110.         }*/
  111.         mc.onEnterFrame = function () {
  112.             t++;
  113.             if (t < duration) {
  114.                 x = easeFunction(t, start_x, change_x, duration);
  115.                 y = easeFunction(t, start_y, change_y, duration);
  116.                 ENGINE.updatePlayerPosition(player_id, x, y);
  117.                
  118.                 /*var star:BitmapData = BitmapData.loadBitmap("star_clear.png");       
  119.                 var particle_mc = _local4.createEmptyMovieClip("main_holder" + _local4.getNextHighestDepth(), _local4.getNextHighestDepth());
  120.                 var internal_holder:MovieClip = particle_mc.createEmptyMovieClip("internal_holder", particle_mc.getNextHighestDepth());
  121.                 internal_holder._x = -star.width/2;
  122.                 internal_holder._y = -star.height/2;   
  123.                 internal_holder.attachBitmap(star, internal_holder.getNextHighestDepth());
  124.                 particle_mc._x = x;
  125.                 particle_mc._y = y;
  126.                 particle_mc._xscale = 10;
  127.                 particle_mc._yscale = 10;
  128.                 particle_mc.speed = 1;
  129.                 particle_mc.onEnterFrame = function () {
  130.                     this._xscale -= 1;
  131.                     this._yscale -= 1;
  132.                     this._rotation -= this.speed;
  133.                     //this._y -= this.speed;
  134.                     this._alpha -= this.speed;
  135.                     if(this._alpha <= 0 || this._xscale <= 0 || this._yscale <= 0) {
  136.                         delete this.onEnterFrame;
  137.                         removeMovieClip(this);         
  138.                     }
  139.                 }*/
  140.                 /*if(mc.r == "left") {
  141.                     mc._rotation -= 20;
  142.                 } else {
  143.                     mc._rotation += 20;
  144.                 }*/
  145.                 if(player_ob.fog) {
  146.                     var smoke:BitmapData = BitmapData.loadBitmap("smoke_clear.png");       
  147.                     var particle_mc = _local4.createEmptyMovieClip("main_holder" + _local4.getNextHighestDepth(), _local4.getNextHighestDepth());
  148.                     var internal_holder:MovieClip = particle_mc.createEmptyMovieClip("internal_holder", particle_mc.getNextHighestDepth());
  149.                     internal_holder._x = -smoke.width/2;
  150.                     internal_holder._y = -smoke.height/2;  
  151.                     internal_holder.attachBitmap(smoke, internal_holder.getNextHighestDepth());
  152.                     var _loc3:Color = new Color(internal_holder);
  153.                     if(player_ob.fog == "r") {
  154.                         _loc3.setRGB(Math.round(Math.random()*0xFFFFFF));
  155.                     } else {
  156.                         _loc3.setRGB(player_ob.fog);
  157.                     }
  158.                     particle_mc._x = x + random(4)-8;
  159.                     particle_mc._y = y + random(4)-8;
  160.                     particle_mc._rotation = random(360);
  161.                     var randomScale = random(20)+20;
  162.                     particle_mc._xscale = randomScale;
  163.                     particle_mc._yscale = randomScale;
  164.                     particle_mc.speed = random(5)+3;
  165.                     particle_mc.onEnterFrame = function ()
  166.                     {
  167.                         this._xscale += this.speed;
  168.                         this._yscale += this.speed;
  169.                         this._alpha -= this.speed;
  170.                         if(this._alpha <= 0)
  171.                         {
  172.                             delete this.onEnterFrame;
  173.                             removeMovieClip(this);         
  174.                         }
  175.                     }
  176.                 }
  177.                 if(player_ob.glitter) {
  178.                     var particleMaxSpeed = 3;
  179.                     var particleFadeSpeed = 1;
  180.                     var particleTotal = 5;
  181.                     var particleRange = 5;
  182.                     for (var i:Number = 0; i < particleTotal; i++) {
  183.                         var particle_mc = _local4.createEmptyMovieClip("main_holder", _local4.getNextHighestDepth());
  184.                         var internal_holder = particle_mc.createEmptyMovieClip("internal_holder", particle_mc.getNextHighestDepth());
  185.                         var square_mc = internal_holder.createEmptyMovieClip("square_mc", internal_holder.getNextHighestDepth());
  186.                         internal_holder.square_mc.lineStyle(0, 0x000000, 0);
  187.                         if(player_ob.glitter == "r") {
  188.                             trailColor = Math.round(Math.random()*0xFFFFFF);
  189.                         } else {
  190.                             trailColor = player_ob.glitter;
  191.                         }
  192.                         internal_holder.square_mc.beginFill(trailColor);
  193.                         internal_holder.square_mc.moveTo(0, 0);
  194.                         internal_holder.square_mc.lineTo(5, 0);
  195.                         internal_holder.square_mc.lineTo(5, 5);
  196.                         internal_holder.square_mc.lineTo(0, 5);
  197.                         internal_holder.square_mc.lineTo(0, 0);
  198.                         internal_holder.square_mc.endFill();
  199.                         internal_holder._x = -internal_holder.square_mc.width/2;
  200.                         internal_holder._y = -internal_holder.square_mc.height/2;
  201.                         particle_mc._x = x
  202.                         particle_mc._y = y
  203.                         particle_mc._rotation = random(360);
  204.                         particle_mc._alpha = random(50)+50;    
  205.                         particle_mc.boundyLeft = x - particleRange;
  206.                         particle_mc.boundyTop = y - particleRange;
  207.                         particle_mc.boundyRight = x + particleRange;
  208.                         particle_mc.boundyBottom = y + particleRange;
  209.                         particle_mc.speedX = Math.random(particleMaxSpeed)-Math.random(particleMaxSpeed);
  210.                         particle_mc.speedY = Math.random(particleMaxSpeed)-Math.random(particleMaxSpeed);
  211.                         particle_mc.speedX *= particleMaxSpeed
  212.                         particle_mc.speedY *= particleMaxSpeed
  213.                         particle_mc.fadeSpeed = Math.random(particleFadeSpeed)*particleFadeSpeed;
  214.                         numberOfParticles++;
  215.                         particle_mc.onEnterFrame = function():Void
  216.                         {
  217.                             this._alpha -= this.fadeSpeed;
  218.                             this._x += this.speedX;
  219.                             this._y += this.speedY;
  220.                             if (this._alpha <= 0 || this._x < this.boundyLeft || this._x > this.boundyRight || this._y < this.boundyTop || this._y > this.boundyBottom)
  221.                             {
  222.                                 this.removeMovieClip();
  223.                                 numberOfParticles--;
  224.                             }
  225.                         }
  226.                     }
  227.                 }
  228.             } else {
  229.                 mc.is_moving = false;
  230.                 ENGINE.updatePlayerPosition(player_id, target_x, target_y);
  231.                 ENGINE.updatePlayerFrame(player_id, d);
  232.                 ENGINE.SHELL.sendPlayerMoveDone(player_id);
  233.                 this.onEnterFrame = null;
  234.                 delete this.onEnterFrame;
  235.                 if (ENGINE.SHELL.isMyPlayer(player_id)) {
  236.                     ENGINE.playerMoved.dispatch();
  237.                     ENGINE.setPlayerAction("wait");
  238.                     if (is_trigger && (ENGINE.isMouseActive())) {
  239.                         ENGINE.checkTrigger(mc);
  240.                         ENGINE.checkFieldOpTriggered(mc);
  241.                     }
  242.                     if (frame != undefined) {
  243.                         ENGINE.sendPlayerFrame(frame);
  244.                     }
  245.                 }
  246.             }
  247.         };
  248.     }
  249. };
  250.  
  251. ENGINE.findPlayerPath = function(player_id, x, y) {
  252.     var player_ob = SHELL.getPlayerObjectById(player_id);
  253.     var _local12 = ENGINE.getPlayerMovieClip(player_id);
  254.     var _local7 = ENGINE.getRoomBlockMovieClip();
  255.     var _local13 = ENGINE.getValidXPosition(x);
  256.     var _local14 = ENGINE.getValidYPosition(y);
  257.     var _local11 = Math.round(_local12._x);
  258.     var _local10 = Math.round(_local12._y);
  259.     var _local15 = ENGINE.findDistance(_local11, _local10, _local13, _local14);
  260.     var _local6 = Math.round(_local15);
  261.     var _local9 = (_local13 - _local11) / _local6;
  262.     var _local8 = (_local14 - _local10) / _local6;
  263.     var _local4 = _local11; var _local3 = _local10;
  264.     var _local5 = new Object();
  265.     _local5.x = _local11;
  266.     _local5.y = _local10;
  267.     var _local16 = _local7.hitTest(_local11, _local10, true);
  268.     while (_local6 > 0) {
  269.         _local4 = _local4 + _local9;
  270.         _local3 = _local3 + _local8;
  271.         var _local2 = Math.round(_local4);
  272.         var _local1 = Math.round(_local3);
  273.         if(!player_ob.walls || SHELL.snowball_game){
  274.             if (_local7.hitTest(_local2, _local1, true)) {
  275.                 break;
  276.             }
  277.         }
  278.         _local5.x = _local2;
  279.         _local5.y = _local1;
  280.         _local6--;
  281.     }
  282.     return(_local5);
  283. };
  284.  
  285. ENGINE.throwBall = function (player_id, target_x, target_y, start_height, max_height, wait) {
  286.     var player_ob = SHELL.getPlayerObjectById(player_id);
  287.     var _local2 = ENGINE.getPlayerMovieClip(player_id);
  288.     var room_mc = ENGINE.getRoomMovieClip();
  289.     if (_local2.is_reading) {
  290.         ENGINE.removePlayerBook(player_id);
  291.     }
  292.     if (_local2.is_ready && (!_local2.is_moving)) {
  293.         if (ENGINE.throw_item_counter == undefined) {
  294.             ENGINE.throw_item_counter = 0;
  295.         }
  296.         if (ENGINE.throw_item_counter > 10) {
  297.             ENGINE.throw_item_counter = 0;
  298.         }
  299.         var start_x = _local2._x;
  300.         var start_y = _local2._y;
  301.         var c = (ENGINE.throw_item_counter++);
  302.         var _local3 = "i" + c;
  303.         if (room_mc[_local3] != undefined) {
  304.             room_mc[_local3].removeMovieClip();
  305.         }
  306.         room_mc.attachMovie("ball", _local3, 1000200 + c);
  307.         var ball_mc = room_mc[_local3];
  308.        
  309.         var ball_loader = new MovieClipLoader();
  310.         var listener = new Object();
  311.         listener.onLoadInit = function(mc) {
  312.             mc.player_id = player_id;
  313.             mc.id = c;
  314.             mc._x = start_x;
  315.             mc._y = start_y;
  316.             ENGINE.updateItemDepth(mc, c);
  317.             var _local6 = ENGINE.findDistance(start_x, start_y, target_x, target_y);
  318.             var _local5 = ENGINE.findAngle(start_x, start_y, target_x, target_y);
  319.             var _local4 = Math.round(ENGINE.findDirection(_local5) / 2);
  320.             ENGINE.updatePlayerFrame(player_id, 26 + _local4);
  321.             var duration = (_local6 / 15);
  322.             var change_x = (target_x - start_x);
  323.             var change_y = (target_y - start_y);
  324.             var peak = (duration / 2);
  325.             var change_height1 = (max_height - start_height);
  326.             var change_height2 = (-max_height);
  327.             mc.art._y = start_height;
  328.             mc._visible = false;
  329.             var t = 0;
  330.             var w = 0;
  331.             mc.onEnterFrame = function () {
  332.                 if (w > wait) {
  333.                     mc._visible = true;
  334.                     t++;
  335.                     if (t < duration) {
  336.                         mc._x = ENGINE.mathLinearTween(t, start_x, change_x, duration);
  337.                         mc._y = ENGINE.mathLinearTween(t, start_y, change_y, duration);
  338.                         ENGINE.updateItemDepth(mc, c);
  339.                         if (t < peak) {
  340.                             mc.art._y = ENGINE.mathEaseOutQuad(t, start_height, change_height1, peak);
  341.                         } else {
  342.                             mc.art._y = ENGINE.mathEaseInQuad(t - peak, max_height, change_height2, peak);
  343.                         }
  344.                     } else {
  345.                         mc._x = target_x;
  346.                         mc._y = target_y;
  347.                         mc.art._y = 0;
  348.                         mc.gotoAndStop(2);
  349.                         room_mc.handleThrow(mc);
  350.                         SHELL.updateListeners(SHELL.BALL_LAND, {id:mc.id, player_id:mc.player_id, x:mc._x, y:mc._y});
  351.                         if (room_mc.snowballBlock != undefined) {
  352.                             if (room_mc.snowballBlock.hitTest(mc._x, mc._y, true)) {
  353.                                 mc._visible = false;
  354.                             }
  355.                         }
  356.                         this.onEnterFrame = null;
  357.                     }
  358.                 } else {
  359.                     w++;
  360.                 }
  361.             }
  362.         };
  363.         ball_loader.addListener(listener);
  364.         ball_loader.loadClip((SHELL.getGlobalContentPath() + "rooms/snowballs/") + (5 + ".swf"), ball_mc);
  365.        
  366.         /*mc.player_id = player_id;
  367.         mc.id = c;
  368.         mc._x = start_x;
  369.         mc._y = start_y;
  370.         ENGINE.updateItemDepth(mc, c);
  371.         var _local6 = ENGINE.findDistance(start_x, start_y, target_x, target_y);
  372.         var _local5 = ENGINE.findAngle(start_x, start_y, target_x, target_y);
  373.         var _local4 = Math.round(ENGINE.findDirection(_local5) / 2);
  374.         ENGINE.updatePlayerFrame(player_id, 26 + _local4);
  375.         var duration = (_local6 / 15);
  376.         var change_x = (target_x - start_x);
  377.         var change_y = (target_y - start_y);
  378.         var peak = (duration / 2);
  379.         var change_height1 = (max_height - start_height);
  380.         var change_height2 = (-max_height);
  381.         mc.art._y = start_height;
  382.         mc._visible = false;
  383.         var t = 0;
  384.         var w = 0;
  385.         mc.onEnterFrame = function () {
  386.             if (w > wait) {
  387.                 mc._visible = true;
  388.                 if(player_ob.snowball){
  389.                     var _local7:Color = new Color(mc);
  390.                     _local7.setRGB(player_ob.snowball);
  391.                 }
  392.                 t++;
  393.                 if (t < duration) {
  394.                     mc._x = ENGINE.mathLinearTween(t, start_x, change_x, duration);
  395.                     mc._y = ENGINE.mathLinearTween(t, start_y, change_y, duration);
  396.                     ENGINE.updateItemDepth(mc, c);
  397.                     if (t < peak) {
  398.                         mc.art._y = ENGINE.mathEaseOutQuad(t, start_height, change_height1, peak);
  399.                     } else {
  400.                         mc.art._y = ENGINE.mathEaseInQuad(t - peak, max_height, change_height2, peak);
  401.                     }
  402.                 } else {
  403.                     mc._x = target_x;
  404.                     mc._y = target_y;
  405.                     mc.art._y = 0;
  406.                     mc.gotoAndStop(2);
  407.                     room_mc.handleThrow(mc);
  408.                     SHELL.updateListeners(SHELL.BALL_LAND, {id:mc.id, player_id:mc.player_id, x:mc._x, y:mc._y});
  409.                     if (room_mc.snowballBlock != undefined) {
  410.                         if (room_mc.snowballBlock.hitTest(mc._x, mc._y, true)) {
  411.                             mc._visible = false;
  412.                         }
  413.                     }
  414.                     this.onEnterFrame = null;
  415.                 }
  416.             } else {
  417.                 w++;
  418.             }
  419.         }*/
  420.     }
  421. };
  422.  
  423. var updatePlayerWidget = INTERFACE.updatePlayerWidget;
  424. INTERFACE.updatePlayerWidget = function() {
  425.     updatePlayerWidget();
  426.     var player_id = INTERFACE.getActivePlayerId();
  427.     var player_ob = INTERFACE.getPlayerObject(player_id);
  428.     var _local5 = INTERFACE.PLAYER_WIDGET.art_mc;
  429.    
  430.     _local5.mood_txt.removeTextField();
  431.     _local5.createTextField('mood_txt', 3, 10, 230, 200, 25);
  432.     var _local1 = _local5.mood_txt;
  433.     if(SHELL.isMyPlayer(player_id)) {
  434.         _local1.type = "input";
  435.         _local1.selectable = true;
  436.         _local1.maxChars = 40;
  437.         if(!player_ob.mood) {
  438.             _local1.text = "Click to set mood";
  439.         }
  440.     }
  441.     if(player_ob.mood) {
  442.         _local1.text = player_ob.mood;
  443.     }
  444.     _local1.onSetFocus = function() {
  445.         if(!player_ob.mood) {
  446.             _local1.text = "";
  447.         }
  448.         INTERFACE.stopQuickKeys();
  449.     }
  450.     _local1.onKillFocus = function() {
  451.         var _local2 = _local1.text;
  452.         if(_local2 != player_ob.mood) {
  453.             AIRTOWER.send(AIRTOWER.PLAY_EXT, (AIRTOWER.SETTING_HANDLER + '#') + 'upm', [_local2], 'str', SHELL.getCurrentServerRoomId());
  454.             INTERFACE.startQuickKeys();
  455.         }
  456.     }
  457.     var _local3 = new TextFormat();
  458.     _local3.align = "center";
  459.     _local1.setTextFormat(_local3);
  460.     _local1.setNewTextFormat(_local3);
  461.     var _local4 = new DropShadowFilter(0, 0, 0xFFFFFF, 20, 2, 2, 15, 3);
  462.     _local1.filters = [_local4];
  463.     if(player_ob.moodcolor) {
  464.         if(player_ob.moodcolor == "r") {
  465.             INTERFACE.rainbowfy(_local1);
  466.         } else {
  467.             _local1.textColor = player_ob.moodcolor;
  468.         }
  469.     } else {
  470.         _local1.textColor = 0xFFFFFF;
  471.     }
  472.     INTERFACE.setupHyperlink(_local5.mood_txt, function(address) {
  473.         INTERFACE.showPrompt("question", "Are you sure you want to visit this link? It could be unsafe.", undefined, function() {
  474.             getURL(address, "_blank");
  475.         });
  476.     });
  477.     var _local6 = function() {
  478.         _local5.background_mc.filters = undefined;
  479.         _local5.close_btn.filters = undefined;
  480.         _local5.moderatorButtonEditPlayer.filters = undefined;
  481.         _local5.buddy_mc.filters = undefined;
  482.         _local5.buddy_mc.button_btn.filters = undefined;
  483.         _local5.profile_mc.filters = undefined;
  484.         _local5.profile_mc.button_btn.filters = undefined;
  485.         _local5.home_mc.filters = undefined;
  486.         _local5.home_mc.button_btn.filters = undefined;
  487.         _local5.mail_mc.filters = undefined;
  488.         _local5.mail_mc.button_btn.filters = undefined;
  489.         _local5.stamps_mc.filters = undefined;
  490.         _local5.stamps_mc.button_btn.filters = undefined;
  491.         _local5.ignore_mc.filters = undefined;
  492.         _local5.ignore_mc.button_btn.filters = undefined;
  493.         _local5.report_mc.filters = undefined;
  494.         _local5.report_mc.button_btn.filters = undefined;
  495.         _local5.tab_btn.filters = undefined;
  496.         _local5.photo_mc.filters = undefined;
  497.     }
  498.     _local6();
  499.    
  500.     /*t = 0;
  501.     INTERFACE.PLAYER_WIDGET.art_mc.flag_mc.onEnterFrame = function() {
  502.         t = t + 10;
  503.         var color = new ColorMatrix();
  504.         color.adjustHue(t);
  505.         INTERFACE.PLAYER_WIDGET.art_mc.flag_mc.filters = [new ColorMatrixFilter(color.matrix)];
  506.     }*/
  507.    
  508.     var xScaleT:Tween = new Tween(INTERFACE.PLAYER_WIDGET.art_mc.flag_mc, "_rotation", Elastic.easeOut, 0, 360, 3, true);
  509.    
  510.     var _local8 = new DropShadowFilter(0, 0, 0x0000FF, 5, 5, 5, 10, 3, true);
  511.     var _local9 = new DropShadowFilter(3, 180, 0x0000FF, 5, 2, 2, 10, 3, true);
  512.    
  513.     if(player_ob.playercard && player_ob.playercard != 0) {
  514.         var color = new ColorMatrix();
  515.         color.adjustHue(player_ob.playercard);
  516.         _local5.background_mc.filters = [new ColorMatrixFilter(color.matrix), _local8];
  517.         _local5.close_btn.filters = [new ColorMatrixFilter(color.matrix)];
  518.         _local5.moderatorButtonEditPlayer.filters = [new ColorMatrixFilter(color.matrix)];
  519.         if(_local5.buddy_mc._currentframe == 1) {
  520.             _local5.buddy_mc.filters = [new ColorMatrixFilter(color.matrix)];
  521.         } else {
  522.             _local5.buddy_mc.button_btn.filters = [new ColorMatrixFilter(color.matrix)];
  523.         }
  524.         if(_local5.profile_mc._currentframe == 1) {
  525.             _local5.profile_mc.filters = [new ColorMatrixFilter(color.matrix)];
  526.         } else {
  527.             _local5.profile_mc.button_btn.filters = [new ColorMatrixFilter(color.matrix)];
  528.         }
  529.         if(_local5.home_mc._currentframe == 1) {
  530.             _local5.home_mc.filters = [new ColorMatrixFilter(color.matrix)];
  531.         } else {
  532.             _local5.home_mc.button_btn.filters = [new ColorMatrixFilter(color.matrix)];
  533.         }
  534.         if(_local5.mail_mc._currentframe == 1) {
  535.             _local5.mail_mc.filters = [new ColorMatrixFilter(color.matrix)];
  536.         } else {
  537.             _local5.mail_mc.button_btn.filters = [new ColorMatrixFilter(color.matrix)];
  538.         }
  539.         if(_local5.stamps_mc._currentframe == 1) {
  540.             _local5.stamps_mc.filters = [new ColorMatrixFilter(color.matrix)];
  541.         } else {
  542.             _local5.stamps_mc.button_btn.filters = [new ColorMatrixFilter(color.matrix)];
  543.         }
  544.         if(_local5.ignore_mc._currentframe == 1) {
  545.             _local5.ignore_mc.filters = [new ColorMatrixFilter(color.matrix)];
  546.         } else {
  547.             _local5.ignore_mc.button_btn.filters = [new ColorMatrixFilter(color.matrix)];
  548.         }
  549.         if(_local5.report_mc._currentframe == 1) {
  550.             _local5.report_mc.filters = [new ColorMatrixFilter(color.matrix)];
  551.         } else {
  552.             _local5.report_mc.button_btn.filters = [new ColorMatrixFilter(color.matrix)];
  553.         }
  554.         _local5.tab_btn.filters = [new ColorMatrixFilter(color.matrix), _local9];
  555.         if(player_ob.photo_id == 0) {
  556.             _local5.photo_mc.filters = [new ColorMatrixFilter(color.matrix)];
  557.         }
  558.     } else {
  559.         _local6();
  560.     }
  561.     if(player_ob.transparency){
  562.         _local5.paper_doll_mc._alpha = player_ob.transparency;
  563.     } else {
  564.         _local5.paper_doll_mc._alpha = 100;
  565.     }
  566.    
  567.     if(_local5.paper_doll_mc.outline.beak_mc == undefined) {
  568.         _local5.paper_doll_mc.outline.createEmptyMovieClip("beak_mc", _local5.paper_doll_mc.outline.getNextHighestDepth());
  569.         var image_mcl = new MovieClipLoader();
  570.         var listener = new Object();
  571.         listener.onLoadInit = function(target_mc) {
  572.             target_mc.art_mc.gotoAndStop(player_ob.beak);
  573.             if(player_ob.eye_color) {
  574.                 var _local8 = new Color(target_mc.art_mc.eyes_mc);
  575.                 _local8.setRGB(player_ob.eye_color);
  576.             }
  577.         };
  578.         image_mcl.addListener(listener);
  579.         image_mcl.loadClip(SHELL.getClientPath() + "beaks.swf", _local5.paper_doll_mc.outline.beak_mc);
  580.     } else {
  581.         _local5.paper_doll_mc.outline.beak_mc.art_mc.gotoAndStop(player_ob.beak);
  582.         var _local8 = new Color(_local5.paper_doll_mc.outline.beak_mc.art_mc.eyes_mc);
  583.         _local8.setRGB(player_ob.eye_color);
  584.     }
  585.    
  586.     _local5.paper_doll_mc.outline.beak_mc._x = 67.7;
  587.     _local5.paper_doll_mc.outline.beak_mc._y = 41;
  588.    
  589.     var icon_mc = _local5.icon_mc;
  590.     var head_mc = _local5.paper_doll_mc[("pd_" + "head") + "Clip"];
  591.     var face_mc = _local5.paper_doll_mc[("pd_" + "face") + "Clip"];
  592.     var neck_mc = _local5.paper_doll_mc[("pd_" + "neck") + "Clip"];
  593.     var hand_mc = _local5.paper_doll_mc[("pd_" + "hand") + "Clip"];
  594.     var body_mc = _local5.paper_doll_mc[("pd_" + "body") + "Clip"];
  595.     var feet_mc = _local5.paper_doll_mc[("pd_" + "feet") + "Clip"];
  596.     var color = new ColorMatrix();
  597.     color.adjustHue(player_ob.head_hue);
  598.     head_mc.filters = [new ColorMatrixFilter(color.matrix)];
  599.     var color = new ColorMatrix();
  600.     color.adjustHue(player_ob.face_hue);
  601.     face_mc.filters = [new ColorMatrixFilter(color.matrix)];
  602.     var color = new ColorMatrix();
  603.     color.adjustHue(player_ob.neck_hue);
  604.     neck_mc.filters = [new ColorMatrixFilter(color.matrix)];
  605.     var color = new ColorMatrix();
  606.     color.adjustHue(player_ob.hand_hue);
  607.     hand_mc.filters = [new ColorMatrixFilter(color.matrix)];
  608.     var color = new ColorMatrix();
  609.     color.adjustHue(player_ob.body_hue);
  610.     body_mc.filters = [new ColorMatrixFilter(color.matrix)];
  611.     var color = new ColorMatrix();
  612.     color.adjustHue(player_ob.feet_hue);
  613.     feet_mc.filters = [new ColorMatrixFilter(color.matrix)];
  614.     var color = new ColorMatrix();
  615.     color.adjustHue(player_ob.icon_hue);
  616.     icon_mc.filters = [new ColorMatrixFilter(color.matrix)];
  617.     if(SHELL.isMyPlayer(player_id)){
  618.         icon_mc.useHandCursor = true;
  619.         head_mc.useHandCursor = true;
  620.         face_mc.useHandCursor = true;
  621.         neck_mc.useHandCursor = true;
  622.         hand_mc.useHandCursor = true;
  623.         body_mc.useHandCursor = true;
  624.         feet_mc.useHandCursor = true;
  625.         INTERFACE.setupHoldDownHueModifier(head_mc, player_ob.head_hue, AIRTOWER.UPDATE_PLAYER_HEAD, head_mc.onRelease);
  626.         INTERFACE.setupHoldDownHueModifier(face_mc, player_ob.face_hue, AIRTOWER.UPDATE_PLAYER_FACE, face_mc.onRelease);
  627.         INTERFACE.setupHoldDownHueModifier(neck_mc, player_ob.neck_hue, AIRTOWER.UPDATE_PLAYER_NECK, neck_mc.onRelease);
  628.         INTERFACE.setupHoldDownHueModifier(hand_mc, player_ob.hand_hue, AIRTOWER.UPDATE_PLAYER_HAND, hand_mc.onRelease);
  629.         INTERFACE.setupHoldDownHueModifier(body_mc, player_ob.body_hue, AIRTOWER.UPDATE_PLAYER_BODY, body_mc.onRelease);
  630.         INTERFACE.setupHoldDownHueModifier(feet_mc, player_ob.feet_hue, AIRTOWER.UPDATE_PLAYER_FEET, feet_mc.onRelease);
  631.         INTERFACE.setupHoldDownHueModifier(icon_mc, player_ob.icon_hue, "upi", function() {
  632.             AIRTOWER.send(AIRTOWER.PLAY_EXT, (AIRTOWER.SETTING_HANDLER + '#') + ("upi" + "h"), [0], 'str', SHELL.getCurrentServerRoomId());  
  633.         });
  634.     } else {
  635.         icon_mc.onRollOver = null;
  636.         head_mc.onRollOver = null;
  637.         face_mc.onRollOver = null;
  638.         neck_mc.onRollOver = null;
  639.         hand_mc.onRollOver = null;
  640.         body_mc.onRollOver = null;
  641.         feet_mc.onRollOver = null;
  642.         icon_mc.onRollOut = null;
  643.         head_mc.onRollOut = null;
  644.         face_mc.onRollOut = null;
  645.         neck_mc.onRollOut = null;
  646.         hand_mc.onRollOut = null;
  647.         body_mc.onRollOut = null;
  648.         feet_mc.onRollOut = null;
  649.         icon_mc.useHandCursor = false;
  650.         head_mc.useHandCursor = false;
  651.         face_mc.useHandCursor = false;
  652.         neck_mc.useHandCursor = false;
  653.         hand_mc.useHandCursor = false;
  654.         body_mc.useHandCursor = false;
  655.         feet_mc.useHandCursor = false;
  656.     }
  657. };
  658.  
  659. INTERFACE.setupHoldDownHueModifier = function(mc, adjustment, handler, remove) {
  660.     mc.onRollOver = function () {
  661.         cooldown = 5;
  662.         changes = 0;
  663.         mc.onEnterFrame = function () {
  664.             cooldown = Math.max(0, cooldown - 1);
  665.             if(cooldown == 0 && Key.isDown(1)) {
  666.                 changes = changes + 1;
  667.                 adjustment = adjustment + 5;
  668.                 if(adjustment >= 360) {
  669.                     adjustment = 0;
  670.                 }
  671.                 if(changes > 1) {
  672.                     var color = new ColorMatrix();
  673.                     color.adjustHue(adjustment);
  674.                     mc.filters = [new ColorMatrixFilter(color.matrix)];
  675.                     mc.onRelease = function() {
  676.                         AIRTOWER.send(AIRTOWER.PLAY_EXT, (AIRTOWER.SETTING_HANDLER + '#') + (handler + "h"), [adjustment], 'str', SHELL.getCurrentServerRoomId());
  677.                     };
  678.                 } else {
  679.                     mc.onRelease = remove;
  680.                 }
  681.                 cooldown = 5;
  682.             }
  683.         };
  684.     };
  685.     mc.onRollOut = function () {
  686.         mc.onEnterFrame = null;
  687.     };
  688. }
  689.  
  690.  
  691. var updatePlayerFrame = ENGINE.updatePlayerFrame;
  692. ENGINE.updatePlayerFrame = function(player_id, frame, is_action) {
  693.     updatePlayerFrame(player_id, frame, is_action);
  694.     var player_ob = SHELL.getPlayerObjectFromRoomById(player_id);
  695.     var color = new ColorMatrix();
  696.     color.adjustHue(player_ob.head_hue);
  697.     ENGINE.my_room_movieclips.room_mc["p" + player_id].head_mc.filters = [new ColorMatrixFilter(color.matrix)];
  698.     var color = new ColorMatrix();
  699.     color.adjustHue(player_ob.face_hue);
  700.     ENGINE.my_room_movieclips.room_mc["p" + player_id].face_mc.filters = [new ColorMatrixFilter(color.matrix)];
  701.     var color = new ColorMatrix();
  702.     color.adjustHue(player_ob.neck_hue);
  703.     ENGINE.my_room_movieclips.room_mc["p" + player_id].neck_mc.filters = [new ColorMatrixFilter(color.matrix)];
  704.     var color = new ColorMatrix();
  705.     color.adjustHue(player_ob.hand_hue);
  706.     ENGINE.my_room_movieclips.room_mc["p" + player_id].hand_mc.filters = [new ColorMatrixFilter(color.matrix)];
  707.     var color = new ColorMatrix();
  708.     color.adjustHue(player_ob.body_hue);
  709.     ENGINE.my_room_movieclips.room_mc["p" + player_id].body_mc.filters = [new ColorMatrixFilter(color.matrix)];
  710.     var color = new ColorMatrix();
  711.     color.adjustHue(player_ob.feet_hue);
  712.     ENGINE.my_room_movieclips.room_mc["p" + player_id].feet_mc.filters = [new ColorMatrixFilter(color.matrix)];
  713. }
  714.  
  715. INTERFACE.showPlayerWidgetMenu = function() {
  716.     var _local10 = INTERFACE.PLAYER_WIDGET.art_mc;
  717.     var _local4 = INTERFACE.getItemList();
  718.     var _local6 = [];
  719.     var _local13 = INTERFACE.PLAYER_WIDGET_MENU_MAX_ITEMS;
  720.     var _local12 = INTERFACE.player_widget_menu_type;
  721.     var _local18 = INTERFACE.player_widget_menu_text;
  722.     _local10.sort_mc.sort_txt.text = _local18;
  723.     if (_local12 != undefined) {
  724.         if (_local12 == "INVENTORY_TYPE_ALL") {
  725.             _local6 = _local4;
  726.         } else if (_local12 == "INVENTORY_TYPE_AWARD") {
  727.             var _local16 = SHELL.INVENTORY_TYPE_FLAG;
  728.             var _local15 = SHELL.INVENTORY_TYPE_OTHER;
  729.             var _local14 = SHELL.INVENTORY_TYPE_PHOTO;
  730.             for (var _local5 in _local4) {
  731.                 var _local8 = _local4[_local5].type;
  732.                 if (((_local8 == _local16) || (_local8 == _local15)) || (_local8 == _local14)) {
  733.                     INTERFACE.traceOject(_local4[_local5]);
  734.                     _local6.push(_local4[_local5]);
  735.                 }
  736.             }
  737.         } else {
  738.             for (var _local5 in _local4) {
  739.                 if (_local4[_local5].type == SHELL[_local12]) {
  740.                     _local6.push(_local4[_local5]);
  741.                 }
  742.             }
  743.         }
  744.     } else {
  745.         _local6 = _local4;
  746.     }
  747.     _local6 = _local6.slice();
  748.     var _local7 = 0;
  749.     while (_local7 < _local6.length) {
  750.         if (_local6[_local7].hidden == true) {
  751.             _local6.splice(_local7, 1);
  752.         }
  753.         _local7++;
  754.     }
  755.     _local6.sortOn(["type", "id"], Array.NUMERIC);
  756.     var _local17 = Math.ceil(_local6.length / _local13) - 1;
  757.     var _local11 = INTERFACE.paginateArray(_local6, INTERFACE.player_widget_menu_page, _local13);
  758.     if (INTERFACE.player_widget_menu_page < _local17) {
  759.         _local10.next_btn.onRelease = INTERFACE.onNextButtonReleased;
  760.     } else {
  761.         _local10.next_btn.onRelease = undefined;
  762.     }
  763.     if (INTERFACE.player_widget_menu_page > 0) {
  764.         _local10.back_btn.onRelease = INTERFACE.onBackButtonReleased;
  765.     } else {
  766.         _local10.back_btn.onRelease = undefined;
  767.     }
  768.     if (_local10.menu_mc_holder.menu_mc) {
  769.         _local10.menu_mc_holder.menu_mc.removeMovieClip();
  770.     }
  771.     _local10.menu_mc_holder.attachMovie(INTERFACE.INVENTORY_LIST_LINKAGE_ID, "menu_mc", 1, {_x:0, _y:0});
  772.     var _local5 = 0;
  773.     while (_local5 < _local13) {
  774.         var _local3 = _local11[_local5];
  775.         var _local2 = _local10.menu_mc_holder.menu_mc[("item" + _local5) + "_mc"];
  776.         if ((_local3 != undefined) && (!_local3.hidden)) {
  777.             var _local9 = (!_local3.is_member) || (_local3.is_member && (INTERFACE.isMember()));
  778.             if (_local9) {
  779.                 _local2.gotoAndStop(1);
  780.                 _local2.button_btn.item_id = _local3.id;
  781.                 _local2.delete_mc.item_id = _local3.id;
  782.                 _local2.button_btn.onRelease = function () {
  783.                     INTERFACE.clickPlayerWidgetItem(this.item_id);
  784.                 };
  785.             } else {
  786.                 _local2.gotoAndStop(2);
  787.                 _local2.button_btn.onRelease = INTERFACE.showMemberItemNotAvailablePrompt;
  788.             }
  789.             _local2.loader_mc.gotoAndStop(1);
  790.             _local2.button_btn.onRollOver = function(){
  791.                 INTERFACE.showHint(this, "ID: " + this.item_id, undefined, undefined, false);
  792.                 INTERFACE.HINT.message_txt.text = "ID: " + this.item_id;
  793.             };
  794.             _local2.button_btn.onRollOut = function(){
  795.                 INTERFACE.closeHint();
  796.             };
  797.             INTERFACE.loadPlayerWidgetMenuIcon(_local2.icon_mc, _local3.id);
  798.         } else {
  799.             _local2.loader_mc.gotoAndStop(3);
  800.             _local2.gotoAndStop(3);
  801.             _local2.button_btn.onRelease = undefined;
  802.         }
  803.         _local5++;
  804.     }
  805. };
  806.  
  807. var openPlayerWidgetTab = INTERFACE.openPlayerWidgetTab;
  808. INTERFACE.openPlayerWidgetTab = function() {
  809.     openPlayerWidgetTab();
  810.     var player_id = SHELL.getMyPlayerId();
  811.     var player_ob = SHELL.getPlayerObjectById(player_id);
  812.     if(player_ob.playercard != 0) {
  813.         var color = new ColorMatrix();
  814.         color.adjustHue(player_ob.playercard);
  815.         INTERFACE.PLAYER_WIDGET.art_mc.tab_btn.filters = [new ColorMatrixFilter(color.matrix)];
  816.     }
  817. };
  818.  
  819. var closePlayerWidgetTab = INTERFACE.closePlayerWidgetTab;
  820. INTERFACE.closePlayerWidgetTab = function() {
  821.     closePlayerWidgetTab();
  822.     var player_id = SHELL.getMyPlayerId();
  823.     var player_ob = SHELL.getPlayerObjectById(player_id);
  824.     if(player_ob.playercard != 0) {
  825.         var color = new ColorMatrix();
  826.         color.adjustHue(player_ob.playercard);
  827.         INTERFACE.PLAYER_WIDGET.art_mc.tab_btn.filters = [new ColorMatrixFilter(color.matrix)];
  828.     }
  829. };
  830.  
  831. var showBalloon = INTERFACE.showBalloon;
  832. INTERFACE.showBalloon = function(player_id, message){
  833.     showBalloon(player_id, message);
  834.     var player_ob = SHELL.getPlayerObjectById(player_id);
  835.     if(player_ob.bubblecolor){
  836.         var _local1:Color = new Color(INTERFACE.balloons_mc["p" + player_id].balloon_mc);
  837.         _local1.setRGB(player_ob.bubblecolor);
  838.         var _local2:Color = new Color(INTERFACE.balloons_mc["p" + player_id].pointer_mc);
  839.         _local2.setRGB(player_ob.bubblecolor);
  840.     }
  841.     if(player_ob.bubbletext){
  842.         var _local4 = INTERFACE.balloons_mc["p" + player_id].message_txt;
  843.         if(player_ob.bubbletext == "r") {
  844.             INTERFACE.rainbowfy(_local4);
  845.         } else {
  846.             var _local3:Color = new Color(_local4);
  847.             _local3.setRGB(player_ob.bubbletext);
  848.         }
  849.     }
  850.     INTERFACE.setupHyperlink(INTERFACE.balloons_mc["p" + player_id].message_txt, function(address) {
  851.         INTERFACE.showPrompt("question", "Are you sure you want to visit this link? It could be unsafe.", undefined, function() {
  852.             getURL(address, "_blank");
  853.         });
  854.     });
  855.     INTERFACE.setupMarkdown(INTERFACE.balloons_mc["p" + player_id].message_txt);
  856. };
  857.  
  858. INTERFACE.setupHyperlink = function(field, callback) {
  859.     var _local4 = field.text;
  860.     var _local1 = _local4.match(INTERFACE.link_expression);
  861.     if(_local1) {
  862.         var _local2 = new XMLNode(3, _local4).toString();
  863.         for(var i = 0; i < _local1.length; i++) {
  864.             var _local3 = _local1[i];
  865.             _local2 = _local2.replace(_local3, "<u><a href='asfunction:callback," + _local3 + "'>" + _local3 + "</a></u>");
  866.             field.html = true;
  867.             field.htmlText = _local2;
  868.             field._parent.callback = callback;
  869.         }
  870.     }
  871. }
  872.  
  873. INTERFACE.setupMarkdown = function(field) {
  874.     var _local4 = field.text;
  875.     var _local1 = _local4.match(new RegExp('(\\*\\*|__)(.*?)\\1', "g"));
  876.     if(_local1) {
  877.         var _local2 = new XMLNode(3, _local4).toString();
  878.         for(var i = 0; i < _local1.length; i++) {
  879.             var _local3 = _local1[i];
  880.             _local2 = _local2.replace(_local3, "<b>" + _local3 + "</b>");
  881.             field.html = true;
  882.             field.htmlText = _local2;
  883.         }
  884.     }
  885. }
  886.  
  887.  
  888. var showEmoteBalloon = INTERFACE.showEmoteBalloon;
  889. INTERFACE.showEmoteBalloon = function(player_id, emoteFrame) {
  890.     showEmoteBalloon(player_id, emoteFrame);
  891.     var player_ob = SHELL.getPlayerObjectById(player_id);
  892.     if(player_ob.bubblecolor){
  893.         var _loc1:Color = new Color(INTERFACE.balloons_mc["p" + player_id].balloon_mc);
  894.         _loc1.setRGB(player_ob.bubblecolor);
  895.         var _loc2:Color = new Color(INTERFACE.balloons_mc["p" + player_id].pointer_mc);
  896.         _loc2.setRGB(player_ob.bubblecolor);
  897.     }
  898.     if(emoteFrame > 30) {
  899.         INTERFACE.balloons_mc["p" + player_id].icon_mc.loadMovie(SHELL.getClientPath() + "emotes/" + emoteFrame + ".swf");
  900.     }
  901. };
  902.  
  903. INTERFACE.showEmoteMenu = function(page) {
  904.     INTERFACE.EMOTE_MENU.gotoAndStop(1);
  905.     INTERFACE.EMOTE_MENU.gotoAndStop(2);
  906.     if(page == undefined) {
  907.         page = 1;
  908.         INTERFACE.EMOTE_MENU.e1_btn.onRelease = function () {
  909.             INTERFACE.clickEmote(1);
  910.         };
  911.         INTERFACE.EMOTE_MENU.e2_btn.onRelease = function () {
  912.             INTERFACE.clickEmote(2);
  913.         };
  914.         INTERFACE.EMOTE_MENU.e3_btn.onRelease = function () {
  915.             INTERFACE.clickEmote(3);
  916.         };
  917.         INTERFACE.EMOTE_MENU.e4_btn.onRelease = function () {
  918.             INTERFACE.clickEmote(4);
  919.         };
  920.         INTERFACE.EMOTE_MENU.e5_btn.onRelease = function () {
  921.             INTERFACE.clickEmote(5);
  922.         };
  923.         INTERFACE.EMOTE_MENU.e6_btn.onRelease = function () {
  924.             INTERFACE.clickEmote(6);
  925.         };
  926.         INTERFACE.EMOTE_MENU.e7_btn.onRelease = function () {
  927.             INTERFACE.clickEmote(7);
  928.         };
  929.         INTERFACE.EMOTE_MENU.e8_btn.onRelease = function () {
  930.             INTERFACE.clickEmote(8);
  931.         };
  932.         INTERFACE.EMOTE_MENU.e9_btn.onRelease = function () {
  933.             INTERFACE.clickEmote(9);
  934.         };
  935.         INTERFACE.EMOTE_MENU.e10_btn.onRelease = function () {
  936.             INTERFACE.clickEmote(10);
  937.         };
  938.         INTERFACE.EMOTE_MENU.e11_btn.onRelease = function () {
  939.             INTERFACE.clickEmote(11);
  940.         };
  941.         INTERFACE.EMOTE_MENU.coffee_btn.onRelease = function () {
  942.             INTERFACE.clickEmote(13);
  943.         };
  944.         INTERFACE.EMOTE_MENU.game_btn.onRelease = function () {
  945.             INTERFACE.clickEmote(18);
  946.         };
  947.         INTERFACE.EMOTE_MENU.popcorn_btn.onRelease = function () {
  948.             INTERFACE.clickEmote(29);
  949.         };
  950.         INTERFACE.EMOTE_MENU.pizza_btn.onRelease = function () {
  951.             INTERFACE.clickEmote(24);
  952.         };
  953.         INTERFACE.EMOTE_MENU.icecream_btn.onRelease = function () {
  954.             INTERFACE.clickEmote(26);
  955.         };
  956.         INTERFACE.EMOTE_MENU.luck_btn.onRelease = function () {
  957.             INTERFACE.clickEmote(17);
  958.         };
  959.         INTERFACE.EMOTE_MENU.cake_btn.onRelease = function () {
  960.             INTERFACE.clickEmote(28);
  961.         };
  962.         INTERFACE.EMOTE_MENU.next_btn.onRelease = function () {
  963.             INTERFACE.showEmoteMenu(2);
  964.         };
  965.     } else if(page == 2) {
  966.         INTERFACE.EMOTE_MENU.gotoAndStop(page + 1);
  967.         INTERFACE.EMOTE_MENU.flower_btn.onRelease = function () {
  968.             INTERFACE.clickEmote(16);
  969.         };
  970.         INTERFACE.EMOTE_MENU.heart_btn.onRelease = function () {
  971.             INTERFACE.clickEmote(30);
  972.         };
  973.         INTERFACE.EMOTE_MENU.idea_btn.onRelease = function () {
  974.             INTERFACE.clickEmote(12);
  975.         };
  976.         INTERFACE.EMOTE_MENU.fap_btn.onRelease = function () {
  977.             INTERFACE.clickEmote(31);
  978.         };
  979.         INTERFACE.EMOTE_MENU.troll_btn.onRelease = function () {
  980.             INTERFACE.clickEmote(32);
  981.         };
  982.         INTERFACE.EMOTE_MENU.fsjal_btn.onRelease = function () {
  983.             INTERFACE.clickEmote(33);
  984.         };
  985.         INTERFACE.EMOTE_MENU.hare_btn.onRelease = function () {
  986.             INTERFACE.clickEmote(34);
  987.         };
  988.         INTERFACE.EMOTE_MENU.alone_btn.onRelease = function () {
  989.             INTERFACE.clickEmote(35);
  990.         };
  991.         INTERFACE.EMOTE_MENU.laughing_btn.onRelease = function () {
  992.             INTERFACE.clickEmote(36);
  993.         };
  994.         INTERFACE.EMOTE_MENU.finger_btn.onRelease = function () {
  995.             INTERFACE.clickEmote(37);
  996.         };
  997.         INTERFACE.EMOTE_MENU.broken_btn.onRelease = function () {
  998.             INTERFACE.clickEmote(38);
  999.         };
  1000.         INTERFACE.EMOTE_MENU.emily_btn.onRelease = function () {
  1001.             INTERFACE.clickEmote(39);
  1002.         };
  1003.         INTERFACE.EMOTE_MENU.blaze_btn.onRelease = function () {
  1004.             INTERFACE.clickEmote(40);
  1005.         };
  1006.         INTERFACE.EMOTE_MENU.tiara_btn.onRelease = function () {
  1007.             INTERFACE.clickEmote(41);
  1008.         };
  1009.         INTERFACE.EMOTE_MENU.lol_btn.onRelease = function () {
  1010.             INTERFACE.clickEmote(42);
  1011.         };
  1012.         INTERFACE.EMOTE_MENU.foff_btn.onRelease = function () {
  1013.             INTERFACE.clickEmote(43);
  1014.         };
  1015.         INTERFACE.EMOTE_MENU.no_btn.onRelease = function () {
  1016.             INTERFACE.clickEmote(44);
  1017.         };
  1018.         INTERFACE.EMOTE_MENU.fml_btn.onRelease = function () {
  1019.             INTERFACE.clickEmote(45);
  1020.         };
  1021.         INTERFACE.EMOTE_MENU.prev_btn.onRelease = function () {
  1022.             INTERFACE.closeEmoteMenu();
  1023.             INTERFACE.showEmoteMenu();
  1024.         };
  1025.         INTERFACE.EMOTE_MENU.next_btn.onRelease = function () {
  1026.             INTERFACE.showEmoteMenu(3);
  1027.         };
  1028.     } else if(page == 3) {
  1029.         INTERFACE.EMOTE_MENU.gotoAndStop(page + 1);
  1030.        
  1031.         INTERFACE.EMOTE_MENU.whatsapp1.onRelease = function () {
  1032.             INTERFACE.clickEmote(51);
  1033.         };
  1034.         INTERFACE.EMOTE_MENU.whatsapp2.onRelease = function () {
  1035.             INTERFACE.clickEmote(52);
  1036.         };
  1037.         INTERFACE.EMOTE_MENU.whatsapp3.onRelease = function () {
  1038.             INTERFACE.clickEmote(53);
  1039.         };
  1040.         INTERFACE.EMOTE_MENU.whatsapp4.onRelease = function () {
  1041.             INTERFACE.clickEmote(54);
  1042.         };
  1043.         INTERFACE.EMOTE_MENU.whatsapp5.onRelease = function () {
  1044.             INTERFACE.clickEmote(55);
  1045.         };
  1046.         INTERFACE.EMOTE_MENU.whatsapp6.onRelease = function () {
  1047.             INTERFACE.clickEmote(56);
  1048.         };
  1049.         INTERFACE.EMOTE_MENU.whatsapp7.onRelease = function () {
  1050.             INTERFACE.clickEmote(57);
  1051.         };
  1052.         INTERFACE.EMOTE_MENU.whatsapp8.onRelease = function () {
  1053.             INTERFACE.clickEmote(58);
  1054.         };
  1055.         INTERFACE.EMOTE_MENU.whatsapp9.onRelease = function () {
  1056.             INTERFACE.clickEmote(59);
  1057.         };
  1058.         INTERFACE.EMOTE_MENU.whatsapp10.onRelease = function () {
  1059.             INTERFACE.clickEmote(60);
  1060.         };
  1061.         INTERFACE.EMOTE_MENU.whatsapp11.onRelease = function () {
  1062.             INTERFACE.clickEmote(61);
  1063.         };
  1064.         INTERFACE.EMOTE_MENU.whatsapp12.onRelease = function () {
  1065.             INTERFACE.clickEmote(62);
  1066.         };
  1067.         INTERFACE.EMOTE_MENU.whatsapp13.onRelease = function () {
  1068.             INTERFACE.clickEmote(63);
  1069.         };
  1070.         INTERFACE.EMOTE_MENU.whatsapp14.onRelease = function () {
  1071.             INTERFACE.clickEmote(64);
  1072.         };
  1073.         INTERFACE.EMOTE_MENU.whatsapp15.onRelease = function () {
  1074.             INTERFACE.clickEmote(65);
  1075.         };
  1076.         INTERFACE.EMOTE_MENU.whatsapp16.onRelease = function () {
  1077.             INTERFACE.clickEmote(66);
  1078.         };
  1079.         INTERFACE.EMOTE_MENU.whatsapp17.onRelease = function () {
  1080.             INTERFACE.clickEmote(67);
  1081.         };
  1082.         INTERFACE.EMOTE_MENU.whatsapp18.onRelease = function () {
  1083.             INTERFACE.clickEmote(68);
  1084.         };
  1085.         INTERFACE.EMOTE_MENU.prev_btn.onRelease = function () {
  1086.             INTERFACE.closeEmoteMenu();
  1087.             INTERFACE.showEmoteMenu(2);
  1088.         };
  1089.         INTERFACE.EMOTE_MENU.next_btn.onRelease = function () {
  1090.             INTERFACE.showEmoteMenu(4);
  1091.         };
  1092.     } else if(page == 4) {
  1093.         INTERFACE.EMOTE_MENU.gotoAndStop(page + 1);
  1094.         INTERFACE.EMOTE_MENU.idubbbz1.onRelease = function () {
  1095.             INTERFACE.clickEmote(69);
  1096.         };
  1097.         INTERFACE.EMOTE_MENU.idubbbz2.onRelease = function () {
  1098.             INTERFACE.clickEmote(70);
  1099.         };
  1100.         INTERFACE.EMOTE_MENU.idubbbz3.onRelease = function () {
  1101.             INTERFACE.clickEmote(71);
  1102.         };
  1103.         INTERFACE.EMOTE_MENU.idubbbz4.onRelease = function () {
  1104.             INTERFACE.clickEmote(72);
  1105.         };
  1106.         INTERFACE.EMOTE_MENU.idubbbz5.onRelease = function () {
  1107.             INTERFACE.clickEmote(73);
  1108.         };
  1109.         INTERFACE.EMOTE_MENU.idubbbz6.onRelease = function () {
  1110.             INTERFACE.clickEmote(74);
  1111.         };
  1112.         INTERFACE.EMOTE_MENU.prev_btn.onRelease = function () {
  1113.             INTERFACE.closeEmoteMenu();
  1114.             INTERFACE.showEmoteMenu(3);
  1115.         };
  1116.     }
  1117.     INTERFACE.EMOTE_MENU.page_txt.text = page + "/" + INTERFACE.emote_pages;
  1118.     INTERFACE.EMOTE_MENU.page_txt.selectable = false;
  1119.     INTERFACE.EMOTE_MENU.back_btn.onRelease = INTERFACE.closeEmoteMenu;
  1120.     INTERFACE.EMOTE_MENU.back_btn.onRollOver = INTERFACE.closeEmoteMenu;
  1121.     INTERFACE.EMOTE_MENU.close_btn.onRelease = INTERFACE.closeEmoteMenu;
  1122.     INTERFACE.EMOTE_MENU.back_btn.useHandCursor = false;
  1123.     INTERFACE.EMOTE_MENU.safe_btn.useHandCursor = false;
  1124. };
  1125.  
  1126. INTERFACE.showLog = function(){
  1127.     if (INTERFACE.is_log_open) {
  1128.         var _local10 = INTERFACE.getLog();
  1129.         var _local9 = INTERFACE.interface_mc.log_mc.menu_mc;
  1130.         INTERFACE.clearLog();
  1131.         var _local11 = Math.floor((INTERFACE.interface_mc.log_mc._y - 30) / 20);
  1132.         var _local8 = _local10.length - 1;
  1133.         var _local4 = 0;
  1134.         while (_local4 < _local11) {
  1135.             var _local3 = _local10[_local8];
  1136.             _local9.item_mc.duplicateMovieClip("item" + _local4, _local4 + 1);
  1137.             var _local2 = _local9["item" + _local4];
  1138.             if (_local3 != undefined) {
  1139.                 if (_local3.type == INTERFACE.shell.SEND_BLOCKED_MESSAGE) {
  1140.                     _local2.gotoAndStop(2);
  1141.                 } else {
  1142.                     _local2.gotoAndStop(1);
  1143.                 }
  1144.                 if (_local3.mod_action != undefined) {
  1145.                     _local2.message_text.text = ((("SERVER" + INTERFACE.message_separator) + _local3.message) + INTERFACE.message_separator) + _local3.nickname;
  1146.                 } else {
  1147.                     _local2.message_text.text = (_local3.nickname + INTERFACE.message_separator) + _local3.message;
  1148.                 }
  1149.                 _local2.player_id = _local3.player_id;
  1150.                 _local2.nickname = _local3.nickname;
  1151.                 _local2.message = _local3.message;
  1152.                 _local2.type = _local3.type;
  1153.                 //_local2.message_text.html = false;
  1154.                 INTERFACE.setupHyperlink(_local2.message_text, function(address) {
  1155.                     INTERFACE.showPrompt("question", "Are you sure you want to visit this link? It could be unsafe.", undefined, function() {
  1156.                         getURL(address, "_blank");
  1157.                     });
  1158.                 });
  1159.                 /*var matches = _local2.message.match(INTERFACE.link_expression);
  1160.                 if(matches) {
  1161.                     _local2.message = new XMLNode(3, _local2.message).toString();
  1162.                     for(var i = 0; i < matches.length; i++) {
  1163.                         _local2.message = _local2.message.replace(matches[i], "<u><a href='asfunction:askForPermission," + matches[i] + "'>" + matches[i] + "</a></u>");
  1164.                     }
  1165.                     _local2.message_text.html = true;
  1166.                     _local2.message_text.htmlText = (_local2.nickname + INTERFACE.message_separator) + _local2.message;
  1167.                     _local2.message_text._parent.askForPermission = function(address) {
  1168.                         INTERFACE.showPrompt("question", "Are you sure you want to visit this link? It could be unsafe.", undefined, function() {
  1169.                             getURL(address, "_blank");
  1170.                         });
  1171.                     }
  1172.                 } else {
  1173.                     _local2.message_text.html = false;
  1174.                 }*/
  1175.             } else {
  1176.                 _local2.message_text.text = "";
  1177.             }
  1178.             _local2._y = -(20 * _local4);
  1179.             _local2.message_btn.onRelease = function () {
  1180.                 var _local2 = this._parent.player_id;
  1181.                 var _local3 = this._parent.nickname;
  1182.                 var _local4 = this._parent.message;
  1183.                 if (!INTERFACE.isClickableLogItem(_local2)) {
  1184.                     return(undefined);
  1185.                 }
  1186.                 if (_local2 != undefined) {
  1187.                     INTERFACE.setActiveReport(_local2, _local3, _local4);
  1188.                     INTERFACE.showPlayerWidget(_local2, _local3);
  1189.                 }
  1190.             };
  1191.             if (!INTERFACE.isClickableLogItem(_local3.player_id)) {
  1192.                 _local2.message_btn.onRelease = undefined;
  1193.                 delete _local2.message_btn.onRelease;
  1194.             }
  1195.             _local8--;
  1196.             _local4++;
  1197.         }
  1198.     }
  1199. };
  1200.  
  1201. INTERFACE.sendMessage = function(message) {
  1202.     message = message.split("\r").join("");
  1203.     message = message.split(newline).join("");
  1204.     message = INTERFACE.removeExtraSpaces(message);
  1205.     if(INTERFACE.private_talk_id) {
  1206.         AIRTOWER.send(AIRTOWER.PLAY_EXT, (AIRTOWER.MESSAGE_HANDLER + '#') + 'spm', [INTERFACE.private_talk_id, message], 'str', SHELL.getCurrentServerRoomId());
  1207.         message = INTERFACE.getPlayerNickname() + INTERFACE.message_separator + message + newline;
  1208.         INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.text += message;
  1209.         if(ENGINE.private_messages[INTERFACE.private_talk_id]) {
  1210.             ENGINE.private_messages[INTERFACE.private_talk_id].messages += message;
  1211.         } else {
  1212.             var chat = new Object();
  1213.             chat.new_messages = 0;
  1214.             chat.messages = message;
  1215.             ENGINE.private_messages[INTERFACE.private_talk_id] = chat;
  1216.         }
  1217.         INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.scroll = INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.maxscroll;
  1218.     } else {
  1219.         if (message.length) {
  1220.             INTERFACE.showBalloon(INTERFACE.getPlayerId(), message);
  1221.             SHELL.sendMessage(message);
  1222.         }
  1223.     }
  1224. };
  1225.  
  1226. INTERFACE.showPrivateChat = function() {
  1227.     var _local2 = this._parent.player_id;
  1228.     var _local3 = this._parent.nickname;
  1229.     INTERFACE.private_talk_id = _local2;
  1230.     INTERFACE.WIDGETS.private_mc.art_mc.title_txt.text = _local3;
  1231.     INTERFACE.WIDGETS.private_mc.art_mc.createTextField("chat_txt", INTERFACE.WIDGETS.private_mc.art_mc.getNextHighestDepth(), 13, 40, 172, 215);
  1232.     INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.selectable = true;
  1233.     INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.background = true;
  1234.     INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.backgroundColor = 0x0280CD;
  1235.     INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.textColor = 0xFFFFFF;
  1236.     INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.multiline = true;
  1237.     INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.textWidth = 172;
  1238.     INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.wordWrap = true;
  1239.     if(ENGINE.private_messages[INTERFACE.private_talk_id]) {
  1240.         INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.text = ENGINE.private_messages[INTERFACE.private_talk_id].messages;
  1241.         INTERFACE.updatePrivateMailIcon((INTERFACE.private_messages - ENGINE.private_messages[INTERFACE.private_talk_id].new_messages));
  1242.         ENGINE.private_messages[INTERFACE.private_talk_id].new_messages = 0;
  1243.     }
  1244.     INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.scroll = INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.maxscroll;
  1245.     selection.setFocus(INTERFACE.DOCK.chat_mc.chat_input);
  1246.     INTERFACE.WIDGETS.private_mc.art_mc.next_btn.onRelease = function() {
  1247.         INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.scroll += 1;
  1248.     }
  1249.     INTERFACE.WIDGETS.private_mc.art_mc.back_btn.onRelease = function() {
  1250.         INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.scroll -= 1;
  1251.     }
  1252.     INTERFACE.WIDGETS.private_mc.art_mc.close_btn.onRelease = function() {
  1253.         INTERFACE.private_talk_id = false;
  1254.         INTERFACE.closeWidget(INTERFACE.WIDGETS.private_mc);
  1255.     }
  1256. };
  1257.  
  1258. INTERFACE.updateBuddyWidget = function(page_id, list_name) {
  1259.     var _local4 = INTERFACE.BUDDY_WIDGET.art_mc;
  1260.     if(list_name == "private") {
  1261.         _local4 = INTERFACE.WIDGETS.private_mc.art_mc;
  1262.         _local4.buddy_total_txt.text = "";
  1263.         _local4.createEmptyMovieClip("cover_mc", INTERFACE.WIDGETS.private_mc.art_mc.getNextHighestDepth());
  1264.         _local4.cover_mc.lineStyle(5, 0x0280CD);
  1265.         _local4.cover_mc.beginFill(0x0280CD);
  1266.         _local4.cover_mc.moveTo(60, 255);
  1267.         _local4.cover_mc.lineTo(200, 255);
  1268.         _local4.cover_mc.lineTo(200, 285);
  1269.         _local4.cover_mc.lineTo(60, 285);
  1270.         _local4.cover_mc.lineTo(60, 255);
  1271.         _local4.cover_mc.endFill();
  1272.         _local4.buddy_btn._visible = false;
  1273.         _local4.online_btn._visible = false;
  1274.         _local4.ignore_btn._visible = false;
  1275.     }
  1276.     var _local9 = INTERFACE.getPlayerId();
  1277.     if (page_id == undefined) {
  1278.         page_id = _local4.page_id;
  1279.         list_name = _local4.list_name;
  1280.     }
  1281.     _local4.page_id = page_id;
  1282.     _local4.list_name = list_name;
  1283.     if (list_name == "buddy") {
  1284.         var _local7 = INTERFACE.getBuddyList();
  1285.         _local4.title_txt.text = INTERFACE.getLocalizedString("buddy_list");
  1286.     } else if (list_name == "ignore") {
  1287.         var _local7 = INTERFACE.getIgnoreList();
  1288.         _local4.title_txt.text = INTERFACE.getLocalizedString("ignore_list");
  1289.     } else if(list_name == "private") {
  1290.         var _local7 = INTERFACE.getBuddyList();
  1291.         _local4.title_txt.text = "Private Chat";
  1292.     } else {
  1293.         var _local7 = INTERFACE.getPlayerList();
  1294.         _local4.title_txt.text = INTERFACE.getLocalizedString("online_list");
  1295.     }
  1296.     var _local6 = INTERFACE.paginateArray(_local7, page_id, INTERFACE.MAX_BUDDIES_PER_PAGE);
  1297.     var _local8 = INTERFACE.getMaxPage(_local7, INTERFACE.MAX_BUDDIES_PER_PAGE);
  1298.     if (page_id < _local8) {
  1299.         _local4.next_btn.onRelease = function () {
  1300.             INTERFACE.updateBuddyWidget(page_id + 1, list_name);
  1301.         };
  1302.     } else {
  1303.         _local4.next_btn.onRelease = null;
  1304.     }
  1305.     if (page_id > 0) {
  1306.         _local4.back_btn.onRelease = function () {
  1307.             INTERFACE.updateBuddyWidget(page_id - 1, list_name);
  1308.         };
  1309.     } else {
  1310.         _local4.back_btn.onRelease = null;
  1311.     }
  1312.     var _local3 = 0;
  1313.     while (_local3 < INTERFACE.MAX_BUDDIES_PER_PAGE) {
  1314.         var _local1 = _local4[("item" + _local3) + "_mc"];
  1315.         var _local2 = _local6[_local3];
  1316.         if (_local2 != undefined) {
  1317.             var _local5 = INTERFACE.getPlayerRelationship(_local2.player_id);
  1318.             _local1.icon_mc.gotoAndStop(1);
  1319.             _local1.icon_mc.gotoAndStop(_local5);
  1320.             if(ENGINE.private_messages[_local2.player_id]) {
  1321.                 if(list_name == "private" && ENGINE.private_messages[_local2.player_id].new_messages >= 1) {
  1322.                     _local1.icon_mc.gotoAndStop(3);
  1323.                     _local5 = "Online";
  1324.                 }
  1325.             }
  1326.             _local1.icon_mc._visible = true;
  1327.             _local1.name_txt.text = _local2.nickname;
  1328.             _local1.player_id = _local2.player_id;
  1329.             _local1.nickname = _local2.nickname;
  1330.             if (list_name == "ignore") {
  1331.                 _local1.item_btn.onRelease = INTERFACE.clickIgnoreWidgetItem;
  1332.             } else if(list_name == "private") {
  1333.                 if(_local5 != "Offline") {
  1334.                     _local1.item_btn.onRelease = INTERFACE.showPrivateChat;
  1335.                 }
  1336.             } else {
  1337.                 _local1.item_btn.onRelease = INTERFACE.clickBuddyWidgetItem;
  1338.             }
  1339.         } else {
  1340.             _local1.icon_mc.gotoAndStop(1);
  1341.             _local1.icon_mc._visible = false;
  1342.             _local1.name_txt.text = "";
  1343.             _local1.player_id = undefined;
  1344.             _local1.item_btn.onRelease = null;
  1345.         }
  1346.         _local3++;
  1347.     }
  1348.     INTERFACE.BUDDY_TOTAL_TEXT._visible = false;
  1349.     if (list_name == "buddy") {
  1350.         INTERFACE.BUDDY_TOTAL_TEXT.text = _local7.length + "/100";
  1351.         INTERFACE.BUDDY_TOTAL_TEXT._visible = true;
  1352.     }
  1353. };
  1354.  
  1355. INTERFACE.updateColorWidget = function(page_id, list_name, command_suffix, rainbow) {
  1356.     var _local4 = INTERFACE.WIDGETS.color_mc.art_mc;
  1357.     _local4.buddy_total_txt.text = "";
  1358.     _local4.createEmptyMovieClip("cover_mc", INTERFACE.WIDGETS.color_mc.art_mc.getNextHighestDepth());
  1359.     _local4.cover_mc.lineStyle(5, 0x0280CD);
  1360.     _local4.cover_mc.beginFill(0x0280CD);
  1361.     _local4.cover_mc.moveTo(60, 255);
  1362.     _local4.cover_mc.lineTo(200, 255);
  1363.     _local4.cover_mc.lineTo(200, 285);
  1364.     _local4.cover_mc.lineTo(60, 285);
  1365.     _local4.cover_mc.lineTo(60, 255);
  1366.     _local4.cover_mc.endFill();
  1367.     _local4.buddy_btn._visible = false;
  1368.     _local4.online_btn._visible = false;
  1369.     _local4.ignore_btn._visible = false;
  1370.     var _local9 = INTERFACE.getPlayerId();
  1371.     if (list_name == undefined) {
  1372.         list_name = _local4.list_name;
  1373.         command_suffix = _local4.command_suffix;
  1374.         rainbow = _local4.rainbow;
  1375.     }
  1376.     _local4.page_id = page_id;
  1377.     _local4.list_name = list_name;
  1378.     _local4.command_suffix = command_suffix;
  1379.     _local4.rainbow = rainbow;
  1380.     var _local7 = SHELL.color_crumbs.concat();
  1381.     if(rainbow != undefined) {
  1382.         _local7.unshift({name:"Rainbow", r:true});
  1383.     }
  1384.     _local7.unshift({name:"Custom"});
  1385.     _local7.unshift({name:"Disable", d:true});
  1386.     _local4.title_txt.text = _local4.list_name;
  1387.     var _local6 = INTERFACE.paginateArray(_local7, page_id, INTERFACE.MAX_BUDDIES_PER_PAGE);
  1388.     var _local8 = INTERFACE.getMaxPage(_local7, INTERFACE.MAX_BUDDIES_PER_PAGE);
  1389.     if (page_id < _local8) {
  1390.         _local4.next_btn.onRelease = function () {
  1391.             INTERFACE.updateColorWidget(page_id + 1);
  1392.         };
  1393.     } else {
  1394.         _local4.next_btn.onRelease = null;
  1395.     }
  1396.     if (page_id > 0) {
  1397.         _local4.back_btn.onRelease = function () {
  1398.             INTERFACE.updateColorWidget(page_id - 1);
  1399.         };
  1400.     } else {
  1401.         _local4.back_btn.onRelease = null;
  1402.     }
  1403.     var _local3 = 0;
  1404.     while (_local3 < INTERFACE.MAX_BUDDIES_PER_PAGE) {
  1405.         var _local1 = _local4[("item" + _local3) + "_mc"];
  1406.         var _local2 = _local6[_local3];
  1407.         if (_local2 != undefined) {
  1408.             if(_local2.color != undefined) {
  1409.                 var color = new Color(_local1.icon_mc);
  1410.                 color.setRGB("0x" + _local2.color);
  1411.                 _local1.icon_mc.gotoAndStop(1);
  1412.                 _local1.icon_mc._visible = true;
  1413.                 _local1.name_txt._x = 30;
  1414.                 _local1.name_txt.textColor = "0x" + _local2.color;
  1415.                 _local1.name_txt.text = _local2.name;
  1416.                 _local1.name = _local2.name;
  1417.                 _local1.color = _local2.color;
  1418.                 _local1.item_btn.onRelease = function() {
  1419.                     var _local5 = this._parent.color;
  1420.                     SHELL.sendPlayerCommand(command_suffix, [_local5]);
  1421.                 };
  1422.             } else {
  1423.                 _local1.name_txt.text = _local2.name;
  1424.                 if(_local2.r != undefined) {
  1425.                     INTERFACE.rainbowfy(_local1.name_txt);
  1426.                     _local1.item_btn.onRelease = function() {
  1427.                         SHELL.sendPlayerCommand(command_suffix, ["rainbow"]);
  1428.                     };
  1429.                 } else if(_local2.d != undefined) {
  1430.                     _local1.name_txt.textColor = 0xFFFFFFF;
  1431.                     _local1.item_btn.onRelease = function() {
  1432.                         SHELL.sendPlayerCommand(command_suffix);
  1433.                     }
  1434.                 } else {
  1435.                     _local1.name_txt.textColor = 0xFFFFFFF;
  1436.                     _local1.item_btn.onRelease = function() {
  1437.                         INTERFACE.showPrompt("input", "Please enter a HEX color code.", undefined, function(hex) {
  1438.                             SHELL.sendPlayerCommand(command_suffix, [hex]);
  1439.                         });
  1440.                         INTERFACE.PROMPT.text_input.maxChars = 6;
  1441.                         listener = new Object();
  1442.                         listener.onChanged = function(text_input) {
  1443.                             if(text_input.length > 0) {
  1444.                                 INTERFACE.PROMPT.text_input.backgroundColor = "0x" + text_input.text;
  1445.                             } else {
  1446.                                 INTERFACE.PROMPT.text_input.backgroundColor = 0xFFFFFF;
  1447.                             }
  1448.                         };
  1449.                         INTERFACE.PROMPT.text_input.addListener(listener);
  1450.                         INTERFACE.PROMPT.continue_txt.text = "Save";
  1451.                     };
  1452.                 }
  1453.                 _local1.name_txt._x = 10;
  1454.                 _local1.icon_mc._visible = false;
  1455.             }
  1456.         } else {
  1457.             _local1.icon_mc.gotoAndStop(1);
  1458.             _local1.icon_mc._visible = false;
  1459.             _local1.name_txt.text = "";
  1460.             _local1.item_btn.onRelease = null;
  1461.         }
  1462.         _local3++;
  1463.     }
  1464. };
  1465.  
  1466. INTERFACE.updateOptionWidget = function(page_id, list_name, options) {
  1467.     var _local4 = INTERFACE.WIDGETS.options_mc.art_mc;
  1468.     _local4.buddy_total_txt.text = "";
  1469.     _local4.createEmptyMovieClip("cover_mc", _local4.getNextHighestDepth());
  1470.     _local4.cover_mc.lineStyle(5, 0x0280CD);
  1471.     _local4.cover_mc.beginFill(0x0280CD);
  1472.     _local4.cover_mc.moveTo(60, 255);
  1473.     _local4.cover_mc.lineTo(200, 255);
  1474.     _local4.cover_mc.lineTo(200, 285);
  1475.     _local4.cover_mc.lineTo(60, 285);
  1476.     _local4.cover_mc.lineTo(60, 255);
  1477.     _local4.cover_mc.endFill();
  1478.     _local4.buddy_btn._visible = false;
  1479.     _local4.online_btn._visible = false;
  1480.     _local4.ignore_btn._visible = false;
  1481.     var _local9 = INTERFACE.getPlayerId();
  1482.     if (list_name == undefined) {
  1483.         list_name = _local4.list_name;
  1484.         options = _local4.options;
  1485.     }
  1486.     _local4.page_id = page_id;
  1487.     _local4.list_name = list_name;
  1488.     _local4.options = options;
  1489.     var _local7 = options;
  1490.     _local4.title_txt.text = _local4.list_name;
  1491.     var _local6 = INTERFACE.paginateArray(_local7, page_id, INTERFACE.MAX_BUDDIES_PER_PAGE);
  1492.     var _local8 = INTERFACE.getMaxPage(_local7, INTERFACE.MAX_BUDDIES_PER_PAGE);
  1493.     if (page_id < _local8) {
  1494.         _local4.next_btn.onRelease = function () {
  1495.             INTERFACE.updateOptionWidget(page_id + 1);
  1496.         };
  1497.     } else {
  1498.         _local4.next_btn.onRelease = null;
  1499.     }
  1500.     if (page_id > 0) {
  1501.         _local4.back_btn.onRelease = function () {
  1502.             INTERFACE.updateOptionWidget(page_id - 1);
  1503.         };
  1504.     } else {
  1505.         _local4.back_btn.onRelease = null;
  1506.     }
  1507.     var _local3 = 0;
  1508.     while (_local3 < INTERFACE.MAX_BUDDIES_PER_PAGE) {
  1509.         var _local1 = _local4[("item" + _local3) + "_mc"];
  1510.         var _local2 = _local6[_local3];
  1511.         if (_local2 != undefined) {
  1512.             if(_local2.path != undefined) {
  1513.                 _local1.icon_mc.removeMovieClip();
  1514.                 _local1.icon_mc.gotoAndStop(1);
  1515.                 _local1.icon_mc._visible = true;
  1516.                 var path_loader = new MovieClipLoader();
  1517.                 var listener_ = new Object();
  1518.                 listener_.onLoadInit = function(target_mc) {
  1519.                     target_mc._xscale = 40;
  1520.                     target_mc._yscale = 40;
  1521.                 };
  1522.                 path_loader.addListener(listener_);
  1523.                 path_loader.loadClip(_local2.path, _local1.icon_mc);
  1524.                 _local1.name_txt._x = 30;
  1525.                 _local1.name_txt.text = _local2.name;
  1526.                 _local1.name = _local2.name;
  1527.                 _local1.path = _local2.path;
  1528.                 _local1.item_btn.onRelease = _local2.callback;
  1529.             } else {
  1530.                 _local1.name_txt._x = 10;
  1531.                 _local1.icon_mc._visible = false;
  1532.                 _local1.name_txt.text = _local2.name;
  1533.                 _local1.item_btn.onRelease = _local2.callback;
  1534.             }
  1535.         } else {
  1536.             _local1.icon_mc.gotoAndStop(1);
  1537.             _local1.icon_mc._visible = false;
  1538.             _local1.name_txt.text = "";
  1539.             _local1.item_btn.onRelease = null;
  1540.         }
  1541.         _local3++;
  1542.     }
  1543. };
  1544.  
  1545. INTERFACE.updateItemWidget = function(page_id, query) {
  1546.     _local4 = INTERFACE.WIDGETS.item_mc.art_mc;
  1547.     _local4.buddy_total_txt.text = "";
  1548.     _local4.createEmptyMovieClip("cover_mc", INTERFACE.WIDGETS.private_mc.art_mc.getNextHighestDepth());
  1549.     _local4.cover_mc.lineStyle(5, 0x0280CD);
  1550.     _local4.cover_mc.beginFill(0x0280CD);
  1551.     _local4.cover_mc.moveTo(60, 255);
  1552.     _local4.cover_mc.lineTo(200, 255);
  1553.     _local4.cover_mc.lineTo(200, 285);
  1554.     _local4.cover_mc.lineTo(60, 285);
  1555.     _local4.cover_mc.lineTo(60, 255);
  1556.     _local4.cover_mc.endFill();
  1557.     _local4.buddy_btn._visible = false;
  1558.     _local4.online_btn._visible = false;
  1559.     _local4.ignore_btn._visible = false;
  1560.     var _local9 = INTERFACE.getPlayerId();
  1561.     if (page_id == undefined) {
  1562.         page_id = _local4.page_id;
  1563.     }
  1564.     _local4.page_id = page_id;
  1565.     if(_local4.search_txt == undefined) {
  1566.         _local4.createTextField("search_txt", _local4.getNextHighestDepth() + 1, _local4.item1_mc._x, _local4.buddy_total_txt._y, _local4.item1_mc._width, 20);
  1567.         _local4.search_txt.textSize = 20;
  1568.         _local4.search_txt.type = "input";
  1569.         _local4.search_txt.border = true;
  1570.         _local4.search_txt.background = true;
  1571.         _local4.search_txt.backgroundColor = 0xFFFFFF;
  1572.         listener = new Object();
  1573.         listener.onChanged = function(search_txt) {
  1574.             INTERFACE.updateItemWidget(page_id, search_txt.text);
  1575.         };
  1576.         _local4.search_txt.addListener(listener);
  1577.     }
  1578.     var _local7 = new Array();
  1579.     var _local10 = SHELL.getInventoryCrumbsObject();
  1580.     for(_local9 in _local10) {
  1581.         if(query != undefined) {
  1582.             if(_local10[_local9].name.toLowerCase().indexOf(query.toLowerCase()) == 0) {
  1583.                 _local7.push(_local10[_local9]);
  1584.             }
  1585.         } else {
  1586.             _local7.push(_local10[_local9]);
  1587.         }
  1588.     }
  1589.     _local7.reverse();
  1590.     _local4.title_txt.text = "Clothing Items";
  1591.     var _local6 = INTERFACE.paginateArray(_local7, page_id, INTERFACE.MAX_BUDDIES_PER_PAGE);
  1592.     var _local8 = INTERFACE.getMaxPage(_local7, INTERFACE.MAX_BUDDIES_PER_PAGE);
  1593.     if (page_id < _local8) {
  1594.         _local4.next_btn.onRelease = function () {
  1595.             INTERFACE.updateItemWidget(page_id + 1, query);
  1596.         };
  1597.     } else {
  1598.         _local4.next_btn.onRelease = null;
  1599.     }
  1600.     if (page_id > 0) {
  1601.         _local4.back_btn.onRelease = function () {
  1602.             INTERFACE.updateItemWidget(page_id - 1, query);
  1603.         };
  1604.     } else {
  1605.         _local4.back_btn.onRelease = null;
  1606.     }
  1607.     var _local3 = 0;
  1608.     while (_local3 < INTERFACE.MAX_BUDDIES_PER_PAGE) {
  1609.         var _local1 = _local4[("item" + _local3) + "_mc"];
  1610.         var _local2 = _local6[_local3];
  1611.         if (_local2 != undefined) {
  1612.             _local1.icon_mc.removeMovieClip();
  1613.             _local1.icon_mc.gotoAndStop(7);
  1614.             _local1.icon_mc._visible = true;
  1615.             var icon_loader = new MovieClipLoader();
  1616.             var listener = new Object();
  1617.             listener.onLoadInit = function(target_mc) {
  1618.                 target_mc._xscale = 40;
  1619.                 target_mc._yscale = 40;
  1620.             };
  1621.             icon_loader.addListener(listener);
  1622.             icon_loader.loadClip(SHELL.getPath("clothing_icons") + _local2.id + ".swf", _local1.icon_mc);
  1623.             _local1.id = _local2.id;
  1624.             _local1.name = _local2.name;
  1625.             _local1.name_txt.text = _local1.name;
  1626.             _local1.item_btn.onRelease = function() {
  1627.                 INTERFACE.buyInventory(this._parent.id);
  1628.             };
  1629.         } else {
  1630.             _local1.icon_mc.gotoAndStop(1);
  1631.             _local1.icon_mc._visible = false;
  1632.             _local1.name_txt.text = "";
  1633.             _local1.id = undefined;
  1634.             _local1.item_btn.onRelease = null;
  1635.         }
  1636.         _local3++;
  1637.     }
  1638. };
  1639.  
  1640. SHELL.sendPlayerCommand = function(command_suffix, command_arguments) {
  1641.     if(command_arguments == undefined) {
  1642.         AIRTOWER.send(AIRTOWER.PLAY_EXT, (AIRTOWER.MESSAGE_HANDLER + '#') + "sm", [SHELL.getMyPlayerId(), (AIRTOWER.command_prefix + command_suffix)], 'str', SHELL.getCurrentServerRoomId());
  1643.         return;
  1644.     }
  1645.     command_arguments = command_arguments.join(" ");
  1646.     AIRTOWER.send(AIRTOWER.PLAY_EXT, (AIRTOWER.MESSAGE_HANDLER + '#') + "sm", [SHELL.getMyPlayerId(), (AIRTOWER.command_prefix + command_suffix) + (" " + command_arguments)], 'str', SHELL.getCurrentServerRoomId());
  1647. };
  1648.  
  1649. INTERFACE.rainbowfy = function(field) {
  1650.     if(field.rainbowfied == undefined || field.textColor != field.oldTextColor) {
  1651.         field.textColor = field.textColor + "0";
  1652.         for(var i = 0; i < field.text.length; i++) {
  1653.             var _local1 = field.getTextFormat();
  1654.             _local1.color = Math.round(Math.random()*0xFFFFFF);
  1655.             field.setTextFormat(i, i + 1, _local1);
  1656.         }
  1657.         field.rainbowfied = true;
  1658.         field.oldTextColor = field.textColor;
  1659.     }
  1660. };
  1661.  
  1662. var closeWidget = INTERFACE.closeWidget;
  1663. INTERFACE.closeWidget = function(mc) {
  1664.     closeWidget(mc);
  1665.     if(mc == INTERFACE.WIDGETS.private_mc) {
  1666.         INTERFACE.private_talk_id = false;
  1667.     }
  1668. }
  1669.  
  1670. INTERFACE.updatePrivateMailIcon = function(t){
  1671.     INTERFACE.ICONS.private_btn_mc.new_mc._visible = true;
  1672.     if(t > 999) {
  1673.         INTERFACE.ICONS.private_btn_mc.new_mc.gotoAndStop(2);
  1674.         INTERFACE.ICONS.private_btn_mc.new_mc.mail_count_txt.text = "999";
  1675.     } else if (t > 99) {
  1676.         INTERFACE.ICONS.private_btn_mc.new_mc.gotoAndStop(2);
  1677.         INTERFACE.ICONS.private_btn_mc.new_mc.mail_count_txt.text = t;
  1678.     } else {
  1679.         INTERFACE.ICONS.private_btn_mc.new_mc.gotoAndStop(1);
  1680.         INTERFACE.ICONS.private_btn_mc.new_mc.mail_count_txt.text = t;
  1681.     }
  1682.     if (t < 1) {
  1683.         INTERFACE.ICONS.private_btn_mc.new_mc._visible = false;
  1684.     }
  1685.     if (t > INTERFACE.private_messages) {
  1686.         INTERFACE.bounceIcon(INTERFACE.ICONS.private_btn_mc);
  1687.     }
  1688.     INTERFACE.private_messages = t;
  1689. };
  1690.  
  1691. var showDock = INTERFACE.showDock;
  1692. INTERFACE.showDock = function() {
  1693.     showDock();
  1694.     if(!INTERFACE.private_chat_created) {
  1695.         duplicateMovieClip(INTERFACE.BUDDY_WIDGET, "private_mc", this.getNextHighestDepth());
  1696.         INTERFACE.WIDGETS.attachMovie(private_mc, "private_mc", INTERFACE.WIDGETS.getNextHighestDepth());
  1697.         duplicateMovieClip(INTERFACE.BUDDY_WIDGET, "color_mc", this.getNextHighestDepth() + 2);
  1698.         INTERFACE.WIDGETS.attachMovie(color_mc, "color_mc", INTERFACE.WIDGETS.getNextHighestDepth() + 2);
  1699.         duplicateMovieClip(INTERFACE.BUDDY_WIDGET, "item_mc", this.getNextHighestDepth() + 5);
  1700.         INTERFACE.WIDGETS.attachMovie(item_mc, "item_mc", INTERFACE.WIDGETS.getNextHighestDepth() + 5);
  1701.         duplicateMovieClip(INTERFACE.BUDDY_WIDGET, "options_mc", this.getNextHighestDepth() + 6);
  1702.         INTERFACE.WIDGETS.attachMovie(options_mc, "options_mc", INTERFACE.WIDGETS.getNextHighestDepth() + 6);
  1703.         duplicateMovieClip(INTERFACE.interface_mc.safe_menu_mc, "snowball_menu_mc", this.getNextHighestDepth() + 3);
  1704.         INTERFACE.interface_mc.attachMovie(snowball_menu_mc, "snowball_menu_mc", INTERFACE.interface_mc.getNextHighestDepth() + 3);
  1705.         INTERFACE.interface_mc.snowball_menu_mc._x = INTERFACE.DOCK.throw_btn._x - 123.1;
  1706.         duplicateMovieClip(INTERFACE.interface_mc.safe_menu_mc, "player_menu_mc", this.getNextHighestDepth() + 4);
  1707.         INTERFACE.interface_mc.attachMovie(player_menu_mc, "player_menu_mc", INTERFACE.interface_mc.getNextHighestDepth() + 4);
  1708.         INTERFACE.interface_mc.player_menu_mc._x = INTERFACE.DOCK.player_btn._x - 123.1;
  1709.         INTERFACE.private_chat_created = true;
  1710.     }
  1711.     INTERFACE.DOCK.throw_btn.onRelease = function() {
  1712.         INTERFACE.showSnowballMenu();
  1713.         INTERFACE.closeHint();
  1714.     }
  1715.     INTERFACE.DOCK.player_btn.onRelease = function() {
  1716.         INTERFACE.showPlayerMenu();
  1717.         INTERFACE.closeHint();
  1718.     }
  1719. };
  1720.  
  1721. INTERFACE.showSnowballMenu = function () {
  1722.     var _local1 = new Array(
  1723.     {name:"Snowball Match", callback:function() {
  1724.         INTERFACE.closeSnowballMenu();
  1725.     }},
  1726.     {name:"Snowball Color", callback:function() {
  1727.         INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1728.         INTERFACE.updateColorWidget(0, "Snowball Color", "snowball");
  1729.         INTERFACE.closeSnowballMenu();
  1730.     }},
  1731.     {name:"Throw", callback:function() {
  1732.         INTERFACE.showCrosshair();
  1733.         INTERFACE.closeSnowballMenu();
  1734.     }});
  1735.     INTERFACE.interface_mc.snowball_menu_mc.gotoAndStop(1);
  1736.     INTERFACE.interface_mc.snowball_menu_mc.gotoAndStop(2);
  1737.     INTERFACE.interface_mc.snowball_menu_mc.back_btn.onRelease = INTERFACE.closeSnowballMenu;
  1738.     INTERFACE.interface_mc.snowball_menu_mc.back_btn.onRollOver = INTERFACE.startCloseSnowballMenuDelay;
  1739.     INTERFACE.interface_mc.snowball_menu_mc.close_btn.onRelease = INTERFACE.closeSnowballMenu;
  1740.     INTERFACE.interface_mc.snowball_menu_mc.back_btn.useHandCursor = false;
  1741.     INTERFACE.interface_mc.snowball_menu_mc.safe_btn.useHandCursor = false;
  1742.     INTERFACE.interface_mc.snowball_menu_mc.master_mc._visible = false;
  1743.     INTERFACE.showMenuList(_local1, 0, 0, 0, INTERFACE.interface_mc.snowball_menu_mc.menu_mc);
  1744. };
  1745.  
  1746. INTERFACE.startCloseSnowballMenuDelay = function() {
  1747.     var _local1 = INTERFACE.interface_mc.snowball_menu_mc.menu_mc;
  1748.     var delay_counter = 12;
  1749.     _local1.onEnterFrame = function () {
  1750.         if (delay_counter < 1) {
  1751.             INTERFACE.closeSnowballMenu();
  1752.         } else {
  1753.             delay_counter--;
  1754.         }
  1755.     };
  1756. };
  1757.  
  1758. INTERFACE.closeSnowballMenu = function() {
  1759.     INTERFACE.interface_mc.snowball_menu_mc.gotoAndStop(1);
  1760. };
  1761.  
  1762. INTERFACE.showPlayerMenu = function () {
  1763.     var _local1 = new Array(
  1764.         {name:"Playercard", menu:[
  1765.             {name:"Eye Color", callback:function() {
  1766.                 INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1767.                 INTERFACE.updateColorWidget(0, "Eye Color", "ec");
  1768.                 INTERFACE.closePlayerMenu();
  1769.             }}
  1770.         ]},
  1771.         {name:"Penguin", menu:[
  1772.             {name:"Color", callback:function() {
  1773.                 INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1774.                 INTERFACE.updateColorWidget(0, "Penguin Color", "c");
  1775.                 INTERFACE.closePlayerMenu();
  1776.             }},
  1777.             {name:"Size", callback:function() {
  1778.                 INTERFACE.showWidget(INTERFACE.WIDGETS.options_mc);
  1779.                 INTERFACE.updateOptionWidget(0, "Size", new Array(
  1780.                     {name:"Default", callback:function() {
  1781.                         SHELL.sendPlayerCommand("size");
  1782.                     }},
  1783.                     {name:"10%", callback:function() {
  1784.                         SHELL.sendPlayerCommand("size", [10, 10]);
  1785.                     }},
  1786.                     {name:"20%", callback:function() {
  1787.                         SHELL.sendPlayerCommand("size", [20, 20]);
  1788.                     }},
  1789.                     {name:"30%", callback:function() {
  1790.                         SHELL.sendPlayerCommand("size", [30, 30]);
  1791.                     }},
  1792.                     {name:"40%", callback:function() {
  1793.                         SHELL.sendPlayerCommand("size", [40, 40]);
  1794.                     }},
  1795.                     {name:"50%", callback:function() {
  1796.                         SHELL.sendPlayerCommand("size", [50, 50]);
  1797.                     }},
  1798.                     {name:"60%", callback:function() {
  1799.                         SHELL.sendPlayerCommand("size", [60, 60]);
  1800.                     }},
  1801.                     {name:"70%", callback:function() {
  1802.                         SHELL.sendPlayerCommand("size", [70, 70]);
  1803.                     }},
  1804.                     {name:"80%", callback:function() {
  1805.                         SHELL.sendPlayerCommand("size", [80, 80]);
  1806.                     }},
  1807.                     {name:"90%", callback:function() {
  1808.                         SHELL.sendPlayerCommand("size", [90, 90]);
  1809.                     }},
  1810.                     {name:"110%", callback:function() {
  1811.                         SHELL.sendPlayerCommand("size", [110, 110]);
  1812.                     }},
  1813.                     {name:"120%", callback:function() {
  1814.                         SHELL.sendPlayerCommand("size", [120, 120]);
  1815.                     }},
  1816.                     {name:"130%", callback:function() {
  1817.                         SHELL.sendPlayerCommand("size", [130, 130]);
  1818.                     }},
  1819.                     {name:"140%", callback:function() {
  1820.                         SHELL.sendPlayerCommand("size", [140, 140]);
  1821.                     }},
  1822.                     {name:"150%", callback:function() {
  1823.                         SHELL.sendPlayerCommand("size", [150, 150]);
  1824.                     }},
  1825.                     {name:"160%", callback:function() {
  1826.                         SHELL.sendPlayerCommand("size", [160, 160]);
  1827.                     }},
  1828.                     {name:"170%", callback:function() {
  1829.                         SHELL.sendPlayerCommand("size", [170, 170]);
  1830.                     }},
  1831.                     {name:"180%", callback:function() {
  1832.                         SHELL.sendPlayerCommand("size", [180, 180]);
  1833.                     }},
  1834.                     {name:"190%", callback:function() {
  1835.                         SHELL.sendPlayerCommand("size", [190, 190]);
  1836.                     }},
  1837.                     {name:"200%", callback:function() {
  1838.                         SHELL.sendPlayerCommand("size", [200, 200]);
  1839.                     }}
  1840.                 ));
  1841.                 INTERFACE.closePlayerMenu();
  1842.             }},
  1843.             {name:"Rotate", callback:function() {
  1844.                 INTERFACE.showWidget(INTERFACE.WIDGETS.options_mc);
  1845.                 INTERFACE.updateOptionWidget(0, "Rotation", new Array(
  1846.                     {name:"Default", callback:function() {
  1847.                         SHELL.sendPlayerCommand("rotate");
  1848.                     }},
  1849.                     {name:"45°", callback:function() {
  1850.                         SHELL.sendPlayerCommand("rotate", [45]);
  1851.                     }},
  1852.                     {name:"90°", callback:function() {
  1853.                         SHELL.sendPlayerCommand("rotate", [90]);
  1854.                     }},
  1855.                     {name:"135°", callback:function() {
  1856.                         SHELL.sendPlayerCommand("rotate", [135]);
  1857.                     }},
  1858.                     {name:"180°", callback:function() {
  1859.                         SHELL.sendPlayerCommand("rotate", [180]);
  1860.                     }},
  1861.                     {name:"225°", callback:function() {
  1862.                         SHELL.sendPlayerCommand("rotate", [225]);
  1863.                     }},
  1864.                     {name:"270°", callback:function() {
  1865.                         SHELL.sendPlayerCommand("rotate", [270]);
  1866.                     }},
  1867.                     {name:"315°", callback:function() {
  1868.                         SHELL.sendPlayerCommand("rotate", [315]);
  1869.                     }}
  1870.                 ));
  1871.                 INTERFACE.closePlayerMenu();
  1872.             }},
  1873.             {name:"Transparency", callback:function() {
  1874.                 INTERFACE.showWidget(INTERFACE.WIDGETS.options_mc);
  1875.                 INTERFACE.updateOptionWidget(0, "Transparency", new Array(
  1876.                     {name:"Default", callback:function() {
  1877.                         SHELL.sendPlayerCommand("alpha");
  1878.                     }},
  1879.                     {name:"0%", callback:function() {
  1880.                         SHELL.sendPlayerCommand("alpha", [0]);
  1881.                     }},
  1882.                     {name:"10%", callback:function() {
  1883.                         SHELL.sendPlayerCommand("alpha", [10]);
  1884.                     }},
  1885.                     {name:"20%", callback:function() {
  1886.                         SHELL.sendPlayerCommand("alpha", [20]);
  1887.                     }},
  1888.                     {name:"30%", callback:function() {
  1889.                         SHELL.sendPlayerCommand("alpha", [30]);
  1890.                     }},
  1891.                     {name:"40%", callback:function() {
  1892.                         SHELL.sendPlayerCommand("alpha", [40]);
  1893.                     }},
  1894.                     {name:"50%", callback:function() {
  1895.                         SHELL.sendPlayerCommand("alpha", [50]);
  1896.                     }},
  1897.                     {name:"60%", callback:function() {
  1898.                         SHELL.sendPlayerCommand("alpha", [60]);
  1899.                     }},
  1900.                     {name:"70%", callback:function() {
  1901.                         SHELL.sendPlayerCommand("alpha", [70]);
  1902.                     }},
  1903.                     {name:"80%", callback:function() {
  1904.                         SHELL.sendPlayerCommand("alpha", [80]);
  1905.                     }},
  1906.                     {name:"90%", callback:function() {
  1907.                         SHELL.sendPlayerCommand("alpha", [90]);
  1908.                     }}
  1909.                 ));
  1910.                 INTERFACE.closePlayerMenu();
  1911.             }}
  1912.         ]},
  1913.         {name:"Penguin Trail", menu:[
  1914.             {name:"Glitter", callback:function() {
  1915.                 INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1916.                 INTERFACE.updateColorWidget(0, "Glitter Trail", "glitter", true);
  1917.                 INTERFACE.closePlayerMenu();
  1918.             }},
  1919.             {name:"Fog", callback:function() {
  1920.                 INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1921.                 INTERFACE.updateColorWidget(0, "Fog Trail", "fog", true);
  1922.                 INTERFACE.closePlayerMenu();
  1923.             }}
  1924.         ]},
  1925.         {name:"Walk Speed", menu:[
  1926.             {name:"Slow", callback:function() {
  1927.                 SHELL.sendPlayerCommand("slow");
  1928.                 INTERFACE.closePlayerMenu();
  1929.             }},
  1930.             {name:"Normal", callback:function() {
  1931.                 SHELL.sendPlayerCommand("normal");
  1932.                 INTERFACE.closePlayerMenu();
  1933.             }},
  1934.             {name:"Fast", callback:function() {
  1935.                 SHELL.sendPlayerCommand("fast");
  1936.                 INTERFACE.closePlayerMenu();
  1937.             }},
  1938.             {name:"Teleport", callback:function() {
  1939.                 SHELL.sendPlayerCommand("teleport");
  1940.                 INTERFACE.closePlayerMenu();
  1941.             }}
  1942.         ]},
  1943.         {name:"Penguin Ring", menu:[
  1944.             {name:"Color", callback:function() {
  1945.                 INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1946.                 INTERFACE.updateColorWidget(0, "Ring Color", "rc");
  1947.                 INTERFACE.closePlayerMenu();
  1948.             }},
  1949.             {name:"Type", callback:function() {
  1950.                 INTERFACE.showWidget(INTERFACE.WIDGETS.options_mc);
  1951.                 INTERFACE.updateOptionWidget(0, "Ring Type", new Array(
  1952.                     {name:"Default", callback:function() {
  1953.                         SHELL.sendPlayerCommand("rt");
  1954.                     }},
  1955.                     {name:"Dashed", path:(SHELL.getGlobalContentPath() + "penguin/rings/1.swf"), callback:function() {
  1956.                         SHELL.sendPlayerCommand("rt", [1]);
  1957.                     }},  
  1958.                     {name:"Dotted", path:(SHELL.getGlobalContentPath() + "penguin/rings/2.swf"), callback:function() {
  1959.                         SHELL.sendPlayerCommand("rt", [2]);
  1960.                     }},  
  1961.                     {name:"Messy", path:(SHELL.getGlobalContentPath() + "penguin/rings/3.swf"), callback:function() {
  1962.                         SHELL.sendPlayerCommand("rt", [3]);
  1963.                     }},  
  1964.                     {name:"Splatter", path:(SHELL.getGlobalContentPath() + "penguin/rings/4.swf"), callback:function() {
  1965.                         SHELL.sendPlayerCommand("rt", [4]);
  1966.                     }}
  1967.                 ));
  1968.                 INTERFACE.closePlayerMenu();
  1969.             }}
  1970.         ]},
  1971.         {name:"Mood", menu:[
  1972.             {name:"Color", callback:function() {
  1973.                 INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1974.                 INTERFACE.updateColorWidget(0, "Mood Color", "mc", true);
  1975.                 INTERFACE.closePlayerMenu();
  1976.             }}
  1977.         ]},
  1978.         {name:"Bubble", menu:[
  1979.             {name:"Color", callback:function() {
  1980.                 INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1981.                 INTERFACE.updateColorWidget(0, "Bubble Color", "bc");
  1982.                 INTERFACE.closePlayerMenu();
  1983.             }},
  1984.             {name:"Text Color", callback:function() {
  1985.                 INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1986.                 INTERFACE.updateColorWidget(0, "Bubble Text", "bt", true);
  1987.                 INTERFACE.closePlayerMenu();
  1988.             }}
  1989.         ]},
  1990.         {name:"Name", menu:[
  1991.             {name:"Color", callback:function() {
  1992.                 INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1993.                 INTERFACE.updateColorWidget(0, "Name Color", "nc", true);
  1994.                 INTERFACE.closePlayerMenu();
  1995.             }},
  1996.             {name:"Glow", callback:function() {
  1997.                 INTERFACE.showWidget(INTERFACE.WIDGETS.color_mc);
  1998.                 INTERFACE.updateColorWidget(0, "Name Glow", "ng");
  1999.                 INTERFACE.closePlayerMenu();
  2000.             }},
  2001.             {name:"Glow Strength", callback:function() {
  2002.                 INTERFACE.showWidget(INTERFACE.WIDGETS.options_mc);
  2003.                 INTERFACE.updateOptionWidget(0, "Glow Strength", new Array(
  2004.                     {name:"Weakest", callback:function() {
  2005.                         SHELL.sendPlayerCommand("ngs", [1]);
  2006.                     }},
  2007.                     {name:"Weak", callback:function() {
  2008.                         SHELL.sendPlayerCommand("ngs", [2]);
  2009.                     }},
  2010.                     {name:"Strong", callback:function() {
  2011.                         SHELL.sendPlayerCommand("ngs", [3]);
  2012.                     }},
  2013.                     {name:"Stronger", callback:function() {
  2014.                         SHELL.sendPlayerCommand("ngs", [4]);
  2015.                     }},
  2016.                     {name:"Strongest", callback:function() {
  2017.                         SHELL.sendPlayerCommand("ngs", [5]);
  2018.                     }}
  2019.                 ));
  2020.                 INTERFACE.closePlayerMenu();
  2021.             }}
  2022.         ]},
  2023.         {name:"Buy Clothing", callback:function() {
  2024.             INTERFACE.closePlayerMenu();
  2025.             INTERFACE.showWidget(INTERFACE.WIDGETS.item_mc);
  2026.             INTERFACE.updateItemWidget(0);
  2027.         }},
  2028.         {name:"Walk on Walls", callback:function() {
  2029.             INTERFACE.closePlayerMenu();
  2030.             AIRTOWER.send(AIRTOWER.PLAY_EXT, (AIRTOWER.MESSAGE_HANDLER + '#') + "sm", [SHELL.getMyPlayerId(), AIRTOWER.command_prefix + 'wow'], 'str', SHELL.getCurrentServerRoomId());
  2031.         }},
  2032.         {name:"Edit Player", callback:function() {
  2033.             INTERFACE.showPlayerWidget(INTERFACE.getPlayerId(), INTERFACE.getPlayerNickname());
  2034.             INTERFACE.closePlayerMenu();
  2035.         }}
  2036.     );
  2037.     INTERFACE.interface_mc.player_menu_mc.gotoAndStop(1);
  2038.     INTERFACE.interface_mc.player_menu_mc.gotoAndStop(2);
  2039.     INTERFACE.interface_mc.player_menu_mc.back_btn.onRelease = INTERFACE.closePlayerMenu;
  2040.     INTERFACE.interface_mc.player_menu_mc.back_btn.onRollOver = INTERFACE.startClosePlayerMenuDelay;
  2041.     INTERFACE.interface_mc.player_menu_mc.close_btn.onRelease = INTERFACE.closePlayerMenu;
  2042.     INTERFACE.interface_mc.player_menu_mc.back_btn.useHandCursor = false;
  2043.     INTERFACE.interface_mc.player_menu_mc.safe_btn.useHandCursor = false;
  2044.     INTERFACE.interface_mc.player_menu_mc.master_mc._visible = false;
  2045.     INTERFACE.showMenuList(_local1, 0, 0, 0, INTERFACE.interface_mc.player_menu_mc.menu_mc);
  2046. };
  2047.  
  2048. INTERFACE.startClosePlayerMenuDelay = function() {
  2049.     var _local1 = INTERFACE.interface_mc.player_menu_mc.menu_mc;
  2050.     var delay_counter = 12;
  2051.     _local1.onEnterFrame = function () {
  2052.         if (delay_counter < 1) {
  2053.             INTERFACE.closePlayerMenu();
  2054.         } else {
  2055.             delay_counter--;
  2056.         }
  2057.     };
  2058. };
  2059.  
  2060. INTERFACE.closePlayerMenu = function() {
  2061.     INTERFACE.interface_mc.player_menu_mc.gotoAndStop(1);
  2062. };
  2063.  
  2064. INTERFACE.stopCloseMenuDelay = function(mc) {
  2065.     var _local1 = mc.menu_mc;
  2066.     if(mc == undefined) {
  2067.         _local1 = INTERFACE.SAFE_MENU.menu_mc;
  2068.     }
  2069.     delete _local1.onEnterFrame;
  2070. };
  2071.  
  2072. INTERFACE.closeMenuList = function(c, mc) {
  2073.     var _local1 = mc;
  2074.     if(_local1 == undefined) {
  2075.         var _local1 = INTERFACE.SAFE_MENU.menu_mc;
  2076.     }
  2077.     for (var _local3 in _local1) {
  2078.         if (_local1[_local3].c > c) {
  2079.             _local1[_local3].removeMovieClip();
  2080.         }
  2081.     }
  2082. };
  2083.  
  2084. INTERFACE.handleMenuItemRollOver = function() {
  2085.     var mc = this._parent._parent.mc;
  2086.     var _local3 = this._parent._parent.c;
  2087.     var _local4 = this._parent.r;
  2088.     var _local2 = this._parent.ob;
  2089.     INTERFACE.stopCloseMenuDelay(mc);
  2090.     INTERFACE.closeMenuList(_local3, mc);
  2091.     if (_local2.menu) {
  2092.         INTERFACE.showMenuList(_local2.menu, _local3 + 1, _local4, _local2.wide, mc);
  2093.     }
  2094. };
  2095.  
  2096. INTERFACE.showMenuList = function(l, c, r, w, mc) {
  2097.     if (w == undefined) {
  2098.         w = 1;
  2099.     }
  2100.     var _local9 = mc;
  2101.     if(_local9 == undefined) {
  2102.         _local9 = INTERFACE.SAFE_MENU.menu_mc;
  2103.     }
  2104.     var _local7 = _local9.master_mc.item_mc._height + 2;
  2105.     var _local13 = _local9.master_mc.item_mc._width + 2;
  2106.     var _local12 = "menu" + c;
  2107.     _local9.master_mc.duplicateMovieClip(_local12, (100 + c) + 1);
  2108.     var _local3 = _local9[_local12];
  2109.     _local3.item_mc._visible = false;
  2110.     _local3.c = c;
  2111.     _local3.mc = mc;
  2112.     var _local11 = l.length * _local7;
  2113.     if (c > 0) {
  2114.         var _local10 = _local9["menu" + (c - 1)];
  2115.         _local3._y = _local10._y + (r * _local7);
  2116.         _local3._x = (_local10._x + _local10._width) + 2;
  2117.     } else {
  2118.         _local3._y = (_local3._y - _local11) + _local7;
  2119.     }
  2120.     if ((_local3._y + _local11) > _local7) {
  2121.         _local3._y = _local3._y - ((_local3._y + _local11) - _local7);
  2122.     }
  2123.     i = 0;
  2124.     while (i < l.length) {
  2125.         var _local2 = l[i];
  2126.         var _local4 = "item" + i;
  2127.         _local3.item_mc.duplicateMovieClip(_local4, i + 1);
  2128.         var _local1 = _local3[_local4];
  2129.         _local1._y = _local7 * i;
  2130.         _local1.c = c;
  2131.         _local1.r = i;
  2132.         _local1.ob = _local2;
  2133.         if (_local2.menu) {
  2134.             if (w > 1) {
  2135.                 _local1.gotoAndStop(4);
  2136.             } else {
  2137.                 _local1.gotoAndStop(2);
  2138.             }
  2139.         } else if (w > 1) {
  2140.             _local1.gotoAndStop(3);
  2141.         } else {
  2142.             _local1.gotoAndStop(1);
  2143.         }
  2144.         _local1.large_txt.text = _local2.name;
  2145.         if (_local1.large_txt.textWidth > _local1.large_txt._width) {
  2146.             _local1.large_txt.text = "";
  2147.             _local1.small_txt.text = _local2.name;
  2148.         }
  2149.         _local1.item_btn.onRollOver = INTERFACE.handleMenuItemRollOver;
  2150.         if(mc == undefined) {
  2151.             _local1.item_btn.onRelease = INTERFACE.handleMenuItemRelease;
  2152.         } else {
  2153.             _local1.item_btn.onRelease = _local2.callback;
  2154.         }
  2155.         i++;
  2156.     }
  2157. };
  2158.  
  2159. var showIcons = INTERFACE.showIcons;
  2160. INTERFACE.showIcons = function() {
  2161.     showIcons();
  2162.     duplicateMovieClip(INTERFACE.MAIL_ICON, "private_btn_mc", this.getNextHighestDepth());
  2163.     INTERFACE.ICONS.attachMovie(private_btn_mc, "private_btn_mc", INTERFACE.ICONS.getNextHighestDepth());
  2164.     INTERFACE.ICONS.private_btn_mc._x = INTERFACE.MOD_ICON._x;
  2165.     INTERFACE.ICONS.private_btn_mc._y = INTERFACE.MAIL_ICON._y;
  2166.     INTERFACE.MOD_ICON._visible = false;
  2167.     INTERFACE.ICONS.news_mc._visible = true;
  2168.     INTERFACE.ICONS.private_btn_mc._visible = true;
  2169.     INTERFACE.updatePrivateMailIcon(INTERFACE.private_messages);
  2170.     INTERFACE.ICONS.private_btn_mc.mail_btn.onRelease = function() {
  2171.         if(!INTERFACE.private_talk_id) {
  2172.             INTERFACE.showWidget(INTERFACE.WIDGETS.private_mc);
  2173.             INTERFACE.updateBuddyWidget(0, "private");
  2174.         }
  2175.     };
  2176. };
  2177.  
  2178. var onPlayerLoadInit = ENGINE.onPlayerLoadInit;
  2179. ENGINE.onPlayerLoadInit = function(event, player_ob, player_id, targetX, targetY) {
  2180.     onPlayerLoadInit(event, player_ob, player_id, targetX, targetY);
  2181.     if (SHELL.getIsRoomIgloo() || (!ENGINE.isPositionValid(player_ob.x, player_ob.y))) {
  2182.         var _local7 = ENGINE.getRoomMovieClip().start_x;
  2183.         var _local6 = ENGINE.getRoomMovieClip().start_y;
  2184.         var _local4 = ENGINE.getRandomPlayerPos(player_ob, _local7, _local6, ENGINE.RANDOM_RANGE_FOR_MAP_ENTRY);
  2185.         if(!player_ob.walls || SHELL.isMyPlayer(player_id) || (player_ob.x == 0 && player_ob.y == 0)){
  2186.             ENGINE.updatePlayerPosition(player_id, _local4.x, _local4.y);
  2187.         } else {
  2188.             ENGINE.updatePlayerPosition(player_id, player_ob.x, player_ob.y);
  2189.         }
  2190.     } else {
  2191.         ENGINE.updatePlayerPosition(player_id, player_ob.x, player_ob.y);
  2192.     }
  2193.     ENGINE.updatePlayerEffects(player_ob);
  2194. };
  2195.  
  2196. SHELL.makePlayerObjectFromString = function(player_string) {
  2197.     var _local2 = player_string.split("|");
  2198.     var _local3 = Number(_local2[0]);
  2199.     var _local4 = String(_local2[1]);
  2200.     var _local6 = Number(_local2[2]);
  2201.     var _local5;
  2202.     if (SHELL.isValidString(_local4)) {
  2203.         _local5 = com.clubpenguin.util.Localization.getLocalizedNickname(_local3, _local4, _local6, SHELL.getLanguageBitmask());
  2204.     } else if (SHELL.isPlayerMascotById(_local3)) {
  2205.         _local5 = SHELL.getMascotNicknameByID(_local3);
  2206.     }
  2207.     var _local1 = new Object();
  2208.     _local1.nickname = _local5;
  2209.     _local1.username = _local4;
  2210.     _local1.player_id = _local3;
  2211.     _local1.colour_id = Number(_local2[3]) || 0;
  2212.     _local1.head = Number(_local2[4]) || 0;
  2213.     _local1.face = Number(_local2[5]) || 0;
  2214.     _local1.neck = Number(_local2[6]) || 0;
  2215.     _local1.body = Number(_local2[7]) || 0;
  2216.     _local1.hand = Number(_local2[8]) || 0;
  2217.     _local1.feet = Number(_local2[9]) || 0;
  2218.     _local1.flag_id = Number(_local2[10]) || 0;
  2219.     _local1.photo_id = Number(_local2[11]) || 0;
  2220.     _local1.x = Number(_local2[12]) || 0;
  2221.     _local1.y = Number(_local2[13]) || 0;
  2222.     _local1.frame = Number(_local2[14]) || 0;
  2223.     _local1.is_member = Boolean(Number(_local2[15]) || 0);
  2224.     _local1.total_membership_days = Number(_local2[16]) || 0;
  2225.     _local1.nameglow = _local2[17];
  2226.     _local1.namecolor = _local2[18];
  2227.     _local1.nameglow_strength = Number(_local2[19]) || 5;
  2228.     _local1.bubblecolor = _local2[20];
  2229.     _local1.bubbletext = _local2[21];
  2230.     _local1.ringcolor = _local2[22];
  2231.     _local1.speed = _local2[23];
  2232.     _local1.walls = Boolean(Number(_local2[24]) || 0);
  2233.     _local1.snowball = _local2[25];
  2234.     _local1.sizex = _local2[26];
  2235.     _local1.sizey = _local2[27];
  2236.     _local1.transparency = _local2[28];
  2237.     _local1.rotation = _local2[29];
  2238.     _local1.glitter = _local2[30];
  2239.     _local1.fog = _local2[31];
  2240.     _local1.playercard = _local2[32];
  2241.     _local1.mood = _local2[33];
  2242.     _local1.moodcolor = _local2[34];
  2243.     _local1.rank = Number(_local2[35]);
  2244.     _local1.head_hue = Number(_local2[36]);
  2245.     _local1.face_hue = Number(_local2[37]);
  2246.     _local1.neck_hue = Number(_local2[38]);
  2247.     _local1.hand_hue = Number(_local2[39]);
  2248.     _local1.body_hue = Number(_local2[40]);
  2249.     _local1.feet_hue = Number(_local2[41]);
  2250.     _local1.icon_hue = Number(_local2[42]);
  2251.     _local1.eye_color = _local2[43];
  2252.     _local1.beak = Number(_local2[44]) || 0;
  2253.     _local1.ring_type = Number(_local2[45]) || 0;
  2254.     _local1.frame_hack = SHELL.buildFrameHacksString(_local1);
  2255.     _local1.thrownSnowballInCurrentRoom = false;
  2256.     _local1.emoteIDDisplayedInCurrentRoom = -1;
  2257.     return(_local1);
  2258. };
  2259.  
  2260. SHELL.handleSendUpdatePlayerEffects = function(obj) {
  2261.     var _local5 = obj.shift();
  2262.     var _local1 = Number(obj[0]);
  2263.     if (!isNaN(_local1)) {
  2264.         var _local2 = SHELL.getPlayerObjectById(_local1);
  2265.         if (_local2 != undefined) {
  2266.             _local2.nameglow = obj[1];
  2267.             _local2.namecolor = obj[2];
  2268.             _local2.nameglow_strength = Number(obj[3]) || 5;
  2269.             _local2.bubblecolor = obj[4];
  2270.             _local2.bubbletext = obj[5];
  2271.             _local2.ringcolor = obj[6];
  2272.             _local2.speed = obj[7];
  2273.             _local2.walls = Boolean(Number(obj[8]) || 0);
  2274.             _local2.snowball = obj[9];
  2275.             _local2.sizex = obj[10];
  2276.             _local2.sizey = obj[11];
  2277.             _local2.transparency = obj[12];
  2278.             _local2.rotation = obj[13];
  2279.             _local2.glitter = obj[14];
  2280.             _local2.fog = obj[15];
  2281.             _local2.playercard = obj[16];
  2282.             _local2.mood = obj[17];
  2283.             _local2.moodcolor = obj[18];
  2284.             _local2.rank = Number(obj[19]);
  2285.             _local2.head_hue = Number(obj[20]);
  2286.             _local2.face_hue = Number(obj[21]);
  2287.             _local2.neck_hue = Number(obj[22]);
  2288.             _local2.hand_hue = Number(obj[23]);
  2289.             _local2.body_hue = Number(obj[24]);
  2290.             _local2.feet_hue = Number(obj[25]);
  2291.             _local2.icon_hue = Number(obj[26]);
  2292.             _local2.eye_color = obj[27];
  2293.             _local2.beak = Number(obj[28]) || 0;
  2294.             _local2.ring_type = Number(obj[29]) || 0;
  2295.             _local2.frame_hack = SHELL.buildFrameHacksString(_local2);
  2296.             SHELL.updateListeners(SHELL.UPDATE_PLAYER, _local2);
  2297.         }
  2298.     }
  2299. };
  2300.  
  2301. ENGINE.updatePlayerEffects = function(player_ob) {
  2302.     var player_id = player_ob.player_id;
  2303.     if(player_ob.nameglow) {
  2304.         var _local8 = new DropShadowFilter(0, 0, player_ob.nameglow, 20, player_ob.nameglow_strength, player_ob.nameglow_strength, 15, 3);
  2305.         INTERFACE.nicknames_mc["p" + player_id].name_txt.filters = [_local8];
  2306.     } else {
  2307.         INTERFACE.nicknames_mc["p" + player_id].name_txt.filters = undefined;
  2308.     }
  2309.     if(player_ob.namecolor){
  2310.         var _loc2 = INTERFACE.nicknames_mc["p" + player_id].name_txt;
  2311.         if(player_ob.namecolor == "r") {
  2312.             INTERFACE.rainbowfy(_loc2);
  2313.         } else {
  2314.             _loc2.textColor = player_ob.namecolor;
  2315.         }
  2316.     } else {
  2317.         var _loc2 = INTERFACE.nicknames_mc["p" + player_id].name_txt;
  2318.         _loc2.textColor = 0x000000;
  2319.     }
  2320.     if(player_ob.ring_type != 0 && ENGINE.room_mc.load_mc["p" + player_id].art_mc.ringloaded != player_ob.ring_type) {
  2321.         ENGINE.room_mc.load_mc["p" + player_id].art_mc.ring.loadMovie((SHELL.getGlobalContentPath() + "penguin/rings/") + (player_ob.ring_type + ".swf"));
  2322.         ENGINE.room_mc.load_mc["p" + player_id].art_mc.ringloaded = player_ob.ring_type;
  2323.     }
  2324.     if(player_ob.ringcolor) {
  2325.         ENGINE.room_mc.load_mc["p" + player_id].art_mc.ring._visible = true;
  2326.         var _loc3:Color = new Color(ENGINE.room_mc.load_mc["p" + player_id].art_mc.ring);
  2327.         _loc3.setRGB(player_ob.ringcolor);
  2328.     }
  2329.     if(player_ob.sizex){
  2330.         ENGINE.room_mc.load_mc["p" + player_id]._xscale = int(player_ob.sizex);
  2331.     }
  2332.     if(player_ob.sizey){
  2333.         ENGINE.room_mc.load_mc["p" + player_id]._yscale = int(player_ob.sizey);
  2334.     }
  2335.     if(player_ob.transparency){
  2336.         ENGINE.room_mc.load_mc["p" + player_id]._alpha = int(player_ob.transparency);
  2337.     }
  2338.     if(player_ob.rotation){
  2339.         ENGINE.room_mc.load_mc["p" + player_id]._rotation = int(player_ob.rotation);
  2340.     }
  2341.     if(player_ob.rank != 0) {
  2342.         var _loc4 = INTERFACE.nicknames_mc["p" + player_id];
  2343.         _loc4.createTextField('title_mc', 4, _loc4.name_txt.x, _loc4.name_txt.y + 15, _loc4.name_txt.width, _loc4.name_txt.height);
  2344.         var _loc5 = _loc4.name_txt.getTextFormat();
  2345.         _loc5.color = 0x000000;
  2346.         _loc4.title_mc.setNewTextFormat(_loc5);
  2347.         switch(player_ob.rank) {
  2348.             case 1:
  2349.                 _loc4.title_mc.text = "Moderator";
  2350.                 break;
  2351.             case 2:
  2352.                 _loc4.title_mc.text = "Administrator";
  2353.                 break;
  2354.         }
  2355.         _loc4.title_mc.selectable = false;
  2356.     }
  2357.    
  2358. };
  2359.  
  2360. SHELL.handleSendPrivateMessage = function(obj) {
  2361.     obj.shift();
  2362.     var player_id = obj.shift();
  2363.     var message = obj.shift();
  2364.     message = SHELL.getBuddyNicknameById(player_id) + INTERFACE.message_separator + message + newline;
  2365.     if(ENGINE.private_messages[player_id]) {
  2366.         ENGINE.private_messages[player_id].messages += message;
  2367.         ENGINE.private_messages[player_id].new_messages += 1;
  2368.     } else {
  2369.         var chat = new Object();
  2370.         chat.messages = message;
  2371.         chat.new_messages = 1;
  2372.         ENGINE.private_messages[player_id] = chat;
  2373.     }
  2374.    
  2375.     if(INTERFACE.private_talk_id == player_id) {
  2376.         INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.text += message;
  2377.         INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.scroll = INTERFACE.WIDGETS.private_mc.art_mc.chat_txt.maxscroll;
  2378.         ENGINE.private_messages[INTERFACE.private_talk_id].new_messages = 0;
  2379.     } else {
  2380.         INTERFACE.updatePrivateMailIcon(INTERFACE.private_messages + 1);
  2381.     }
  2382. };
  2383.  
  2384. SHELL.handleCustomPrompt = function(obj) {
  2385.     obj.shift();
  2386.     INTERFACE.showPrompt("ok", obj[0]);
  2387. };
  2388.  
  2389. SHELL.updateRoomCrumbs = function(obj) {
  2390.     var _local1 = undefined;
  2391.     for(var _local1 in obj)
  2392.     {
  2393.         obj[_local1].path = SHELL.getGlobalContentPath() + "rooms/" + obj[_local1].path;
  2394.         obj[_local1].name = _local1;
  2395.         SHELL.room_crumbs[_local1] = obj[_local1];
  2396.         SHELL.GLOBAL_CRUMBS.room_crumbs[_local1] = obj[_local1];
  2397.     }
  2398. }
  2399.  
  2400. SHELL.handleCustomError = function(obj) {
  2401.     obj.shift();
  2402.     var windowSize = SHELL.window_size[WINDOW_SMALL];
  2403.     var localizedString = SHELL.getLocalizedString("Okay");
  2404.     var errorText = obj[0];
  2405.     var errorType = obj[1];
  2406.     var onClickOk = function () {
  2407.         SHELL.closeErrorPrompt();
  2408.     };
  2409.     SHELL.showErrorPrompt(windowSize, errorText, localizedString, onClickOk, errorType);
  2410. };
  2411.  
  2412. SHELL.MUSIC.playRadioByURL = function(url) {
  2413.         if (SHELL.MUSIC.isMuted || (url == SHELL.MUSIC.currentURL)) {
  2414.             return(false);
  2415.         }
  2416.         if (url.length) {
  2417.             SHELL.MUSIC.currentURL = url;
  2418.             SHELL.MUSIC.radioSound = new Sound();
  2419.             SHELL.MUSIC.radioSound.loadSound(url, true);
  2420.             SHELL.MUSIC.radioSound.onLoad = function(success) {
  2421.                 if(success) {
  2422.                     SHELL.MUSIC.stopMusic();
  2423.                     SHELL.MUSIC.radioSound.start();
  2424.                 } else {
  2425.                     return(false);
  2426.                 }
  2427.             }
  2428.             return(true);
  2429.         }
  2430.         SHELL.MUSIC.stopRadio();
  2431.         return(false);
  2432. };
  2433.  
  2434. SHELL.MUSIC.stopRadio = function() {
  2435.     SHELL.MUSIC.radioSound.stop();
  2436. };
  2437.  
  2438. SHELL.stopMusic = function() {
  2439.     SHELL.MUSIC.stopRadio();
  2440.     SHELL.MUSIC.stopMusic();
  2441. };
  2442.  
  2443. SHELL.startMusicById = function(musicID) {
  2444.     if(SHELL.is_radio_live) {
  2445.         SHELL.MUSIC.playRadioByURL(SHELL.radio_url + "mount.mp3");
  2446.     } else {
  2447.         var _local1 = SHELL.getMusicURL(musicID);
  2448.         SHELL.MUSIC.playMusicURL(_local1);
  2449.     }
  2450. };
  2451.  
  2452. AIRTOWER.addListener("spm", SHELL.handleSendPrivateMessage);
  2453. AIRTOWER.addListener("up", SHELL.handleSendUpdatePlayerEffects);
  2454. AIRTOWER.addListener("cprompt", SHELL.handleCustomPrompt);
  2455. AIRTOWER.addListener('cerror', SHELL.handleCustomError);
  2456. AIRTOWER.command_prefix = "!";
  2457. SHELL.addListener(SHELL.UPDATE_PLAYER, ENGINE.updatePlayerEffects);
  2458. SHELL.addListener(SHELL.UPDATE_BUDDY_LIST, INTERFACE.handleUpdateInvite);
  2459. SHELL.addListener(SHELL.ADD_PLAYER, INTERFACE.handleUpdateInvite);
  2460. SHELL.LOCAL_CRUMBS.lang.chat_restrict = "a-z A-Z z-A 0-9 !-} ?!.,;:`´-_/\\(){}=&$§\"=?@\'*+-ßäöüÄÖÜ#?<>\n\t";
  2461. SHELL.idle_timeout = 7200000;
  2462. SHELL.radio_url = "http://ambient.cpps.pw:8000/";
  2463. SHELL.asked_to_listen = false;
  2464. SHELL.is_radio_live = false;
  2465. SHELL.snowball_game = false;
  2466. SHELL.color_crumbs = new Array({name:"Red", color:"FF0000"},{name:"Indian Red", color:"B0171F"},{name:"Crimson", color:"DC143C"},{name:"Light Pink", color:"FFB6C1"},{name:"Pink", color:"FF82AB"},{name:"Violet", color:"EE82EE"},{name:"Lavender", color:"FFF0F5"},{name:"Violet Red", color:"FF3E96"},{name:"Hot Pink", color:"FF69B4"},{name:"Raspberry", color:"872657"},{name:"Deep Pink", color:"EE1289"},{name:"Maroon", color:"FF34B3"},{name:"Orchid", color:"DA70D6"},{name:"Thistle", color:"D8BFD8"},{name:"Plum", color:"DDA0DD"},{name:"Magenta", color:"FF00FF"},{name:"Purple", color:"800080"},{name:"Dark Violet", color:"9400D3"},{name:"Indigo", color:"4B0082"},{name:"Dark Purple", color:"551A8B"},{name:"Slate Blue", color:"483D8B"},{name:"Blue", color:"0000FF"},{name:"Navy", color:"000080"},{name:"Cobalt", color:"3D59AB"},{name:"Steel Blue", color:"CAE1FF"},{name:"Dodger Blue", color:"1C86EE"},{name:"Sky Blue", color:"87CEFA"},{name:"Peakcock", color:"33A1C9"},{name:"Cadet Blue", color:"98F5FF"},{name:"Turquoise", color:"00F5FF"},{name:"Teal", color:"008080"},{name:"Turquoise Blue", color:"00C78C"},{name:"Aqua", color:"66CDAA"},{name:"Spring Green", color:"00FF7F"},{name:"Mint", color:"BDFCC9"},{name:"Lime", color:"32CD32"},{name:"Dark Green", color:"006400"},{name:"Lawn Green", color:"7CFC00"},{name:"Green Yellow", color:"ADFF2F"},{name:"Dark Olive", color:"6B8E23"},{name:"Light Yellow", color:"FFFFE0"},{name:"Yellow", color:"FFFF00"},{name:"Banana", color:"E3CF57"},{name:"Gold", color:"FFD700"},{name:"Dark Gold", color:"CD950C"},{name:"Orange", color:"FFA500"},{name:"Dark Orange", color:"8B5A00"},{name:"Wheat", color:"F5DEB3"},{name:"Tan", color:"D2B48C"},{name:"Brick", color:"9C661F"},{name:"Chocolate", color:"8B4513"},{name:"White", color:"FFFFFF"},{name:"Light grey", color:"D3D3D3"},{name:"Grey", color:"808080"},{name:"Dark Grey", color:"696969"},{name:"Black", color:"010101"});
  2467. INTERFACE.DOCK.chat_mc.chat_input.maxChars = 120;
  2468. INTERFACE.private_messages = 0;
  2469. INTERFACE.link_expression = new RegExp("^(http[s]?:\\/\\/(www\\.)?|ftp:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_\\+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?", "g");
  2470. INTERFACE.EMOTE_MENU.loadMovie(SHELL.getClientPath() + "emotes.swf");
  2471. INTERFACE.emote_pages = "2";
  2472. INTERFACE.private_chat_created = false;
  2473. ENGINE.private_messages = {};
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top