Frame 1
stop();
MovieClip.prototype.gotoAndStopOld = MovieClip.prototype.gotoAndStop;
MovieClip.prototype.gotoAndStop = function (frame) {
var _local1 = frame;
if (typeof(_local1) == "string") {
this._currentlabel = _local1;
}
this.gotoAndStopOld(_local1);
};
MovieClip.prototype.gotoAndPlayOld = MovieClip.prototype.gotoAndPlay;
MovieClip.prototype.gotoAndPlay = function (frame) {
var _local1 = frame;
if (typeof(_local1) == "string") {
this._currentlabel = _local1;
}
this.gotoAndPlayOld(_local1);
};
Instance of Symbol 52 MovieClip in Frame 1
//component parameters
onClipEvent (initialize) {
xin_motion_val = "Toward";
xin_alphatype_val = "No";
xout_motion_val = "None";
xout_alphatype_val = "No";
perc_req_val = 100;
show_perc_val = "Yes";
slow_factor_val = 0.2;
init_action_val = "_root.stop();";
play_action_val = "_root.play();";
}
Frame 2
stop();
stopAllSounds();
Frame 3
stop();
stopAllSounds();
Instance of Symbol 245 MovieClip in Frame 3
//component parameters
onClipEvent (initialize) {
num_main_characters = 13;
num_ammo_suppliers = 1;
play_area_width = 600;
play_area_height = 490;
horizon = 230;
moon_hit_points = [];
moon_hit_points[0] = 20;
moon_hit_points[1] = 30;
moon_hit_points[2] = 40;
miss_hit_points = [];
miss_hit_points[0] = -5;
miss_hit_points[1] = -5;
miss_hit_points[2] = -5;
new_ammo_limit = 10;
num_hits_new_characters = 3;
num_initial_characters = 6;
num_new_characters = 2;
new_character_delay = 100;
delay_factor = 1.05;
character_average_speed = 3;
speed_deviation = 0.5;
speed_increase = 0.1;
no_moon_buffer = 100;
}
Frame 4
if (this._mc_score.text <= 100) {
this._mc_msg.text = "What Are You Blind? Can't Even Hit a Boob Ha!";
this._msg2.text = "Get a high score of over 400 for a special prize!";
} else if ((this._mc_score.text > 101) && (this._mc_score.text < 200)) {
this._mc_msg.text = "You're a Cumshot Amateur, You need practice.";
this._msg2.text = "Get a high score of over 400 for a special prize!";
} else if ((this._mc_score.text > 201) && (this._mc_score.text < 300)) {
this._mc_msg.text = "Your Cumshot skills are average but not bad!";
this._msg2.text = "Get a high score of over 400 for a special prize!";
} else if ((this._mc_score.text > 301) && (this._mc_score.text < 349)) {
this._mc_msg.text = "You're a Cumshot Pro! Way to go Man!";
this._msg2.text = "Get a high score of over 400 for a special prize!";
} else if ((this._mc_score.text >= 350) && (this._mc_score.text < 600)) {
this._mc_msg.text = "You're a Cum Blast Master! No Breasts are Safe from Your Sperm!";
this._msg2.text = "";
this._win.gotoAndPlay(2);
} else if (this._mc_score.text >= 600) {
this._mc_msg.text = "You've Cheated! Congratulations!";
this._msg2.text = "You couldn't even shoot your cum on tits without cheating!";
this._win.gotoAndPlay(2);
}
var movie1 = "http://www.fuckherright.com/trailers/tobi/fhr_tobi_trailer_ipod.swf";
var movie2 = "http://www.fuckherright.com/tour4/episodes/02/trailers/ashlynn_brianna.swf";
var movie3 = "http://www.fuckherright.com/tour4/episodes/03/trailers/kayla.swf";
var movie4 = "http://www.fuckherright.com/tour4/episodes/01/trailers/amberrayne.swf";
var movie5 = "http://www.fuckherright.com/tour4/episodes/04/trailers/payton.swf";
var movie6 = "http://www.fuckherright.com/tour4/episodes/05/trailers/kimberly_tif.swf";
var movie7 = "http://www.fuckherright.com/tour4/episodes/06/trailers/vernonikaraquel.swf";
var movie8 = "http://www.fuckherright.com/tour4/episodes/07/trailers/fhr_coco_ikal_trailer.swf";
var movie9 = "http://www.fuckherright.com/trailers/alissa_coco/fhr_melmckz_trailer.swf";
var movie10 = "http://www.fuckherright.com/trailers/jordan_paige/fhr_jordanpaige_trailer_ipod.swf";
var movie11 = "http://www.fuckherright.com/trailers/sandy/fhr_sandy_trailer_ipod.swf";
var movie12 = "http://www.fuckherright.com/trailers/scarlettjollie/scarlettjollie.swf";
stop();
stopAllSounds();
Symbol 34 MovieClip [flying_paper] Frame 125
this.removeMovieClip();
Symbol 52 MovieClip Frame 1
stop();
Instance of Symbol 51 MovieClip "swfloader" in Symbol 52 MovieClip Frame 1
onClipEvent (load) {
function strip_spaces(str) {
var _local2 = str;
var _local3 = new String("");
var _local1 = 0;
while (_local1 < _local2.length) {
if ((_local2.charAt(_local1) != " ") && (_local2.charAt(_local1) != ";")) {
_local3 = _local3 + _local2.charAt(_local1);
}
_local1++;
}
return(_local3);
}
function simple_script(action, timeline) {
action = strip_spaces(action);
if ((action.length > 0) && ((action.indexOf(")") != -1) && (action.indexOf("(") != -1))) {
var _local3 = action.split(".");
var timeline_action = _local3.pop();
var first_paren = timeline_action.indexOf("(");
var second_paren = timeline_action.indexOf(")");
var timeline_function = timeline_action.substr(0, first_paren);
var function_parameter = timeline_action.substr(first_paren + 1, second_paren - (first_paren + 1));
var _local2 = timeline;
var _local1 = 0;
while (_local1 < _local3.length) {
_local2 = _local2[_local3[_local1]];
_local1++;
}
if (function_parameter.indexOf("\"") != -1) {
function_parameter = function_parameter.substr(1, function_parameter.length - 2);
}
_local2[timeline_function](function_parameter);
}
}
function execute_action() {
var _local1 = _parent;
unloaded = true;
_local1._visible = false;
simple_script(_local1.play_action_val, _local1);
}
_parent.anim.gotoAndStop(1);
simple_script(_parent.init_action_val, _parent);
var done = false;
var unloaded = false;
var orig_x = _parent._x;
var orig_y = _parent._y;
var dist_x = (_parent._x + ((_parent._width * 2) / 3));
var dist_y = (_parent._y + ((_parent._height * 2) / 3));
var orig_a = _parent._alpha;
var accel_jump = 0.75;
var slow_factor = _parent.slow_factor_val;
var speed_factor = (1 + (slow_factor / (1 - slow_factor)));
var ready = false;
var perc_fadeout = 0;
_parent.perc._x = _parent.anim._x - (_parent.perc._width / 2);
_parent.perc._y = _parent.anim._y - (_parent.perc._height / 2);
if (slow_factor < 1) {
switch (_parent.xin_motion_val) {
case "Up" :
_parent._y = orig_y + (dist_y * 2);
break;
case "Down" :
_parent._y = orig_y - (dist_y * 2);
break;
case "Left" :
_parent._x = orig_x + (dist_x * 2);
break;
case "Right" :
_parent._x = orig_x - (dist_x * 2);
break;
case "Toward" :
_parent._xscale = (_parent._yscale = 1);
break;
case "None" :
_parent._alpha = 0;
}
} else {
ready = true;
}
}
onClipEvent (enterFrame) {
if (unloaded) {
return(undefined);
}
if (!ready) {
switch (_parent.xin_motion_val) {
case "Toward" :
_parent._xscale = _parent._xscale + ((100 - _parent._xscale) * slow_factor);
_parent._yscale = _parent._xscale;
if (_parent.xin_alphatype_val == "Yes") {
_parent._alpha = Math.round((orig_a / 100) * Math.max(0, Math.min(_parent._xscale, 100)));
}
if (Math.abs(100 - _parent._xscale) < 0.5) {
_parent._xscale = (_parent._yscale = 100);
_parent._alpha = orig_a;
ready = true;
}
break;
default :
_parent._x = _parent._x + ((orig_x - _parent._x) * slow_factor);
_parent._y = _parent._y + ((orig_y - _parent._y) * slow_factor);
if (_parent.xin_alphatype_val == "Yes") {
if (_parent.xin_motion_val == "None") {
_parent._alpha = _parent._alpha + ((orig_a - _parent._alpha) * slow_factor);
} else if (Math.abs(orig_x - _parent._x) > Math.abs(orig_y - _parent._y)) {
_parent._alpha = 100 - Math.round(((orig_a / 100) * (Math.min(dist_x, Math.abs(_parent._x - orig_x)) / dist_x)) * 100);
} else {
_parent._alpha = 100 - Math.round(((orig_a / 100) * (Math.min(dist_y, Math.abs(_parent._y - orig_y)) / dist_y)) * 100);
}
}
if (!(((_parent.xin_motion_val == "None") && (Math.abs(_parent._alpha - orig_a) <= 1)) || (((_parent.xin_motion_val != "None") && (Math.abs(_parent._y - orig_y) < 0.5)) && (Math.abs(_parent._x - orig_x) < 0.5)))) {
break;
}
_parent._x = orig_x;
_parent._y = orig_y;
_parent._alpha = orig_a;
ready = true;
}
} else if (!done) {
var rl = _root.getBytesLoaded();
var rt = (_root.getBytesTotal() * (_parent.perc_req_val / 100));
if ((rl > 10) && (rt > 10)) {
rl = Math.min(rl, rt);
var new_frame = (_parent.anim._currentframe + Math.ceil(((_parent.anim._totalframes * (rl / rt)) - _parent.anim._currentframe) / 4));
new_frame = Math.max(1, new_frame);
if (_parent.show_perc_val == "Yes") {
_parent.perc.text = Math.round(((new_frame - 1) / (_parent.anim._totalframes - 1)) * 100) + " %";
}
if (new_frame != _parent.anim._currentframe) {
_parent.anim.gotoAndStop(new_frame);
}
if ((_parent.anim._totalframes == _parent.anim._currentframe) && (rl >= rt)) {
done = true;
}
}
} else if (slow_factor < 1) {
switch (_parent.xout_motion_val) {
case "Down" :
if (_parent._y <= orig_y) {
_parent._y = orig_y + accel_jump;
}
_parent._y = orig_y + (Math.abs(_parent._y - orig_y) * speed_factor);
perc_fadeout = Math.round((Math.min(dist_y, Math.abs(_parent._y - orig_y)) / dist_y) * 100);
if (_parent._y > (orig_y + (dist_y * 2))) {
execute_action();
}
break;
case "Up" :
if (_parent._y >= orig_y) {
_parent._y = orig_y - accel_jump;
}
_parent._y = orig_y - (Math.abs(_parent._y - orig_y) * speed_factor);
perc_fadeout = Math.round((Math.min(dist_y, Math.abs(_parent._y - orig_y)) / dist_y) * 100);
if (_parent._y < (orig_y - (dist_y * 2))) {
execute_action();
}
break;
case "Right" :
if (_parent._x <= orig_x) {
_parent._x = orig_x + accel_jump;
}
_parent._x = orig_x + (Math.abs(_parent._x - orig_x) * speed_factor);
perc_fadeout = Math.round((Math.min(dist_x, Math.abs(_parent._x - orig_x)) / dist_x) * 100);
if (_parent._x > (orig_x + (dist_x * 2))) {
execute_action();
}
break;
case "Left" :
if (_parent._x >= orig_x) {
_parent._x = orig_x - accel_jump;
}
_parent._x = orig_x - (Math.abs(_parent._x - orig_x) * speed_factor);
perc_fadeout = Math.round((Math.min(dist_x, Math.abs(_parent._x - orig_x)) / dist_x) * 100);
if (_parent._x < (orig_x - (dist_x * 2))) {
execute_action();
}
break;
case "Away" :
if ((_parent._xscale >= 100) || (_parent._yscale >= 100)) {
_parent._xscale = (_parent._yscale = 100 - accel_jump);
}
_parent._xscale = (_parent._yscale = Math.max(0.5, 100 - ((100 - _parent._yscale) * speed_factor)));
perc_fadeout = 100 - Math.round(Math.max(0, Math.min(_parent._xscale, 100)));
if (_parent._xscale < 1) {
execute_action();
}
break;
default :
perc_fadeout = perc_fadeout + ((100 - perc_fadeout) * slow_factor);
if (Math.abs(perc_fadeout - 100) > 1) {
break;
}
execute_action();
}
if (!(_parent.xout_alphatype_val === "Yes")) {
} else {
_parent._alpha = (orig_a / 100) * (100 - perc_fadeout);
}
} else {
execute_action();
}
}
Symbol 66 MovieClip Frame 1
stopAllSounds();
Symbol 66 MovieClip Frame 39
stopAllSounds();
Symbol 67 MovieClip [mc11] Frame 1
stop();
Symbol 77 MovieClip Frame 1
stopAllSounds();
Symbol 77 MovieClip Frame 39
stopAllSounds();
Symbol 78 MovieClip [mc12] Frame 1
stop();
Symbol 88 MovieClip Frame 1
stopAllSounds();
Symbol 88 MovieClip Frame 39
stopAllSounds();
Symbol 89 MovieClip [mc7] Frame 1
stop();
Symbol 99 MovieClip Frame 1
stopAllSounds();
Symbol 99 MovieClip Frame 39
stopAllSounds();
Symbol 100 MovieClip [mc0] Frame 1
stop();
Symbol 107 MovieClip [as0] Frame 1
stop();
Symbol 117 MovieClip Frame 1
stopAllSounds();
Symbol 117 MovieClip Frame 39
stopAllSounds();
Symbol 118 MovieClip [mc1] Frame 1
stop();
Symbol 125 MovieClip [mc5] Frame 1
stop();
Symbol 135 MovieClip Frame 1
stopAllSounds();
Symbol 135 MovieClip Frame 39
stopAllSounds();
Symbol 136 MovieClip [mc8] Frame 1
stop();
Symbol 143 MovieClip [mc9] Frame 1
stop();
Symbol 153 MovieClip Frame 1
stopAllSounds();
Symbol 153 MovieClip Frame 39
stopAllSounds();
Symbol 154 MovieClip [mc4] Frame 1
stop();
Symbol 161 MovieClip [mc6] Frame 1
stop();
Symbol 171 MovieClip Frame 1
stopAllSounds();
Symbol 171 MovieClip Frame 39
stopAllSounds();
Symbol 172 MovieClip [mc3] Frame 1
stop();
Symbol 177 Button
on (release) {
play();
}
Symbol 184 Button
on (release) {
_root.score = "600";
_root.gotoAndStop("Lose");
}
Symbol 192 MovieClip Frame 1
this._visible = false;
Symbol 230 MovieClip Frame 1
stop();
Symbol 242 MovieClip Frame 1
stop();
Symbol 245 MovieClip Frame 1
var combo_kd:KeyDetection = new KeyDetection();
combo_kd.addCombination("shift_s", 16, 83);
var listener_obj:Object = new Object();
listener_obj.onKeyCombination = function (name:String) {
trace(name + " Combination executed!");
this.score = 400;
trace(this.score);
_root.gotoAndStop("Lose");
};
combo_kd.addListener(listener_obj);
var keyListener_obj:Object = new Object();
MovieClip.prototype.flipX = function () {
this._xscale = this._xscale * -1;
};
MovieClip.prototype.hasLabel = function (label) {
var _local1 = this;
_local1.duplicateMovieClip("__TEMP__", 97324);
_local1._parent.__TEMP__._x = -1000;
_local1._parent.__TEMP__._y = -1000;
_local1._parent.__TEMP__._visible = false;
_local1._parent.__TEMP__._width = 1;
_local1._parent.__TEMP__._height = 1;
var _local3 = new Sound(_local1._parent.__TEMP__);
_local3.setVolume(0);
_local1._parent.__TEMP__.gotoAndStop(label);
var frame_i = _local1._parent.__TEMP__._currentframe;
_local1._parent.__TEMP__.nextFrame();
_local1._parent.__TEMP__.gotoAndStop(label);
var frame_f = _local1._parent.__TEMP__._currentframe;
var _local2 = frame_i == frame_f;
_local1._parent.__TEMP__.removeMovieClip();
return(_local2);
};
MovieClip.prototype.onLastFrame = function () {
return(this._currentframe == this._totalframes);
};
Array.prototype.swap = function (a, b) {
var _local1 = this;
var _local2 = _local1[a];
_local1[a] = _local1[b];
_local1[b] = _local2;
};
Array.prototype.shuffle = function () {
var _local2 = this;
var _local1 = 0;
while (_local1 < _local2.length) {
_local2.swap(_local1, Math.randi(0, _local2.length));
_local1++;
}
};
Array.prototype.rande = function () {
return(this[Math.randi(0, this.length)]);
};
Array.prototype.toNumber = function () {
var _local2 = this;
var _local3 = new Array();
var _local1 = 0;
while (_local1 < _local2.length) {
_local3[_local1] = Number(_local2[_local1]);
_local1++;
}
return(_local3);
};
Array.prototype.complement = function (U) {
var comp = new Array();
var _local2 = 0;
while (_local2 < U.length) {
var _local3 = true;
var _local1 = 0;
while (_local1 < this.length) {
if (U[_local2] == this[_local1]) {
_local3 = false;
}
_local1++;
}
if (_local3) {
comp.push(U[_local2]);
}
_local2++;
}
return(comp);
};
Math.randf = function (a, b) {
return((Math.random() * (b - a)) + a);
};
Math.randi = function (a, b) {
return(Math.floor(Math.randf(a, b)));
};
Math.sign = function (a) {
if (a > 0) {
return(1);
}
if (a < 0) {
return(-1);
}
return(0);
};
ShootTheMoonGame = function () {
this.initialize();
};
ShootTheMoonGame.prototype.num_main_characters = Number(num_main_characters);
ShootTheMoonGame.prototype.num_ammo_suppliers = Number(num_ammo_suppliers);
ShootTheMoonGame.prototype.play_area_width = Number(play_area_width);
ShootTheMoonGame.prototype.play_area_height = Number(play_area_height);
ShootTheMoonGame.prototype.horizon = Number(horizon);
ShootTheMoonGame.prototype.moon_hit_points = moon_hit_points.toNumber();
ShootTheMoonGame.prototype.miss_hit_points = miss_hit_points.toNumber();
ShootTheMoonGame.prototype.new_ammo_limit = Number(new_ammo_limit);
ShootTheMoonGame.prototype.num_hits_new_characters = Number(num_hits_new_characters);
ShootTheMoonGame.prototype.num_initial_characters = Number(num_initial_characters);
ShootTheMoonGame.prototype.num_new_characters = Number(num_new_characters);
ShootTheMoonGame.prototype.new_character_delay = Number(new_character_delay);
ShootTheMoonGame.prototype.delay_factor = Number(delay_factor);
ShootTheMoonGame.prototype.character_average_speed = Number(character_average_speed);
ShootTheMoonGame.prototype.speed_deviation = Number(speed_deviation);
ShootTheMoonGame.prototype.speed_increase = Number(speed_increase);
ShootTheMoonGame.prototype.no_moon_buffer = Number(no_moon_buffer);
ShootTheMoonGame.prototype.timeline = this;
Object.prototype.SECOND = 1000;
ShootTheMoonGame.prototype.initialize = function () {
this.initialize_variables();
this.initialize_graphics();
};
ShootTheMoonGame.prototype.initialize_variables = function () {
var _local1 = this;
_local1.spit_wads = new Array();
_local1.main_characters = new Array();
_local1.depth = 0;
_local1.possible_new_characters = _local1.num_initial_characters;
_local1.num_moon_hits = 0;
_local1.current_frame = -1;
_local1.shoot_time_start = getTimer();
_local1.shoot_time = 20 * SECOND;
_local1.score = 0;
};
ShootTheMoonGame.prototype.initialize_graphics = function () {
};
ShootTheMoonGame.prototype.action = function () {
var _local1 = this;
_local1.update_game_properties();
_local1.render_hand_weapon();
_local1.check_spit_wads();
_local1.check_add_new_character();
_local1.animate_all_characters();
_local1.check_user_shoot();
};
ShootTheMoonGame.prototype.update_game_properties = function () {
var _local1 = this;
_local1.current_frame++;
_local1.timeline.score = _local1.score;
_root.score = _local1.score;
_local1.timeline.ammo_amount = _local1.timeline.ammo_display._totalframes - _local1.timeline.ammo_display._currentframe;
_root.score = _local1.score;
};
ShootTheMoonGame.prototype.render_hand_weapon = function () {
var _local1 = this;
var _local2 = _root;
var gotoX = _local2._xmouse;
var gotoY = ((((_local2._ymouse - _local1.play_area_height) + 150) / 5) + _local1.play_area_height);
_local1.timeline.hand_weapon._x = _local1.timeline.hand_weapon._x + ((gotoX - _local1.timeline.hand_weapon._x) / 2.5);
_local1.timeline.hand_weapon._y = _local1.timeline.hand_weapon._y + ((gotoY - _local1.timeline.hand_weapon._y) / 2.5);
_local1.timeline.cross_hairs._x = _local1.timeline.hand_weapon._x;
var _local3 = _local1.play_area_height - _local1.horizon;
if (_local2._ymouse < (_local1.horizon + (0.333333333333333 * _local3))) {
_local1.timeline.hand_weapon.gotoAndStop("High");
_local1.timeline.cross_hairs._y = _local1.timeline.hand_weapon._y - 210;
} else if (_local2._ymouse > (_local1.horizon + (0.666666666666667 * _local3))) {
_local1.timeline.hand_weapon.gotoAndStop("Low");
_local1.timeline.cross_hairs._y = _local1.timeline.hand_weapon._y - 160;
} else {
_local1.timeline.hand_weapon.gotoAndStop("Medium");
_local1.timeline.cross_hairs._y = _local1.timeline.hand_weapon._y - 190;
}
};
ShootTheMoonGame.prototype.check_spit_wads = function () {
var _local3 = this;
var _local1 = 0;
while (_local1 < _local3.spit_wads.length) {
var _local2 = _local3.spit_wads[_local1];
_local3.check_wad_hit_miss(_local2);
_local1++;
}
};
ShootTheMoonGame.prototype.check_wad_hit_miss = function (wad_mc) {
var _local1 = wad_mc;
var _local2 = ((_local1.depth == "High") ? 1 : (((_local1.depth == "Medium") ? 2 : 3)));
if (_local1._currentframe >= Math.floor(_local1._totalframes / _local2)) {
this.check_character_spit_hit(_local1);
if (_local1._currentframe == _local1._totalframes) {
this.remove_wad(_local1);
}
}
};
ShootTheMoonGame.prototype.check_user_shoot = function () {
var _local1 = this;
if ((getTimer() - _local1.shoot_time_start) > _local1.shoot_time) {
_local1.shoot_time_start = getTimer();
_local1.timeline.ammo_display.nextFrame();
if (_local1.timeline.ammo_display._totalframes == _local1.timeline.ammo_display._currentframe) {
_root.gotoAndStop("Lose");
}
}
};
ShootTheMoonGame.prototype.check_character_spit_hit = function (wad_mc) {
var _local1 = wad_mc;
var _local3 = ((_local1.depth == "High") ? "background" : (((_local1.depth == "Medium") ? "foreground" : "frontground")));
var _local2 = {x:_local1.hit_point._x, y:_local1.hit_point._y};
_local1.localToGlobal(_local2);
if (this.timeline.scene[_local3].hitTest(_local2.x, _local2.y, true)) {
this.find_hit_character(_local2, _local3);
this.remove_wad(_local1);
}
};
ShootTheMoonGame.prototype.find_hit_character = function (wad_point, depth) {
var _local2 = this;
var _local3 = depth;
for (var j in _local2.timeline.scene[_local3]) {
var _local1 = _local2.timeline.scene[_local3][j];
if (_local1.hitTest(wad_point.x, wad_point.y, true)) {
if (_local1._currentlabel == "Mooning") {
_local2.scored_moon_hit(_local1);
} else if (_local1._currentlabel.indexOf("Walk") != -1) {
_local2.scored_miss_hit(_local1);
}
}
}
};
ShootTheMoonGame.prototype.scored_moon_hit = function (char_mc) {
var _local1 = this;
char_mc.gotoAndStop("Moon Hit");
_local1.num_moon_hits++;
if ((_local1.num_moon_hits % _local1.num_hits_new_characters) == 0) {
_local1.possible_new_characters = _local1.possible_new_characters + _local1.num_new_characters;
if (_local1.possible_new_characters > _local1.num_main_characters) {
_local1.possible_new_characters = _local1.num_main_characters;
}
_local1.character_average_speed = _local1.character_average_speed + _local1.speed_increase;
_local1.new_character_delay = Math.floor(_local1.new_character_delay / _local1.delay_factor);
}
_local1.score = _local1.score + _local1.moon_hit_points[char_mc.depth];
};
ShootTheMoonGame.prototype.scored_miss_hit = function (char_mc) {
var _local1 = char_mc;
_local1.gotoAndStop("Miss Hit");
if (_local1._name == "ammo_supplier") {
if (_local1._parent.flying_paper != undefined) {
return;
}
var _local2 = _local1._parent.flying_paper;
_local2._x = _local1._x;
_local2._y = _local1._y;
_local2._xscale = Math.abs(_local1._xscale);
_local2._yscale = _local1._yscale;
}
this.score = this.score + this.miss_hit_points[_local1.depth];
};
ShootTheMoonGame.prototype.remove_wad = function (wad_mc) {
var _local2 = this;
var _local3 = wad_mc;
var _local1 = 0;
while (_local1 < _local2.spit_wads.length) {
if (_local2.spit_wads[_local1] == _local3) {
_local2.spit_wads.splice(_local1, 1);
_local3.removeMovieClip();
}
_local1++;
}
if (_local2.timeline.ammo_display._totalframes == _local2.timeline.ammo_display._currentframe) {
_root.gotoAndStop("Lose");
}
};
ShootTheMoonGame.prototype.check_add_new_character = function () {
this.check_add_main_character();
this.check_add_supplier_character();
};
ShootTheMoonGame.prototype.check_add_main_character = function () {
var _local1 = this;
if ((_local1.current_frame % _local1.new_character_delay) == 0) {
_local1.add_main_character();
}
};
ShootTheMoonGame.prototype.check_add_supplier_character = function () {
var _local1 = this;
if (((_local1.timeline.ammo_display._totalframes - _local1.timeline.ammo_display._currentframe) <= _local1.new_ammo_limit) && (_local1.ammo_supplier_mc == undefined)) {
var _local3 = "as" + Math.randi(0, _local1.num_ammo_suppliers);
var _local2 = ["frontground", "foreground", "background"].rande();
var side = ["left", "right"].rande();
_local1.add_character(_local3, "ammo_supplier", _local2, side);
_local1.ammo_supplier_mc = _local1.timeline.scene[_local2].ammo_supplier;
}
};
ShootTheMoonGame.prototype.add_main_character = function () {
var _local1 = this.calculate_linkage_name();
var _local2 = "main" + Math.randi(0, 10000);
var _local3 = ["frontground", "foreground", "background"].rande();
if (_local1 == "mc7") {
var side = "right";
} else {
var side = ["left", "right"].rande();
}
this.add_character(_local1, _local2, _local3, side);
};
ShootTheMoonGame.prototype.calculate_linkage_name = function () {
var _local1 = this;
var linkage_set = new Array();
var j = 0;
while (j < _local1.num_main_characters) {
linkage_set[j] = linkage_set[j] + ("mc" + j);
j++;
}
var _local2 = new Array();
for (var j in _local1.timeline.scene) {
if (typeof(_local1.timeline.scene[j]) == "movieclip") {
for (var _local3 in _local1.timeline.scene[j]) {
if (_local1.timeline.scene[j][_local3].character != undefined) {
_local2.push(_local1.timeline.scene[j][_local3].character);
}
}
}
}
var possibilities = _local2.complement(linkage_set);
return(possibilities.rande());
};
ShootTheMoonGame.prototype.add_character = function (linkage_name, new_name, perspective, side) {
var _local2 = this;
var _local3 = perspective;
_local2.timeline.scene[_local3].attachMovie(linkage_name, new_name, _local2.depth++);
var _local1 = _local2.timeline.scene[_local3][new_name];
_local1._x = ((side == "left") ? 0 : (_local2.timeline.scene[_local3]._width));
if (_local3 == "foreground") {
_local1._xscale = _local1._xscale - 25;
_local1._yscale = _local1._yscale - 25;
} else if (_local3 == "background") {
_local1._xscale = _local1._xscale - 50;
_local1._yscale = _local1._yscale - 50;
}
if (side == "left") {
_local1.flipX();
}
if (_local1.hasLabel("Special Walking")) {
_local1.gotoAndStop("Special Walking");
} else {
_local1.gotoAndStop("Walking");
}
_local1.speed = Math.randf(_local2.character_average_speed - _local2.speed_deviation, _local2.character_average_speed + _local2.speed_deviation);
_local1.speed = _local1.speed * ((side == "right") ? -1 : 1);
if (_local3 == "background") {
_local1.speed = _local1.speed * 0.7;
}
if (_local1.hasLabel("Mooning")) {
_local1.mooning_point = Math.randf(_local2.no_moon_buffer, _local2.play_area_width - _local2.no_moon_buffer);
}
if (_local1._name != "ammo_supplier") {
_local2.main_characters.push(_local1);
}
if (_local3 == "frontground") {
_local1.depth = 0;
}
if (_local3 == "foreground") {
_local1.depth = 1;
}
if (_local3 == "background") {
_local1.depth = 2;
}
_local1.character = linkage_name;
};
ShootTheMoonGame.prototype.animate_all_characters = function () {
this.animate_main_characters();
this.animate_ammo_suppliers();
};
ShootTheMoonGame.prototype.animate_main_characters = function () {
var _local3 = this;
var _local1 = 0;
while (_local1 < _local3.main_characters.length) {
var _local2 = _local3.main_characters[_local1];
_local3.animate_character(_local2);
_local1++;
}
};
ShootTheMoonGame.prototype.animate_ammo_suppliers = function () {
var _local1 = this;
if (_local1.ammo_supplier_mc != undefined) {
_local1.animate_character(_local1.ammo_supplier_mc);
}
};
ShootTheMoonGame.prototype.animate_character = function (_mc) {
var _local1 = _mc;
var _local2 = this;
if (_local1._currentlabel.indexOf("Walk") != -1) {
_local2.animate_walking_character(_local1);
} else if (_local1._currentlabel == "Miss Hit") {
_local2.check_character_miss_hit_done(_local1);
if (_local1.continuous == true) {
_local2.animate_walking_character(_local1);
}
} else if (_local1._currentlabel == "Mooning") {
_local2.check_character_mooning_done(_local1);
if (_local1.continuous == true) {
_local2.animate_walking_character(_local1);
}
} else if (_local1._currentlabel == "Moon Hit") {
_local2.check_character_moon_hit_done(_local1);
if ((_local1.continuous == true) && (_local1.stopOnMoonHit == false)) {
_local2.animate_walking_character(_local1);
}
}
};
ShootTheMoonGame.prototype.animate_walking_character = function (_mc) {
var _local1 = _mc;
var _local2 = this;
if (((_local1._currentlabel == "Walking") || (_local1._currentlabel == "Walk After Hit")) || (_local1.continuous == true)) {
_local2.walk_character(_local1);
} else if (((_local1._currentlabel == "Special Walking") || (_local1._currentlabel == "Special Walk After Hit")) || (_local1.continuous == true)) {
_local2.special_walk_character(_local1);
}
_local2.check_character_moon(_local1);
_local2.check_character_off_screen(_local1);
};
ShootTheMoonGame.prototype.walk_character = function (_mc) {
_mc._x = _mc._x + _mc.speed;
};
ShootTheMoonGame.prototype.special_walk_character = function (_mc) {
var _local1 = _mc;
_local1.old_width = _local1.width;
_local1.width = _local1._width;
if (_local1.speed < 0) {
if (_local1.old_width > _local1.width) {
_local1._x = _local1._x - (_local1.old_width - _local1.width);
_local1.distance_traveled = _local1.distance_traveled + (_local1.old_width - _local1.width);
}
if (_local1._mc._currentframe == 1) {
_local1._x = _local1._x - _local1.distance_traveled;
_local1.distance_traveled = 0;
}
} else {
if (_local1.old_width > _local1.width) {
_local1._x = _local1._x + (_local1.old_width - _local1.width);
_local1.distance_traveled = _local1.distance_traveled + (_local1.old_width - _local1.width);
}
if (_local1._mc._currentframe == 1) {
_local1._x = _local1._x + _local1.distance_traveled;
_local1.distance_traveled = 0;
}
}
};
ShootTheMoonGame.prototype.check_character_moon = function (_mc) {
var _local1 = _mc;
if ((_local1.mooning_point == undefined) || (_local1._currentlabel == "Mooning")) {
} else if ((Math.abs(_local1.mooning_point - _local1._x) < Math.abs(_local1.speed)) && (!_local1.hasMooned)) {
_local1.hasMooned = true;
_local1.gotoAndStop("Mooning");
}
};
ShootTheMoonGame.prototype.check_character_off_screen = function (_mc) {
var _local1 = _mc;
if ((((_local1._x + _local1._width) < 0) && (_local1.speed < 0)) || (((_local1._x - _local1._width) > this.play_area_width) && (_local1.speed > 0))) {
this.remove_character(_local1);
}
};
ShootTheMoonGame.prototype.remove_character = function (_mc) {
var _local2 = this;
var _local3 = _mc;
if (_local3._name == "ammo_supplier") {
_local2.ammo_supplier_mc = undefined;
_local3.removeMovieClip();
} else {
var _local1 = 0;
while (_local1 < _local2.main_characters.length) {
if (_local2.main_characters[_local1] == _local3) {
_local2.main_characters.splice(_local1, 1);
_local3.removeMovieClip();
return;
}
_local1++;
}
}
};
ShootTheMoonGame.prototype.check_character_miss_hit_done = function (_mc) {
var _local1 = _mc;
if (_local1._mc.onLastFrame()) {
if (_local1.hasLabel("Special Walking")) {
_local1.gotoAndStop("Special Walk After Hit");
} else {
_local1.gotoAndStop("Walk After Hit");
}
_local1._x = _local1._x + _local1.speed;
}
};
ShootTheMoonGame.prototype.check_character_mooning_done = function (_mc) {
var _local1 = _mc;
if (_local1._mc.onLastFrame()) {
if (_local1.hasLabel("Special Walking")) {
_local1.gotoAndStop("Special Walking");
} else {
_local1.gotoAndStop("Walking");
}
_local1._x = _local1._x + _local1.speed;
}
};
ShootTheMoonGame.prototype.check_character_moon_hit_done = function (_mc) {
var _local1 = _mc;
if (_local1._mc.onLastFrame()) {
if (_local1.hasLabel("Special Walking")) {
_local1.gotoAndStop("Special Walk After Hit");
} else {
_local1.gotoAndStop("Walk After Hit");
}
_local1._x = _local1._x + _local1.speed;
}
};
ShootTheMoonGame.prototype.mouse_down = function () {
var _local1 = this;
if (_local1.ammo_supplier_mc._parent.flying_paper.hitTest(_root._xmouse, _root._ymouse, true)) {
_local1.timeline.ammo_display.gotoAndStop(1);
_local1.ammo_supplier_mc._parent.flying_paper.removeMovieClip();
} else {
_local1.create_spit_wad();
_local1.timeline.ammo_display.nextFrame();
}
_local1.shoot_time_start = getTimer();
};
ShootTheMoonGame.prototype.create_spit_wad = function () {
var _local1 = this;
var _local3 = "wad" + Math.randi(0, 1000);
_local1.timeline.attachMovie("spit_wad", _local3, _local1.depth++);
var _local2 = _local1.timeline[_local3];
_local2._x = _local1.timeline.hand_weapon._x;
_local2._y = _local1.timeline.hand_weapon.getBounds(_local1.timeline).yMin;
_local2.depth = _local1.timeline.hand_weapon._currentlabel;
_local1.spit_wads.push(_local2);
};
ShootTheMoonGame.prototype.play_selected_sound = function (sound_name) {
var _local1 = new Sound();
_local1.attachSound(sound_name);
_local1.start(0, 1);
};
_root._quality = "MEDIUM";
this._x = 0;
this._y = 0;
game = new ShootTheMoonGame();
Instance of Symbol 187 MovieClip "controller" in Symbol 245 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
onClipEvent (mouseDown) {
_parent.game.mouse_down();
}
onClipEvent (enterFrame) {
_parent.game.action();
}
Symbol 251 Button
on (release) {
getURL (variable, "_blank");
}
Symbol 259 Button
on (release) {
_root.gotoAndStop("Starting Screen");
}
Symbol 265 Button
on (release) {
gotoAndPlay (3);
}
Symbol 270 Button
on (release) {
getURL (_root.variable, "_blank");
}
Symbol 273 Button
on (release) {
gotoAndPlay (14);
}
Symbol 274 MovieClip Frame 1
stop();
Symbol 274 MovieClip Frame 2
stop();
Symbol 274 MovieClip Frame 13
stop();
movietoload = _root["movie" + Math.ceil(Math.random() * 12)];
loadMovie (movietoload, "dropzone");
trace(movietoload);
Symbol 274 MovieClip Frame 24
gotoAndPlay (2);