📄 m_soldier.java
字号:
public final static int FRAME_death335 = 377; public final static int FRAME_death336 = 378; public final static int FRAME_death337 = 379; public final static int FRAME_death338 = 380; public final static int FRAME_death339 = 381; public final static int FRAME_death340 = 382; public final static int FRAME_death341 = 383; public final static int FRAME_death342 = 384; public final static int FRAME_death343 = 385; public final static int FRAME_death344 = 386; public final static int FRAME_death345 = 387; public final static int FRAME_death401 = 388; public final static int FRAME_death402 = 389; public final static int FRAME_death403 = 390; public final static int FRAME_death404 = 391; public final static int FRAME_death405 = 392; public final static int FRAME_death406 = 393; public final static int FRAME_death407 = 394; public final static int FRAME_death408 = 395; public final static int FRAME_death409 = 396; public final static int FRAME_death410 = 397; public final static int FRAME_death411 = 398; public final static int FRAME_death412 = 399; public final static int FRAME_death413 = 400; public final static int FRAME_death414 = 401; public final static int FRAME_death415 = 402; public final static int FRAME_death416 = 403; public final static int FRAME_death417 = 404; public final static int FRAME_death418 = 405; public final static int FRAME_death419 = 406; public final static int FRAME_death420 = 407; public final static int FRAME_death421 = 408; public final static int FRAME_death422 = 409; public final static int FRAME_death423 = 410; public final static int FRAME_death424 = 411; public final static int FRAME_death425 = 412; public final static int FRAME_death426 = 413; public final static int FRAME_death427 = 414; public final static int FRAME_death428 = 415; public final static int FRAME_death429 = 416; public final static int FRAME_death430 = 417; public final static int FRAME_death431 = 418; public final static int FRAME_death432 = 419; public final static int FRAME_death433 = 420; public final static int FRAME_death434 = 421; public final static int FRAME_death435 = 422; public final static int FRAME_death436 = 423; public final static int FRAME_death437 = 424; public final static int FRAME_death438 = 425; public final static int FRAME_death439 = 426; public final static int FRAME_death440 = 427; public final static int FRAME_death441 = 428; public final static int FRAME_death442 = 429; public final static int FRAME_death443 = 430; public final static int FRAME_death444 = 431; public final static int FRAME_death445 = 432; public final static int FRAME_death446 = 433; public final static int FRAME_death447 = 434; public final static int FRAME_death448 = 435; public final static int FRAME_death449 = 436; public final static int FRAME_death450 = 437; public final static int FRAME_death451 = 438; public final static int FRAME_death452 = 439; public final static int FRAME_death453 = 440; public final static int FRAME_death501 = 441; public final static int FRAME_death502 = 442; public final static int FRAME_death503 = 443; public final static int FRAME_death504 = 444; public final static int FRAME_death505 = 445; public final static int FRAME_death506 = 446; public final static int FRAME_death507 = 447; public final static int FRAME_death508 = 448; public final static int FRAME_death509 = 449; public final static int FRAME_death510 = 450; public final static int FRAME_death511 = 451; public final static int FRAME_death512 = 452; public final static int FRAME_death513 = 453; public final static int FRAME_death514 = 454; public final static int FRAME_death515 = 455; public final static int FRAME_death516 = 456; public final static int FRAME_death517 = 457; public final static int FRAME_death518 = 458; public final static int FRAME_death519 = 459; public final static int FRAME_death520 = 460; public final static int FRAME_death521 = 461; public final static int FRAME_death522 = 462; public final static int FRAME_death523 = 463; public final static int FRAME_death524 = 464; public final static int FRAME_death601 = 465; public final static int FRAME_death602 = 466; public final static int FRAME_death603 = 467; public final static int FRAME_death604 = 468; public final static int FRAME_death605 = 469; public final static int FRAME_death606 = 470; public final static int FRAME_death607 = 471; public final static int FRAME_death608 = 472; public final static int FRAME_death609 = 473; public final static int FRAME_death610 = 474; public final static float MODEL_SCALE = 1.200000f; static int sound_idle; static int sound_sight1; static int sound_sight2; static int sound_pain_light; static int sound_pain; static int sound_pain_ss; static int sound_death_light; static int sound_death; static int sound_death_ss; static int sound_cock; static EntThinkAdapter soldier_dead = new EntThinkAdapter() { public String getID(){ return "soldier_dead"; } public boolean think(edict_t self) { Math3D.VectorSet(self.mins, -16, -16, -24); Math3D.VectorSet(self.maxs, 16, 16, -8); self.movetype = Defines.MOVETYPE_TOSS; self.svflags |= Defines.SVF_DEADMONSTER; self.nextthink = 0; GameBase.gi.linkentity(self); return true; } }; static EntDieAdapter soldier_die = new EntDieAdapter() { public String getID(){ return "soldier_die"; } public void die(edict_t self, edict_t inflictor, edict_t attacker, int damage, float[] point) { int n; // check for gib if (self.health <= self.gib_health) { GameBase.gi .sound(self, Defines.CHAN_VOICE, GameBase.gi .soundindex("misc/udeath.wav"), 1, Defines.ATTN_NORM, 0); for (n = 0; n < 3; n++) GameMisc.ThrowGib(self, "models/objects/gibs/sm_meat/tris.md2", damage, Defines.GIB_ORGANIC); GameMisc.ThrowGib(self, "models/objects/gibs/chest/tris.md2", damage, Defines.GIB_ORGANIC); GameMisc.ThrowHead(self, "models/objects/gibs/head2/tris.md2", damage, Defines.GIB_ORGANIC); self.deadflag = Defines.DEAD_DEAD; return; } if (self.deadflag == Defines.DEAD_DEAD) return; // regular death self.deadflag = Defines.DEAD_DEAD; self.takedamage = Defines.DAMAGE_YES; self.s.skinnum |= 1; if (self.s.skinnum == 1) GameBase.gi.sound(self, Defines.CHAN_VOICE, sound_death_light, 1, Defines.ATTN_NORM, 0); else if (self.s.skinnum == 3) GameBase.gi.sound(self, Defines.CHAN_VOICE, sound_death, 1, Defines.ATTN_NORM, 0); else // (self.s.skinnum == 5) GameBase.gi.sound(self, Defines.CHAN_VOICE, sound_death_ss, 1, Defines.ATTN_NORM, 0); if (Math.abs((self.s.origin[2] + self.viewheight) - point[2]) <= 4) { // head shot self.monsterinfo.currentmove = soldier_move_death3; return; } n = Lib.rand() % 5; if (n == 0) self.monsterinfo.currentmove = soldier_move_death1; else if (n == 1) self.monsterinfo.currentmove = soldier_move_death2; else if (n == 2) self.monsterinfo.currentmove = soldier_move_death4; else if (n == 3) self.monsterinfo.currentmove = soldier_move_death5; else self.monsterinfo.currentmove = soldier_move_death6; } }; static EntThinkAdapter soldier_attack1_refire1 = new EntThinkAdapter() { public String getID(){ return "soldier_attack1_refire1"; } public boolean think(edict_t self) { if (self.s.skinnum > 1) return true; if (self.enemy.health <= 0) return true; if (((GameBase.skill.value == 3) && (Lib.random() < 0.5)) || (GameUtil.range(self, self.enemy) == Defines.RANGE_MELEE)) self.monsterinfo.nextframe = FRAME_attak102; else self.monsterinfo.nextframe = FRAME_attak110; return true; } }; static EntThinkAdapter soldier_attack1_refire2 = new EntThinkAdapter() { public String getID(){ return "soldier_attack1_refire2"; } public boolean think(edict_t self) { if (self.s.skinnum < 2) return true; if (self.enemy.health <= 0) return true; if (((GameBase.skill.value == 3) && (Lib.random() < 0.5)) || (GameUtil.range(self, self.enemy) == Defines.RANGE_MELEE)) self.monsterinfo.nextframe = FRAME_attak102; return true; } }; static EntThinkAdapter soldier_attack2_refire1 = new EntThinkAdapter() { public String getID(){ return "soldier_attack2_refire1"; } public boolean think(edict_t self) { if (self.s.skinnum > 1) return true; if (self.enemy.health <= 0) return true; if (((GameBase.skill.value == 3) && (Lib.random() < 0.5)) || (GameUtil.range(self, self.enemy) == Defines.RANGE_MELEE)) self.monsterinfo.nextframe = FRAME_attak204; else self.monsterinfo.nextframe = FRAME_attak216; return true; } }; static EntThinkAdapter soldier_attack2_refire2 = new EntThinkAdapter() { public String getID(){ return "soldier_attack2_refire2"; } public boolean think(edict_t self) { if (self.s.skinnum < 2) return true; if (self.enemy.health <= 0) return true; if (((GameBase.skill.value == 3) && (Lib.random() < 0.5)) || (GameUtil.range(self, self.enemy) == Defines.RANGE_MELEE)) self.monsterinfo.nextframe = FRAME_attak204; return true; } }; static EntThinkAdapter soldier_attack3_refire = new EntThinkAdapter() { public String getID(){ return "soldier_attack3_refire"; } public boolean think(edict_t self) { if ((GameBase.level.time + 0.4) < self.monsterinfo.pausetime) self.monsterinfo.nextframe = FRAME_attak303; return true; } }; static EntThinkAdapter soldier_attack6_refire = new EntThinkAdapter() { public String getID(){ return "soldier_attack6_refire"; } public boolean think(edict_t self) { if (self.enemy.health <= 0) return true; if (GameUtil.range(self, self.enemy) < Defines.RANGE_MID) return true; if (GameBase.skill.value == 3) self.monsterinfo.nextframe = FRAME_runs03; return true; } }; // ATTACK6 (run & shoot) static EntThinkAdapter soldier_fire8 = new EntThinkAdapter() { public String getID(){ return "soldier_fire8"; } public boolean think(edict_t self) { soldier_fire(self, 7); return true; } }; // ATTACK1 (blaster/shotgun) static EntThinkAdapter soldier_fire1 = new EntThinkAdapter() { public String getID(){ return "soldier_fire1"; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -