public override void Event_TimerRing(Timer timer) { if (timer == ti1 && boss.UnitState != UnitState.dead && phase3On) { Skill b = boss.SkillFromName("末日之雷"); if (b.IsSkillUsable && boss.IsUsingSkill == false) { boss.CastSkill(b); Stage.AddRealtimeGameMessage("Doom: Thunder-of-Doom!", Color.Red, 2); } } }
public override void Event_UnitDied(Unit deadUnit) { if (phase2On && adds.Contains(deadUnit)) { adds.Remove(deadUnit); } if (deadUnit == boss) { Stage.AddRealtimeGameMessage("Doom: System... fail...", Color.Red, 3); Stage.ScreenEffectManager.Blink(Color.Orange, 2); Stage.Victory("胜利!!"); Stage.SavePlayer(); } }
public override void Touch() { if (t1 != null) { if (t1.IsEnd && b1 == false) { /* * Stage.AddRealtimeGameMessage(@"Rudolf the Commander: 呼叫附近星域的各单位,我们正在受到攻击!", Color.CornflowerBlue, 4); * Stage.AddRealtimeGameMessage(@"Rudolf the Commander: 我是第三舰队指挥官鲁道夫.巴特尔,", Color.CornflowerBlue, 3); * Stage.AddRealtimeGameMessage(@"Rudolf the Commander: 我们正在受到秩序之眼的攻击!", Color.CornflowerBlue, 3); * Stage.AddRealtimeGameMessage(@"Rudolf the Commander: 重复,我们正在受到秩序之眼的攻击!", Color.CornflowerBlue, 4); * Stage.AddRealtimeGameMessage(@"Rudolf the Commander: 损失惨重,请求支援!", Color.CornflowerBlue, 2); * Stage.AddRealtimeGameMessage(@"Rudolf the Commander: 该死,它们在攻击运输船!", Color.CornflowerBlue, 3); * Stage.AddRealtimeGameMessage(@"Rudolf the Commander: 重整队形,保护运输船!第三舰队重整队形!", Color.CornflowerBlue, 3); * Stage.AddRealtimeGameMessage(@"Rudolf the Commander: 它们摧毁了运输机!我们被包围了", Color.CornflowerBlue, 3); * Stage.AddRealtimeGameMessage(@"Rudolf the Commander: 那是什么?不!", Color.CornflowerBlue, 3); * Stage.AddRealtimeGameMessage(@"…… …… ……", Color.White, 2); * Stage.AddRealtimeGameMessage(@"苍隼系统信息:与目标失去联系。", Color.White, 4); * */ Stage.AddRealtimeGameMessage(@"Rudolf the Commander: Mayday, mayday! We are under attack!", Color.CornflowerBlue, 4); Stage.AddRealtimeGameMessage(@"Rudolf the Commander: I am Rudolf Barter, commander of the 3rd Fleet.", Color.CornflowerBlue, 3); Stage.AddRealtimeGameMessage(@"Rudolf the Commander: We are under attack by the EoC", Color.CornflowerBlue, 3); Stage.AddRealtimeGameMessage(@"Rudolf the Commander: Repeat, we are under attack by the Eye of Cosmos!", Color.CornflowerBlue, 4); Stage.AddRealtimeGameMessage(@"Rudolf the Commander: We need some aid, immediately!", Color.CornflowerBlue, 2); Stage.AddRealtimeGameMessage(@"Rudolf the Commander: Damn, they are attacking the transport ship!", Color.CornflowerBlue, 3); Stage.AddRealtimeGameMessage(@"Rudolf the Commander: Regroup! Protect the transport!", Color.CornflowerBlue, 3); Stage.AddRealtimeGameMessage(@"Rudolf the Commander: Wait... what is that thing?", Color.CornflowerBlue, 3); Stage.AddRealtimeGameMessage(@"Rudolf the Commander: No!", Color.CornflowerBlue, 3); Stage.AddRealtimeGameMessage(@"................", Color.White, 2); Stage.AddRealtimeGameMessage(@"System: Connection lost.", Color.White, 4); b1 = true; } } if (Stage.IsMessageEnd && b1 == true) { Stage.Player.Stop(); Stage.Player.isPlayerControlling = true; Stage.Player.IsAIControlling = true; Stage.NextPart(); } }
public override void Touch() { if (boss.UnitState == UnitState.alive) { if (battleBegin) { Skill s = boss.SkillFromName("轨道炮"); if (s != null) { if (s.IsSkillUsable && boss.IsUsingSkill == false) { boss.CastSkill(s); Stage.AddRealtimeGameMessage("Doom: Railgun, full recharge.", Color.Red, 2); if (phase3On) { ti1.Reset(); } } } Skill g = boss.SkillFromName("空间吸引"); if (g != null) { if (g.IsCooldowned && boss.IsUsingSkill == false) { foreach (Unit u in Stage.Units) { if (Unit.Distance(boss, u) > 2300 && u.Group != boss.Group) { boss.CastSkill(g, u); Stage.AddRealtimeGameMessage("Doom: Face your doom!", Color.Red, 2); break; } } } } } if (phase1On && battleBegin) { if (boss.Armor <= 12000) { Stage.PlayMusic(@"Audio\Kai_Engel_-_Beneath_The_Stronghold", true, 5); boss.Shield = 12000; boss.IsInvincible = true; ((RegularAI)boss.unitAI).settings.isMoveAble = false; Stage.ClearMessages(); Stage.AddRealtimeGameMessage("Doom: 检测到目标对本系统构成威胁。", Color.Red, 3); Stage.AddRealtimeGameMessage("Doom: 释放防御力场产生器,防御模式启动中……", Color.Red, 3); phase1On = false; phase2On = true; Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(500, 0, 0) + boss.Position); adds.Add(Variables.LastCreatedUnit); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(-500, 0, 0) + boss.Position); adds.Add(Variables.LastCreatedUnit); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(0, 500, 0) + boss.Position); adds.Add(Variables.LastCreatedUnit); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(0, -500, 0) + boss.Position); adds.Add(Variables.LastCreatedUnit); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(0, 0, 500) + boss.Position); adds.Add(Variables.LastCreatedUnit); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(0, 0, -500) + boss.Position); adds.Add(Variables.LastCreatedUnit); } } if (phase2On) { if (adds.Count == 0) { Stage.PlayMusic(@"Audio\Antti_Martikainen_-_Through_Enemy_Lines", true, 5); Stage.AddRealtimeGameMessage("Doom: 防御力场被破坏,防御模式关闭,狂暴模式启动中……", Color.Red, 3); phase2On = false; phase3On = true; ((RegularAI)boss.unitAI).settings.isMoveAble = true; boss.IsInvincible = false; boss.angularRate = 20.0f; } } if (phase3On) { } } }
/// <summary> /// 关卡判断 /// </summary> public override void Touch() { if (!win) { if (boss != null) { if (boss.Shield <= 80000 && b1 == false) { /* * Stage.AddRealtimeGameMessage(@"Vector: 只有我才有权限开启星际之门!", Color.Red, 2); * Stage.AddRealtimeGameMessage(@"Vector: 如果你们不想一起死在秩序之眼的爆炸中,", Color.Red, 2); * Stage.AddRealtimeGameMessage(@"Vector: 就把“遗迹”交给我!", Color.Red, 2); * */ Stage.AddRealtimeGameMessage(@"Vector: Only I can initiate the jump system!", Color.Red, 2); Stage.AddRealtimeGameMessage(@"Vector: If you don't want to die in the explosion of the Eye", Color.Red, 2); Stage.AddRealtimeGameMessage(@"Vector: The give me the Relic!", Color.Red, 2); b1 = true; } else if (boss.Shield < 60000 && b2 == false) { /* * Stage.AddRealtimeGameMessage(@"Vector: 如果你们不想一起死在秩序之眼的爆炸中,", Color.Red, 2); * Stage.AddRealtimeGameMessage(@"Vector: 就把“遗迹”交给我!", Color.Red, 2); * Stage.AddRealtimeGameMessage(@"Alicia: 没关系的,你会比秩序之眼先爆炸。", Color.Yellow, 4); * Stage.AddRealtimeGameMessage(@"Alicia: 这将是秩序之眼最后一次维护真正的秩序。", Color.Yellow, 4); * Stage.AddRealtimeGameMessage(@"Vector: 有趣。", Color.Red, 2); * */ Stage.AddRealtimeGameMessage(@"Vector: If you don't want to die in the explosion of the Eye", Color.Red, 2); Stage.AddRealtimeGameMessage(@"Vector: The give me the Relic!", Color.Red, 2); Stage.AddRealtimeGameMessage(@"Alicia: No matter, you will explode faster.", Color.Yellow, 4); Stage.AddRealtimeGameMessage(@"Alicia: This is the time for cosmos.", Color.Yellow, 4); Stage.AddRealtimeGameMessage(@"Vector: interesting.", Color.Red, 2); Stage.ScreenEffectManager.Blink(Color.Orange, 10); b2 = true; } else if (boss.Shield < 50000 && b3 == false && b6 == false && !Stage.Player.Dead) { ((RegularAI)boss.unitAI).Target = Stage.Player; ((RegularAI)boss.unitAI).TargetChangeAble = false; Stage.ScreenEffectManager.Blink(Color.Orange, 10); b3 = true; } else if (!b4 && boss.Shield < 100) { Stage.PlayMusic(@"Audio\Antti_Martikainen_-_Through_Enemy_Lines", true, 5); Stage.AddRealtimeGameMessage(@"Vector: Drones online!", Color.Red, 2); Stage.AddRealtimeGameMessage(@"Vector: You are doomed, traitors!", Color.Red, 2); /* * Stage.AddRealtimeGameMessage(@"Vector: 开始投放无人机!", Color.Red, 2); * Stage.AddRealtimeGameMessage(@"Vector: 我要毁灭你们,叛徒!", Color.Red, 2); */ boss.AddSkill(@"Skills\Summon_Falcon"); b4 = true; } else if (!b5 && boss.Armor < 50000) { Stage.PlayMusic(@"Audio\TitanSlayer_-_Dawning_of_Darkness", true, 5); //Stage.AddRealtimeGameMessage(@"Vector: 这是你自找的,可恶!", Color.Red, 2); Stage.AddRealtimeGameMessage(@"Vector: You asked this yourself!", Color.Red, 2); boss.AddSkill(@"Skills\Ghost_AE"); b5 = true; } } } if (win) { if (Stage.IsMessageEnd) { Stage.Victory("哈哈!"); win = false; } } }
public override void Event_TimerRing(Timer timer) { if (timer == t) { /* * Stage.AddRealtimeGameMessage(@"马萨:第三舰队,向盖亚号发起突击!", Color.CornflowerBlue, 4); * Stage.AddRealtimeGameMessage(@"Alrdis: 第四舰队,锁定盖亚号!", Color.CornflowerBlue, 4); * Stage.AddRealtimeGameMessage(@"Vector: 你们这些渣滓!", Color.Red, 2); */ Stage.AddRealtimeGameMessage(@"Matha:1st Fleet,let's attack the Gaia!", Color.CornflowerBlue, 4); Stage.AddRealtimeGameMessage(@"Alrdis: 4th Fleet, lock on Gaia!", Color.CornflowerBlue, 4); Stage.AddRealtimeGameMessage(@"Vector: YOU ALL BETRAYED ME!?", Color.Red, 2); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\Phoenix"), 1, new Vector3(3000, 0, 0)); Variables.LastCreatedUnit.RiderName = "阿贝拉尔 <3rd fleet>"; Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\Phoenix"), 1, new Vector3(3000, 100, 0)); Variables.LastCreatedUnit.RiderName = "Book <1st Fleet>"; Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\Phoenix"), 1, new Vector3(3000, -100, 0)); Variables.LastCreatedUnit.RiderName = "Affton <1st Fleet>"; Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\Phoenix"), 1, new Vector3(3000, 50, 0)); Variables.LastCreatedUnit.RiderName = "Matha <1st Fleet Commander>"; Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\Falcon3"), 1, new Vector3(-3000, 0, 0)); Variables.LastCreatedUnit.RiderName = "Affron <4rd Fleet>"; Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\Falcon2"), 1, new Vector3(-3000, 50, 0)); Variables.LastCreatedUnit.RiderName = "Alrdis <4rd Fleet Commander>"; Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\Falcon3"), 1, new Vector3(-3000, -50, 0)); Variables.LastCreatedUnit.RiderName = "Orderi <4rd Fleet>"; t1 = Stage.CreateTimer(20); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\Titan_BOSS"), 3, new Vector3(0, 0, 0)); Variables.LastCreatedUnit.RiderName = "Vector"; boss = Variables.LastCreatedUnit; boss.IsInvincible = true; boss.MoveTo(Stage.Player.Position); b = true; } if (timer == t1) { Stage.PlayMusic(@"Audio\Kai_Engel_-_Beneath_The_Stronghold", true, 5); /* * Stage.AddGameMessage(@"Vector: 哈哈哈哈!你们无法撼动盖亚号!", Color.Red, 2); * Stage.AddGameMessage(@"Alicia: 是吗?", Color.Yellow, 4); * Stage.AddGameMessage(@"Vector: 怎……怎么会!?", Color.Red, 2); * Stage.AddGameMessage(@"Alicia: 看来你的护盾好像已经被我重写的“遗迹”发出的信号解除了。", Color.Yellow, 4); * Stage.AddGameMessage(@"Alicia: 再次瘫痪吧!这次可没有什么能保护盖亚号了!", Color.Yellow, 4); */ Stage.AddGameMessage(@"Vector: Hahaha, you can't hurt the Gaia!", Color.Red, 2); Stage.AddGameMessage(@"Alicia: Is it?", Color.Yellow, 4); Stage.AddGameMessage(@"Vector: Wh...what!?", Color.Red, 2); Stage.AddGameMessage(@"Alicia: I hacked your shield.", Color.Yellow, 4); Stage.AddGameMessage(@"Alicia: Nothing can protect you now, Vector.", Color.Yellow, 4); boss.IsInvincible = false; boss.Stop(); } if (timer == mori) { Stage.PlayMusic(@"Audio\Antti_Martikainen_-_The_Chase", true, 5); /* * Stage.AddGameMessage(@"Vector: 死吧!", Color.Red, 2); * Stage.AddGameMessage(@"Alicia: 正在激活末日级,钥匙:遗迹。", Color.Yellow, 4); * Stage.AddGameMessage(@"Vector: 什么?", Color.Red, 2); * Stage.AddGameMessage(@"Alicia: 末日,隐形模式关闭,攻击模式开启。", Color.Yellow, 4); * Stage.AddGameMessage(@"Alicia: 杰诺,准备好了就按下发射钮吧。", Color.Yellow, 4); * Stage.AddGameMessage(@"Vector: 就算是末日,也阻挡不了我!", Color.Red, 2); * Stage.AddGameMessage(@"Price Jeffsion: 威克多,你的轨道偏转装置,刚才已经被我破坏了哦!", Color.CornflowerBlue, 4); * Stage.AddGameMessage(@"Vector: 不!叛徒,死吧!这个世界属于我!", Color.Red, 2); */ Stage.AddGameMessage(@"Vector: Die!", Color.Red, 2); Stage.AddGameMessage(@"Alicia: Activating the Doom battleship, key: Relic.", Color.Yellow, 4); Stage.AddGameMessage(@"Vector: What!?", Color.Red, 2); Stage.AddGameMessage(@"Alicia: Doom, cloak off, railgunready.", Color.Yellow, 4); Stage.AddGameMessage(@"Alicia: Zero, if you are prepared, then shoot.", Color.Yellow, 4); Stage.AddGameMessage(@"Vector: It is your doom!", Color.Red, 2); //Stage.AddGameMessage(@"Price Jeffsion: 威克多,你的轨道偏转装置,刚才已经被我破坏了哦!", Color.CornflowerBlue, 4); Stage.AddGameMessage(@"Vector: NO! DIE! TRAITORS! THIS WORLD IS MINE!", Color.Red, 2); Stage.CreatePlayerUnit(Content.Load <UnitType>(@"UnitTypes\Doom_Player"), 1, boss.Position + new Vector3(0, 0, 3000)); Variables.LastCreatedUnit.RiderName = @"Zero"; Stage.Player = Variables.LastCreatedUnit; ((AODGameLibrary2.AssistAI)Variables.Unit[2].unitAI).AssistUnit = Stage.Player; ((AODGameLibrary2.AssistAI)Variables.Unit[3].unitAI).AssistUnit = Stage.Player; ((AODGameLibrary2.AssistAI)Variables.Unit[4].unitAI).AssistUnit = Stage.Player; Stage.Player.IsLootAble = false; Stage.GameWorld.playerAimCamera.cameraObjOffset = new Vector3(0, 100, 0); Stage.GameWorld.playerChaseCamera.cameraObjOffset = new Vector3(0, 130, 100); Stage.Player.SkillControlUnit = true; Stage.FailWhenPlayerDied = true; ((RegularAI)boss.unitAI).Target = Stage.Player; ((RegularAI)boss.unitAI).TargetChangeAble = false; ((RegularAI)boss.unitAI).settings.isCycleAble = true; ((RegularAI)boss.unitAI).settings.minRange = 150; ((RegularAI)boss.unitAI).settings.rangeOfCycle = 1500; ((RegularAI)boss.unitAI).settings.rangeOfAttack = 90000; ((RegularAI)boss.unitAI).settings.rangeOfShot = 5000; boss.angularRate = 90; b6 = true; } base.Event_TimerRing(timer); }
/// <summary> /// 关卡判断 /// </summary> public override void Touch() { if (Vector3.Distance(Stage.Player.Position, Vector3.Zero) > 5000) { Damage x = new Damage(); x.attacker = boss; x.BasicDamage = 150; x.CrossValue = 0.1f; x.Fold = 1; x.FoldArmor = 3; x.FoldShield = 1; Stage.ScreenEffectManager.Blink(new Color(255, 0, 0, 55), 0.2f); Stage.Player.GetDamage(x); } if (!end) { if (b1) { Skill s = boss.SkillFromName("轨道炮"); if (s != null) { if (s.IsSkillUsable && boss.IsUsingSkill == false) { boss.CastSkill(s); Stage.AddRealtimeGameMessage("Eye of Cosmos: See in the Eye of Cosmos, mortal.", Color.Red, 2); } } } if (b3) { Skill s = boss.SkillFromName("幽灵导弹_AE"); if (s != null) { if (s.IsSkillUsable && boss.IsUsingSkill == false) { boss.CastSkill(s); } } } if (b3) { Skill s = boss.SkillFromName("墓地震击MK2"); if (s != null) { if (s.IsSkillUsable && boss.IsUsingSkill == false) { boss.CastSkill(s); Stage.AddRealtimeGameMessage("Eye of Cosmos: Too weak!", Color.Red, 2); } } } if (b4) { if (Stage.AliveUnitsInUnitGroup(2).Count < 5) { Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\ShadowSlain"), 2, new Vector3(0, -914, -4828)); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\FlameDestroyer"), 2, new Vector3(0, 4500, 1748)); } } } if (end) { Stage.Victory("YES"); end = false; } }
public override void Event_TimerRing(Timer timer) { if (timer == t) { Stage.PlayMusic(@"Audio\Kai_Engel_-_Beneath_The_Stronghold", true, 2); /* * Stage.AddGameMessage(@"Vector: 听着,秩序之眼由一层坚固的外壳保护着。", Color.CornflowerBlue, 4); * Stage.AddGameMessage(@"Vector: 打破外壳,然后马上把“遗迹”扔进去。", Color.CornflowerBlue, 2); * Stage.AddGameMessage(@"Vector: 尽快行动,秩序之眼察觉到了你们的存在。", Color.CornflowerBlue, 2); * Stage.AddGameMessage(@"Zero: 交给我了!", Color.LightGreen, 2); * Stage.AddGameMessage(@"Vector: 只要“遗迹”接触到秩序之眼,一切就成功了!", Color.CornflowerBlue, 2); * Stage.AddGameMessage(@"...............", Color.White, 4); * Stage.AddGameMessage(@"Eye of Cosmos: 秩序之眼启动……消灭——侵略——者——", Color.Red, 4); * Stage.AddGameMessage(@"Alicia: 小心,它不受我的控制了!", Color.Yellow, 4); * Stage.AddRealtimeGameMessage(@"Eye of Cosmos: 紧急防御系统初始化……武器准备……", Color.Red, 4); */ Stage.AddGameMessage(@"Vector: Listen, it is protect by a hard shell.", Color.CornflowerBlue, 4); Stage.AddGameMessage(@"Vector: Destroy the shell, and shoot the Relic into the core.", Color.CornflowerBlue, 2); Stage.AddGameMessage(@"Vector: Do it fast.", Color.CornflowerBlue, 2); Stage.AddGameMessage(@"Zero: Fine.", Color.LightGreen, 2); Stage.AddGameMessage(@"Vector: We will succeed if the Relic touchs the core.", Color.CornflowerBlue, 2); Stage.AddGameMessage(@"...............", Color.White, 4); Stage.AddGameMessage(@"Eye of Cosmos: Eys of Cosmos online, destroying the invaders.", Color.Red, 4); Stage.AddGameMessage(@"Alicia: Watch out! it is out of my control!", Color.Yellow, 4); Stage.AddRealtimeGameMessage(@"Eye of Cosmos: Initializing emergency defence.", Color.Red, 4); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\EOS"), 2, new Vector3(0, 0, 0)); Variables.LastCreatedUnit.SetMoveState(Vector3.Zero, new Vector3(0, 180, 0)); boss = Variables.LastCreatedUnit; //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\EOSSh"), 2, new Vector3(0, 800, 0)); //Variables.LastCreatedUnit.SetMoveState(Vector3.Zero, new Vector3(0, 180, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\EOSMa"), 2, new Vector3(0, -800, 0)); //Variables.LastCreatedUnit.SetMoveState(Vector3.Zero, new Vector3(0, 180, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\EOSMi"), 2, new Vector3(800, 0, 0)); //Variables.LastCreatedUnit.SetMoveState(Vector3.Zero, new Vector3(0, 180, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\EOSMa"), 2, new Vector3(-800, 0, 0)); //Variables.LastCreatedUnit.SetMoveState(Vector3.Zero, new Vector3(0, 180, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\EOSMi"), 2, new Vector3(0, 0, -800)); //Variables.LastCreatedUnit.SetMoveState(Vector3.Zero, new Vector3(0, 180, 0)); t1 = Stage.CreateTimer(20); t3 = Stage.CreateTimer(50); t4 = Stage.CreateTimer(75); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\Scream"), 4, new Vector3(0, 0, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\Scream"), 4, new Vector3(0, 0, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\Scream"), 4, new Vector3(0, 0, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\Scream"), 4, new Vector3(0, 0, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\Scream"), 4, new Vector3(0, 0, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\Scream"), 4, new Vector3(0, 0, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\Scream"), 4, new Vector3(0, 0, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\Scream"), 4, new Vector3(0, 0, 0)); //Stage.CreateNPCUnit(Content.Load<UnitType>(@"UnitTypes\Scream"), 4, new Vector3(0, 0, 0)); b = true; } if (!end) { if (timer == t1) { Stage.PlayMusic(@"Audio\Antti_Martikainen_-_The_Chase", true, 2); /* * Stage.AddGameMessage(@"Alicia: 糟糕,秩序之眼正在启动内置的战略轨道炮!", Color.Yellow, 4); * Stage.AddGameMessage(@"Alicia: 我已经没有权限阻止了,不要正面攻击它!", Color.Yellow, 4); * Stage.AddGameMessage(@"Eye of Cosmos: 紧急防御系统初始化完毕……轨道炮激活……", Color.Red, 4); * Stage.AddGameMessage(@"Eye of Cosmos: 轨道炮激活完毕……紧急防御系统第二阶段初始化中", Color.Red, 4); * Stage.AddGameMessage(@"Vector: 通告!侦测到轨道炮,盖亚号,开启轨道偏转护盾!", Color.CornflowerBlue, 2); * Stage.AddGameMessage(@"Vector: 盖亚号安全!各小队自行掩护!", Color.CornflowerBlue, 2); */ Stage.AddGameMessage(@"Alicia: It is preparing the Strategic Railgun", Color.Yellow, 4); Stage.AddGameMessage(@"Alicia: Don't engage it from ahead!", Color.Yellow, 4); Stage.AddGameMessage(@"Eye of Cosmos: Railgun, active.", Color.Red, 4); Stage.AddGameMessage(@"Eye of Cosmos: Second phase initializing...", Color.Red, 4); Stage.AddGameMessage(@"Vector: Warning! Railgun threat detected!", Color.CornflowerBlue, 2); Stage.AddGameMessage(@"Vector: Protect yourselves!", Color.CornflowerBlue, 2); t2 = Stage.CreateTimer(10); } if (timer == t2) { b1 = true; } if (timer == t3) { Stage.PlayMusic(@"Audio\Antti_Martikainen_-_Through_Enemy_Lines", true, 2); //Stage.AddRealtimeGameMessage(@"Eye of Cosmos: 紧急防御系统初始化第二阶段……飞弹风暴开启……", Color.Red, 4); Stage.AddRealtimeGameMessage(@"Eye of Cosmos: Second phase completed, Missile Storm on.", Color.Red, 4); //Stage.AddRealtimeGameMessage(@"Vector: 盖亚号安全!各小队自行掩护!", Color.CornflowerBlue, 2); b3 = true; } if (timer == t4) { Stage.PlayMusic(@"Audio\TitanSlayer_-_Dawning_of_Darkness", true, 2); //Stage.AddRealtimeGameMessage(@"Eye of Cosmos: 紧急防御系统初始化第三阶段……快速装配开启……", Color.Red, 4); Stage.AddRealtimeGameMessage(@"Eye of Cosmos: Third phase completed, Mob Module on.", Color.Red, 4); b4 = true; } } base.Event_TimerRing(timer); }
/// <summary> /// 关卡判断 /// </summary> public override void Touch() { if (won) { Stage.Victory("哈哈!"); won = false; } if (boss != null) { if (!b4) { if (b2) { Skill s = boss.SkillFromName("能量爆发"); if (s != null) { if (s.IsSkillUsable && boss.IsUsingSkill == false) { boss.CastSkill(s); Stage.AddRealtimeGameMessage("Chris: The power of the Relic is mine!", Color.Red, 2); } } } if (b3) { Skill s = boss.SkillFromName("墓地震击MK2"); if (s != null) { if (s.IsSkillUsable && boss.IsUsingSkill == false) { Stage.AddRealtimeGameMessage("Chris: Break up! The universe!", Color.Red, 2); boss.CastSkill(s); } } } { Skill s = boss.SkillFromName("充能弹"); if (s != null) { if (s.IsSkillUsable && boss.IsUsingSkill == false) { boss.CastSkill(s); Stage.AddRealtimeGameMessage("Chris: Burn!", Color.Red, 2); } } } { Skill g = boss.SkillFromName("空间吸引"); if (g != null) { if (g.IsCooldowned && boss.IsUsingSkill == false) { foreach (Unit u in Stage.Units) { if (Unit.Distance(boss, u) > 2300 && u.Group != boss.Group) { boss.CastSkill(g, u); Stage.AddRealtimeGameMessage("Chris: Where do you want to go, child?", Color.Red, 2); break; } } } } } } if (!b2 && boss.Shield < 25000) { Stage.AddGameMessage(@"...............", Color.White, 4); /* * Stage.AddGameMessage(@"Chris: 威克多算什么?除了一个野心家,他什么都不是。", Color.Red, 4); * Stage.AddGameMessage(@"Chris: 想知道他的“伟大”计划么?", Color.Red, 4); * Stage.AddGameMessage(@"Chris: 放心吧,我不会把真相告诉即将通向天堂的杂种!", Color.Red, 4); * Stage.AddGameMessage(@"Alicia: 天堂……", Color.Yellow, 4); * Stage.AddGameMessage(@"Chris: 把杰诺和“遗迹”交给我,然后去死吧!", Color.Red, 4); * Stage.AddGameMessage(@"Maria Woodwind: 看来你需要冷静一下……", Color.CornflowerBlue, 4); * */ Stage.AddGameMessage(@"Chris: Vector is nothing.", Color.Red, 4); Stage.AddGameMessage(@"Chris: You don't want to know his plan?", Color.Red, 4); Stage.AddGameMessage(@"Chris: Good, you won't know the truth before you are in the heaven.", Color.Red, 4); Stage.AddGameMessage(@"Alicia: Heaven...", Color.Yellow, 4); Stage.AddGameMessage(@"Chris: Give me Relic, and die.", Color.Red, 4); Stage.AddGameMessage(@"Maria Woodwind: You need to cool your head.", Color.CornflowerBlue, 4); b2 = true; } else if (!b3 && boss.Shield < 10000) { /* * Stage.AddGameMessage(@"...............", Color.White, 4); * Stage.AddGameMessage(@"Chris: 知道秩序之眼是如何被制造出来的吗?", Color.Red, 4); * Stage.AddGameMessage(@"Alicia: 这是……最高机密……求求你……", Color.Yellow, 4); * Stage.AddGameMessage(@"Chris: 光靠计算机作为核心,是不可能制造出现在的秩序之眼的。", Color.Red, 4); * Stage.AddGameMessage(@"Chris: 所以……需要一项技术,将人类的智慧和计算机的计算能力结合起来……", Color.Red, 4); * Stage.AddGameMessage(@"Chris: “遗迹”便是关键的钥匙!", Color.Red, 4); * Stage.AddGameMessage(@"Chris: 当然,根据我刚刚入手的档案,还需要一个神圣的牺牲者与秩序之眼结合。", Color.Red, 4); * Stage.AddGameMessage(@"Alicia: 停下来!", Color.Yellow, 4); * Stage.AddGameMessage(@"Chris: 这个牺牲者是一个女孩——", Color.Red, 4); * Stage.AddGameMessage(@"Zero: 难道说——", Color.LightGreen, 2); * Stage.AddGameMessage(@"Alicia: 不!", Color.Yellow, 4); * Stage.AddGameMessage(@"Chris: 她的名字叫——", Color.Red, 4); * Stage.AddGameMessage(@"Bill: 阿莉西亚。", Color.CornflowerBlue, 4); * Stage.AddGameMessage(@"Zero: !", Color.LightGreen, 2); * Stage.AddGameMessage(@"Chris: 回答正确,不过你的回答是多余的,比尔。", Color.Red, 4); * Stage.AddGameMessage(@"Alicia: ……哈……哈哈……哈哈哈哈……", Color.Yellow, 4); */ Stage.AddGameMessage(@"...............", Color.White, 4); Stage.AddGameMessage(@"Chris: You want to know how the Eye is created?", Color.Red, 4); Stage.AddGameMessage(@"Alicia: This is... top secret... please...", Color.Yellow, 4); Stage.AddGameMessage(@"Chris: We couldn't create such a system with computer chips only.", Color.Red, 4); Stage.AddGameMessage(@"Chris: We needed a technology to bind human minds and the computer together.", Color.Red, 4); Stage.AddGameMessage(@"Chris: And the Relic was the key!", Color.Red, 4); Stage.AddGameMessage(@"Chris: A victim was chosen to take part in the experiment.", Color.Red, 4); Stage.AddGameMessage(@"Alicia: Stop!", Color.Yellow, 4); Stage.AddGameMessage(@"Chris: That victim was a girl.", Color.Red, 4); Stage.AddGameMessage(@"Zero: I don't know what you are talking about.", Color.LightGreen, 2); Stage.AddGameMessage(@"Alicia: No!", Color.Yellow, 4); Stage.AddGameMessage(@"Chris: Her name is -", Color.Red, 4); Stage.AddGameMessage(@"Bill: Alicia.", Color.CornflowerBlue, 4); Stage.AddGameMessage(@"Zero: !", Color.LightGreen, 2); Stage.AddGameMessage(@"Chris: Good answer.", Color.Red, 4); Stage.AddGameMessage(@"Alicia: .....ha...hah....hahaha.....", Color.Yellow, 4); Stage.PlayMusic(@"Audio\Antti_Martikainen_-_Through_Enemy_Lines", true, 2); b3 = true; } else if (!b4 && boss.Armor < 45000 && boss.Shield < 10000) { Stage.PlayMusic(@"Audio\TitanSlayer_-_Dawning_of_Darkness", true, 3); Stage.AddGameMessage(@"...............", Color.White, 4); /* * Stage.AddGameMessage(@"Chris: 威克多想要统治世界,但是他做不到,因为他的棋子马上就会被干掉。", Color.Red, 4); * Stage.AddGameMessage(@"Chris: 秩序,属于我!", Color.Red, 4); * Stage.AddGameMessage(@"Alicia: 你……休想。", Color.Yellow, 4); * Stage.AddGameMessage(@"Chris: 什么?", Color.Red, 4); * Stage.AddGameMessage(@"Alicia: 秩序之剑,出击!", Color.Yellow, 4); * Stage.AddGameMessage(@"Chris: 不——不——不!", Color.Red, 4); * */ Stage.AddGameMessage(@"Chris: Vector wants to role the world, but he will fail.", Color.Red, 4); Stage.AddGameMessage(@"Chris: The Cosmos is mine!", Color.Red, 4); Stage.AddGameMessage(@"Alicia: Don't even think about that!", Color.Yellow, 4); Stage.AddGameMessage(@"Chris: What?", Color.Red, 4); Stage.AddGameMessage(@"Alicia: Swords of Cosmos, strike!", Color.Yellow, 4); Stage.AddGameMessage(@"Chris: No-no-no!", Color.Red, 4); for (int i = 0; i < 10; i++) { Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\EyesElite"), 1, Stage.Player.Position + -2000 * Stage.Player.Face); } b4 = true; } } }
public override void Event_TimerRing(Timer timer) { if (timer == t2) { boss.CastSkill("末日之雷"); foreach (Unit u in Stage.AliveUnitsInUnitGroup(2)) { u.Shield = 0; u.ShieldRestoreRate = 0; u.Armor = 1; } if (Variables.Unit[7] != null) { ((RegularAI)Variables.Unit[7].unitAI).settings.isShotAble = false; ((RegularAI)Variables.Unit[7].unitAI).settings.isSkillUsable = false; } if (Variables.Unit[8] != null) { Variables.Unit[8].BeginToDie(); } rudolf.IsInvincible = false; boss.IsAIControlling = true; bossStart = Stage.CreateTimer(16); x = Stage.CreateTimer(5); } if (timer == x) { /* * Stage.AddGameMessage(@"Alicia: 傻瓜,你们根本不知道怎样对付这个家伙,现在没人能伤到它。", Color.Yellow, 4); * Stage.AddGameMessage(@"Zero: 难道你知道怎么对付它?小女孩?", Color.LightGreen, 3); * Stage.AddGameMessage(@"Alicia: 我不是什么小女孩,我叫阿莉西亚,附近星域的黑客。", Color.Yellow, 4); * Stage.AddGameMessage(@"Alicia: “遗迹”就在那个大家伙里面,它现在干扰了几乎所有的正常通信。", Color.Yellow, 4); * Stage.AddGameMessage(@"Alicia: 我正在使用一个特殊的频道和你联系。只有你能听见我说话。", Color.Yellow, 4); * Stage.AddGameMessage(@"Alicia: 靠近它,不要犹豫。照我说的做,然后打败它。", Color.Yellow, 4); * Stage.AddGameMessage(@"Alicia: 它的防御系统基本上已经被我破解,再过几秒就可以被普通武器损伤了。", Color.Yellow, 4); */ Stage.AddGameMessage(@"Alicia: Fool, you can't hurt him, no one can hurt hime at the moment.", Color.Yellow, 4); Stage.AddGameMessage(@"Zero: And you know how to, little girl?", Color.LightGreen, 3); Stage.AddGameMessage(@"Alicia: Call me Alicia, I am a hacker nearby.", Color.Yellow, 4); Stage.AddGameMessage(@"Alicia: He has the Relic in his cargo, the unstable energy are disrupting all communications.", Color.Yellow, 4); Stage.AddGameMessage(@"Alicia: But I am using a special channel and only you can hear me.", Color.Yellow, 4); Stage.AddGameMessage(@"Alicia: Approach him, don't hesitate.", Color.Yellow, 4); Stage.AddGameMessage(@"Alicia: His defense system are being hacked by me, just wait a few sec.", Color.Yellow, 4); } if (timer == bossStart) { boss.IsInvincible = false; boss.Stop(); boss.IsAIControlling = true; ((RegularAI)boss.unitAI).settings.isShotAble = false; boss.unitAI.Target = Stage.Player; ((RegularAI)boss.unitAI).TargetChangeAble = false; //boss.CastSkill("末日之雷"); ti1 = Stage.CreateTimer(12.5f); Stage.AddRealtimeGameMessage("Doom: The Doom has come!", Color.Red, 3); foreach (Unit u in Stage.AliveUnitsInUnitGroup(1)) { if (u != Stage.Player) { u.EndlessBullets = false; } } battleBegin = true; phase1On = true; Stage.AddRealtimeGameMessage(@"Alicia: He is aware of you, avoid his great cannon!", Color.Yellow, 4); railgun = Stage.CreateTimer(9); } if (timer == ti1 && boss.UnitState != UnitState.dead && phase3On) { Skill b = boss.SkillFromName("末日之雷"); if (b.IsSkillUsable && boss.IsUsingSkill == false) { boss.CastSkill(b); Stage.AddRealtimeGameMessage("Doom: Thunder-of-Doom!", Color.Red, 2); } } if (timer == t3) { /* * Stage.AddGameMessage(@"Rudolf the Commander: 这是怎么回事?", Color.CornflowerBlue, 2); * Stage.AddGameMessage(@"Jeffsion the Warrior: 看来抢走你所运送的“遗迹”的那个大家伙想你了……", Color.CornflowerBlue, 3); * Stage.AddGameMessage(@"Bill: 一艘战列舰,载有轨道炮,我们几乎不可能在它面前活过一分钟。", Color.CornflowerBlue, 4); * Stage.AddGameMessage(@"Zero: 奇怪——它们好像在自相残杀?", Color.LightGreen, 2); * Stage.AddGameMessage(@"Doom: 接受命令——毁灭一切——", Color.Red, 4); * Stage.AddGameMessage(@"Rudolf the Commander: 不!我们没有希望了!", Color.CornflowerBlue, 3); * Stage.AddGameMessage(@"……信号受到强烈干扰,无法通信……", Color.White, 4); */ Stage.AddGameMessage(@"Rudolf the Commander: That big guy... again!?", Color.CornflowerBlue, 2); Stage.AddGameMessage(@"Jeffsion the Warrior: I assume it missed you.", Color.CornflowerBlue, 3); Stage.AddGameMessage(@"Bill: A battleship with railgun. Well, can we stay alive for one minute?", Color.CornflowerBlue, 4); Stage.AddGameMessage(@"Zero: Strange, these drones are attacking each other?", Color.LightGreen, 2); Stage.AddGameMessage(@"Doom: Command received, Doom will destroy all.", Color.Red, 4); Stage.AddGameMessage(@"Rudolf the Commander: No! We have no hope!", Color.CornflowerBlue, 3); Stage.AddGameMessage(@"...Strong disruption detected, communications lost.", Color.White, 4); } base.Event_TimerRing(timer); }
/// <summary> /// 关卡判断 /// </summary> public override void Touch() { if (b1 == false) { if (t1.IsEnd) { Stage.PlayMusic(@"Audio\Antti_Martikainen_-_The_Chase", true, 5); if (Variables.Unit[9] != null) { Variables.Unit[9].BeginToDie(); } if (Variables.Unit[10] != null) { Variables.Unit[10].BeginToDie(); } Variables.Switch[13] = true; Stage.CreateNPCUnit(Stage.Content.Load <UnitType>(@"UnitTypes\ShadowSlain"), 2, Stage.Player.Position + new Vector3(0, -3000, -4200)); Stage.CreateNPCUnit(Stage.Content.Load <UnitType>(@"UnitTypes\FlameDestroyer"), 2, Stage.Player.Position + new Vector3(4000, 2000, 0)); Stage.CreateNPCUnit(Stage.Content.Load <UnitType>(@"UnitTypes\ShadowSlain"), 2, Stage.Player.Position + new Vector3(0, -3000, -4200)); Stage.CreateNPCUnit(Stage.Content.Load <UnitType>(@"UnitTypes\EyesElite"), 2, Stage.Player.Position + new Vector3(4000, 2000, 0)); Stage.ScreenEffectManager.Blink(Color.Black, 3); t3 = Stage.CreateTimer(4); Stage.CreateNPCUnit(Stage.Content.Load <UnitType>(@"UnitTypes\Doom"), 3, destination + new Vector3(4000, 0, 0)); boss = Variables.LastCreatedUnit; boss.IsInvincible = true; foreach (Unit u in Stage.AliveUnitsInUnitGroup(2)) { u.unitAI.Target = Variables.LastCreatedUnit; u.EndlessBullets = false; u.CurrentWeapon.AmmoNum = 100; ((RegularAI)u.unitAI).TargetChangeAble = false; } foreach (Unit u in Stage.AliveUnitsInUnitGroup(1)) { if (u != Stage.Player) { u.unitAI.Target = Variables.LastCreatedUnit; } } t2 = Stage.CreateTimer(32); boss.IsAIControlling = false; boss.MoveTo(destination); b1 = true; } } if (boss != null) { if (boss.UnitState == UnitState.alive) { if (battleBegin) { if (railgun.IsEnd) { Skill s = boss.SkillFromName("轨道炮"); if (s != null) { if (s.IsSkillUsable && boss.IsUsingSkill == false) { boss.CastSkill(s); Stage.AddRealtimeGameMessage("Doom: Railgun, full recharge.", Color.Red, 2); if (phase3On) { ti1.Reset(); } } } } Skill g = boss.SkillFromName("空间吸引"); if (g != null) { if (g.IsCooldowned && boss.IsUsingSkill == false) { foreach (Unit u in Stage.Units) { if (Unit.Distance(boss, u) > 2300 && u.Group != boss.Group) { boss.CastSkill(g, u); Stage.AddRealtimeGameMessage("Doom: Face your doom!", Color.Red, 2); break; } } } } } if (phase1On && battleBegin) { if (boss.Armor <= 12000) { bill.CurrentWeapon.AmmoNum += 2000; Stage.PlayMusic(@"Audio\Kai_Engel_-_Beneath_The_Stronghold", true, 5); boss.Shield = 12000; boss.IsInvincible = true; ((RegularAI)boss.unitAI).settings.isMoveAble = false; Stage.ClearMessages(); /* * Stage.AddRealtimeGameMessage("Doom: 检测到目标对本系统构成威胁。", Color.Red, 3); * Stage.AddRealtimeGameMessage("Doom: 释放防御力场产生器,防御模式启动中……", Color.Red, 3); * Stage.AddRealtimeGameMessage(@"Alicia: 这些东西构成了一个坚固的护盾……", Color.Yellow, 3); * Stage.AddRealtimeGameMessage(@"Alicia: 最简单的办法是击垮它们。", Color.Yellow, 3); * */ Stage.AddRealtimeGameMessage("Doom: Threat detected", Color.Red, 3); Stage.AddRealtimeGameMessage("Doom: Releasing Invincible Field Generators", Color.Red, 3); Stage.AddRealtimeGameMessage(@"Alicia: With them on we cannot damage the battleship!", Color.Yellow, 3); Stage.AddRealtimeGameMessage(@"Alicia: Destroy the generators first!", Color.Yellow, 3); phase1On = false; phase2On = true; Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(500, 0, 0) + boss.Position); adds.Add(Variables.LastCreatedUnit); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(-500, 0, 0) + boss.Position); adds.Add(Variables.LastCreatedUnit); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(0, 500, 0) + boss.Position); adds.Add(Variables.LastCreatedUnit); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(0, -500, 0) + boss.Position); adds.Add(Variables.LastCreatedUnit); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(0, 0, 500) + boss.Position); adds.Add(Variables.LastCreatedUnit); Stage.CreateNPCUnit(Content.Load <UnitType>(@"UnitTypes\DoomShield"), 3, new Vector3(0, 0, -500) + boss.Position); adds.Add(Variables.LastCreatedUnit); } } if (phase2On) { if (adds.Count == 0) { Stage.PlayMusic(@"Audio\Antti_Martikainen_-_Through_Enemy_Lines", true, 5); /* * Stage.AddRealtimeGameMessage("Doom: 防御力场被破坏,防御模式关闭,狂暴模式启动中……", Color.Red, 3); * Stage.AddRealtimeGameMessage(@"Alicia: 那么,现在就火力全开吧。", Color.Yellow, 3); */ Stage.AddRealtimeGameMessage("Doom: Invincible Field down, Defensive Mode offline, Berserk Mode online.", Color.Red, 3); Stage.AddRealtimeGameMessage(@"Alicia: Now, burst you fire!", Color.Yellow, 3); phase2On = false; phase3On = true; ((RegularAI)boss.unitAI).settings.isMoveAble = true; boss.IsInvincible = false; boss.angularRate = 20.0f; bill.CurrentWeapon.AmmoNum += 1500; } } if (phase3On) { } } } if (won) { if (Stage.IsMessageEnd) { Stage.Victory("胜利!!"); } } }
public override void Event_TimerRing(Timer timer) { if (boss.Dead == false) { if (timer == t0) { /* * Stage.AddGameMessage(@"Chris: 欢迎来到灵魂的狂欢派对!", Color.Red, 4); * Stage.AddGameMessage(@"Chris: 我看到了“遗迹”,看到神谕,你们拿着它,却手足无措。", Color.Red, 4); * Stage.AddGameMessage(@"Chris: 为了防止那个阴谋破坏主神的秩序,教会将收回这个东西。", Color.Red, 4); * Stage.AddGameMessage(@"Chris: 而“遗迹”的力量将会毁掉你。", Color.Red, 4); * */ Stage.AddGameMessage(@"Chris: Welcome to my soul party!", Color.Red, 4); Stage.AddGameMessage(@"Chris: Only the Church knows how the Relic is valuable.", Color.Red, 4); Stage.AddGameMessage(@"Chris: And we will collect it from your wreckage.", Color.Red, 4); Stage.AddGameMessage(@"Chris: To protect you from... conspiracy...", Color.Red, 4); Stage.GameWorld.ReleaseCamera(); Stage.Player.SetMoveState(new Vector3(0, 0, -200), Vector3.Zero); Variables.Unit[2].SetMoveState(new Vector3(0, 0, -300), Vector3.Zero); Stage.Player.MoveTo(new Vector3(0, 0, -28000)); Variables.Unit[2].MoveTo(new Vector3(35, 35, -28000)); } if (timer == t1) { Stage.PlayMusic(@"Audio\TitanSlayer_-_Dawning_of_Darkness", true, 2); Stage.Player.isPlayerControlling = true; Stage.Variables.Unit[2].IsAIControlling = true; Stage.GameWorld.MovieModelEnd(); Stage.Player.IsInvincible = false; Variables.Unit[2].IsInvincible = false; boss.IsInvincible = false; boss.IsAIControlling = true; u1.IsInvincible = false; u1.IsAIControlling = true; /* * Stage.AddGameMessage(@"Chris: 让祭祀开始吧!", Color.Red, 3); * Stage.AddGameMessage(@"Bill: 牵制住旁边的敌人!", Color.CornflowerBlue, 2); * Stage.AddGameMessage(@"Zero: 该死!“遗迹”开始不稳定了!", Color.LightGreen, 3); * Stage.AddGameMessage(@"Alicia: 这是一个陷阱!", Color.Yellow, 3); * Stage.AddGameMessage(@"Alicia: 空间正在坍塌,克雷斯在尝试引发“遗迹”的共振!", Color.Yellow, 4); * Stage.AddGameMessage(@"Alicia: 在你被压扁之前解决掉他!", Color.Yellow, 3); * */ Stage.AddGameMessage(@"Chris: Let it begin!", Color.Red, 3); Stage.AddGameMessage(@"Bill: Watch out!", Color.CornflowerBlue, 2); Stage.AddGameMessage(@"Zero: Damn, the Relic is unstable again!", Color.LightGreen, 3); Stage.AddGameMessage(@"Alicia: It is a trap!", Color.Yellow, 3); Stage.AddGameMessage(@"Alicia: Chris is triggering the resonance of the Relic.", Color.Yellow, 4); Stage.AddGameMessage(@"Alicia: The space is going to collapse! Make it quick!", Color.Yellow, 3); cs[0].BeginToDie(); } if (timer == t2) { u2.IsInvincible = false; u2.IsAIControlling = true; /* * Stage.AddRealtimeGameMessage(@"Chris: 火焰燃起来了。", Color.Red, 4); * Stage.AddRealtimeGameMessage(@"Bill: 更多的教徒投入战斗了,小心应付!", Color.CornflowerBlue, 4); * */ Stage.AddRealtimeGameMessage(@"Chris: The fire burns.", Color.Red, 4); Stage.AddRealtimeGameMessage(@"Bill: More of them!", Color.CornflowerBlue, 4); cs[1].BeginToDie(); } if (timer == t3) { u3.IsInvincible = false; u3.IsAIControlling = true; /* * Stage.AddRealtimeGameMessage(@"Chris: 让它更加混乱吧!", Color.Red, 4); * Stage.AddRealtimeGameMessage(@"Alicia: ……撑得住吗?", Color.Yellow, 4); * Stage.AddRealtimeGameMessage(@"Alicia: 没有了教徒的保护,黑骑士越来越容易受到伤害。", Color.Yellow, 4); * */ Stage.AddRealtimeGameMessage(@"Chris: Chaos, more chaos!", Color.Red, 4); Stage.AddRealtimeGameMessage(@"Alicia: ...can you?", Color.Yellow, 4); Stage.AddRealtimeGameMessage("Alicia: Without the protection of his followers, the Dark would be\nmore vulnerable.", Color.Yellow, 4); cs[2].BeginToDie(); } if (timer == t4) { u4.IsInvincible = false; u4.IsAIControlling = true; /* * Stage.AddRealtimeGameMessage(@"Chris: 混乱风暴!蒙克依,你是最后一个祭品!", Color.Red, 4); * Stage.AddRealtimeGameMessage(@"Zero: 又一个,可恶!", Color.LightGreen, 3); */ Stage.AddRealtimeGameMessage(@"Chris: Chaos Storm! Monkie, you are the last to go!", Color.Red, 4); Stage.AddRealtimeGameMessage(@"Zero: Another!", Color.Yellow, 4); cs[3].BeginToDie(); } if (timer == t5) { //Stage.AddRealtimeGameMessage(@"Chris: 那么我亲自来终结这风暴吧。", Color.Red, 4); //Stage.AddRealtimeGameMessage(@"Alicia: 空间坍塌非常严重!", Color.Yellow, 4); Stage.AddRealtimeGameMessage(@"Chris: I'll put an end to this, myself.", Color.Red, 4); Stage.AddRealtimeGameMessage(@"Alicia: The space are deforming!", Color.Yellow, 4); ((RegularAI)boss.unitAI).settings.isMoveAble = true; } } base.Event_TimerRing(timer); }