type smoke
airfriction -0.350000
alpha 128 16 128
- color 0x880000 0xff4400
+ color 0x008800 0x44ff00
count 3
notunderwater
originjitter 4 4 4
lightradiusfade 64
lightcolor 1 0.75 0.36
lightshadow 1
+effect hlac_muzzleflash
+ type smoke
+ airfriction 10
+ alpha 128 256 6280
+ color 0x00cc00 0x00ff00
+ countabsolute 1
+ lightcolor 0.4 0.8 0.2
+ lightradiusfade 2000
+ lightradius 100
+ sizeincrease -100
+ size 2 5
+ stretchfactor 2
+ tex 70 70
+effect hlac_muzzleflash
+ type spark
+ airfriction 12
+ alpha 0 128 1024
+ color 0x92e045 0x64f42a
+ count 15
+ originjitter 1 1 1
+ rotate -180 180 -400 400
+ size 2 5
+ stretchfactor 2
+ tex 48 55
+ velocityjitter 200 200 200
+ velocitymultiplier 0.500000
+effect hlac_impact
+ type decal
+ alpha 128 128 0
+ countabsolute 1
+ lightcolor 0.4 0.8 0.2
+ lightradiusfade 500
+ lightradius 150
+ originjitter 14 14 14
+ size 12 12
+ tex 47 47
+effect hlac_impact
+ type static
+ alpha 256 256 1024
+ color 0x1be508 0xd5f0a1
+ countabsolute 1
+ size 24 24
+ tex 46 46
+effect hlac_impact
+ type spark
+ airfriction 8
+ alpha 256 256 1024
+ color 0x92e045 0x54e51a
+ count 128
+ liquidfriction 2
+ size 4 4
+ tex 45 45
+ velocityjitter 256 256 256
+effect hlac_impact
+ type smoke
+ alpha 64 256 256
+ color 0x92e045 0xc7eda1
+ count 4
+ originjitter 1 1 1
+ sizeincrease 6
+ size 12 12
+ tex 4 6
+ velocityjitter 16 16 16
+ velocitymultiplier 0.010000
EFFECT(0, CRYLINK_JOINEXPLODE, "crylink_joinexplode")
EFFECT(0, CRYLINK_MUZZLEFLASH, "crylink_muzzleflash")
+// TODO: rename GREEN_HLAC_* to HLAC_* after next release (xonotic-v0.9.0)
+// see also common/weapons/weapon/hlac.q*
+EFFECT(0, GREEN_HLAC_IMPACT, "hlac_impact")
+EFFECT(0, GREEN_HLAC_MUZZLEFLASH, "hlac_muzzleflash")
+
EFFECT(0, VORTEX_BEAM, "nex_beam")
EFFECT(0, VORTEX_BEAM_OLD, "TE_TEI_G3")
EFFECT(0, VORTEX_IMPACT, "nex_impact")
MY(alpha_min) = 128;
MY(alpha_max) = 16;
MY(alpha_fade) = 128;
- MY(color_min) = "0x880000";
- MY(color_max) = "0xff4400";
+ MY(color_min) = "0x008800";
+ MY(color_max) = "0x44ff00";
MY(count) = 3;
MY(notunderwater) = true;
MY(originjitter) = '4.0 4.0 4.0';
MY(lightshadow) 1;
}
+DEF(hlac_muzzleflash);
+// glow and light
+SUB(hlac_muzzleflash) {
+ MY(airfriction) = 10;
+ MY(alpha_min) = 128;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 6280;
+ MY(color_min) = "0x00cc00";
+ MY(color_max) = "0x00ff00";
+ MY(countabsolute) = 1;
+ MY(lightcolor) = '0.4 0.8 0.2';
+ MY(lightradiusfade) = 2000;
+ MY(lightradius) = 100;
+ MY(sizeincrease) = -100;
+ MY(size_min) = 2;
+ MY(size_max) = 5;
+ MY(stretchfactor) = 2;
+ MY(tex_min) = 70;
+ MY(tex_max) = 70;
+ MY(type) = "smoke";
+}
+// electricity
+SUB(hlac_muzzleflash) {
+ MY(airfriction) = 12;
+ MY(alpha_min) = 0;
+ MY(alpha_max) = 128;
+ MY(alpha_fade) = 1024;
+ MY(color_min) = "0x92e045";
+ MY(color_max) = "0x64f42a";
+ MY(count) = 15;
+ MY(originjitter) = '1.0 1.0 1.0';
+ MY(startangle_min) = -180;
+ MY(startangle_max) = 180;
+ MY(spin_min) = -400;
+ MY(spin_max) = 400;
+ MY(size_min) = 2;
+ MY(size_max) = 5;
+ MY(stretchfactor) = 2;
+ MY(tex_min) = 48;
+ MY(tex_max) = 55;
+ MY(type) = "spark";
+ MY(velocityjitter) = '200.0 200.0 200.0';
+ MY(velocitymultiplier) = 0.500000;
+}
+
+DEF(hlac_impact);
+// decal
+SUB(hlac_impact) {
+ MY(alpha_min) = 128;
+ MY(alpha_max) = 128;
+ MY(countabsolute) = 1;
+ MY(lightcolor) = '0.4 0.8 0.2';
+ MY(lightradiusfade) = 500;
+ MY(lightradius) = 150;
+ MY(originjitter) = '14.0 14.0 14.0';
+ MY(size_min) = 12;
+ MY(size_max) = 12;
+ MY(tex_min) = 47;
+ MY(tex_max) = 47;
+ MY(type) = "decal";
+}
+// flare effect
+SUB(hlac_impact) {
+ MY(alpha_min) = 256;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 1024;
+ MY(color_min) = "0x1be508";
+ MY(color_max) = "0xd5f0a1";
+ MY(countabsolute) = 1;
+ MY(size_min) = 24;
+ MY(size_max) = 24;
+ MY(tex_min) = 46;
+ MY(tex_max) = 46;
+ MY(type) = "static";
+}
+// sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
+SUB(hlac_impact) {
+ MY(airfriction) = 8;
+ MY(alpha_min) = 256;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 1024;
+ MY(color_min) = "0x92e045";
+ MY(color_max) = "0x54e51a";
+ MY(count) = 128;
+ MY(liquidfriction) = 2;
+ MY(size_min) = 4;
+ MY(size_max) = 4;
+ MY(tex_min) = 45;
+ MY(tex_max) = 45;
+ MY(type) = "spark";
+ MY(velocityjitter) = '256.0 256.0 256.0';
+}
+SUB(hlac_impact) {
+ MY(alpha_min) = 64;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 256;
+ MY(color_min) = "0x92e045";
+ MY(color_max) = "0xc7eda1";
+ MY(count) = 4;
+ MY(originjitter) = '1.0 1.0 1.0';
+ MY(sizeincrease) = 6;
+ MY(size_min) = 12;
+ MY(size_max) = 12;
+ MY(tex_min) = 4;
+ MY(tex_max) = 6;
+ MY(type) = "smoke";
+ MY(velocityjitter) = '16.0 16.0 16.0';
+ MY(velocitymultiplier) = 0.010000;
+}
+
// always add new effects to the bottom of the list. And keep this comment in the bottom line of this file!
/* impulse */ ATTRIB(OverkillHeavyMachineGun, impulse, int, 3);
/* flags */ ATTRIB(OverkillHeavyMachineGun, spawnflags, int, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_HIDDEN | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN | WEP_FLAG_SUPERWEAPON | WEP_FLAG_PENETRATEWALLS);
/* rating */ ATTRIB(OverkillHeavyMachineGun, bot_pickupbasevalue, float, 10000);
-/* color */ ATTRIB(OverkillHeavyMachineGun, m_color, vector, '0.5 0.5 0');
+/* color */ ATTRIB(OverkillHeavyMachineGun, m_color, vector, '0.992 0.471 0.396');
/* modelname */ ATTRIB(OverkillHeavyMachineGun, mdl, string, "ok_hmg");
#ifdef GAMEQC
/* model */ ATTRIB(OverkillHeavyMachineGun, m_model, Model, MDL_HMG_ITEM);
/* impulse */ ATTRIB(OverkillMachineGun, impulse, int, 3);
/* flags */ ATTRIB(OverkillMachineGun, spawnflags, int, WEP_FLAG_HIDDEN | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN | WEP_FLAG_PENETRATEWALLS | WEP_FLAG_MUTATORBLOCKED);
/* rating */ ATTRIB(OverkillMachineGun, bot_pickupbasevalue, float, 7000);
-/* color */ ATTRIB(OverkillMachineGun, m_color, vector, '1 1 0');
+/* color */ ATTRIB(OverkillMachineGun, m_color, vector, '0.678 0.886 0.267');
/* modelname */ ATTRIB(OverkillMachineGun, mdl, string, "ok_mg");
#ifdef GAMEQC
/* model */ ATTRIB(OverkillMachineGun, m_model, Model, MDL_OK_MG_ITEM);
/* impulse */ ATTRIB(OverkillNex, impulse, int, 7);
/* flags */ ATTRIB(OverkillNex, spawnflags, int, WEP_FLAG_HIDDEN | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN | WEP_FLAG_MUTATORBLOCKED);
/* rating */ ATTRIB(OverkillNex, bot_pickupbasevalue, float, 8000);
-/* color */ ATTRIB(OverkillNex, m_color, vector, '0.5 1 1');
+/* color */ ATTRIB(OverkillNex, m_color, vector, '0.459 0.765 0.835');
/* modelname */ ATTRIB(OverkillNex, mdl, string, "ok_sniper");
#ifdef GAMEQC
/* model */ ATTRIB(OverkillNex, m_model, Model, MDL_OK_SNIPER_ITEM);
/* impulse */ ATTRIB(OverkillRocketPropelledChainsaw, impulse, int, 9);
/* flags */ ATTRIB(OverkillRocketPropelledChainsaw, spawnflags, int, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_HIDDEN | WEP_FLAG_CANCLIMB | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH | WEP_FLAG_SUPERWEAPON);
/* rating */ ATTRIB(OverkillRocketPropelledChainsaw, bot_pickupbasevalue, float, 10000);
-/* color */ ATTRIB(OverkillRocketPropelledChainsaw, m_color, vector, '0.5 0.5 0');
+/* color */ ATTRIB(OverkillRocketPropelledChainsaw, m_color, vector, '0.914 0.745 0.341');
/* modelname */ ATTRIB(OverkillRocketPropelledChainsaw, mdl, string, "ok_rl");
#ifdef GAMEQC
/* model */ ATTRIB(OverkillRocketPropelledChainsaw, m_model, Model, MDL_RPC_ITEM);
/* impulse */ ATTRIB(OverkillShotgun, impulse, int, 2);
/* flags */ ATTRIB(OverkillShotgun, spawnflags, int, WEP_FLAG_HIDDEN | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN | WEP_FLAG_MUTATORBLOCKED);
/* rating */ ATTRIB(OverkillShotgun, bot_pickupbasevalue, float, 6000);
-/* color */ ATTRIB(OverkillShotgun, m_color, vector, '0.5 0.25 0');
+/* color */ ATTRIB(OverkillShotgun, m_color, vector, '0.518 0.608 0.659');
/* modelname */ ATTRIB(OverkillShotgun, mdl, string, "ok_shotgun");
#ifdef GAMEQC
/* model */ ATTRIB(OverkillShotgun, m_model, Model, MDL_OK_SHOTGUN_ITEM);
/* impulse */ ATTRIB(Arc, impulse, int, 3);
/* flags */ ATTRIB(Arc, spawnflags, int, WEP_FLAG_MUTATORBLOCKED | WEP_TYPE_HITSCAN);
/* rating */ ATTRIB(Arc, bot_pickupbasevalue, float, 8000);
-/* color */ ATTRIB(Arc, m_color, vector, '1 1 1');
+/* color */ ATTRIB(Arc, m_color, vector, '0.463 0.612 0.886');
/* modelname */ ATTRIB(Arc, mdl, string, "arc");
#ifdef GAMEQC
/* model */ ATTRIB(Arc, m_model, Model, MDL_ARC_ITEM);
/* impulse */ ATTRIB(Blaster, impulse, int, 1);
/* flags */ ATTRIB(Blaster, spawnflags, int, WEP_FLAG_NORMAL | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH);
/* rating */ ATTRIB(Blaster, bot_pickupbasevalue, float, 0);
-/* color */ ATTRIB(Blaster, m_color, vector, '1 0.5 0.5');
+/* color */ ATTRIB(Blaster, m_color, vector, '0.969 0.443 0.482');
/* modelname */ ATTRIB(Blaster, mdl, string, "laser");
#ifdef GAMEQC
/* model */ ATTRIB(Blaster, m_model, Model, MDL_BLASTER_ITEM);
/* impulse */ ATTRIB(Crylink, impulse, int, 6);
/* flags */ ATTRIB(Crylink, spawnflags, int, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH | WEP_FLAG_CANCLIMB);
/* rating */ ATTRIB(Crylink, bot_pickupbasevalue, float, 6000);
-/* color */ ATTRIB(Crylink, m_color, vector, '1 0.5 1');
+/* color */ ATTRIB(Crylink, m_color, vector, '0.918 0.435 0.976');
/* modelname */ ATTRIB(Crylink, mdl, string, "crylink");
#ifdef GAMEQC
/* model */ ATTRIB(Crylink, m_model, Model, MDL_CRYLINK_ITEM);
/* impulse */ ATTRIB(Devastator, impulse, int, 9);
/* flags */ ATTRIB(Devastator, spawnflags, int, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH);
/* rating */ ATTRIB(Devastator, bot_pickupbasevalue, float, 8000);
-/* color */ ATTRIB(Devastator, m_color, vector, '1 1 0');
+/* color */ ATTRIB(Devastator, m_color, vector, '0.914 0.745 0.341');
/* modelname */ ATTRIB(Devastator, mdl, string, "rl");
#ifdef GAMEQC
/* model */ ATTRIB(Devastator, m_model, Model, MDL_DEVASTATOR_ITEM);
/* impulse */ ATTRIB(Electro, impulse, int, 5);
/* flags */ ATTRIB(Electro, spawnflags, int, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH);
/* rating */ ATTRIB(Electro, bot_pickupbasevalue, float, 5000);
-/* color */ ATTRIB(Electro, m_color, vector, '0 0.5 1');
+/* color */ ATTRIB(Electro, m_color, vector, '0.408 0.600 0.949');
/* modelname */ ATTRIB(Electro, mdl, string, "electro");
#ifdef GAMEQC
/* model */ ATTRIB(Electro, m_model, Model, MDL_ELECTRO_ITEM);
/* impulse */ ATTRIB(Fireball, impulse, int, 9);
/* flags */ ATTRIB(Fireball, spawnflags, int, WEP_FLAG_SUPERWEAPON | WEP_TYPE_SPLASH | WEP_FLAG_NODUAL);
/* rating */ ATTRIB(Fireball, bot_pickupbasevalue, float, 5000);
-/* color */ ATTRIB(Fireball, m_color, vector, '1 0.5 0');
+/* color */ ATTRIB(Fireball, m_color, vector, '0.941 0.522 0.373');
/* modelname */ ATTRIB(Fireball, mdl, string, "fireball");
#ifdef GAMEQC
/* model */ ATTRIB(Fireball, m_model, Model, MDL_FIREBALL_ITEM);
/* impulse */ ATTRIB(Hagar, impulse, int, 8);
/* flags */ ATTRIB(Hagar, spawnflags, int, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH);
/* rating */ ATTRIB(Hagar, bot_pickupbasevalue, float, 6000);
-/* color */ ATTRIB(Hagar, m_color, vector, '1 1 0.5');
+/* color */ ATTRIB(Hagar, m_color, vector, '0.886 0.545 0.345');
/* modelname */ ATTRIB(Hagar, mdl, string, "hagar");
#ifdef GAMEQC
/* model */ ATTRIB(Hagar, m_model, Model, MDL_HAGAR_ITEM);
METHOD(HLAC, wr_impacteffect, void(entity thiswep, entity actor))
{
+ // TODO: remove this caching & fallback after next release (xonotic-v0.9.0)
+ // do the same for the muzzleflash effect in hlac.qh. see also common/effects/all.inc
+ entity eff = EFFECT_GREEN_HLAC_IMPACT;
+ if (!thiswep.cnt) // cache effect num here
+ thiswep.cnt = particleeffectnum(eff); // can't return 0
+ if (thiswep.cnt < 0)
+ eff = EFFECT_BLASTER_IMPACT; // compatible with Xonotic v0.8.6 or lower
+
vector org2 = w_org + w_backoff * 2;
- pointparticles(EFFECT_BLASTER_IMPACT, org2, w_backoff * 1000, 1);
+ pointparticles(eff, org2, w_backoff * 1000, 1);
if(!w_issilent)
sound(actor, CH_SHOTS, SND_LASERIMPACT, VOL_BASE, ATTN_NORM);
}
/* impulse */ ATTRIB(HLAC, impulse, int, 6);
/* flags */ ATTRIB(HLAC, spawnflags, int, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH);
/* rating */ ATTRIB(HLAC, bot_pickupbasevalue, float, 4000);
-/* color */ ATTRIB(HLAC, m_color, vector, '0 1 0');
+/* color */ ATTRIB(HLAC, m_color, vector, '0.506 0.945 0.239');
/* modelname */ ATTRIB(HLAC, mdl, string, "hlac");
#ifdef GAMEQC
/* model */ ATTRIB(HLAC, m_model, Model, MDL_HLAC_ITEM);
/* flash mdl */ ATTRIB(HLAC, m_muzzlemodel, Model, MDL_Null);
-/* flash eff */ ATTRIB(HLAC, m_muzzleeffect, entity, EFFECT_BLASTER_MUZZLEFLASH);
+/* flash eff */ ATTRIB(HLAC, m_muzzleeffect, entity,
+ (particleeffectnum(EFFECT_GREEN_HLAC_MUZZLEFLASH) < 0)
+ ? EFFECT_BLASTER_MUZZLEFLASH // compatible with Xonotic v0.8.6 or lower
+ : EFFECT_GREEN_HLAC_MUZZLEFLASH);
#endif
/* crosshair */ ATTRIB(HLAC, w_crosshair, string, "gfx/crosshairhlac");
/* crosshair */ ATTRIB(HLAC, w_crosshair_size, float, 0.6);
/* impulse */ ATTRIB(Hook, impulse, int, 0);
/* flags */ ATTRIB(Hook, spawnflags, int, WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH | WEP_FLAG_NOTRUEAIM);
/* rating */ ATTRIB(Hook, bot_pickupbasevalue, float, 0);
-/* color */ ATTRIB(Hook, m_color, vector, '0 0.5 0');
+/* color */ ATTRIB(Hook, m_color, vector, '0.471 0.817 0.392');
/* modelname */ ATTRIB(Hook, mdl, string, "hookgun");
#ifdef GAMEQC
/* model */ ATTRIB(Hook, m_model, Model, MDL_HOOK_ITEM);
/* impulse */ ATTRIB(MachineGun, impulse, int, 3);
/* flags */ ATTRIB(MachineGun, spawnflags, int, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN | WEP_FLAG_PENETRATEWALLS | WEP_FLAG_BLEED);
/* rating */ ATTRIB(MachineGun, bot_pickupbasevalue, float, 7000);
-/* color */ ATTRIB(MachineGun, m_color, vector, '1 1 0');
+/* color */ ATTRIB(MachineGun, m_color, vector, '0.678 0.886 0.267');
/* modelname */ ATTRIB(MachineGun, mdl, string, "uzi");
#ifdef GAMEQC
/* model */ ATTRIB(MachineGun, m_model, Model, MDL_MACHINEGUN_ITEM);
/* impulse */ ATTRIB(MineLayer, impulse, int, 4);
/* flags */ ATTRIB(MineLayer, spawnflags, int, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH);
/* rating */ ATTRIB(MineLayer, bot_pickupbasevalue, float, 7000);
-/* color */ ATTRIB(MineLayer, m_color, vector, '0.75 1 0');
+/* color */ ATTRIB(MineLayer, m_color, vector, '0.988 0.514 0.392');
/* modelname */ ATTRIB(MineLayer, mdl, string, "minelayer");
#ifdef GAMEQC
/* model */ ATTRIB(MineLayer, m_model, Model, MDL_MINELAYER_ITEM);
/* impulse */ ATTRIB(Mortar, impulse, int, 4);
/* flags */ ATTRIB(Mortar, spawnflags, int, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH | WEP_FLAG_NOTRUEAIM);
/* rating */ ATTRIB(Mortar, bot_pickupbasevalue, float, 7000);
-/* color */ ATTRIB(Mortar, m_color, vector, '1 0 0');
+/* color */ ATTRIB(Mortar, m_color, vector, '0.988 0.392 0.314');
/* modelname */ ATTRIB(Mortar, mdl, string, "gl");
#ifdef GAMEQC
/* model */ ATTRIB(Mortar, m_model, Model, MDL_MORTAR_ITEM);
/* impulse */ ATTRIB(PortoLaunch, impulse, int, 0);
/* flags */ ATTRIB(PortoLaunch, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_SUPERWEAPON | WEP_FLAG_NODUAL | WEP_FLAG_NOTRUEAIM);
/* rating */ ATTRIB(PortoLaunch, bot_pickupbasevalue, float, 0);
-/* color */ ATTRIB(PortoLaunch, m_color, vector, '0.5 0.5 0.5');
+/* color */ ATTRIB(PortoLaunch, m_color, vector, '0.404 0.545 0.937');
/* modelname */ ATTRIB(PortoLaunch, mdl, string, "porto");
#ifdef GAMEQC
/* model */ ATTRIB(PortoLaunch, m_model, Model, MDL_PORTO_ITEM);
/* impulse */ ATTRIB(Rifle, impulse, int, 7);
/* flags */ ATTRIB(Rifle, spawnflags, int, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN | WEP_FLAG_PENETRATEWALLS);
/* rating */ ATTRIB(Rifle, bot_pickupbasevalue, float, 7000);
-/* color */ ATTRIB(Rifle, m_color, vector, '0.5 1 0');
+/* color */ ATTRIB(Rifle, m_color, vector, '0.886 0.620 0.353');
/* modelname */ ATTRIB(Rifle, mdl, string, "campingrifle");
#ifdef GAMEQC
/* model */ ATTRIB(Rifle, m_model, Model, MDL_RIFLE_ITEM);
/* impulse */ ATTRIB(Seeker, impulse, int, 8);
/* flags */ ATTRIB(Seeker, spawnflags, int, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH);
/* rating */ ATTRIB(Seeker, bot_pickupbasevalue, float, 5000);
-/* color */ ATTRIB(Seeker, m_color, vector, '0.5 1 0');
+/* color */ ATTRIB(Seeker, m_color, vector, '0.957 0.439 0.533');
/* modelname */ ATTRIB(Seeker, mdl, string, "seeker");
#ifdef GAMEQC
/* model */ ATTRIB(Seeker, m_model, Model, MDL_SEEKER_ITEM);
/* impulse */ ATTRIB(Shockwave, impulse, int, 2);
/* flags */ ATTRIB(Shockwave, spawnflags, int, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_HIDDEN | WEP_TYPE_HITSCAN | WEP_FLAG_CANCLIMB | WEP_TYPE_MELEE_SEC);
/* rating */ ATTRIB(Shockwave, bot_pickupbasevalue, float, 3000);
-/* color */ ATTRIB(Shockwave, m_color, vector, '0.5 0.25 0');
+/* color */ ATTRIB(Shockwave, m_color, vector, '0.467 0.702 0.541');
/* modelname */ ATTRIB(Shockwave, mdl, string, "shotgun");
#ifdef GAMEQC
/* model */ ATTRIB(Shockwave, m_model, Model, MDL_SHOCKWAVE_ITEM);
/* impulse */ ATTRIB(Shotgun, impulse, int, 2);
/* flags */ ATTRIB(Shotgun, spawnflags, int, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN | WEP_TYPE_MELEE_SEC | WEP_FLAG_BLEED);
/* rating */ ATTRIB(Shotgun, bot_pickupbasevalue, float, 6000);
-/* color */ ATTRIB(Shotgun, m_color, vector, '0.5 0.25 0');
+/* color */ ATTRIB(Shotgun, m_color, vector, '0.518 0.608 0.659');
/* modelname */ ATTRIB(Shotgun, mdl, string, "shotgun");
#ifdef GAMEQC
/* model */ ATTRIB(Shotgun, m_model, Model, MDL_SHOTGUN_ITEM);
/* impulse */ ATTRIB(Tuba, impulse, int, 1);
/* flags */ ATTRIB(Tuba, spawnflags, int, WEP_FLAG_HIDDEN | WEP_TYPE_SPLASH | WEP_FLAG_NODUAL | WEP_FLAG_NOTRUEAIM);
/* rating */ ATTRIB(Tuba, bot_pickupbasevalue, float, 2000);
-/* color */ ATTRIB(Tuba, m_color, vector, '0 1 0');
+/* color */ ATTRIB(Tuba, m_color, vector, '0.909 0.816 0.345');
/* modelname */ ATTRIB(Tuba, mdl, string, "tuba");
#ifdef GAMEQC
/* model */ ATTRIB(Tuba, m_model, Model, MDL_TUBA_ITEM);
/* impulse */ ATTRIB(Vaporizer, impulse, int, 7);
/* flags */ ATTRIB(Vaporizer, spawnflags, int, WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_FLAG_SUPERWEAPON | WEP_TYPE_HITSCAN | WEP_FLAG_NODUAL);
/* rating */ ATTRIB(Vaporizer, bot_pickupbasevalue, float, 10000);
-/* color */ ATTRIB(Vaporizer, m_color, vector, '0.5 1 1');
+/* color */ ATTRIB(Vaporizer, m_color, vector, '0.592 0.557 0.824');
/* modelname */ ATTRIB(Vaporizer, mdl, string, "minstanex");
#ifdef GAMEQC
/* model */ ATTRIB(Vaporizer, m_model, Model, MDL_VAPORIZER_ITEM);
/* impulse */ ATTRIB(Vortex, impulse, int, 7);
/* flags */ ATTRIB(Vortex, spawnflags, int, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN);
/* rating */ ATTRIB(Vortex, bot_pickupbasevalue, float, 8000);
-/* color */ ATTRIB(Vortex, m_color, vector, '0.5 1 1');
+/* color */ ATTRIB(Vortex, m_color, vector, '0.459 0.765 0.835');
/* modelname */ ATTRIB(Vortex, mdl, string, "nex");
#ifdef GAMEQC
/* model */ ATTRIB(Vortex, m_model, Model, MDL_VORTEX_ITEM);