📄 m_gunner.java
字号:
public final static int FRAME_pain107 = 165; public final static int FRAME_pain108 = 166; public final static int FRAME_pain109 = 167; public final static int FRAME_pain110 = 168; public final static int FRAME_pain111 = 169; public final static int FRAME_pain112 = 170; public final static int FRAME_pain113 = 171; public final static int FRAME_pain114 = 172; public final static int FRAME_pain115 = 173; public final static int FRAME_pain116 = 174; public final static int FRAME_pain117 = 175; public final static int FRAME_pain118 = 176; public final static int FRAME_pain201 = 177; public final static int FRAME_pain202 = 178; public final static int FRAME_pain203 = 179; public final static int FRAME_pain204 = 180; public final static int FRAME_pain205 = 181; public final static int FRAME_pain206 = 182; public final static int FRAME_pain207 = 183; public final static int FRAME_pain208 = 184; public final static int FRAME_pain301 = 185; public final static int FRAME_pain302 = 186; public final static int FRAME_pain303 = 187; public final static int FRAME_pain304 = 188; public final static int FRAME_pain305 = 189; public final static int FRAME_death01 = 190; public final static int FRAME_death02 = 191; public final static int FRAME_death03 = 192; public final static int FRAME_death04 = 193; public final static int FRAME_death05 = 194; public final static int FRAME_death06 = 195; public final static int FRAME_death07 = 196; public final static int FRAME_death08 = 197; public final static int FRAME_death09 = 198; public final static int FRAME_death10 = 199; public final static int FRAME_death11 = 200; public final static int FRAME_duck01 = 201; public final static int FRAME_duck02 = 202; public final static int FRAME_duck03 = 203; public final static int FRAME_duck04 = 204; public final static int FRAME_duck05 = 205; public final static int FRAME_duck06 = 206; public final static int FRAME_duck07 = 207; public final static int FRAME_duck08 = 208; public final static float MODEL_SCALE = 1.150000f; static int sound_pain; static int sound_pain2; static int sound_death; static int sound_idle; static int sound_open; static int sound_search; static int sound_sight; static EntThinkAdapter gunner_idlesound = new EntThinkAdapter() { public String getID() { return "gunner_idlesound"; } public boolean think(edict_t self) { GameBase.gi.sound(self, Defines.CHAN_VOICE, sound_idle, 1, Defines.ATTN_IDLE, 0); return true; } }; static EntInteractAdapter gunner_sight = new EntInteractAdapter() { public String getID() { return "gunner_sight"; } public boolean interact(edict_t self, edict_t other) { GameBase.gi.sound(self, Defines.CHAN_VOICE, sound_sight, 1, Defines.ATTN_NORM, 0); return true; } }; static EntThinkAdapter gunner_search = new EntThinkAdapter() { public String getID() { return "gunner_search"; } public boolean think(edict_t self) { GameBase.gi.sound(self, Defines.CHAN_VOICE, sound_search, 1, Defines.ATTN_NORM, 0); return true; } }; static mframe_t gunner_frames_fidget[] = new mframe_t[] { 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, gunner_idlesound), 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), 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), 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), 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), new mframe_t(GameAI.ai_stand, 0, null) }; static EntThinkAdapter gunner_stand = new EntThinkAdapter() { public String getID() { return "gunner_stand"; } public boolean think(edict_t self) { self.monsterinfo.currentmove = gunner_move_stand; return true; } }; static mmove_t gunner_move_fidget = new mmove_t(FRAME_stand31, FRAME_stand70, gunner_frames_fidget, gunner_stand); static EntThinkAdapter gunner_fidget = new EntThinkAdapter() { public String getID() { return "gunner_fidget"; } public boolean think(edict_t self) { if ((self.monsterinfo.aiflags & Defines.AI_STAND_GROUND) != 0) return true; if (Lib.random() <= 0.05) self.monsterinfo.currentmove = gunner_move_fidget; return true; } }; static mframe_t gunner_frames_stand[] = new mframe_t[] { 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, gunner_fidget), 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, gunner_fidget), 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, gunner_fidget) }; static mmove_t gunner_move_stand = new mmove_t(FRAME_stand01, FRAME_stand30, gunner_frames_stand, null); static mframe_t gunner_frames_walk[] = new mframe_t[] { new mframe_t(GameAI.ai_walk, 0, null), new mframe_t(GameAI.ai_walk, 3, null), new mframe_t(GameAI.ai_walk, 4, null), new mframe_t(GameAI.ai_walk, 5, null), new mframe_t(GameAI.ai_walk, 7, null), new mframe_t(GameAI.ai_walk, 2, null), new mframe_t(GameAI.ai_walk, 6, null), new mframe_t(GameAI.ai_walk, 4, null), new mframe_t(GameAI.ai_walk, 2, null), new mframe_t(GameAI.ai_walk, 7, null), new mframe_t(GameAI.ai_walk, 5, null), new mframe_t(GameAI.ai_walk, 7, null), new mframe_t(GameAI.ai_walk, 4, null) }; static mmove_t gunner_move_walk = new mmove_t(FRAME_walk07, FRAME_walk19, gunner_frames_walk, null); static EntThinkAdapter gunner_walk = new EntThinkAdapter() { public String getID() { return "gunner_walk"; } public boolean think(edict_t self) { self.monsterinfo.currentmove = gunner_move_walk; return true; } }; static mframe_t gunner_frames_run[] = new mframe_t[] { new mframe_t(GameAI.ai_run, 26, null), new mframe_t(GameAI.ai_run, 9, null), new mframe_t(GameAI.ai_run, 9, null), new mframe_t(GameAI.ai_run, 9, null), new mframe_t(GameAI.ai_run, 15, null), new mframe_t(GameAI.ai_run, 10, null), new mframe_t(GameAI.ai_run, 13, null), new mframe_t(GameAI.ai_run, 6, null) }; static mmove_t gunner_move_run = new mmove_t(FRAME_run01, FRAME_run08, gunner_frames_run, null); static EntThinkAdapter gunner_run = new EntThinkAdapter() { public String getID() { return "gunner_run"; } public boolean think(edict_t self) { if ((self.monsterinfo.aiflags & Defines.AI_STAND_GROUND) != 0) self.monsterinfo.currentmove = gunner_move_stand; else self.monsterinfo.currentmove = gunner_move_run; return true; } }; static mframe_t gunner_frames_runandshoot[] = new mframe_t[] { new mframe_t(GameAI.ai_run, 32, null), new mframe_t(GameAI.ai_run, 15, null), new mframe_t(GameAI.ai_run, 10, null), new mframe_t(GameAI.ai_run, 18, null), new mframe_t(GameAI.ai_run, 8, null), new mframe_t(GameAI.ai_run, 20, null) }; static mmove_t gunner_move_runandshoot = new mmove_t(FRAME_runs01, FRAME_runs06, gunner_frames_runandshoot, null); static EntThinkAdapter gunner_runandshoot = new EntThinkAdapter() { public String getID() { return "gunner_runandshoot"; } public boolean think(edict_t self) { self.monsterinfo.currentmove = gunner_move_runandshoot; return true; } }; static mframe_t gunner_frames_pain3[] = new mframe_t[] { new mframe_t(GameAI.ai_move, -3, null), new mframe_t(GameAI.ai_move, 1, null), new mframe_t(GameAI.ai_move, 1, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, 1, null) }; static mmove_t gunner_move_pain3 = new mmove_t(FRAME_pain301, FRAME_pain305, gunner_frames_pain3, gunner_run); static mframe_t gunner_frames_pain2[] = new mframe_t[] { new mframe_t(GameAI.ai_move, -2, null), new mframe_t(GameAI.ai_move, 11, null), new mframe_t(GameAI.ai_move, 6, null), new mframe_t(GameAI.ai_move, 2, null), new mframe_t(GameAI.ai_move, -1, null), new mframe_t(GameAI.ai_move, -7, null), new mframe_t(GameAI.ai_move, -2, null), new mframe_t(GameAI.ai_move, -7, null) }; static mmove_t gunner_move_pain2 = new mmove_t(FRAME_pain201, FRAME_pain208, gunner_frames_pain2, gunner_run); static mframe_t gunner_frames_pain1[] = new mframe_t[] { new mframe_t(GameAI.ai_move, 2, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, -5, null), new mframe_t(GameAI.ai_move, 3, null), new mframe_t(GameAI.ai_move, -1, 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, 1, null), new mframe_t(GameAI.ai_move, 1, null), new mframe_t(GameAI.ai_move, 2, null), new mframe_t(GameAI.ai_move, 1, null), new mframe_t(GameAI.ai_move, 0, null), new mframe_t(GameAI.ai_move, -2, 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) }; static mmove_t gunner_move_pain1 = new mmove_t(FRAME_pain101, FRAME_pain118, gunner_frames_pain1, gunner_run); static EntPainAdapter gunner_pain = new EntPainAdapter() { public String getID() { return "gunner_pain"; } public void pain(edict_t self, edict_t other, float kick, int damage) { if (self.health < (self.max_health / 2)) self.s.skinnum = 1; if (GameBase.level.time < self.pain_debounce_time) return; self.pain_debounce_time = GameBase.level.time + 3; if ((Lib.rand() & 1) != 0) GameBase.gi.sound(self, Defines.CHAN_VOICE, sound_pain, 1, Defines.ATTN_NORM, 0); else GameBase.gi.sound(self, Defines.CHAN_VOICE, sound_pain2, 1, Defines.ATTN_NORM, 0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -