Frame 1
stop();
var RANKING_PHP_URL = "http://chibitami.net/works/flash/sculpture/ranking.php";
var RANKING_TEXT_URL = "http://chibitami.net/works/flash/sculpture/score.txt";
var lastSpellCleared = false;
var modeFrom;
var modeTo;
var cutinMode = true;
var startScore = 0;
var mymenu = new ContextMenu();
mymenu.hideBuiltInItems();
_root.menu = mymenu;
var bgm_main = new Sound(this);
onEnterFrame = function () {
total = _root.getBytesTotal();
loaded = _root.getBytesLoaded();
if (total == loaded) {
onEnterFrame = undefined;
play();
}
};
Frame 2
bgm_main.attachSound("main.wav");
Frame 3
stop();
Frame 4
stop();
_quality = "high";
modeFrom = "title";
Frame 11
function followMouse() {
if (_root._xmouse < 0) {
cx = 0;
} else if (_root._xmouse > PARAM.GAMEWIDTH) {
cx = PARAM.GAMEWIDTH;
} else {
cx = _root._xmouse;
}
if (_root._ymouse < 0) {
cy = 0;
} else if (_root._ymouse > PARAM.GAMEHEIGHT) {
cy = PARAM.GAMEHEIGHT;
} else {
cy = _root._ymouse;
}
this._x = cx;
this._y = cy;
updateAfterEvent();
}
stop();
var cx;
var cy;
var startTime = getTimer();
stopAllSounds();
bgm_main.start(0, 65535);
cursor_mc.onLoad = followMouse;
cursor_mc.onMouseMove = followMouse;
Instance of Symbol 188 MovieClip [status] "status_mc" in Frame 11
onClipEvent (load) {
this.init(_root.startScore);
}
onClipEvent (enterFrame) {
Mouse.hide();
this.enterFrameAction();
}
Frame 12
gotoAndPlay ("game");
Frame 21
this.stop();
Instance of Symbol 179 MovieClip [targetManager] "targetmanager_mc" in Frame 21
onClipEvent (load) {
this.init();
this.onEnterFrame = function () {
if (_root.status_mc.life <= 0) {
_root.gotoAndStop("gameover");
delete this.onEnterFrame;
} else {
this.enterFrameAction();
}
};
}
Frame 31
stop();
_quality = "high";
delete _root.status_mc.onEnterFrame;
var score = status_mc.score;
var bossKilledNum = status_mc.bossKilledNum;
var endTime = getTimer();
var timeSec = Math.floor((endTime - startTime) / 1000);
var timeHour = Math.floor(timeSec / 3600);
timeSec = timeSec % 3600;
var timeMin = Math.floor(timeSec / 60);
timeSec = timeSec % 60;
if (timeHour < 10) {
timeHour = "0" + timeHour;
}
if (timeMin < 10) {
timeMin = "0" + timeMin;
}
if (timeSec < 10) {
timeSec = "0" + timeSec;
}
var timeStr = ((((timeHour + ":") + timeMin) + ":") + timeSec);
Frame 32
stop();
Frame 33
stop();
stopAllSounds();
Instance of Symbol 237 MovieClip "gameover_mc" in Frame 33
onClipEvent (load) {
if (_root.lastSpellCleared == true) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Frame 34
stop();
Frame 35
stop();
Frame 36
if (_root.score >= 290000) {
modeFrom = "gameover";
gotoAndStop ("secret2");
} else if (lastSpellCleared == true) {
modeFrom = "gameover";
gotoAndStop ("secret");
} else {
modeFrom = "gameover";
gotoAndStop ("result");
}
Frame 41
stop();
_quality = "high";
stopAllSounds();
Mouse.show();
lastSpellCleared = false;
Frame 42
stop();
Frame 51
stop();
_quality = "high";
stopAllSounds();
Mouse.show();
lastSpellCleared = false;
Frame 60
stop();
_quality = "high";
Mouse.show();
if (cutinMode == false) {
cutinMode = true;
play();
}
Instance of Symbol 290 MovieClip "result_mc" in Frame 60
onClipEvent (load) {
this.timeStr = _root.timeStr;
this.bossKilledNum = _root.bossKilledNum;
this.score = _root.score;
}
Frame 61
stop();
Frame 62
stop();
Frame 63
this.gotoAndStop("title");
Frame 70
stop();
_quality = "high";
if (modeFrom != "title") {
gotoAndStop(_root._currentframe + 1);
}
Frame 71
stop();
Frame 72
stop();
Frame 73
this.gotoAndStop("title");
Frame 80
stop();
_quality = "high";
Frame 81
stop();
Frame 82
stop();
Frame 83
gotoAndStop ("title");
Frame 90
stop();
_quality = "high";
Mouse.show();
stopAllSounds();
if (modeFrom == "title") {
practiceSpell = 1;
fairyAppear = true;
practiceLevel = 1;
}
practiceEnd = false;
modeFrom = "practice_full";
Instance of Symbol 478 MovieClip in Frame 90
onClipEvent (enterFrame) {
if (_parent.practiceSpell == 1) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
on (press) {
_parent.practiceSpell = 1;
}
Instance of Symbol 478 MovieClip in Frame 90
onClipEvent (enterFrame) {
if (_parent.practiceSpell == 2) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
on (press) {
_parent.practiceSpell = 2;
}
Instance of Symbol 478 MovieClip in Frame 90
onClipEvent (enterFrame) {
if (_parent.practiceSpell == 3) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
on (press) {
_parent.practiceSpell = 3;
}
Instance of Symbol 478 MovieClip in Frame 90
onClipEvent (enterFrame) {
if (_parent.practiceSpell == 4) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
on (press) {
_parent.practiceSpell = 4;
}
Instance of Symbol 478 MovieClip in Frame 90
onClipEvent (enterFrame) {
if (_parent.practiceSpell == 5) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
on (press) {
_parent.practiceSpell = 5;
}
Instance of Symbol 478 MovieClip in Frame 90
onClipEvent (enterFrame) {
if (_parent.fairyAppear == true) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
on (press) {
_parent.fairyAppear = true;
}
Instance of Symbol 478 MovieClip in Frame 90
onClipEvent (enterFrame) {
if (_parent.fairyAppear == false) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
on (press) {
_parent.fairyAppear = false;
}
Frame 91
stop();
Frame 92
gotoAndStop(modeTo);
Frame 100
stop();
_quality = "high";
Mouse.show();
stopAllSounds();
if (modeFrom == "title") {
practiceSpell = 1;
fairyAppear = true;
practiceLevel = 1;
}
practiceEnd = false;
modeFrom = "practice_easy";
Frame 101
stop();
Frame 102
gotoAndStop(modeTo);
Frame 110
function followMouse() {
if (_root._xmouse < 0) {
cx = 0;
} else if (_root._xmouse > PARAM.GAMEWIDTH) {
cx = PARAM.GAMEWIDTH;
} else {
cx = _root._xmouse;
}
if (_root._ymouse < 0) {
cy = 0;
} else if (_root._ymouse > PARAM.GAMEHEIGHT) {
cy = PARAM.GAMEHEIGHT;
} else {
cy = _root._ymouse;
}
this._x = cx;
this._y = cy;
updateAfterEvent();
}
stop();
_quality = quality;
var cx;
var cy;
var startTime = getTimer();
stopAllSounds();
bgm_main.start(0, 65535);
cursor_mc.onLoad = followMouse;
cursor_mc.onMouseMove = followMouse;
Instance of Symbol 178 MovieClip [ステータスmc(プラクティス)] "status_mc" in Frame 110
onClipEvent (load) {
this.init((_root.practiceLevel - 1) * 10000);
}
onClipEvent (enterFrame) {
Mouse.hide();
this.enterFrameAction();
}
Frame 111
stop();
endCount = 0;
onEnterFrame = function () {
if (Key.isDown(81)) {
this.gotoAndStop("practice_end");
}
if (practiceEnd == true) {
endCount++;
if (endCount > 50) {
this.gotoAndStop("practice_end");
}
}
};
Instance of Symbol 109 MovieClip [ターゲットマネージャ(プラクティス)] "targetmanager_mc" in Frame 111
onClipEvent (load) {
this.init(_root.practiceSpell, _root.fairyAppear);
this.onEnterFrame = function () {
if (_root.status_mc.life <= -1) {
_root.gotoAndStop("gameover");
delete this.onEnterFrame;
} else {
this.enterFrameAction();
}
};
}
Frame 120
stop();
delete _root.status_mc.onEnterFrame;
delete onEnterFrame;
Frame 121
gotoAndStop(modeFrom);
Symbol 3 MovieClip Frame 11
stop();
Symbol 10 MovieClip Frame 1
gotoAndPlay (1);
Symbol 15 MovieClip Frame 14
gotoAndPlay (1);
Symbol 16 MovieClip Frame 9
stop();
Symbol 26 MovieClip [boss_spell1] Frame 1
#initclip 62
Object.registerClass("boss_spell1", Boss_spell1);
#endinitclip
Symbol 26 MovieClip [boss_spell1] Frame 24
this.changeTo = Boss.APPEAR;
this.animCount = 0;
Symbol 26 MovieClip [boss_spell1] Frame 36
if (this.state == Boss.APPEAR) {
this.changeTo = Boss.NEUTRAL;
} else {
this.stop();
}
Symbol 26 MovieClip [boss_spell1] Frame 78
if (this.state == Boss.DISAPPEAR) {
this.stop();
this.p[0] = 65535;
}
Symbol 26 MovieClip [boss_spell1] Frame 84
if (this.state == Boss.DAMAGED) {
this.changeTo = Boss.NEUTRAL;
} else {
this.stop();
}
Symbol 26 MovieClip [boss_spell1] Frame 113
this.stop();
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 26 MovieClip [boss_spell1] Frame 122
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 26 MovieClip [boss_spell1] Frame 127
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 27 MovieClip [boss_spell5] Frame 1
#initclip 23
Object.registerClass("boss_spell5", Boss_spell5a);
#endinitclip
Symbol 27 MovieClip [boss_spell5] Frame 24
this.changeTo = Boss.APPEAR;
this.animCount = 0;
Symbol 27 MovieClip [boss_spell5] Frame 36
if (this.state == Boss.APPEAR) {
this.changeTo = Boss.NEUTRAL;
} else {
this.stop();
}
Symbol 27 MovieClip [boss_spell5] Frame 78
if (this.state == Boss.DISAPPEAR) {
this.stop();
}
Symbol 27 MovieClip [boss_spell5] Frame 84
if (this.state == Boss.DAMAGED) {
this.changeTo = Boss.NEUTRAL;
} else {
this.stop();
}
Symbol 27 MovieClip [boss_spell5] Frame 113
this.stop();
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 27 MovieClip [boss_spell5] Frame 122
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 27 MovieClip [boss_spell5] Frame 127
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 28 MovieClip [boss_spell4] Frame 1
#initclip 24
Object.registerClass("boss_spell4", Boss_spell4);
#endinitclip
Symbol 28 MovieClip [boss_spell4] Frame 24
this.changeTo = Boss.APPEAR;
this.animCount = 0;
Symbol 28 MovieClip [boss_spell4] Frame 36
if (this.state == Boss.APPEAR) {
this.changeTo = Boss.NEUTRAL;
} else {
this.stop();
}
Symbol 28 MovieClip [boss_spell4] Frame 78
if (this.state == Boss.DISAPPEAR) {
this.stop();
this.p[0] = 65535;
}
Symbol 28 MovieClip [boss_spell4] Frame 84
if (this.state == Boss.DAMAGED) {
this.changeTo = Boss.NEUTRAL;
} else {
this.stop();
}
Symbol 28 MovieClip [boss_spell4] Frame 113
this.stop();
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 28 MovieClip [boss_spell4] Frame 122
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 28 MovieClip [boss_spell4] Frame 127
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 29 MovieClip [boss_spell3] Frame 1
#initclip 25
Object.registerClass("boss_spell3", Boss_spell3);
#endinitclip
Symbol 29 MovieClip [boss_spell3] Frame 24
this.changeTo = Boss.APPEAR;
this.animCount = 0;
Symbol 29 MovieClip [boss_spell3] Frame 36
if (this.state == Boss.APPEAR) {
this.changeTo = Boss.NEUTRAL;
} else {
this.stop();
}
Symbol 29 MovieClip [boss_spell3] Frame 78
if (this.state == Boss.DISAPPEAR) {
this.stop();
this.p[0] = 65535;
}
Symbol 29 MovieClip [boss_spell3] Frame 84
if (this.state == Boss.DAMAGED) {
this.changeTo = Boss.NEUTRAL;
} else {
this.stop();
}
Symbol 29 MovieClip [boss_spell3] Frame 113
this.stop();
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 29 MovieClip [boss_spell3] Frame 122
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 29 MovieClip [boss_spell3] Frame 127
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 30 MovieClip [boss_spell2] Frame 1
#initclip 26
Object.registerClass("boss_spell2", Boss_spell2);
#endinitclip
Symbol 30 MovieClip [boss_spell2] Frame 24
this.changeTo = Boss.APPEAR;
this.animCount = 0;
Symbol 30 MovieClip [boss_spell2] Frame 36
if (this.state == Boss.APPEAR) {
this.changeTo = Boss.NEUTRAL;
} else {
this.stop();
}
Symbol 30 MovieClip [boss_spell2] Frame 78
if (this.state == Boss.DISAPPEAR) {
this.stop();
this.p[0] = 65535;
}
Symbol 30 MovieClip [boss_spell2] Frame 84
if (this.state == Boss.DAMAGED) {
this.changeTo = Boss.NEUTRAL;
} else {
this.stop();
}
Symbol 30 MovieClip [boss_spell2] Frame 113
this.stop();
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 30 MovieClip [boss_spell2] Frame 122
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 30 MovieClip [boss_spell2] Frame 127
_parent.bossKilledNotify();
this.removeMovieClip();
Symbol 33 MovieClip Frame 10
this.stop();
Symbol 44 MovieClip [fairy2] Frame 1
#initclip 27
Object.registerClass("fairy2", Fairy2);
#endinitclip
Symbol 44 MovieClip [fairy2] Frame 10
if (this.state == Fairy.ARRIVE) {
this.changeTo = Fairy.NEUTRAL;
} else {
this.stop();
}
Symbol 44 MovieClip [fairy2] Frame 20
if (this.state == Fairy.NEUTRAL) {
this.gotoAndStop("neutral");
} else {
this.stop();
}
Symbol 44 MovieClip [fairy2] Frame 25
this.attack();
Symbol 44 MovieClip [fairy2] Frame 29
if (this.state == Fairy.ATTACK) {
this.setNextInterval();
this.changeTo = Fairy.NEUTRAL;
}
Symbol 44 MovieClip [fairy2] Frame 33
if (this.state == Fairy.DAMAGED) {
this.changeTo = Fairy.NEUTRAL;
this.gotoAndStop("neutral");
} else {
this.stop();
}
Symbol 44 MovieClip [fairy2] Frame 52
_parent.fairyKilledNotify(this.manageID);
this.removeMovieClip();
Symbol 46 MovieClip Frame 10
this.stop();
Symbol 55 MovieClip [fairy1] Frame 1
#initclip 28
Object.registerClass("fairy1", Fairy1);
#endinitclip
Symbol 55 MovieClip [fairy1] Frame 10
if (this.state == Fairy.ARRIVE) {
this.changeTo = Fairy.NEUTRAL;
} else {
this.stop();
}
Symbol 55 MovieClip [fairy1] Frame 20
if (this.state == Fairy.NEUTRAL) {
this.gotoAndStop("neutral");
} else {
this.stop();
}
Symbol 55 MovieClip [fairy1] Frame 25
this.attack();
Symbol 55 MovieClip [fairy1] Frame 29
if (this.state == Fairy.ATTACK) {
this.setNextInterval();
this.changeTo = Fairy.NEUTRAL;
}
Symbol 55 MovieClip [fairy1] Frame 33
if (this.state == Fairy.DAMAGED) {
this.changeTo = Fairy.NEUTRAL;
this.gotoAndStop("neutral");
} else {
this.stop();
}
Symbol 55 MovieClip [fairy1] Frame 52
_parent.fairyKilledNotify(this.manageID);
this.removeMovieClip();
Symbol 58 MovieClip [bulletTYPHOON7] Frame 1
#initclip 29
Object.registerClass("bulletTYPHOON7", BulletTyphoon);
#endinitclip
this.stop();
Symbol 58 MovieClip [bulletTYPHOON7] Frame 15
this.removeMovieClip();
Symbol 59 MovieClip [bulletFLOWER7] Frame 1
#initclip 30
Object.registerClass("bulletFLOWER7", BulletFlower);
#endinitclip
this.stop();
Symbol 59 MovieClip [bulletFLOWER7] Frame 15
this.removeMovieClip();
Symbol 61 MovieClip [bulletTYPHOON6] Frame 1
#initclip 31
Object.registerClass("bulletTYPHOON6", BulletTyphoon);
#endinitclip
this.stop();
Symbol 61 MovieClip [bulletTYPHOON6] Frame 15
this.removeMovieClip();
Symbol 62 MovieClip [bulletFLOWER6] Frame 1
#initclip 32
Object.registerClass("bulletFLOWER6", BulletFlower);
#endinitclip
this.stop();
Symbol 62 MovieClip [bulletFLOWER6] Frame 15
this.removeMovieClip();
Symbol 64 MovieClip [bulletTYPHOON5] Frame 1
#initclip 33
Object.registerClass("bulletTYPHOON5", BulletTyphoon);
#endinitclip
this.stop();
Symbol 64 MovieClip [bulletTYPHOON5] Frame 15
this.removeMovieClip();
Symbol 65 MovieClip [bulletFLOWER5] Frame 1
#initclip 34
Object.registerClass("bulletFLOWER5", BulletFlower);
#endinitclip
this.stop();
Symbol 65 MovieClip [bulletFLOWER5] Frame 15
this.removeMovieClip();
Symbol 67 MovieClip [bulletTYPHOON4] Frame 1
#initclip 35
Object.registerClass("bulletTYPHOON4", BulletTyphoon);
#endinitclip
this.stop();
Symbol 67 MovieClip [bulletTYPHOON4] Frame 15
this.removeMovieClip();
Symbol 68 MovieClip [bulletFLOWER4] Frame 1
#initclip 36
Object.registerClass("bulletFLOWER4", BulletFlower);
#endinitclip
this.stop();
Symbol 68 MovieClip [bulletFLOWER4] Frame 15
this.removeMovieClip();
Symbol 70 MovieClip [bulletTYPHOON3] Frame 1
#initclip 37
Object.registerClass("bulletTYPHOON3", BulletTyphoon);
#endinitclip
this.stop();
Symbol 70 MovieClip [bulletTYPHOON3] Frame 15
this.removeMovieClip();
Symbol 71 MovieClip [bulletFLOWER3] Frame 1
#initclip 38
Object.registerClass("bulletFLOWER3", BulletFlower);
#endinitclip
this.stop();
Symbol 71 MovieClip [bulletFLOWER3] Frame 15
this.removeMovieClip();
Symbol 73 MovieClip [bulletTYPHOON2] Frame 1
#initclip 39
Object.registerClass("bulletTYPHOON2", BulletTyphoon);
#endinitclip
this.stop();
Symbol 73 MovieClip [bulletTYPHOON2] Frame 15
this.removeMovieClip();
Symbol 74 MovieClip [bulletFLOWER2] Frame 1
#initclip 40
Object.registerClass("bulletFLOWER2", BulletFlower);
#endinitclip
this.stop();
Symbol 74 MovieClip [bulletFLOWER2] Frame 15
this.removeMovieClip();
Symbol 76 MovieClip [bulletTYPHOON1] Frame 1
#initclip 41
Object.registerClass("bulletTYPHOON1", BulletTyphoon);
#endinitclip
this.stop();
Symbol 76 MovieClip [bulletTYPHOON1] Frame 15
this.removeMovieClip();
Symbol 77 MovieClip [bulletFLOWER1] Frame 1
#initclip 42
Object.registerClass("bulletFLOWER1", BulletFlower);
#endinitclip
this.stop();
Symbol 77 MovieClip [bulletFLOWER1] Frame 15
this.removeMovieClip();
Symbol 79 MovieClip [bulletNORMAL7] Frame 1
#initclip 43
Object.registerClass("bulletNORMAL7", BulletNormal);
#endinitclip
this.stop();
Symbol 79 MovieClip [bulletNORMAL7] Frame 15
this.removeMovieClip();
Symbol 81 MovieClip [bulletNORMAL6] Frame 1
#initclip 44
Object.registerClass("bulletNORMAL6", BulletNormal);
#endinitclip
this.stop();
Symbol 81 MovieClip [bulletNORMAL6] Frame 15
this.removeMovieClip();
Symbol 83 MovieClip [bulletNORMAL5] Frame 1
#initclip 45
Object.registerClass("bulletNORMAL5", BulletNormal);
#endinitclip
this.stop();
Symbol 83 MovieClip [bulletNORMAL5] Frame 15
this.removeMovieClip();
Symbol 85 MovieClip [bulletNORMAL4] Frame 1
#initclip 46
Object.registerClass("bulletNORMAL4", BulletNormal);
#endinitclip
this.stop();
Symbol 85 MovieClip [bulletNORMAL4] Frame 15
this.removeMovieClip();
Symbol 87 MovieClip [bulletNORMAL3] Frame 1
#initclip 47
Object.registerClass("bulletNORMAL3", BulletNormal);
#endinitclip
this.stop();
Symbol 87 MovieClip [bulletNORMAL3] Frame 15
this.removeMovieClip();
Symbol 89 MovieClip [bulletNORMAL2] Frame 1
#initclip 48
Object.registerClass("bulletNORMAL2", BulletNormal);
#endinitclip
this.stop();
Symbol 89 MovieClip [bulletNORMAL2] Frame 15
this.removeMovieClip();
Symbol 91 MovieClip [bulletKEGOU] Frame 1
#initclip 49
Object.registerClass("bulletKEGOU", BulletKegou);
#endinitclip
this.stop();
Symbol 91 MovieClip [bulletKEGOU] Frame 15
this.removeMovieClip();
Symbol 94 MovieClip [bulletFUURIN7] Frame 1
#initclip 50
Object.registerClass("bulletFUURIN7", BulletFuurin);
#endinitclip
this.stop();
Symbol 94 MovieClip [bulletFUURIN7] Frame 15
this.removeMovieClip();
Symbol 96 MovieClip [bulletFUURIN6] Frame 1
#initclip 51
Object.registerClass("bulletFUURIN6", BulletFuurin);
#endinitclip
this.stop();
Symbol 96 MovieClip [bulletFUURIN6] Frame 15
this.removeMovieClip();
Symbol 98 MovieClip [bulletFUURIN5] Frame 1
#initclip 52
Object.registerClass("bulletFUURIN5", BulletFuurin);
#endinitclip
this.stop();
Symbol 98 MovieClip [bulletFUURIN5] Frame 15
this.removeMovieClip();
Symbol 100 MovieClip [bulletFUURIN4] Frame 1
#initclip 53
Object.registerClass("bulletFUURIN4", BulletFuurin);
#endinitclip
this.stop();
Symbol 100 MovieClip [bulletFUURIN4] Frame 15
this.removeMovieClip();
Symbol 102 MovieClip [bulletFUURIN3] Frame 1
#initclip 54
Object.registerClass("bulletFUURIN3", BulletFuurin);
#endinitclip
this.stop();
Symbol 102 MovieClip [bulletFUURIN3] Frame 15
this.removeMovieClip();
Symbol 104 MovieClip [bulletFUURIN2] Frame 1
#initclip 55
Object.registerClass("bulletFUURIN2", BulletFuurin);
#endinitclip
this.stop();
Symbol 104 MovieClip [bulletFUURIN2] Frame 15
this.removeMovieClip();
Symbol 105 MovieClip [bulletFUURIN1] Frame 1
#initclip 56
Object.registerClass("bulletFUURIN1", BulletFuurin);
#endinitclip
this.stop();
Symbol 105 MovieClip [bulletFUURIN1] Frame 15
this.removeMovieClip();
Symbol 107 MovieClip [bulletNORMAL1] Frame 1
#initclip 57
Object.registerClass("bulletNORMAL1", BulletNormal);
#endinitclip
this.stop();
Symbol 107 MovieClip [bulletNORMAL1] Frame 15
this.removeMovieClip();
Symbol 109 MovieClip [ターゲットマネージャ(プラクティス)] Frame 1
#initclip 58
Object.registerClass("\u30BF\u30FC\u30B2\u30C3\u30C8\u30DE\u30CD\u30FC\u30B8\u30E3\uFF08\u30D7\u30E9\u30AF\u30C6\u30A3\u30B9\uFF09", TargetManager_practice);
#endinitclip
Symbol 117 MovieClip Frame 1
fps = 30;
fpsLimit = 25;
frTime = 500;
time_count = 0;
old_timer = getTimer();
qualities = new Array("high", "medium", "low");
qualityIndex = 0;
this.onEnterFrame = function () {
time_count = time_count + 1;
if ((getTimer() - old_timer) >= frTime) {
fps = Math.floor((time_count * 1000) / (getTimer() - old_timer));
old_timer = getTimer();
time_count = 0;
if (fps <= fpsLimit) {
if (qualityIndex < 2) {
qualityIndex++;
}
_quality = qualities[qualityIndex];
}
}
};
Symbol 137 MovieClip Frame 1
this.stop();
Symbol 137 MovieClip Frame 2
this.stop();
Symbol 137 MovieClip Frame 3
this.stop();
Symbol 137 MovieClip Frame 4
this.stop();
Symbol 137 MovieClip Frame 5
this.stop();
Symbol 137 MovieClip Frame 6
this.stop();
Symbol 137 MovieClip Frame 100
this.gotoAndStop(1);
Symbol 137 MovieClip Frame 190
this.gotoAndStop(1);
Symbol 155 MovieClip Frame 1
stop();
Symbol 155 MovieClip Frame 2
stop();
Symbol 155 MovieClip Frame 3
stop();
Symbol 155 MovieClip Frame 4
stop();
Symbol 155 MovieClip Frame 5
stop();
Symbol 174 MovieClip Frame 1
var seconds = Math.floor(Math.random() * 86400);
this.onEnterFrame = function () {
this.seconds = this.seconds + 9;
if (this.seconds > 86400) {
this.seconds = this.seconds - 86400;
}
this.setClock();
this.hour_mc._rotation = this.seconds / 360;
this.minute_mc._rotation = this.seconds / 10;
this.second_mc._rotation = this.seconds * 6;
};
Symbol 178 MovieClip [ステータスmc(プラクティス)] Frame 1
#initclip 59
Object.registerClass("\u30B9\u30C6\u30FC\u30BF\u30B9mc\uFF08\u30D7\u30E9\u30AF\u30C6\u30A3\u30B9\uFF09", Status);
#endinitclip
this.stop();
Symbol 178 MovieClip [ステータスmc(プラクティス)] Frame 10
_root.damage_mc.gotoAndPlay(2);
Symbol 178 MovieClip [ステータスmc(プラクティス)] Frame 29
this.changeTo = Status.NORMAL;
Symbol 178 MovieClip [ステータスmc(プラクティス)] Frame 37
this.cutinText_mc.lv = this.lv;
this.cutinText_mc.gotoAndStop(this.bossSpell);
this.bossInfo_mc.lv = this.lv;
this.bossInfo_mc.gotoAndStop(this.bossSpell + 1);
Symbol 178 MovieClip [ステータスmc(プラクティス)] Frame 57
this.changeTo = Status.NORMAL;
Symbol 178 MovieClip [ステータスmc(プラクティス)] Frame 78
this.stop();
Symbol 178 MovieClip [ステータスmc(プラクティス)] Frame 81
this.changeTo = Status.NORMAL;
Symbol 179 MovieClip [targetManager] Frame 1
#initclip 60
Object.registerClass("targetManager", TargetManager);
#endinitclip
Symbol 187 MovieClip Frame 1
this.stop();
Symbol 187 MovieClip Frame 2
this.stop();
Symbol 187 MovieClip Frame 3
this.stop();
Symbol 187 MovieClip Frame 4
this.stop();
Symbol 188 MovieClip [status] Frame 1
#initclip 61
Object.registerClass("status", Status);
#endinitclip
this.stop();
Symbol 188 MovieClip [status] Frame 10
_root.damage_mc.gotoAndPlay(2);
Symbol 188 MovieClip [status] Frame 29
this.changeTo = Status.NORMAL;
Symbol 188 MovieClip [status] Frame 37
this.cutinText_mc.lv = this.lv;
this.cutinText_mc.gotoAndStop(this.bossSpell);
this.bossInfo_mc.lv = this.lv;
this.bossInfo_mc.gotoAndStop(this.bossSpell + 1);
Symbol 188 MovieClip [status] Frame 57
this.changeTo = Status.NORMAL;
Symbol 188 MovieClip [status] Frame 78
this.stop();
Symbol 188 MovieClip [status] Frame 81
this.changeTo = Status.NORMAL;
Symbol 493 MovieClip [__Packages.Target] Frame 0
class Target extends MovieClip
{
var tabEnabled, p, id;
function Target () {
super();
}
static function getID() {
IDserial++;
if (IDserial >= 1000) {
IDserial = 101;
}
return(IDserial);
}
function init(_p) {
tabEnabled = false;
p = _p;
id = getID();
}
static var IDserial = 101;
}
Symbol 494 MovieClip [__Packages.Enemy] Frame 0
class Enemy extends Target
{
var swingTime, swingAmp, state, chara_mc, swapDepths, id, p, _xscale, _yscale, _x, _y;
function Enemy () {
super();
}
function init(_p) {
super.init(_p);
swingTime = 0;
swingAmp = 0;
draw();
}
function enterFrameAction() {
if (_root.status_mc.stopping == false) {
swingTime = swingTime + 0.05;
if (swingTime > (Math.PI*2)) {
swingTime = swingTime - (Math.PI*2);
}
swingAmp = Math.sin(swingTime) * SWING_A;
}
}
function onEnterFrame() {
if (((_root.status_mc.stopping == true) && (state != DAMAGED)) && (state != KILLED)) {
chara_mc.stop();
} else {
chara_mc.play();
}
}
function draw() {
swapDepths(((900 - p[2]) * 1000) + id);
_xscale = 100 * ((PARAM.ZMAX - p[2]) / PARAM.ZMAX);
_yscale = 100 * ((PARAM.ZMAX - p[2]) / PARAM.ZMAX);
_x = PARAM.XCENTER + (p[0] * ((PARAM.ZMAX - p[2]) / PARAM.ZMAX));
_y = PARAM.YCENTER + ((p[1] + swingAmp) * ((PARAM.ZMAX - p[2]) / PARAM.ZMAX));
if (p[2] > 300) {
var _local2 = new Color(this);
var _local3 = {ra:100, rb:(-1 * (p[2] - 300)) / 7, ga:100, gb:(-1 * (p[2] - 300)) / 7, ba:100, bb:(-1 * (p[2] - 300)) / 7, aa:100, b:0};
_local2.setTransform(_local3);
}
}
static var SWING_A = 25;
}
Symbol 495 MovieClip [__Packages.PARAM] Frame 0
class PARAM
{
function PARAM () {
}
static var GAMEWIDTH = 640;
static var GAMEHEIGHT = 400;
static var XCENTER = 320;
static var YCENTER = 200;
static var ZMAX = 1000;
}
Symbol 496 MovieClip [__Packages.Boss] Frame 0
class Boss extends Enemy
{
var id, hp, lv, score, v, animCount, state, changeTo, p, gotoAndPlay, gotoAndStop, draw;
function Boss () {
super();
}
function init(_hp, _lv, _score) {
super.init(new Array(65535, 0, 500));
id = 0;
hp = _hp;
lv = _lv;
score = _score;
v = new Array(0, 0);
animCount = -65535;
state = GENERATED;
changeTo = NONE;
_root.status_mc.bossLife = hp;
}
function onPress() {
if ((score > 0) && (_root.status_mc.knifeNum > 0)) {
if (((state == NEUTRAL) || (state == LEFT)) || (state == RIGHT)) {
hp--;
_root.status_mc.bossLife = hp;
if (hp <= 0) {
changeTo = KILLED;
} else {
changeTo = DAMAGED;
}
}
}
}
function enterFrameAction() {
super.enterFrameAction();
if (score > 0) {
if ((_root.status_mc.stopping == false) && (((state == NEUTRAL) || (state == LEFT)) || (state == RIGHT))) {
var _local4 = 0;
while (_local4 < 2) {
p[_local4] = p[_local4] + v[_local4];
_local4++;
}
if (state == NEUTRAL) {
if (v[0] < 0) {
changeTo = LEFT;
} else if (v[0] > 0) {
changeTo = RIGHT;
}
} else if ((state == LEFT) || (state == RIGHT)) {
if (v[0] == 0) {
changeTo = NEUTRAL;
}
}
}
if ((((_root.status_mc.stopping == false) && (state != APPEAR)) && (state != KILLED)) && (state != FAILED)) {
animCount++;
action();
}
}
if (changeTo != NONE) {
if (changeTo == APPEAR) {
gotoAndPlay("appear");
} else if (changeTo == NEUTRAL) {
gotoAndStop("neutral");
} else if (changeTo == LEFT) {
gotoAndStop("left");
} else if (changeTo == RIGHT) {
gotoAndStop("right");
} else if (changeTo == DISAPPEAR) {
gotoAndPlay("disappear");
} else if (changeTo == DAMAGED) {
gotoAndPlay("damaged");
} else if (changeTo == KILLED) {
gotoAndPlay("killed");
} else if (changeTo == FAILED) {
if (state == DISAPPEAR) {
gotoAndPlay("failed_while_disappear");
} else {
gotoAndPlay("failed");
}
}
state = changeTo;
changeTo = NONE;
}
if (score > 0) {
if (state != KILLED) {
score = score - 10;
}
}
if (score == 0) {
score = -1;
changeTo = FAILED;
}
draw();
}
function action() {
}
static var NONE = 0;
static var APPEAR = 1;
static var NEUTRAL = 2;
static var LEFT = 3;
static var RIGHT = 4;
static var DISAPPEAR = 5;
static var DAMAGED = 6;
static var KILLED = 7;
static var FAILED = 8;
static var GENERATED = 10;
}
Symbol 497 MovieClip [__Packages.Fairy] Frame 0
class Fairy extends Enemy
{
var id, hp, lv, manageID, score, state, changeTo, interval, gotoAndPlay, gotoAndStop, draw;
function Fairy () {
super();
}
function init(_p, _hp, _lv, _mID, _score) {
super.init(_p);
id = _mID;
hp = _hp;
lv = _lv;
manageID = _mID;
score = _score;
state = ARRIVE;
changeTo = NONE;
setFirstInterval();
}
function onPress() {
if ((((state == NEUTRAL) || (state == ATTACK)) && (_root.status_mc.state != Status.CUTIN)) && (_root.status_mc.knifeNum > 0)) {
hp--;
if (hp <= 0) {
changeTo = KILLED;
} else {
changeTo = DAMAGED;
}
}
}
function enterFrameAction() {
super.enterFrameAction();
if ((state == NEUTRAL) && (_root.status_mc.stopping == false)) {
interval--;
if (interval <= 0) {
changeTo = ATTACK;
}
}
if (changeTo != NONE) {
state = changeTo;
if (changeTo == ARRIVE) {
gotoAndPlay("arrive");
} else if (changeTo == NEUTRAL) {
gotoAndStop("neutral");
} else if (changeTo == ATTACK) {
gotoAndPlay("attack");
} else if (changeTo == DAMAGED) {
gotoAndPlay("damaged");
} else if (changeTo == KILLED) {
gotoAndPlay("killed");
}
changeTo = NONE;
}
lv = _root.status_mc.lv;
draw();
}
function setNextInterval() {
}
function setFirstInterval() {
}
static var NONE = 0;
static var ARRIVE = 1;
static var NEUTRAL = 2;
static var ATTACK = 3;
static var DAMAGED = 4;
static var KILLED = 5;
}
Symbol 498 MovieClip [__Packages.Status] Frame 0
class Status extends MovieClip
{
var score, stopTime, life, knifeNum, lv, bossSpell, bossLife, bossKilledNum, bossRestTime, stopping, invincible, changeTo, bossInfo_mc, state, gotoAndStop, gotoAndPlay, timeGauge_mc, life_mc, scoreTextArea, knifeGauge_mc;
function Status () {
super();
}
function init(initialScore) {
score = initialScore;
stopTime = MAXSTOPTIME;
life = 3;
knifeNum = 50;
lv = Math.floor(score / 10000) + 1;
bossSpell = 0;
bossLife = 0;
bossKilledNum = 0;
bossRestTime = 0;
stopping = false;
invincible = false;
draw();
}
function addScore(d) {
score = score + d;
lv = Math.floor(score / 10000) + 1;
if (lv >= 100) {
lv = 99;
}
}
function addStopTime(d) {
stopTime = stopTime + d;
if (stopTime > MAXSTOPTIME) {
stopTime = MAXSTOPTIME;
} else if (stopTime < 0) {
stopTime = 0;
}
}
function addKnifeNum(d) {
knifeNum = knifeNum + d;
if (knifeNum > MAXKNIFENUM) {
knifeNum = MAXKNIFENUM;
} else if (knifeNum < 0) {
knifeNum = 0;
}
}
function damage() {
if (invincible == false) {
invincible = true;
if (life > 0) {
life = life - 1;
}
changeTo = DAMAGE;
}
}
function setBoss(spell) {
if ((stopping == false) && (invincible == false)) {
bossSpell = spell;
changeTo = CUTIN;
_root.bg_mc.play();
bossRestTime = 3000;
return(true);
}
return(false);
}
function bossKilledNotify(score) {
if (score >= 0) {
bossInfo_mc.gotoAndPlay("killed");
bossInfo_mc.bonus = score + 10000;
addScore(score + 10000);
bossKilledNum++;
} else {
bossInfo_mc.gotoAndPlay("failed");
}
_root.bg_mc.play();
}
function enterFrameAction() {
if (state != CUTIN) {
if (Key.isDown(90) && (stopTime > 0)) {
if (stopping == false) {
changeTo = STOPTIME;
}
addStopTime(-1);
} else {
if (stopping == true) {
changeTo = ENDSTOPTIME;
}
stopping = false;
}
}
addKnifeNum(0.2);
if (changeTo != NONE) {
if (changeTo == NORMAL) {
gotoAndStop("normal");
stopping = false;
invincible = false;
} else if (changeTo == DAMAGE) {
gotoAndPlay("damage");
stopping = false;
invincible = true;
} else if (changeTo == STOPTIME) {
gotoAndPlay("stoptime");
stopping = true;
invincible = false;
} else if (changeTo == ENDSTOPTIME) {
gotoAndPlay("endstoptime");
stopping = false;
invincible = false;
} else if (changeTo == CUTIN) {
gotoAndPlay("cutin");
stopping = true;
invincible = true;
}
state = changeTo;
changeTo = NONE;
}
if (bossRestTime > 0) {
bossRestTime--;
}
draw();
}
function draw() {
timeGauge_mc._width = stopTime * 2;
life_mc.gotoAndStop(life + 1);
scoreTextArea.text = score;
knifeGauge_mc._width = knifeNum * 5;
bossInfo_mc.life_mc._width = bossLife * 2;
bossInfo_mc.restTime = Math.floor(bossRestTime / 30);
}
function tryBomb() {
if (stopTime >= BOMBTIME) {
stopTime = 0;
return(true);
}
return(false);
}
static var MAXSTOPTIME = 200;
static var MAXKNIFENUM = 20;
static var BOMBTIME = 90;
static var NONE = 0;
static var NORMAL = 1;
static var DAMAGE = 2;
static var STOPTIME = 3;
static var ENDSTOPTIME = 4;
static var CUTIN = 5;
}
Symbol 499 MovieClip [__Packages.Boss_spell5] Frame 0
class Boss_spell5 extends Boss
{
var bulletCount, bulletColor, p, flucARad1, flucRot1, dFlucRot1, lv, centerRot1, dCenterRot1, frame1, bulletColor1, timing1, frame2, timing2, currentPos2, disappearing, hp, _parent, id;
function Boss_spell5 () {
super();
}
function init(_hp, _lv, _score) {
super.init(_hp, _lv, _score);
bulletCount = 1;
bulletColor = 1;
p = new Array(0, 0, 600);
flucARad1 = 0.2;
flucRot1 = 0;
dFlucRot1 = 25 + (lv / 10);
centerRot1 = 0;
dCenterRot1 = 20 + (lv / 8);
frame1 = 0;
bulletColor1 = 1;
if (lv < 25) {
timing1 = 17 - (lv / 5);
} else if (lv < 53) {
timing1 = 12 - ((lv - 25) / 7);
} else {
timing1 = 8 - ((lv - 53) / 10);
}
frame2 = 0;
if (lv < 50) {
timing2 = 150 - (lv * 2);
} else {
timing2 = 75 - (lv / 2);
}
currentPos2 = 0;
disappearing = false;
}
function action() {
frame1 = frame1 + 1;
if (frame1 >= timing1) {
frame1 = frame1 - timing1;
attackAction1();
}
if (hp <= (lv + 10)) {
frame2 = frame2 + 1;
}
if (frame2 >= timing2) {
frame2 = frame2 - timing2;
attackAction2(currentPos2);
currentPos2 = (currentPos2 + 3) % 7;
}
}
function attackAction1() {
var _local5 = Math.cos((centerRot1 * Math.PI) / 180);
var _local4 = Math.sin((centerRot1 * Math.PI) / 180);
var _local3 = flucARad1 * (1 + Math.sin((flucRot1 * Math.PI) / 180));
_local3 = _local3 * _local3;
var _local7 = 100 * _local4;
var _local6 = 100 * _local5;
var _local9 = VRAD1 * _local4;
var _local8 = VRAD1 * _local5;
var _local11 = (-1 * _local3) * _local4;
var _local10 = (-1 * _local3) * _local5;
generateBullet1(_local7, _local6, _local9, _local8, _local11, _local10, -1 * centerRot1);
generateBullet1(-1 * _local7, -1 * _local6, -1 * _local9, -1 * _local8, -1 * _local11, -1 * _local10, -1 * centerRot1);
bulletColor1++;
if (bulletColor1 > COLORS1) {
bulletColor1 = 1;
}
centerRot1 = centerRot1 + dCenterRot1;
flucRot1 = flucRot1 + dFlucRot1;
_root.bossSE_mc.gotoAndPlay("bullet");
}
function generateBullet1(dpx, dpy, vx, vy, ax, ay, rot) {
var _local2 = _parent.attachMovie("bulletTYPHOON" + bulletColor1, ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local2.init(new Array(p[0] + dpx, p[1] + dpy, p[2]), new Array(vx, vy, VZ1), new Array(ax, ay, 0), rot);
}
function attackAction2(pos) {
var _local3 = -90 + ((pos * 360) / 7);
var _local5 = 200 * Math.cos((_local3 * Math.PI) / 180);
var _local4 = 200 * Math.sin((_local3 * Math.PI) / 180);
var _local6 = _parent.attachMovie("bulletFUURIN" + (pos + 1), ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local6.init(400, new Array(p[0] + _local5, p[1] + _local4, p[2] + 10), _local3, 12, -0.5, 5, -1);
_root.bossSE_mc.gotoAndPlay("lasor");
}
static var VRAD1 = 3.6;
static var VZ1 = -10;
static var COLORS1 = 7;
}
Symbol 500 MovieClip [__Packages.Boss_spell5a] Frame 0
class Boss_spell5a extends Boss_spell5
{
var state, changeTo, score, hp;
function Boss_spell5a () {
super();
}
function enterFrameAction() {
super.enterFrameAction();
if ((state != Boss.GENERATED) && (state != Boss.KILLED)) {
if (_root.status_mc.stopping == true) {
if ((disappearing == false) && (state != Boss.DISAPPEAR)) {
disappearing = true;
changeTo = Boss.DISAPPEAR;
}
} else if ((disappearing == true) && (state != Boss.APPEAR)) {
disappearing = false;
changeTo = Boss.APPEAR;
}
}
}
function onPress() {
if (disappearing == true) {
if (state == Boss.NEUTRAL) {
changeTo = Boss.DISAPPEAR;
}
return(undefined);
}
if ((score > 0) && (_root.status_mc.knifeNum > 0)) {
if (((state == Boss.NEUTRAL) || (state == Boss.LEFT)) || (state == Boss.RIGHT)) {
hp--;
_root.status_mc.bossLife = hp;
if (hp <= 0) {
changeTo = Boss.KILLED;
} else {
changeTo = Boss.DAMAGED;
}
}
}
}
var disappearing = false;
}
Symbol 501 MovieClip [__Packages.Boss_spell4] Frame 0
class Boss_spell4 extends Boss
{
var bulletCount, bulletColor, p, speed, lv, moveTime, bulletBackwardNum, bulletForwardNum, baseRot, vz, az, vrad, arad, waitTime, animCount, v, _parent, id;
function Boss_spell4 () {
super();
}
function init(_hp, _lv, _score) {
super.init(_hp, _lv, _score);
bulletCount = 1;
bulletColor = 1;
p = new Array(0, 0, 500);
speed = 10 + (lv / 2);
moveTime = Math.floor(400 / speed);
if (lv < 40) {
bulletBackwardNum = 4 + Math.floor((lv - 1) / 8);
} else {
bulletBackwardNum = 9;
}
if (lv < 80) {
bulletForwardNum = 2 + Math.floor((lv - 1) / 16);
} else {
bulletForwardNum = 7;
}
baseRot = 360 * Math.random();
vz = 12;
az = -0.5;
vrad = 8;
arad = -0.15;
if (lv < 80) {
waitTime = Math.floor(60 - (lv / 2));
} else {
waitTime = 20;
}
}
function action() {
var _local2 = 1;
while (_local2 <= 9) {
if (animCount == (_local2 * 2)) {
attackForward(_local2);
attackBackward(_local2);
}
_local2++;
}
if (animCount == waitTime) {
var _local3 = ((Math.random() * 90) * Math.PI) / 180;
v[0] = speed * Math.cos(_local3);
v[1] = speed * Math.sin(_local3);
if (p[0] > 0) {
v[0] = v[0] * -1;
}
if (p[1] > 0) {
v[1] = v[1] * -1;
}
} else if (animCount == (waitTime + moveTime)) {
v[0] = 0;
v[1] = 0;
animCount = 0;
baseRot = 360 * Math.random();
}
}
function attackForward(count) {
if (count > bulletForwardNum) {
return(undefined);
}
var _local2 = (baseRot + 90) + ((360 / bulletForwardNum) * (count - 1));
generateBulletForward(_local2, 4, -5, -0.5);
bulletColor++;
if (bulletColor > COLORS) {
bulletColor = 1;
}
}
function generateBulletForward(rot, vrad, vz, az) {
var _local3 = Math.cos((rot * Math.PI) / 180);
var _local2 = Math.sin((rot * Math.PI) / 180);
var _local8 = 60 * _local3;
var _local7 = 60 * _local2;
var _local5 = vrad * _local3;
var _local4 = vrad * _local2;
var _local6 = _parent.attachMovie("bulletNORMAL" + bulletColor, ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local6.init(new Array(p[0] + _local8, p[1] + _local7, p[2]), new Array(_local5, _local4, vz), new Array(0, 0, az));
}
function attackBackward(count) {
if (count > bulletBackwardNum) {
return(undefined);
}
var _local3 = baseRot + ((360 / bulletBackwardNum) * (count - 1));
generateBulletBackward(_local3, vrad, arad, vz, az);
bulletColor++;
if (bulletColor > COLORS) {
bulletColor = 1;
}
_root.bossSE_mc.gotoAndPlay("bullet");
}
function generateBulletBackward(rot, vrad, arad, vz, az) {
var _local3 = Math.cos((rot * Math.PI) / 180);
var _local2 = Math.sin((rot * Math.PI) / 180);
var _local10 = 40 * _local3;
var _local9 = 40 * _local2;
var _local5 = vrad * _local3;
var _local4 = vrad * _local2;
var _local7 = arad * _local3;
var _local6 = arad * _local2;
var _local8 = _parent.attachMovie("bulletNORMAL" + bulletColor, ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local8.init(new Array(p[0] + _local10, p[1] + _local9, p[2] + 1), new Array(_local5, _local4, vz), new Array(_local7, _local6, az));
}
static var COLORS = 7;
}
Symbol 502 MovieClip [__Packages.Boss_spell3] Frame 0
class Boss_spell3 extends Boss
{
var bulletCount, moveRot, currentBullet, bulletColor, lv, speed, moveFrameNum, waitTime, bulletNum, bulletWidths, bulletAnimCounts, vdist, adist, vz, az, attackNum, currentAttackNum, animCount, v, p, changeTo, _parent, id;
function Boss_spell3 () {
super();
}
function init(_hp, _lv, _score) {
super.init(_hp, _lv, _score);
setAppearPos();
bulletCount = 1;
moveRot = 0;
currentBullet = 0;
bulletColor = 1;
if (lv < 50) {
speed = 10 + (lv / 5);
} else {
speed = 20;
}
moveFrameNum = Math.floor(400 / speed);
if (lv < 50) {
waitTime = 35 - Math.floor(lv / 2);
} else {
waitTime = 10;
}
if (lv < 48) {
bulletNum = 6 + Math.floor((lv - 1) / 8);
} else {
bulletNum = 12;
}
var _local8;
if (lv < 50) {
_local8 = 300 + (lv * 7);
} else {
_local8 = 650 + ((lv - 50) * 4);
}
bulletWidths = new Array(bulletNum);
var _local5 = _local8 / 4;
var _local7 = ((_local8 * 3) / 4) / (bulletNum - 1);
var _local3 = 0;
while (_local3 < bulletNum) {
bulletWidths[_local3] = Math.floor(_local5);
_local5 = _local5 + _local7;
_local3++;
}
bulletAnimCounts = new Array(bulletNum);
var _local6 = moveFrameNum / 13;
var _local4 = waitTime + _local6;
_local3 = 0;
while (_local3 < bulletNum) {
bulletAnimCounts[_local3] = Math.floor(_local4);
_local4 = _local4 + _local6;
_local3++;
}
vdist = 7;
adist = -0.3 - (lv / 100);
vz = -5;
az = -0.25 - (lv / 10);
attackNum = 3;
currentAttackNum = 1;
}
function action() {
if (animCount == waitTime) {
var _local2 = ((45 + (Math.random() * 40)) * Math.PI) / 180;
v[0] = speed * Math.cos(_local2);
v[1] = speed * Math.sin(_local2);
if (p[0] > 0) {
v[0] = v[0] * -1;
}
if (p[1] > 0) {
v[1] = v[1] * -1;
}
moveRot = (Math.atan(v[1] / v[0]) * 180) / Math.PI;
} else if (animCount == bulletAnimCounts[currentBullet]) {
attackAction();
currentBullet++;
} else if (animCount == (waitTime + moveFrameNum)) {
v[0] = 0;
v[1] = 0;
} else if (animCount == ((waitTime * 2) + moveFrameNum)) {
if (currentAttackNum < attackNum) {
currentAttackNum++;
animCount = 0;
currentBullet = 0;
} else {
changeTo = Boss.DISAPPEAR;
currentAttackNum = 1;
}
} else if (animCount >= ((waitTime * 3) + (moveFrameNum * 2))) {
setAppearPos();
changeTo = Boss.APPEAR;
animCount = 0;
currentBullet = 0;
}
}
function attackAction() {
var _local3 = 7 + (Math.random() * 6);
if (v[1] < 0) {
_local3 = _local3 * -1;
}
var _local4 = bulletWidths[currentBullet];
if ((currentBullet % 2) == 0) {
generateBullet(_local4, (moveRot - 90) + _local3, vdist, adist, vz, az, bulletColor);
} else {
generateBullet(_local4, (moveRot + 90) - _local3, vdist, adist, vz, az, bulletColor);
}
bulletColor++;
if (bulletColor > COLORS) {
bulletColor = 1;
}
_root.bossSE_mc.gotoAndPlay("bullet");
}
function generateBullet(w, rot, vdist, adist, vz, az, color) {
var _local2 = _parent.attachMovie("bulletFUURIN" + color, ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local2.init(w, new Array(p[0], p[1], p[2]), rot, vdist, adist, vz, az);
rot = rot + step;
}
function setAppearPos() {
var _local2 = 400 + Math.floor(Math.random() * 300);
var _local4 = Math.floor((-250 + (Math.random() * 500)) * (1 + (_local2 / PARAM.ZMAX)));
var _local3 = Math.floor((-200 + (Math.random() * 400)) * (1 + (_local2 / PARAM.ZMAX)));
p = new Array(_local4, _local3, _local2);
}
static var COLORS = 7;
}
Symbol 503 MovieClip [__Packages.Boss_spell2] Frame 0
class Boss_spell2 extends Boss
{
var bulletCount, lv, disappearTime, attackNum, kegouTime, attackFinished, animCount, changeTo, _parent, id, p;
function Boss_spell2 () {
super();
}
function init(_hp, _lv, _score) {
super.init(_hp, _lv, _score);
setAppearPos();
bulletCount = 1;
if (lv < 15) {
disappearTime = 160 - (lv * 3);
} else if (lv < 40) {
disappearTime = 120 - lv;
} else {
disappearTime = 80;
}
if (lv < 56) {
attackNum = Math.floor((lv - 1) / 8) + 3;
} else {
attackNum = 10;
}
if (lv < 40) {
kegouTime = 40 - Math.floor(lv / 2);
} else {
kegouTime = 20;
}
attackFinished = 0;
}
function action() {
if (attackFinished < attackNum) {
if (animCount == (20 + (attackFinished * 5))) {
attackFinished++;
attackNormal(attackFinished);
}
}
if (animCount == (20 + kegouTime)) {
attackFinal();
}
if (animCount == disappearTime) {
changeTo = Boss.DISAPPEAR;
} else if (animCount >= (disappearTime + 50)) {
setAppearPos();
changeTo = Boss.APPEAR;
attackFinished = 0;
animCount = 0;
}
}
function attackNormal(count) {
var _local4 = 22.5 * (count - 1);
var _local6 = 10;
var _local7 = -0.3;
var _local3 = -10;
var _local5 = 0;
generateBulletNormal(_local4, _local6, _local7, _local3, _local5);
_root.bossSE_mc.gotoAndPlay("bullet");
}
function generateBulletNormal(rot, vrad, arad, vz, az) {
var _local3 = Math.cos((rot * Math.PI) / 180);
var _local2 = Math.sin((rot * Math.PI) / 180);
var _local9 = 80 * _local3;
var _local8 = 80 * _local2;
var _local5 = vrad * _local3;
var _local4 = vrad * _local2;
var _local7 = arad * _local3;
var _local6 = arad * _local2;
var _local11 = _parent.attachMovie("bulletNORMAL7", ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local11.init(new Array(p[0] + _local9, p[1] + _local8, p[2]), new Array(_local5, _local4, vz), new Array(_local7, _local6, az));
var _local10 = _parent.attachMovie("bulletNORMAL7", ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local10.init(new Array(p[0] - _local9, p[1] - _local8, p[2]), new Array(-1 * _local5, -1 * _local4, vz), new Array(-1 * _local7, -1 * _local6, az));
}
function attackFinal() {
var _local5 = 100 + (lv * 3);
if (lv > 40) {
_local5 = 220 + ((lv - 40) / 2);
}
var _local6 = -15 - (lv / 15);
var _local7 = 0;
var _local3 = 10 + (lv / 3);
var _local4 = -0.4 - (lv / 40);
if (p[0] > 0) {
_local3 = _local3 * -1;
_local4 = _local4 * -1;
}
var _local8 = _parent.attachMovie("bulletKEGOU", ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local8.init(_local5, new Array(p[0], p[1], p[2]), new Array(_local3, 0, _local6), new Array(_local4, 0, _local7));
_root.bossSE_mc.gotoAndPlay("kegou");
}
function setAppearPos() {
var _local2 = 300 + Math.floor(Math.random() * 400);
var _local4 = Math.floor(-160 + (Math.random() * 320));
var _local3 = Math.floor(-160 + (Math.random() * 320));
p = new Array(_local4, _local3, _local2);
}
}
Symbol 504 MovieClip [__Packages.Fairy2] Frame 0
class Fairy2 extends Fairy
{
var lv, _parent, id, p, interval;
function Fairy2 () {
super();
}
function attack() {
var _local2 = 1;
if (lv <= 10) {
} else if (lv <= 30) {
if ((Math.random() * 20) < (lv - 10)) {
_local2++;
}
} else {
_local2 = Math.floor((lv - 1) / 30) + 1;
if ((Math.random() * 30) < ((lv - 11) % 30)) {
_local2++;
}
}
if (_local2 == 1) {
var _local3 = 90 + (180 * Math.floor(Math.random() * 2));
generateBullet(_local3);
} else if (_local2 == 2) {
var _local3 = 60 + (30 * Math.floor(Math.random() * 3));
generateBullet(_local3);
generateBullet(-1 * _local3);
} else if (_local2 == 3) {
var _local3 = 90 + (180 * Math.floor(Math.random() * 2));
generateBullet(_local3);
generateBullet(_local3 + 150);
generateBullet(_local3 - 150);
} else if (_local2 == 4) {
var _local4 = Math.floor(Math.random() * 3);
if (_local4 != 0) {
generateBullet(90);
generateBullet(-90);
}
if (_local4 != 1) {
generateBullet(60);
generateBullet(-60);
}
if (_local4 != 2) {
generateBullet(120);
generateBullet(-120);
}
}
}
function generateBullet(rot) {
var _local3 = Math.cos((rot * Math.PI) / 180);
var _local2 = Math.sin((rot * Math.PI) / 180);
var _local5 = 50 * _local2;
var _local4 = 50 * _local3;
var _local7 = 12 * _local2;
var _local6 = 12 * _local3;
var _local9 = -0.4 * _local2;
var _local8 = -0.4 * _local3;
var _local10 = _parent.attachMovie("bulletNORMAL1", ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local10.init(new Array(p[0] + _local5, p[1] + _local4, p[2]), new Array(_local7, _local6, -10), new Array(_local9, _local8, 0));
}
function setFirstInterval() {
if (lv < 8) {
interval = (30 - lv) + Math.floor(Math.random() * (100 - (lv * 7)));
}
if (lv < 25) {
interval = (30 - lv) + Math.floor(Math.random() * (50 - lv));
} else if (lv < 50) {
interval = 5 + Math.floor(Math.random() * (50 - lv));
} else {
interval = 5;
}
}
function setNextInterval() {
if (lv < 20) {
interval = Math.floor((300 - (lv * 10)) + (Math.random() * 40));
} else {
interval = Math.floor((110 - (lv * 0.5)) + (Math.random() * 40));
}
}
var bulletCount = 1;
}
Symbol 505 MovieClip [__Packages.Fairy1] Frame 0
class Fairy1 extends Fairy
{
var lv, _parent, id, p, interval;
function Fairy1 () {
super();
}
function attack() {
var _local2 = 1;
if (lv <= 10) {
} else if (lv <= 30) {
if ((Math.random() * 20) < (lv - 10)) {
_local2++;
}
} else {
_local2 = Math.floor((lv - 1) / 30) + 1;
if ((Math.random() * 30) < ((lv - 11) % 30)) {
_local2++;
}
}
if (_local2 == 1) {
var _local3 = 90 * Math.floor(Math.random() * 4);
generateBullet(_local3);
} else if (_local2 == 2) {
var _local3 = 90 * Math.floor(Math.random() * 2);
generateBullet(_local3);
generateBullet(_local3 + 180);
} else if (_local2 == 3) {
var _local3 = 90 * Math.floor(Math.random() * 2);
generateBullet(_local3);
generateBullet(_local3 + 120);
generateBullet(_local3 + 240);
} else if (_local2 == 4) {
var _local3 = 45 * Math.floor(Math.random() * 2);
generateBullet(_local3);
generateBullet(_local3 + 90);
generateBullet(_local3 + 180);
generateBullet(_local3 + 270);
}
}
function generateBullet(rot) {
var _local3 = Math.cos((rot * Math.PI) / 180);
var _local2 = Math.sin((rot * Math.PI) / 180);
var _local5 = 50 * _local2;
var _local4 = 50 * _local3;
var _local7 = 3 * _local2;
var _local6 = 3 * _local3;
var _local8 = _parent.attachMovie("bulletNORMAL6", ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local8.init(new Array(p[0] + _local5, p[1] + _local4, p[2]), new Array(_local7, _local6, -10), new Array(0, 0, 0));
}
function setFirstInterval() {
if (lv < 8) {
interval = (30 - lv) + Math.floor(Math.random() * (100 - (lv * 7)));
}
if (lv < 25) {
interval = (30 - lv) + Math.floor(Math.random() * (50 - lv));
} else if (lv < 50) {
interval = 5 + Math.floor(Math.random() * (50 - lv));
} else {
interval = 5;
}
}
function setNextInterval() {
if (lv < 20) {
interval = Math.floor((290 - (lv * 10)) + (Math.random() * 40));
} else {
interval = Math.floor((100 - (lv * 0.5)) + (Math.random() * 40));
}
}
var bulletCount = 1;
}
Symbol 506 MovieClip [__Packages.Bullet] Frame 0
class Bullet extends Target
{
var state, changeTo, p, removeMovieClip, gotoAndStop, gotoAndPlay, swapDepths, id, _xscale, _yscale, _x, _y, _parent;
function Bullet () {
super();
}
function init(_p) {
super.init(_p);
state = NEUTRAL;
changeTo = NONE;
draw();
}
function onPress() {
if (((state == NEUTRAL) && (_root.status_mc.state != Status.CUTIN)) && (_root.status_mc.knifeNum > 0)) {
changeTo = BROKEN;
}
}
function onEnterFrame() {
if (p[2] <= 0) {
collideCheck();
removeMovieClip();
}
if (changeTo != NONE) {
state = changeTo;
if (state == NEUTRAL) {
gotoAndStop("neutral");
} else if (state == BROKEN) {
gotoAndPlay("broken");
}
changeTo = NONE;
}
if (state == NEUTRAL) {
if (_root.status_mc.stopping == false) {
move();
draw();
}
}
}
function draw() {
swapDepths(((900 - p[2]) * 1000) + id);
_xscale = (100 * ((PARAM.ZMAX - p[2]) / PARAM.ZMAX)) * widthRatio;
_yscale = (100 * ((PARAM.ZMAX - p[2]) / PARAM.ZMAX)) * heightRatio;
_x = PARAM.XCENTER + (p[0] * ((PARAM.ZMAX - p[2]) / PARAM.ZMAX));
_y = PARAM.YCENTER + (p[1] * ((PARAM.ZMAX - p[2]) / PARAM.ZMAX));
if (p[2] < 100) {
var _local2 = new Color(this);
var _local3 = {ra:100, rb:100 - p[2], ga:100, gb:100 - p[2], ba:100, bb:100 - p[2], aa:100, b:0};
_local2.setTransform(_local3);
} else {
var _local2 = new Color(this);
var _local3 = {ra:100, rb:(-1 * (p[2] - 100)) / 7, ga:100, gb:(-1 * (p[2] - 100)) / 7, ba:100, bb:(-1 * (p[2] - 100)) / 7, aa:100, b:0};
_local2.setTransform(_local3);
}
}
function collideCheck() {
if (_parent._parent.status_mc.invincible == false) {
if ((((_x >= 0) && (_x <= PARAM.GAMEWIDTH)) && (_y >= 0)) && (_y <= PARAM.GAMEHEIGHT)) {
if (_parent._parent.cursor_mc.hitTest(_x, _y, true)) {
_root.status_mc.damage();
}
}
}
}
function move() {
}
static var NONE = 0;
static var NEUTRAL = 1;
static var BROKEN = 2;
var widthRatio = 1;
var heightRatio = 1;
}
Symbol 507 MovieClip [__Packages.BulletTyphoon] Frame 0
class BulletTyphoon extends Bullet
{
var v, a, _rotation, p;
function BulletTyphoon () {
super();
}
function init(_p, _v, _a, _rot) {
super.init(_p);
v = _v;
a = _a;
_rotation = _rot;
}
function move() {
var _local2 = 0;
while (_local2 < 3) {
v[_local2] = v[_local2] + a[_local2];
p[_local2] = p[_local2] + v[_local2];
_local2++;
}
}
}
Symbol 508 MovieClip [__Packages.BulletFlower] Frame 0
class BulletFlower extends Bullet
{
var center, maxAmp, amp, vamp, aamp, rot, vrot, vz, az, moveMode, mode1Wait, p, _rotation;
function BulletFlower () {
super();
}
function init(_p0, _amp, _vamp, _aamp, _rot, _vrot, _vz, _az) {
super.init(_p0);
center = new Array(_p0[0], _p0[1]);
maxAmp = _amp;
amp = 0;
vamp = _vamp;
aamp = _aamp;
rot = _rot;
vrot = _vrot;
vz = _vz;
az = _az;
moveMode = 0;
mode1Wait = 10;
}
function move() {
if (moveMode == 0) {
amp = amp + (((maxAmp - amp) / 2) + 1);
if (amp >= maxAmp) {
amp = maxAmp;
moveMode = 1;
}
} else if (moveMode == 1) {
mode1Wait--;
if (mode1Wait <= 0) {
moveMode = 2;
}
} else if (moveMode == 2) {
rot = rot + vrot;
vz = vz + az;
p[2] = p[2] + vz;
}
p[0] = center[0] + (amp * Math.sin((rot * Math.PI) / 180));
p[1] = center[1] + (amp * Math.cos((rot * Math.PI) / 180));
_rotation = -1 * rot;
}
}
Symbol 509 MovieClip [__Packages.BulletNormal] Frame 0
class BulletNormal extends Bullet
{
var v, a, p;
function BulletNormal () {
super();
}
function init(_p, _v, _a) {
super.init(_p);
v = _v;
a = _a;
}
function move() {
var _local2 = 0;
while (_local2 < 3) {
v[_local2] = v[_local2] + a[_local2];
p[_local2] = p[_local2] + v[_local2];
_local2++;
}
}
}
Symbol 510 MovieClip [__Packages.BulletKegou] Frame 0
class BulletKegou extends Bullet
{
var widthRatio, heightRatio, v, a, radius, _width, _height, p, _parent, _y, _x;
function BulletKegou () {
super();
}
function init(_radius, _p, _v, _a) {
widthRatio = _radius / 75;
heightRatio = _radius / 75;
super.init(_p);
v = _v;
a = _a;
radius = _radius;
_width = ((_radius * 2) * 4) / 3;
_height = ((_radius * 2) * 4) / 3;
}
function onPress() {
}
function move() {
var _local2 = 0;
while (_local2 < 3) {
v[_local2] = v[_local2] + a[_local2];
p[_local2] = p[_local2] + v[_local2];
_local2++;
}
}
function collideCheck() {
if (_parent._parent.status_mc.invincible == false) {
var _local4 = _root.cursor_mc._x;
var _local3 = _root.cursor_mc._y;
var _local6 = _root.cursor_mc._width / 2;
var _local5 = Math.sqrt(((_x - _local4) * (_x - _local4)) + ((_y - _local3) * (_y - _local3)));
if (_local5 <= (_local6 + radius)) {
_root.status_mc.damage();
}
}
}
}
Symbol 511 MovieClip [__Packages.BulletFuurin] Frame 0
class BulletFuurin extends Bullet
{
var w, widthRatio, rot, _rotation, v, a, p, _parent, _x, _y;
function BulletFuurin () {
super();
}
function init(_w, _p, _rot, _vdist, _adist, _vz, _az) {
w = _w;
widthRatio = _w / 130;
super.init(_p);
rot = _rot;
_rotation = rot;
var _local4 = _vdist * Math.cos((rot * Math.PI) / 180);
var _local3 = _vdist * Math.sin((rot * Math.PI) / 180);
var _local6 = _adist * Math.cos((rot * Math.PI) / 180);
var _local5 = _adist * Math.sin((rot * Math.PI) / 180);
v = new Array(_local4, _local3, _vz);
a = new Array(_local6, _local5, _az);
}
function move() {
var _local2 = 0;
while (_local2 < 3) {
v[_local2] = v[_local2] + a[_local2];
p[_local2] = p[_local2] + v[_local2];
_local2++;
}
}
function collideCheck() {
if (_parent._parent.status_mc.invincible == false) {
var _local6 = false;
var _local8 = (w / 8) * Math.cos((rot * Math.PI) / 180);
var _local7 = (w / 8) * Math.sin((rot * Math.PI) / 180);
var _local4 = _x - (4 * _local8);
var _local3 = _y - (4 * _local7);
var _local5 = 0;
while (_local5 < 9) {
if ((((_local4 >= 0) && (_local4 <= PARAM.GAMEWIDTH)) && (_local3 >= 0)) && (_local3 <= PARAM.GAMEHEIGHT)) {
if (_root.cursor_mc.hitTest(_local4, _local3, true)) {
_local6 = true;
break;
}
}
_local4 = _local4 + _local8;
_local3 = _local3 + _local7;
_local5++;
}
if (_local6 == true) {
_root.status_mc.damage();
}
}
}
}
Symbol 512 MovieClip [__Packages.TargetManager] Frame 0
class TargetManager extends MovieClip
{
var fairy_mcs, fairyRangeMins, fairyRangeMaxs, intervals, boss_mc, bossInterval, bossSpell, lastSpellNum, _parent, attachMovie, getNextHighestDepth;
function TargetManager () {
super();
}
function init() {
fairy_mcs = new Array(9);
var _local2 = 0;
while (_local2 < 9) {
fairy_mcs[_local2] = null;
_local2++;
}
fairyRangeMins = new Array(9);
fairyRangeMaxs = new Array(9);
fairyRangeMins[0] = new Array(-360, -200, 200);
fairyRangeMaxs[0] = new Array(-120, 200, 400);
fairyRangeMins[1] = new Array(-120, -200, 200);
fairyRangeMaxs[1] = new Array(120, 200, 400);
fairyRangeMins[2] = new Array(120, -200, 200);
fairyRangeMaxs[2] = new Array(360, 200, 400);
fairyRangeMins[3] = new Array(-420, -260, 350);
fairyRangeMaxs[3] = new Array(-140, 260, 550);
fairyRangeMins[4] = new Array(-140, -260, 350);
fairyRangeMaxs[4] = new Array(140, 260, 550);
fairyRangeMins[5] = new Array(140, -260, 350);
fairyRangeMaxs[5] = new Array(420, 260, 550);
fairyRangeMins[6] = new Array(-480, -320, 500);
fairyRangeMaxs[6] = new Array(-160, 320, 700);
fairyRangeMins[7] = new Array(-160, -320, 500);
fairyRangeMaxs[7] = new Array(160, 320, 700);
fairyRangeMins[8] = new Array(160, -320, 500);
fairyRangeMaxs[8] = new Array(480, 320, 700);
intervals = new Array(9);
_local2 = 0;
while (_local2 < 9) {
setNextInterval(_local2);
_local2++;
}
boss_mc = null;
bossInterval = 270;
bossSpell = 1;
lastSpellNum = 0;
}
function enterFrameAction() {
var _local3 = 0;
while (_local3 < 9) {
if (_parent.status_mc.stopping == false) {
if (fairy_mcs[_local3] == null) {
intervals[_local3]--;
if (intervals[_local3] <= 0) {
generateFairy(_local3);
}
}
}
fairy_mcs[_local3].enterFrameAction();
_local3++;
}
if (_parent.status_mc.stopping == false) {
if (boss_mc == null) {
bossInterval--;
if (bossInterval <= 0) {
if (_root.status_mc.setBoss(getSpell()) == true) {
generateBoss();
}
}
}
}
boss_mc.enterFrameAction();
}
function fairyKilledNotify(mID) {
_root.status_mc.addScore(fairy_mcs[mID].score);
_root.status_mc.addStopTime(6);
fairy_mcs[mID] = null;
}
function bossKilledNotify() {
var _local3 = getSpell();
_root.status_mc.bossKilledNotify(boss_mc.score);
if ((_local3 == 5) && (boss_mc.score >= 0)) {
_root.lastSpellCleared = true;
}
boss_mc = null;
if (_local3 == 5) {
lastSpellNum++;
} else {
bossSpell++;
if (bossSpell > 4) {
bossSpell = 1;
}
}
}
function generateFairy(pos) {
var _local7 = Math.floor(fairyRangeMins[pos][0] + (Math.random() * (fairyRangeMaxs[pos][0] - fairyRangeMins[pos][0])));
var _local6 = Math.floor(fairyRangeMins[pos][1] + (Math.random() * (fairyRangeMaxs[pos][1] - fairyRangeMins[pos][1])));
var _local5 = Math.floor(fairyRangeMins[pos][2] + (Math.random() * (fairyRangeMaxs[pos][2] - fairyRangeMins[pos][2])));
var _local8 = _root.status_mc.lv;
var _local4 = Math.floor(Math.random() * 2) + 1;
fairy_mcs[pos] = attachMovie("fairy" + _local4, ("fairy" + pos) + "_mc", getNextHighestDepth());
if (_local4 == 1) {
fairy_mcs[pos].init(new Array(_local7, _local6, _local5), 1, _local8, pos, 100);
} else {
fairy_mcs[pos].init(new Array(_local7, _local6, _local5), 1, _local8, pos, 100);
}
setNextInterval(pos);
}
function setNextInterval(pos) {
intervals[pos] = 30 + Math.floor(Math.random() * 210);
}
function generateBoss() {
var _local3 = _root.status_mc.lv;
boss_mc = attachMovie("boss_spell" + getSpell(), "boss_mc", getNextHighestDepth());
boss_mc.init(60, _local3, 30000);
bossInterval = 150;
}
function getSpell() {
if (_root.status_mc.lv >= (20 + (lastSpellNum * 20))) {
return(5);
}
return(bossSpell);
}
}
Symbol 513 MovieClip [__Packages.TargetManager_practice] Frame 0
class TargetManager_practice extends TargetManager
{
var practiceSpell, intervals, boss_mc, bossInterval, bossSpell, lastSpellNum;
function TargetManager_practice () {
super();
}
function init(_spell, _fairyAppear) {
super.init();
practiceSpell = _spell;
if (_fairyAppear == false) {
var _local3 = 0;
while (_local3 < 9) {
intervals[_local3] = 1000000 /* 0x0F4240 */;
_local3++;
}
}
boss_mc = null;
bossInterval = 40;
bossSpell = _spell;
lastSpellNum = 0;
}
function getSpell() {
return(practiceSpell);
}
function bossKilledNotify() {
_root.status_mc.bossKilledNotify(boss_mc.score);
_root.practiceEnd = true;
}
}
Symbol 514 MovieClip [__Packages.Boss_spell1] Frame 0
class Boss_spell1 extends Boss
{
var bulletCount, bulletColor, speed, lv, moveFrameNum, bulletNum, bulletLayers, vz, az, vamp, aamp, vrot, waitTime, animCount, v, p, changeTo, _parent, id;
function Boss_spell1 () {
super();
}
function init(_hp, _lv, _score) {
super.init(_hp, _lv, _score);
setAppearPos();
bulletCount = 1;
bulletColor = 1;
setVars();
}
function setVars() {
speed = 10 + (lv / 4);
moveFrameNum = Math.floor(400 / speed);
if (lv <= 12) {
bulletNum = Math.floor(lv / 4) + 5;
} else if (lv <= 32) {
bulletNum = Math.floor((lv - 13) / 5) + 5;
} else if (lv <= 52) {
bulletNum = Math.floor((lv - 33) / 5) + 6;
} else {
bulletNum = 10;
}
if (lv <= 12) {
bulletLayers = 1;
} else if (lv <= 32) {
bulletLayers = 2;
} else {
bulletLayers = 3;
}
vz = -15;
az = 0;
vamp = 0;
aamp = 0;
if (lv < 80) {
vrot = (lv / 20) + 1;
} else {
vrot = 4;
}
if (lv < 50) {
waitTime = Math.floor(25 - (lv / 2));
} else {
waitTime = 0;
}
}
function action() {
if (animCount == 10) {
attackAction(1, 1);
} else if ((animCount == 20) && (bulletLayers >= 2)) {
attackAction(2, 2);
} else if ((animCount == 30) && (bulletLayers >= 3)) {
attackAction(3, 1);
} else if (animCount == (40 + waitTime)) {
var _local2 = ((5 + (Math.random() * 40)) * Math.PI) / 180;
v[0] = speed * Math.cos(_local2);
v[1] = speed * Math.sin(_local2);
if (p[0] > 0) {
v[0] = v[0] * -1;
}
if (p[1] > 0) {
v[1] = v[1] * -1;
}
} else if (animCount == ((40 + waitTime) + moveFrameNum)) {
v[0] = 0;
v[1] = 0;
} else if (animCount == ((50 + waitTime) + moveFrameNum)) {
attackAction(1, 2);
} else if ((animCount == ((60 + waitTime) + moveFrameNum)) && (bulletLayers >= 2)) {
attackAction(2, 1);
} else if ((animCount == ((70 + waitTime) + moveFrameNum)) && (bulletLayers >= 3)) {
attackAction(3, 2);
} else if (animCount == ((80 + moveFrameNum) + (waitTime * 2))) {
changeTo = Boss.DISAPPEAR;
} else if (animCount >= ((80 + (moveFrameNum * 2)) + (waitTime * 2))) {
setAppearPos();
changeTo = Boss.APPEAR;
animCount = 0;
}
}
function attackAction(layer, pattern) {
var _local2;
var _local3;
if (layer == 1) {
if (bulletLayers == 1) {
_local2 = 230;
} else {
_local2 = 150;
}
} else if (layer == 2) {
if (bulletLayers == 2) {
_local2 = 270;
} else {
_local2 = 230;
}
} else if (layer == 3) {
_local2 = 310;
}
if (pattern == 1) {
_local3 = 0;
} else {
_local3 = 180 / bulletNum;
}
if (layer == 2) {
generateBullet(bulletNum, _local3, bulletColor, _local2, vamp, aamp, -1 * vrot, vz, az);
} else {
generateBullet(bulletNum, _local3, bulletColor, _local2, vamp, aamp, vrot, vz, az);
}
bulletColor = ((bulletColor + 1) % 7) + 1;
}
function generateBullet(bulletNum, baseRot, color, amp, vamp, aamp, vrot, vz, az) {
var _local5 = baseRot;
var _local6 = 360 / bulletNum;
var _local3 = 0;
while (_local3 < bulletNum) {
var _local4 = _parent.attachMovie("bulletFLOWER" + color, ((("bullet_" + id) + "_") + bulletCount) + "_mc", _parent.getNextHighestDepth());
bulletCount++;
if (bulletCount > 65535) {
bulletCount = 1;
}
_local4.init(new Array(p[0], p[1], p[2]), amp, vamp, aamp, _local5, vrot, vz, az);
_local5 = _local5 + _local6;
_local3++;
}
_root.bossSE_mc.gotoAndPlay("bullet");
}
function setAppearPos() {
var _local2 = 250 + Math.floor(Math.random() * 400);
var _local4 = Math.floor((-320 + (Math.random() * 640)) * (1 + (_local2 / PARAM.ZMAX)));
var _local3 = Math.floor((-200 + (Math.random() * 400)) * (1 + (_local2 / PARAM.ZMAX)));
p = new Array(_local4, _local3, _local2);
}
}
Symbol 197 MovieClip Frame 30
this.stop();
_parent.play();
Symbol 210 Button
on (release) {
_root.startScore = 0;
modeTo = "ready";
play();
}
on (dragOver) {
if (Key.isDown(80)) {
_root.startScore = 140000 /* 0x0222E0 */;
modeTo = "ready";
play();
}
}
Symbol 212 Button
on (release) {
modeTo = "manual";
play();
}
Symbol 214 Button
on (release) {
modeTo = "ranking";
play();
}
Symbol 216 Button
on (release) {
if (Key.isDown(80)) {
modeTo = "practice_full";
} else {
modeTo = "practice_easy";
}
play();
}
Symbol 217 MovieClip Frame 13
this.stop();
Symbol 217 MovieClip Frame 30
_root.gotoAndPlay(modeTo);
Symbol 220 MovieClip Frame 1
this.stop();
Symbol 220 MovieClip Frame 46
this.stop();
Symbol 220 MovieClip Frame 76
this.gotoAndStop(1);
Symbol 223 MovieClip Frame 6
this.stop();
_parent.play();
Symbol 225 MovieClip Frame 32
this.swapDepths(100);
this.removeMovieClip();
Symbol 229 MovieClip Frame 1
stop();
Symbol 229 MovieClip Frame 7
gotoAndStop (1);
Symbol 229 MovieClip Frame 12
gotoAndStop (1);
Symbol 229 MovieClip Frame 17
gotoAndStop (1);
Symbol 230 MovieClip Frame 1
function init() {
this.frames = 0;
this.clicked = 0;
Mouse.addListener(this);
}
function onEnterFrame() {
this.frames++;
}
function onMouseDown() {
this.clicked++;
_root.status_mc.addKnifeNum(-1);
}
var frames = 0;
var clicked = 0;
Symbol 232 MovieClip Frame 1
stop();
Symbol 232 MovieClip Frame 19
gotoAndStop (1);
Symbol 233 MovieClip Frame 6
this.stop();
_parent.play();
Symbol 240 MovieClip Frame 30
this.stop();
_parent.play();
Symbol 249 Button
on (release) {
gotoAndStop ("result");
cutinMode = false;
}
Symbol 263 Button
on (release) {
_parent.play();
}
Symbol 282 Button
on (release) {
gotoAndStop ("regist");
}
Symbol 285 Button
on (release) {
_parent.play();
}
Symbol 290 MovieClip Frame 1
stop();
var entryStr;
var scoreStr;
var entries;
var scores;
var retry = 900;
this.onEnterFrame = function () {
retry--;
if (retry < 0) {
this.onEnterFrame = undefined;
this.gotoAndStop("error");
}
};
var score_lv = new LoadVars();
score_lv.onLoad = function (success) {
onEnterFrame = undefined;
if (success) {
entryStr = this.entry;
scoreStr = this.score;
entries = entryStr.split("|");
scores = scoreStr.split("|");
gotoAndStop (2);
} else {
gotoAndStop ("noEntry");
}
};
score_lv.load((_root.RANKING_TEXT_URL + "?rn=") + Math.random());
Symbol 290 MovieClip Frame 2
rank = -1;
var i = 0;
while (i < 50) {
if (score > scores[i]) {
rank = i + 1;
break;
}
i++;
}
if (rank == -1) {
gotoAndStop ("noEntry");
} else {
gotoAndStop ("entry");
}
Symbol 290 MovieClip Frame 5
stop();
Symbol 290 MovieClip Frame 13
stop();
Symbol 290 MovieClip Frame 20
stop();
var loader = new LoadVars();
var sender = new LoadVars();
loader.onLoad = function (success) {
if (success) {
if (this.res == 1) {
gotoAndStop ("regist_end");
} else if (this.res == 0) {
gotoAndStop ("entry");
} else {
gotoAndPlay ("error");
}
} else {
gotoAndPlay ("error");
}
};
sender.entry = registName;
sender.score = score;
sender.pass = "19af76b9";
sender.sendAndLoad((_root.RANKING_PHP_URL + "?rn=") + Math.random(), loader, "POST");
Symbol 290 MovieClip Frame 27
stop();
Symbol 290 MovieClip Frame 35
stop();
Symbol 308 Button
on (release) {
this.gotoAndStop(3);
}
Symbol 344 Button
on (release) {
this.gotoAndStop(2);
}
Symbol 345 Button
on (release) {
this.gotoAndStop(4);
}
Symbol 357 Button
on (release) {
this.gotoAndStop(3);
}
Symbol 358 Button
on (release) {
this.gotoAndStop(5);
}
Symbol 370 Button
on (release) {
this.gotoAndStop(4);
}
Symbol 371 Button
on (release) {
this.gotoAndStop(6);
}
Symbol 383 Button
on (release) {
this.gotoAndStop(5);
}
Symbol 384 MovieClip Frame 1
stop();
var entryStr;
var scoreStr;
var entries;
var scores;
var retry = 900;
this.onEnterFrame = function () {
retry--;
if (retry < 0) {
this.onEnterFrame = undefined;
this.gotoAndStop("error");
}
};
var score_lv = new LoadVars();
score_lv.onLoad = function (success) {
onEnterFrame = undefined;
if (success) {
entryStr = this.entry;
scoreStr = this.score;
entries = entryStr.split("|");
scores = scoreStr.split("|");
gotoAndStop (2);
} else {
gotoAndStop ("error");
}
};
score_lv.load((_root.RANKING_TEXT_URL + "?rn=") + Math.random());
Symbol 384 MovieClip Frame 2
stop();
mgn = 0;
entry1 = entries[0 + mgn];
entry2 = entries[1 + mgn];
entry3 = entries[2 + mgn];
entry4 = entries[3 + mgn];
entry5 = entries[4 + mgn];
entry6 = entries[5 + mgn];
entry7 = entries[6 + mgn];
entry8 = entries[7 + mgn];
entry9 = entries[8 + mgn];
entry10 = entries[9 + mgn];
score1 = scores[0 + mgn];
score2 = scores[1 + mgn];
score3 = scores[2 + mgn];
score4 = scores[3 + mgn];
score5 = scores[4 + mgn];
score6 = scores[5 + mgn];
score7 = scores[6 + mgn];
score8 = scores[7 + mgn];
score9 = scores[8 + mgn];
score10 = scores[9 + mgn];
Symbol 384 MovieClip Frame 3
stop();
mgn = 10;
entry1 = entries[0 + mgn];
entry2 = entries[1 + mgn];
entry3 = entries[2 + mgn];
entry4 = entries[3 + mgn];
entry5 = entries[4 + mgn];
entry6 = entries[5 + mgn];
entry7 = entries[6 + mgn];
entry8 = entries[7 + mgn];
entry9 = entries[8 + mgn];
entry10 = entries[9 + mgn];
score1 = scores[0 + mgn];
score2 = scores[1 + mgn];
score3 = scores[2 + mgn];
score4 = scores[3 + mgn];
score5 = scores[4 + mgn];
score6 = scores[5 + mgn];
score7 = scores[6 + mgn];
score8 = scores[7 + mgn];
score9 = scores[8 + mgn];
score10 = scores[9 + mgn];
Symbol 384 MovieClip Frame 4
stop();
mgn = 20;
entry1 = entries[0 + mgn];
entry2 = entries[1 + mgn];
entry3 = entries[2 + mgn];
entry4 = entries[3 + mgn];
entry5 = entries[4 + mgn];
entry6 = entries[5 + mgn];
entry7 = entries[6 + mgn];
entry8 = entries[7 + mgn];
entry9 = entries[8 + mgn];
entry10 = entries[9 + mgn];
score1 = scores[0 + mgn];
score2 = scores[1 + mgn];
score3 = scores[2 + mgn];
score4 = scores[3 + mgn];
score5 = scores[4 + mgn];
score6 = scores[5 + mgn];
score7 = scores[6 + mgn];
score8 = scores[7 + mgn];
score9 = scores[8 + mgn];
score10 = scores[9 + mgn];
Symbol 384 MovieClip Frame 5
stop();
mgn = 30;
entry1 = entries[0 + mgn];
entry2 = entries[1 + mgn];
entry3 = entries[2 + mgn];
entry4 = entries[3 + mgn];
entry5 = entries[4 + mgn];
entry6 = entries[5 + mgn];
entry7 = entries[6 + mgn];
entry8 = entries[7 + mgn];
entry9 = entries[8 + mgn];
entry10 = entries[9 + mgn];
score1 = scores[0 + mgn];
score2 = scores[1 + mgn];
score3 = scores[2 + mgn];
score4 = scores[3 + mgn];
score5 = scores[4 + mgn];
score6 = scores[5 + mgn];
score7 = scores[6 + mgn];
score8 = scores[7 + mgn];
score9 = scores[8 + mgn];
score10 = scores[9 + mgn];
Symbol 384 MovieClip Frame 6
stop();
mgn = 40;
entry1 = entries[0 + mgn];
entry2 = entries[1 + mgn];
entry3 = entries[2 + mgn];
entry4 = entries[3 + mgn];
entry5 = entries[4 + mgn];
entry6 = entries[5 + mgn];
entry7 = entries[6 + mgn];
entry8 = entries[7 + mgn];
entry9 = entries[8 + mgn];
entry10 = entries[9 + mgn];
score1 = scores[0 + mgn];
score2 = scores[1 + mgn];
score3 = scores[2 + mgn];
score4 = scores[3 + mgn];
score5 = scores[4 + mgn];
score6 = scores[5 + mgn];
score7 = scores[6 + mgn];
score8 = scores[7 + mgn];
score9 = scores[8 + mgn];
score10 = scores[9 + mgn];
Symbol 392 Button
on (release) {
this.gotoAndStop(1);
}
Symbol 395 Button
on (release) {
this.gotoAndStop(6);
}
Symbol 398 Button
on (release) {
_root.play();
}
Symbol 399 Button
on (release) {
getURL ("http://www16.big.or.jp/~zun/", "_blank");
}
Symbol 400 Button
on (release) {
getURL ("http://osabisi.sakura.ne.jp/m2/", "_blank");
}
Symbol 401 Button
on (release) {
getURL ("http://chibitami.net/works/", "_blank");
}
Symbol 408 Button
on (rollOver) {
this.gotoAndStop(13);
}
on (rollOut) {
this.gotoAndStop(6);
}
Symbol 409 Button
on (rollOver) {
this.gotoAndStop(12);
}
on (rollOut) {
this.gotoAndStop(6);
}
Symbol 410 Button
on (rollOver) {
this.gotoAndStop(11);
}
on (rollOut) {
this.gotoAndStop(6);
}
Symbol 411 Button
on (rollOver) {
this.gotoAndStop(14);
}
on (rollOut) {
this.gotoAndStop(6);
}
Symbol 412 Button
on (rollOver) {
this.gotoAndStop(15);
}
on (rollOut) {
this.gotoAndStop(6);
}
Symbol 413 Button
on (rollOver) {
this.gotoAndStop(16);
}
on (rollOut) {
this.gotoAndStop(6);
}
Symbol 414 Button
on (rollOver) {
this.gotoAndStop(17);
}
on (rollOut) {
this.gotoAndStop(6);
}
Symbol 415 Button
on (rollOver) {
this.gotoAndStop(18);
}
on (rollOut) {
this.gotoAndStop(6);
}
Symbol 420 Button
on (rollOver) {
this.gotoAndStop(11);
}
on (rollOut) {
this.gotoAndStop(6);
}
on (press) {
this.gotoAndStop(6);
}
Symbol 424 Button
on (rollOver) {
this.gotoAndStop(12);
}
on (rollOut) {
this.gotoAndStop(6);
}
on (press) {
this.gotoAndStop(6);
}
Symbol 429 Button
on (rollOver) {
this.gotoAndStop(13);
}
on (rollOut) {
this.gotoAndStop(6);
}
on (press) {
this.gotoAndStop(6);
}
Symbol 434 Button
on (rollOver) {
this.gotoAndStop(14);
}
on (rollOut) {
this.gotoAndStop(6);
}
on (press) {
this.gotoAndStop(6);
}
Symbol 439 Button
on (rollOver) {
this.gotoAndStop(15);
}
on (rollOut) {
this.gotoAndStop(6);
}
on (press) {
this.gotoAndStop(6);
}
Symbol 448 Button
on (rollOver) {
this.gotoAndStop(16);
}
on (rollOut) {
this.gotoAndStop(6);
}
on (press) {
this.gotoAndStop(6);
}
Symbol 453 Button
on (rollOver) {
this.gotoAndStop(17);
}
on (rollOut) {
this.gotoAndStop(6);
}
on (press) {
this.gotoAndStop(6);
}
Symbol 461 Button
on (rollOver) {
this.gotoAndStop(18);
}
on (rollOut) {
this.gotoAndStop(6);
}
on (press) {
this.gotoAndStop(6);
}
Symbol 462 MovieClip Frame 1
this.stop();
Symbol 478 MovieClip Frame 1
stop();
Symbol 478 MovieClip Frame 2
stop();
Symbol 481 Button
on (release) {
modeTo = "title";
play();
}
Symbol 484 Button
on (release) {
practiceLevel = parseInt(practiceLevelText);
if ((practiceLevel > 99) || (practiceLevel < 1)) {
practiceLevel = 1;
}
if (isNaN(practiceLevel)) {
practiceLevel = 1;
}
modeTo = "practice";
play();
}
Symbol 491 Button
on (release) {
practiceLevel = parseInt(practiceLevelText);
if (practiceLevel < 1) {
practiceLevel = 1;
}
if (practiceLevel > 20) {
practiceLevel = 20;
}
if (isNaN(practiceLevel)) {
practiceLevel = 1;
}
modeTo = "practice";
play();
}