⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cl_fx.pas

📁 delphi编的不错的贪吃蛇
💻 PAS
📖 第 1 页 / 共 5 页
字号:
      end;
    // RAFAEL
    MZ_PHALANX:
      begin
        dl.color[0] := 1;
        dl.color[1] := 0.5;
        dl.color[2] := 0.5;
        S_StartSound(nil, i, CHAN_WEAPON, S_RegisterSound('weapons/plasshot.wav'), volume, ATTN_NORM, 0);
      end;
    // RAFAEL
    MZ_IONRIPPER:
      begin
        dl.color[0] := 1;
        dl.color[1] := 0.5;
        dl.color[2] := 0.5;
        S_StartSound(nil, i, CHAN_WEAPON, S_RegisterSound('weapons/rippfire.wav'), volume, ATTN_NORM, 0);
      end;

    // ===============================00
    // PGM
    MZ_ETF_RIFLE:
      begin
        dl.color[0] := 0.9;
        dl.color[1] := 0.7;
        dl.color[2] := 0;
        S_StartSound(nil, i, CHAN_WEAPON, S_RegisterSound('weapons/nail1.wav'), volume, ATTN_NORM, 0);
      end;
    MZ_SHOTGUN2:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        S_StartSound(nil, i, CHAN_WEAPON, S_RegisterSound('weapons/shotg2.wav'), volume, ATTN_NORM, 0);
      end;
    MZ_HEATBEAM:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        dl.die := cl.time + 100;
        //		S_StartSound (nil, i, CHAN_WEAPON, S_RegisterSound('weapons/bfg__l1a.wav'), volume, ATTN_NORM, 0);
      end;
    MZ_BLASTER2:
      begin
        dl.color[0] := 0;
        dl.color[1] := 1;
        dl.color[2] := 0;
        // FIXME - different sound for blaster2 ??
        S_StartSound(nil, i, CHAN_WEAPON, S_RegisterSound('weapons/blastf1a.wav'), volume, ATTN_NORM, 0);
      end;
    MZ_TRACKER:
      begin
        // negative flashes handled the same in gl/soft until CL_AddDLights
        dl.color[0] := -1;
        dl.color[1] := -1;
        dl.color[2] := -1;
        S_StartSound(nil, i, CHAN_WEAPON, S_RegisterSound('weapons/disint2.wav'), volume, ATTN_NORM, 0);
      end;
    MZ_NUKE1:
      begin
        dl.color[0] := 1;
        dl.color[1] := 0;
        dl.color[2] := 0;
        dl.die := cl.time + 100;
      end;
    MZ_NUKE2:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        dl.die := cl.time + 100;
      end;
    MZ_NUKE4:
      begin
        dl.color[0] := 0;
        dl.color[1] := 0;
        dl.color[2] := 1;
        dl.die := cl.time + 100;
      end;
    MZ_NUKE8:
      begin
        dl.color[0] := 0;
        dl.color[1] := 1;
        dl.color[2] := 1;
        dl.die := cl.time + 100;
      end;
  end;
end;

(*
==============
CL_ParseMuzzleFlash2
==============
*)

procedure CL_ParseMuzzleFlash2;
var
  ent: Integer;
  origin: vec3_t;
  flash_number: integer;
  dl: cdlight_p;
  forward_, right: vec3_t;
  soundname: array[0..64 - 1] of char;
