📄 m_boss32.java
字号:
new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), // 50 new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null), new mframe_t(GameAI.ai_stand, 0, null) // 60 }; static mmove_t makron_move_stand = new mmove_t(FRAME_stand201, FRAME_stand260, makron_frames_stand, null); static mframe_t makron_frames_run[] = new mframe_t[] { new mframe_t(GameAI.ai_run, 3, makron_step_left), new mframe_t(GameAI.ai_run, 12, null), new mframe_t(GameAI.ai_run, 8, null), new mframe_t(GameAI.ai_run, 8, null), new mframe_t(GameAI.ai_run, 8, makron_step_right), new mframe_t(GameAI.ai_run, 6, null), new mframe_t(GameAI.ai_run, 12, null), new mframe_t(GameAI.ai_run, 9, null), new mframe_t(GameAI.ai_run, 6, null), new mframe_t(GameAI.ai_run, 12, null) }; static mmove_t makron_move_run = new mmove_t(FRAME_walk204, FRAME_walk213, makron_frames_run, null); static mframe_t makron_frames_walk[] = new mframe_t[] { new mframe_t(GameAI.ai_walk, 3, makron_step_left), new mframe_t(GameAI.ai_walk, 12, null), new mframe_t(GameAI.ai_walk, 8, null), new mframe_t(GameAI.ai_walk, 8, null), new mframe_t(GameAI.ai_walk, 8, makron_step_right), new mframe_t(GameAI.ai_walk, 6, null), new mframe_t(GameAI.ai_walk, 12, null), new mframe_t(GameAI.ai_walk, 9, null), new mframe_t(GameAI.ai_walk, 6, null), new mframe_t(GameAI.ai_walk, 12, null) }; static mmove_t makron_move_walk = new mmove_t(FRAME_walk204, FRAME_walk213, makron_frames_run, null); // // death // static EntThinkAdapter makron_dead = new EntThinkAdapter() { public String getID() { return "makron_dead"; } public boolean think(edict_t self) { Math3D.VectorSet(self.mins, -60, -60, 0); Math3D.VectorSet(self.maxs, 60, 60, 72); self.movetype = Defines.MOVETYPE_TOSS; self.svflags |= Defines.SVF_DEADMONSTER; self.nextthink = 0; GameBase.gi.linkentity(self); return true; } }; static EntThinkAdapter makron_walk = new EntThinkAdapter() { public String getID() { return "makron_walk"; } public boolean think(edict_t self) { self.monsterinfo.currentmove = makron_move_walk; return true; } }; static EntThinkAdapter makron_run = new EntThinkAdapter() { public String getID() { return "makron_run"; } public boolean think(edict_t self) { if ((self.monsterinfo.aiflags & Defines.AI_STAND_GROUND) != 0) self.monsterinfo.currentmove = makron_move_stand; else self.monsterinfo.currentmove = makron_move_run; return true; } }; static mframe_t makron_frames_pain6[] = new mframe_t[] { new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), // 10 new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, makron_popup), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), // 20 new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, makron_taunt), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null) }; static mmove_t makron_move_pain6 = new mmove_t(FRAME_pain601, FRAME_pain627, makron_frames_pain6, makron_run); static mframe_t makron_frames_pain5[] = new mframe_t[] { new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null) }; static mmove_t makron_move_pain5 = new mmove_t(FRAME_pain501, FRAME_pain504, makron_frames_pain5, makron_run); static mframe_t makron_frames_pain4[] = new mframe_t[] { new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null) }; static mmove_t makron_move_pain4 = new mmove_t(FRAME_pain401, FRAME_pain404, makron_frames_pain4, makron_run); static mframe_t makron_frames_death2[] = new mframe_t[] { new mframe_t(GameAI.ai_move, -15, null), new mframe_t(GameAI.ai_move, 3, null), new mframe_t(GameAI.ai_move, -12, null), new mframe_t(GameAI.ai_move, 0, makron_step_left), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), // 10 new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 11, null), new mframe_t(GameAI.ai_move, 12, null), new mframe_t(GameAI.ai_move, 11, makron_step_right), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), // 20 new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), // 30 new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 5, null), new mframe_t(GameAI.ai_move, 7, null), new mframe_t(GameAI.ai_move, 6, makron_step_left), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, -1, null), new mframe_t(GameAI.ai_move, 2, null), // 40 new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), // 50 new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, -6, null), new mframe_t(GameAI.ai_move, -4, null), new mframe_t(GameAI.ai_move, -6, makron_step_right), new mframe_t(GameAI.ai_move, -4, null), new mframe_t(GameAI.ai_move, -4, makron_step_left), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), // 60 new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, -2, null), new mframe_t(GameAI.ai_move, -5, null), new mframe_t(GameAI.ai_move, -3, makron_step_right), new mframe_t(GameAI.ai_move, -8, null), new mframe_t(GameAI.ai_move, -3, makron_step_left), new mframe_t(GameAI.ai_move, -7, null), new mframe_t(GameAI.ai_move, -4, null), new mframe_t(GameAI.ai_move, -4, makron_step_right), // 70 new mframe_t(GameAI.ai_move, -6, null), new mframe_t(GameAI.ai_move, -7, null), new mframe_t(GameAI.ai_move, 0, makron_step_left), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), // 80 new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, -2, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 2, null), new mframe_t(GameAI.ai_move, 0, null), // 90 new mframe_t(GameAI.ai_move, 27, makron_hit), new mframe_t(GameAI.ai_move, 26, null), new mframe_t(GameAI.ai_move, 0, makron_brainsplorch), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null) // 95 }; static mmove_t makron_move_death2 = new mmove_t(FRAME_death201, FRAME_death295, makron_frames_death2, makron_dead); static mframe_t makron_frames_death3[] = new mframe_t[] { new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null) }; static mmove_t makron_move_death3 = new mmove_t(FRAME_death301, FRAME_death320, makron_frames_death3, null); static mframe_t makron_frames_sight[] = new mframe_t[] { new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 0, null) }; static mmove_t makron_move_sight = new mmove_t(FRAME_active01, FRAME_active13, makron_frames_sight, makron_run); static EntThinkAdapter makronBFG = new EntThinkAdapter() { public String getID() { return "makronBFG"; } public boolean think(edict_t self) { float[] forward = { 0, 0, 0 }, right = { 0, 0, 0 }; float[] start = { 0, 0, 0 }; float[] dir = { 0, 0, 0 }; float[] vec = { 0, 0, 0 }; Math3D.AngleVectors(self.s.angles, forward, right, null); Math3D.G_ProjectSource(self.s.origin, M_Flash.monster_flash_offset[Defines.MZ2_MAKRON_BFG], forward, right, start); Math3D.VectorCopy(self.enemy.s.origin, vec); vec[2] += self.enemy.viewheight; Math3D.VectorSubtract(vec, start, dir); Math3D.VectorNormalize(dir); GameBase.gi.sound(self, Defines.CHAN_VOICE, sound_attack_bfg, 1, Defines.ATTN_NORM, 0); Monster.monster_fire_bfg(self, start, dir, 50, 300, 100, 300, Defines.MZ2_MAKRON_BFG); return true; } }; static EntThinkAdapter MakronSaveloc = new EntThinkAdapter() { public String getID() { return "MakronSaveloc"; } public boolean think(edict_t self) { Math3D.VectorCopy(self.enemy.s.origin, self.pos1); //save for // aiming the // shot self.pos1[2] += self.enemy.viewheight; return true; } }; // FIXME: He's not firing from the proper Z static EntThinkAdapter MakronRailgun = new EntThinkAdapter() { public String getID() { return "MakronRailgun"; } public boolean think(edict_t self) { float[] start = { 0, 0, 0 }; float[] dir = { 0, 0, 0 }; float[] forward = { 0, 0, 0 }, right = { 0, 0, 0 }; Math3D.AngleVectors(self.s.angles, forward, right, null); Math3D.G_ProjectSource(self.s.origin, M_Flash.monster_flash_offset[Defines.MZ2_MAKRON_RAILGUN_1], forward, right, start); // calc direction to where we targted Math3D.VectorSubtract(self.pos1, start, dir); Math3D.VectorNormalize(dir); Monster.monster_fire_railgun(self, start, dir, 50, 100, Defines.MZ2_MAKRON_RAILGUN_1); return true; } }; // FIXME: This is all wrong. He's not firing at the proper angles. static EntThinkAdapter MakronHyperblaster = new EntThinkAdapter() { public String getID() { return "MakronHyperblaster"; } public boolean think(edict_t self) { float[] dir = { 0, 0, 0 }; float[] vec = { 0, 0, 0 }; float[] start = { 0, 0, 0 }; float[] forward = { 0, 0, 0 }, right = { 0, 0, 0 }; int flash_number; flash_number = Defines.MZ2_MAKRON_BLASTER_1 + (self.s.frame - FRAME_attak405); Math3D.AngleVectors(self.s.angles, forward, right, null); Math3D.G_ProjectSource(self.s.origin, M_Flash.monster_flash_offset[flash_number], forward, right, start); if (self.enemy != null) { Math3D.VectorCopy(self.enemy.s.origin, vec); vec[2] += self.enemy.viewheight; Math3D.VectorSubtract(vec, start, vec); Math3D.vectoangles(vec, vec); dir[0] = vec[0]; } else { dir[0] = 0; } if (self.s.frame <= FRAME_attak413) dir[1] = self.s.angles[1] - 10 * (self.s.frame - FRAME_attak413); else dir[1] = self.s.angles[1] + 10 * (self.s.frame - FRAME_attak421); dir[2] = 0; Math3D.AngleVectors(dir, forward, null, null); Monster.monster_fire_blaster(self, start, forward, 15, 1000, Defines.MZ2_MAKRON_BLASTER_1, Defines.EF_BLASTER); return true; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -