📄 cl_fx.pas
字号:
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 + -