begin
  ent := MSG_ReadShort(net_message);
  if (ent < 1) or (ent >= MAX_EDICTS) then
    Com_Error(ERR_DROP, 'CL_ParseMuzzleFlash2: bad entity', []);

  flash_number := MSG_ReadByte(net_message);

  // locate the origin
  AngleVectors(cl_entities[ent].current.angles, @forward_, @right, nil);
  origin[0] := cl_entities[ent].current.origin[0] + forward_[0] * monster_flash_offset[flash_number][0] + right[0] * monster_flash_offset[flash_number][1];
  origin[1] := cl_entities[ent].current.origin[1] + forward_[1] * monster_flash_offset[flash_number][0] + right[1] * monster_flash_offset[flash_number][1];
  origin[2] := cl_entities[ent].current.origin[2] + forward_[2] * monster_flash_offset[flash_number][0] + right[2] * monster_flash_offset[flash_number][1] + monster_flash_offset[flash_number][2];

  dl := CL_AllocDlight(ent);
  VectorCopy(origin, dl.origin);
  dl.radius := 200 + (rand() and 31);
  dl.minlight := 32;
  dl.die := cl.time;                    // + 0.1;

  case flash_number of
    MZ2_INFANTRY_MACHINEGUN_1,
      MZ2_INFANTRY_MACHINEGUN_2,
      MZ2_INFANTRY_MACHINEGUN_3,
      MZ2_INFANTRY_MACHINEGUN_4,
      MZ2_INFANTRY_MACHINEGUN_5,
      MZ2_INFANTRY_MACHINEGUN_6,
      MZ2_INFANTRY_MACHINEGUN_7,
      MZ2_INFANTRY_MACHINEGUN_8,
      MZ2_INFANTRY_MACHINEGUN_9,
      MZ2_INFANTRY_MACHINEGUN_10,
      MZ2_INFANTRY_MACHINEGUN_11,
      MZ2_INFANTRY_MACHINEGUN_12,
      MZ2_INFANTRY_MACHINEGUN_13:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        CL_ParticleEffect(origin, vec3_origin, 0, 40);
        CL_SmokeAndFlash(origin);
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('infantry/infatck1.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_SOLDIER_MACHINEGUN_1,
      MZ2_SOLDIER_MACHINEGUN_2,
      MZ2_SOLDIER_MACHINEGUN_3,
      MZ2_SOLDIER_MACHINEGUN_4,
      MZ2_SOLDIER_MACHINEGUN_5,
      MZ2_SOLDIER_MACHINEGUN_6,
      MZ2_SOLDIER_MACHINEGUN_7,
      MZ2_SOLDIER_MACHINEGUN_8:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        CL_ParticleEffect(origin, vec3_origin, 0, 40);
        CL_SmokeAndFlash(origin);
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('soldier/solatck3.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_GUNNER_MACHINEGUN_1,
      MZ2_GUNNER_MACHINEGUN_2,
      MZ2_GUNNER_MACHINEGUN_3,
      MZ2_GUNNER_MACHINEGUN_4,
      MZ2_GUNNER_MACHINEGUN_5,
      MZ2_GUNNER_MACHINEGUN_6,
      MZ2_GUNNER_MACHINEGUN_7,
      MZ2_GUNNER_MACHINEGUN_8:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        CL_ParticleEffect(origin, vec3_origin, 0, 40);
        CL_SmokeAndFlash(origin);
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('gunner/gunatck2.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_ACTOR_MACHINEGUN_1,
      MZ2_SUPERTANK_MACHINEGUN_1,
      MZ2_SUPERTANK_MACHINEGUN_2,
      MZ2_SUPERTANK_MACHINEGUN_3,
      MZ2_SUPERTANK_MACHINEGUN_4,
      MZ2_SUPERTANK_MACHINEGUN_5,
      MZ2_SUPERTANK_MACHINEGUN_6,
      MZ2_TURRET_MACHINEGUN:            // PGM
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;

        CL_ParticleEffect(origin, vec3_origin, 0, 40);
        CL_SmokeAndFlash(origin);
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('infantry/infatck1.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_BOSS2_MACHINEGUN_L1,
      MZ2_BOSS2_MACHINEGUN_L2,
      MZ2_BOSS2_MACHINEGUN_L3,
      MZ2_BOSS2_MACHINEGUN_L4,
      MZ2_BOSS2_MACHINEGUN_L5,
      MZ2_CARRIER_MACHINEGUN_L1,        // PMM
    MZ2_CARRIER_MACHINEGUN_L2:          // PMM
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;

        CL_ParticleEffect(origin, vec3_origin, 0, 40);
        CL_SmokeAndFlash(origin);
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('infantry/infatck1.wav'), 1, ATTN_NONE, 0);
      end;

    MZ2_SOLDIER_BLASTER_1,
      MZ2_SOLDIER_BLASTER_2,
      MZ2_SOLDIER_BLASTER_3,
      MZ2_SOLDIER_BLASTER_4,
      MZ2_SOLDIER_BLASTER_5,
      MZ2_SOLDIER_BLASTER_6,
      MZ2_SOLDIER_BLASTER_7,
      MZ2_SOLDIER_BLASTER_8,
      MZ2_TURRET_BLASTER:               // PGM
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('soldier/solatck2.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_FLYER_BLASTER_1,
      MZ2_FLYER_BLASTER_2:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('flyer/flyatck3.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_MEDIC_BLASTER_1:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('medic/medatck1.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_HOVER_BLASTER_1:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('hover/hovatck1.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_FLOAT_BLASTER_1:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('floater/fltatck1.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_SOLDIER_SHOTGUN_1,
      MZ2_SOLDIER_SHOTGUN_2,
      MZ2_SOLDIER_SHOTGUN_3,
      MZ2_SOLDIER_SHOTGUN_4,
      MZ2_SOLDIER_SHOTGUN_5,
      MZ2_SOLDIER_SHOTGUN_6,
      MZ2_SOLDIER_SHOTGUN_7,
      MZ2_SOLDIER_SHOTGUN_8:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        CL_SmokeAndFlash(origin);
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('soldier/solatck1.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_TANK_BLASTER_1,
      MZ2_TANK_BLASTER_2,
      MZ2_TANK_BLASTER_3:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('tank/tnkatck3.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_TANK_MACHINEGUN_1,
      MZ2_TANK_MACHINEGUN_2,
      MZ2_TANK_MACHINEGUN_3,
      MZ2_TANK_MACHINEGUN_4,
      MZ2_TANK_MACHINEGUN_5,
      MZ2_TANK_MACHINEGUN_6,
      MZ2_TANK_MACHINEGUN_7,
      MZ2_TANK_MACHINEGUN_8,
      MZ2_TANK_MACHINEGUN_9,
      MZ2_TANK_MACHINEGUN_10,
      MZ2_TANK_MACHINEGUN_11,
      MZ2_TANK_MACHINEGUN_12,
      MZ2_TANK_MACHINEGUN_13,
      MZ2_TANK_MACHINEGUN_14,
      MZ2_TANK_MACHINEGUN_15,
      MZ2_TANK_MACHINEGUN_16,
      MZ2_TANK_MACHINEGUN_17,
      MZ2_TANK_MACHINEGUN_18,
      MZ2_TANK_MACHINEGUN_19:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        CL_ParticleEffect(origin, vec3_origin, 0, 40);
        CL_SmokeAndFlash(origin);
        Com_sprintf(soundname, sizeof(soundname), 'tank/tnkatk2%c.wav', [char(byte('a') + rand() mod 5)]);
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound(soundname), 1, ATTN_NORM, 0);
      end;

    MZ2_CHICK_ROCKET_1,
      MZ2_TURRET_ROCKET:                // PGM
      begin
        dl.color[0] := 1;
        dl.color[1] := 0.5;
        dl.color[2] := 0.2;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('chick/chkatck2.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_TANK_ROCKET_1,
      MZ2_TANK_ROCKET_2,
      MZ2_TANK_ROCKET_3:
      begin
        dl.color[0] := 1;
        dl.color[1] := 0.5;
        dl.color[2] := 0.2;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('tank/tnkatck1.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_SUPERTANK_ROCKET_1,
      MZ2_SUPERTANK_ROCKET_2,
      MZ2_SUPERTANK_ROCKET_3,
      MZ2_BOSS2_ROCKET_1,
      MZ2_BOSS2_ROCKET_2,
      MZ2_BOSS2_ROCKET_3,
      MZ2_BOSS2_ROCKET_4,
      MZ2_CARRIER_ROCKET_1:
      //	MZ2_CARRIER_ROCKET_2:
      //	MZ2_CARRIER_ROCKET_3:
      //	MZ2_CARRIER_ROCKET_4:
      begin
        dl.color[0] := 1;
        dl.color[1] := 0.5;
        dl.color[2] := 0.2;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('tank/rocket.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_GUNNER_GRENADE_1,
      MZ2_GUNNER_GRENADE_2,
      MZ2_GUNNER_GRENADE_3,
      MZ2_GUNNER_GRENADE_4:
      begin
        dl.color[0] := 1;
        dl.color[1] := 0.5;
        dl.color[2] := 0;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('gunner/gunatck3.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_GLADIATOR_RAILGUN_1,
      // PMM
    MZ2_CARRIER_RAILGUN,
      MZ2_WIDOW_RAIL:
      // pmm
      begin
        dl.color[0] := 0.5;
        dl.color[1] := 0.5;
        dl.color[2] := 1.0;
      end;

    // --- Xian's shit starts ---
    MZ2_MAKRON_BFG:
      begin
        dl.color[0] := 0.5;
        dl.color[1] := 1;
        dl.color[2] := 0.5;
        //S_StartSound (nil, ent, CHAN_WEAPON, S_RegisterSound('makron/bfg_fire.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_MAKRON_BLASTER_1,
      MZ2_MAKRON_BLASTER_2,
      MZ2_MAKRON_BLASTER_3,
      MZ2_MAKRON_BLASTER_4,
      MZ2_MAKRON_BLASTER_5,
      MZ2_MAKRON_BLASTER_6,
      MZ2_MAKRON_BLASTER_7,
      MZ2_MAKRON_BLASTER_8,
      MZ2_MAKRON_BLASTER_9,
      MZ2_MAKRON_BLASTER_10,
      MZ2_MAKRON_BLASTER_11,
      MZ2_MAKRON_BLASTER_12,
      MZ2_MAKRON_BLASTER_13,
      MZ2_MAKRON_BLASTER_14,
      MZ2_MAKRON_BLASTER_15,
      MZ2_MAKRON_BLASTER_16,
      MZ2_MAKRON_BLASTER_17:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('makron/blaster.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_JORG_MACHINEGUN_L1,
      MZ2_JORG_MACHINEGUN_L2,
      MZ2_JORG_MACHINEGUN_L3,
      MZ2_JORG_MACHINEGUN_L4,
      MZ2_JORG_MACHINEGUN_L5,
      MZ2_JORG_MACHINEGUN_L6:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        CL_ParticleEffect(origin, vec3_origin, 0, 40);
        CL_SmokeAndFlash(origin);
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('boss3/xfire.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_JORG_MACHINEGUN_R1,
      MZ2_JORG_MACHINEGUN_R2,
      MZ2_JORG_MACHINEGUN_R3,
      MZ2_JORG_MACHINEGUN_R4,
      MZ2_JORG_MACHINEGUN_R5,
      MZ2_JORG_MACHINEGUN_R6:
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;
        CL_ParticleEffect(origin, vec3_origin, 0, 40);
        CL_SmokeAndFlash(origin);
      end;

    MZ2_JORG_BFG_1:
      begin
        dl.color[0] := 0.5;
        dl.color[1] := 1;
        dl.color[2] := 0.5;
      end;

    MZ2_BOSS2_MACHINEGUN_R1,
      MZ2_BOSS2_MACHINEGUN_R2,
      MZ2_BOSS2_MACHINEGUN_R3,
      MZ2_BOSS2_MACHINEGUN_R4,
      MZ2_BOSS2_MACHINEGUN_R5,
      MZ2_CARRIER_MACHINEGUN_R1,        // PMM
    MZ2_CARRIER_MACHINEGUN_R2:          // PMM
      begin
        dl.color[0] := 1;
        dl.color[1] := 1;
        dl.color[2] := 0;

        CL_ParticleEffect(origin, vec3_origin, 0, 40);
        CL_SmokeAndFlash(origin);
      end;

    // ======
    // ROGUE
    MZ2_STALKER_BLASTER,
      MZ2_DAEDALUS_BLASTER,
      MZ2_MEDIC_BLASTER_2,
      MZ2_WIDOW_BLASTER,
      MZ2_WIDOW_BLASTER_SWEEP1,
      MZ2_WIDOW_BLASTER_SWEEP2,
      MZ2_WIDOW_BLASTER_SWEEP3,
      MZ2_WIDOW_BLASTER_SWEEP4,
      MZ2_WIDOW_BLASTER_SWEEP5,
      MZ2_WIDOW_BLASTER_SWEEP6,
      MZ2_WIDOW_BLASTER_SWEEP7,
      MZ2_WIDOW_BLASTER_SWEEP8,
      MZ2_WIDOW_BLASTER_SWEEP9,
      MZ2_WIDOW_BLASTER_100,
      MZ2_WIDOW_BLASTER_90,
      MZ2_WIDOW_BLASTER_80,
      MZ2_WIDOW_BLASTER_70,
      MZ2_WIDOW_BLASTER_60,
      MZ2_WIDOW_BLASTER_50,
      MZ2_WIDOW_BLASTER_40,
      MZ2_WIDOW_BLASTER_30,
      MZ2_WIDOW_BLASTER_20,
      MZ2_WIDOW_BLASTER_10,
      MZ2_WIDOW_BLASTER_0,
      MZ2_WIDOW_BLASTER_10L,
      MZ2_WIDOW_BLASTER_20L,
      MZ2_WIDOW_BLASTER_30L,
      MZ2_WIDOW_BLASTER_40L,
      MZ2_WIDOW_BLASTER_50L,
      MZ2_WIDOW_BLASTER_60L,
      MZ2_WIDOW_BLASTER_70L,
      MZ2_WIDOW_RUN_1,
      MZ2_WIDOW_RUN_2,
      MZ2_WIDOW_RUN_3,
      MZ2_WIDOW_RUN_4,
      MZ2_WIDOW_RUN_5,
      MZ2_WIDOW_RUN_6,
      MZ2_WIDOW_RUN_7,
      MZ2_WIDOW_RUN_8:
      begin
        dl.color[0] := 0;
        dl.color[1] := 1;
        dl.color[2] := 0;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('tank/tnkatck3.wav'), 1, ATTN_NORM, 0);
      end;

    MZ2_WIDOW_DISRUPTOR:
      begin
        dl.color[0] := -1;
        dl.color[1] := -1;
        dl.color[2] := -1;
        S_StartSound(nil, ent, CHAN_WEAPON, S_RegisterSound('weapons/disint2.wav'), 1, ATTN_NORM, 0);
      end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -