See https://gitlab.com/xonotic/xonotic-data.pk3dir/-/merge_requests/181#note_2269460280.
+++ /dev/null
-#pragma once
-
-/*
- * This file holds all m_color vals for the following,
- * to avoid duplicate values, since some are referenced in multiple places
- * (e.g. Vortex m_color in common/weapons/weapon/vortex.qh and in the describe method of ./rifle.qh):
- * - Weapons
- * - Items
- * - Buffs, powerups
- * - Nades
- * - Status effects
- * Perhaps in future this file can be converted to something like gfx/menu/luma/skinvalues.txt
- */
-
-#define COLOR_WEP_ARC '1 1 1'
-#define COLOR_WEP_BLASTER '1 0.5 0.5'
-#define COLOR_WEP_CRYLINK '1 0.5 1'
-#define COLOR_WEP_DEVASTATOR '1 1 0'
-#define COLOR_WEP_ELECTRO '0 0.5 1'
-#define COLOR_WEP_FIREBALL '1 0.5 0'
-#define COLOR_WEP_HAGAR '1 1 0.5'
-#define COLOR_WEP_HLAC '0 1 0'
-#define COLOR_WEP_HOOK '0 0.5 0'
-#define COLOR_WEP_MACHINEGUN '1 1 0'
-#define COLOR_WEP_MINELAYER '0.75 1 0'
-#define COLOR_WEP_MORTAR '1 0 0'
-#define COLOR_WEP_PORTO '0.5 0.5 0.5'
-#define COLOR_WEP_RIFLE '0.5 1 0'
-#define COLOR_WEP_SEEKER '0.5 1 0'
-#define COLOR_WEP_SHOCKWAVE '0.5 0.25 0'
-#define COLOR_WEP_SHOTGUN '0.5 0.25 0'
-#define COLOR_WEP_TUBA '0 1 0'
-#define COLOR_WEP_VAPORIZER '0.5 1 1'
-#define COLOR_WEP_VORTEX '0.5 1 1'
-#define COLOR_WEP_OKHMG '0.5 0.5 0'
-#define COLOR_WEP_OKMACHINEGUN '1 1 0'
-#define COLOR_WEP_OKNEX '0.5 1 1'
-#define COLOR_WEP_OKRPC '0.5 0.5 0'
-#define COLOR_WEP_OKSHOTGUN '0.5 0.25 0'
-
-#define COLOR_ITEM_ARMOR '0 1 0'
-#define COLOR_ITEM_HEALTH '1 0 0'
-#define COLOR_ITEM_JETPACK '0.5 0.5 0.5'
-
-#define COLOR_POWERUP_JETPACKREGEN '1 0.5 0'
-#define COLOR_POWERUP_EXTRALIFE '1 0 0'
-#define COLOR_POWERUP_INVISIBILITY '0.5 0.5 1'
-#define COLOR_POWERUP_SHIELD '1 0 1'
-#define COLOR_POWERUP_SPEED '0.1 1 0.84'
-#define COLOR_POWERUP_STRENGTH '0 0 1'
-
-#define COLOR_BUFF_AMMO '0.76 1 0.1'
-#define COLOR_BUFF_RESISTANCE '0.36 0 0.07'
-#define COLOR_BUFF_MEDIC '1 0.12 0'
-#define COLOR_BUFF_BASH '1 0.39 0'
-#define COLOR_BUFF_VAMPIRE '1 0 0.24'
-#define COLOR_BUFF_DISABILITY '0.94 0.3 1'
-#define COLOR_BUFF_VENGEANCE '1 0.23 0.61'
-#define COLOR_BUFF_JUMP '0.24 0.78 1'
-#define COLOR_BUFF_INFERNO '1 0.62 0'
-#define COLOR_BUFF_SWAPPER '0.63 0.36 1'
-#define COLOR_BUFF_MAGNET '1 0.95 0.18'
-#define COLOR_BUFF_LUCK '1 0.23 0.44'
-#define COLOR_BUFF_FLIGHT '0.23 0.44 1'
-
-#define COLOR_NADE_NORMAL '1 1 1'
-#define COLOR_NADE_NAPALM '2 0.5 0'
-#define COLOR_NADE_ICE '0 0.5 2'
-#define COLOR_NADE_TRANSLOCATE '1 0 1'
-#define COLOR_NADE_SPAWN '1 0.9 0'
-#define COLOR_NADE_HEAL '1 0 0'
-#define COLOR_NADE_MONSTER '0.25 0.75 0'
-#define COLOR_NADE_ENTRAP '0.15 0.85 0'
-#define COLOR_NADE_VEIL '0.65 0.85 0.65'
-#define COLOR_NADE_AMMO '0.66 0.33 0'
-#define COLOR_NADE_DARKNESS '0.23 0 0.23'
-
-#define COLOR_STATUSEFFECT_BURNING '1 0.62 0'
-#define COLOR_STATUSEFFECT_SPAWNSHIELD '0.36 1 0.07'
-#define COLOR_STATUSEFFECT_STUNNED '0.67 0.84 1'
-#define COLOR_STATUSEFFECT_WEBBED '0.94 0.3 1'
-
-// Useful macros for the guide
-#define COLORED_NAME(this) strcat(rgb_to_hexcolor(this.m_color), this.m_name, "^7")
-#define COLORED_NAME_WITH_CONCAT(this, concat) strcat(rgb_to_hexcolor(this.m_color), this.m_name, " ", concat, "^7")
-// These can't be used everywhere, or else it would cause circular includes by including "class"
#include "ammo.qh"
#ifdef MENUQC
-#include <common/colors.qh>
+#include <lib/color.qh>
#include <common/weapons/all.qh>
METHOD(Ammo, describe, string(Ammo this))
#include "armor.qh"
#ifdef MENUQC
+#include <lib/color.qh>
+
METHOD(ArmorSmall, describe, string(ArmorSmall this))
{
TC(ArmorSmall, this);
#pragma once
-#include <common/colors.qh>
-
#include "pickup.qh"
CLASS(Armor, Pickup)
-/* color */ ATTRIB(Armor, m_color, vector, COLOR_ITEM_ARMOR);
+/* color */ ATTRIB(Armor, m_color, vector, '0 1 0');
#ifdef SVQC
/* pickupfunc */ ATTRIB(Armor, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc);
/* botvalue */ ATTRIB(Armor, m_botvalue, int, 5000);
#include "health.qh"
#ifdef MENUQC
+#include <lib/color.qh>
+
METHOD(HealthSmall, describe, string(HealthSmall this))
{
TC(HealthSmall, this);
#pragma once
-#include <common/colors.qh>
-
#include "pickup.qh"
CLASS(Health, Pickup)
-/* color */ ATTRIB(Health, m_color, vector, COLOR_ITEM_HEALTH);
+/* color */ ATTRIB(Health, m_color, vector, '1 0 0');
#ifdef SVQC
/* pickupfunc */ ATTRIB(Health, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc);
/* botvalue */ ATTRIB(Health, m_botvalue, int, 5000);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
+
METHOD(Jetpack, describe, string(Jetpack this))
{
TC(Jetpack, this);
#endif
#include "ammo.qh"
-#include <common/colors.qh>
#include <common/mutators/mutator/powerups/_mod.qh>
#ifndef SVQC
/* refnmae */ ATTRIB(Jetpack, netname, string, "jetpack");
/* itemname */ ATTRIB(Jetpack, m_name, string, _("Jetpack"));
/* icon */ ATTRIB(Jetpack, m_icon, string, "jetpack");
-/* color */ ATTRIB(Jetpack, m_color, vector, COLOR_ITEM_JETPACK);
+/* color */ ATTRIB(Jetpack, m_color, vector, '0.5 0.5 0.5');
/* wptext */ ATTRIB(Jetpack, m_waypoint, string, _("Jetpack"));
/* wpblink */ ATTRIB(Jetpack, m_waypointblink, int, 2);
#ifdef SVQC
/* refname */ ATTRIB(JetpackRegen, netname, string, "fuel_regen");
/* itemname */ ATTRIB(JetpackRegen, m_name, string, _("Fuel regenerator"));
/* icon */ ATTRIB(JetpackRegen, m_icon, string, "fuelregen");
-/* color */ ATTRIB(JetpackRegen, m_color, vector, COLOR_POWERUP_JETPACKREGEN);
+/* color */ ATTRIB(JetpackRegen, m_color, vector, '1 0.5 0');
/* wptext */ ATTRIB(JetpackRegen, m_waypoint, string, _("Fuel regen"));
/* wpblink */ ATTRIB(JetpackRegen, m_waypointblink, int, 2);
#ifdef SVQC
#pragma once
#include "../all.qh"
-#include <common/colors.qh>
#ifdef GAMEQC
MODEL(MON_SPIDER, M_Model("spider.dpm"));
ATTRIB(Webbed, m_name, string, _("Webbed"));
ATTRIB(Webbed, m_icon, string, "buff_disability");
#endif
- ATTRIB(Webbed, m_color, vector, COLOR_STATUSEFFECT_WEBBED);
+ ATTRIB(Webbed, m_color, vector, '0.94 0.3 1');
ATTRIB(Webbed, m_hidden, bool, true);
ATTRIB(Webbed, m_lifetime, float, 10);
ENDCLASS(Webbed)
-#include <common/colors.qh>
+#include <lib/color.qh>
string Buff_CompatName(string buffname)
{
ATTRIB(AmmoBuff, netname, string, "ammo");
ATTRIB(AmmoBuff, m_icon, string, "buff_ammo");
ATTRIB(AmmoBuff, m_skin, int, 3);
- ATTRIB(AmmoBuff, m_color, vector, COLOR_BUFF_AMMO);
+ ATTRIB(AmmoBuff, m_color, vector, '0.76 1 0.1');
#ifdef MENUQC
METHOD(AmmoBuff, describe, string(AmmoBuff this))
{
ATTRIB(ResistanceBuff, netname, string, "resistance");
ATTRIB(ResistanceBuff, m_icon, string, "buff_resistance");
ATTRIB(ResistanceBuff, m_skin, int, 0);
- ATTRIB(ResistanceBuff, m_color, vector, COLOR_BUFF_RESISTANCE);
+ ATTRIB(ResistanceBuff, m_color, vector, '0.36 0 0.07');
#ifdef MENUQC
METHOD(ResistanceBuff, describe, string(ResistanceBuff this))
{
ATTRIB(MedicBuff, netname, string, "medic");
ATTRIB(MedicBuff, m_icon, string, "buff_medic");
ATTRIB(MedicBuff, m_skin, int, 1);
- ATTRIB(MedicBuff, m_color, vector, COLOR_BUFF_MEDIC);
+ ATTRIB(MedicBuff, m_color, vector, '1 0.12 0');
#ifdef MENUQC
METHOD(MedicBuff, describe, string(MedicBuff this))
{
ATTRIB(BashBuff, netname, string, "bash");
ATTRIB(BashBuff, m_icon, string, "buff_bash");
ATTRIB(BashBuff, m_skin, int, 5);
- ATTRIB(BashBuff, m_color, vector, COLOR_BUFF_BASH);
+ ATTRIB(BashBuff, m_color, vector, '1 0.39 0');
#ifdef MENUQC
METHOD(BashBuff, describe, string(BashBuff this))
{
ATTRIB(VampireBuff, netname, string, "vampire");
ATTRIB(VampireBuff, m_icon, string, "buff_vampire");
ATTRIB(VampireBuff, m_skin, int, 2);
- ATTRIB(VampireBuff, m_color, vector, COLOR_BUFF_VAMPIRE);
+ ATTRIB(VampireBuff, m_color, vector, '1 0 0.24');
#ifdef MENUQC
METHOD(VampireBuff, describe, string(VampireBuff this))
{
ATTRIB(DisabilityBuff, netname, string, "disability");
ATTRIB(DisabilityBuff, m_icon, string, "buff_disability");
ATTRIB(DisabilityBuff, m_skin, int, 7);
- ATTRIB(DisabilityBuff, m_color, vector, COLOR_BUFF_DISABILITY);
+ ATTRIB(DisabilityBuff, m_color, vector, '0.94 0.3 1');
#ifdef MENUQC
METHOD(DisabilityBuff, describe, string(DisabilityBuff this))
{
ATTRIB(VengeanceBuff, netname, string, "vengeance");
ATTRIB(VengeanceBuff, m_icon, string, "buff_vengeance");
ATTRIB(VengeanceBuff, m_skin, int, 15);
- ATTRIB(VengeanceBuff, m_color, vector, COLOR_BUFF_VENGEANCE);
+ ATTRIB(VengeanceBuff, m_color, vector, '1 0.23 0.61');
#ifdef MENUQC
METHOD(VengeanceBuff, describe, string(VengeanceBuff this))
{
ATTRIB(JumpBuff, netname, string, "jump");
ATTRIB(JumpBuff, m_icon, string, "buff_jump");
ATTRIB(JumpBuff, m_skin, int, 10);
- ATTRIB(JumpBuff, m_color, vector, COLOR_BUFF_JUMP);
+ ATTRIB(JumpBuff, m_color, vector, '0.24 0.78 1');
#ifdef MENUQC
METHOD(JumpBuff, describe, string(JumpBuff this))
{
ATTRIB(InfernoBuff, netname, string, "inferno");
ATTRIB(InfernoBuff, m_icon, string, "buff_inferno");
ATTRIB(InfernoBuff, m_skin, int, 16);
- ATTRIB(InfernoBuff, m_color, vector, COLOR_BUFF_INFERNO);
+ ATTRIB(InfernoBuff, m_color, vector, '1 0.62 0');
#ifdef MENUQC
METHOD(InfernoBuff, describe, string(InfernoBuff this))
{
ATTRIB(SwapperBuff, netname, string, "swapper");
ATTRIB(SwapperBuff, m_icon, string, "buff_swapper");
ATTRIB(SwapperBuff, m_skin, int, 17);
- ATTRIB(SwapperBuff, m_color, vector, COLOR_BUFF_SWAPPER);
+ ATTRIB(SwapperBuff, m_color, vector, '0.63 0.36 1');
#ifdef MENUQC
METHOD(SwapperBuff, describe, string(SwapperBuff this))
{
ATTRIB(MagnetBuff, netname, string, "magnet");
ATTRIB(MagnetBuff, m_icon, string, "buff_magnet");
ATTRIB(MagnetBuff, m_skin, int, 18);
- ATTRIB(MagnetBuff, m_color, vector, COLOR_BUFF_MAGNET);
+ ATTRIB(MagnetBuff, m_color, vector, '1 0.95 0.18');
#ifdef MENUQC
METHOD(MagnetBuff, describe, string(MagnetBuff this))
{
ATTRIB(LuckBuff, netname, string, "luck");
ATTRIB(LuckBuff, m_icon, string, "buff_luck");
ATTRIB(LuckBuff, m_skin, int, 19);
- ATTRIB(LuckBuff, m_color, vector, COLOR_BUFF_LUCK);
+ ATTRIB(LuckBuff, m_color, vector, '1 0.23 0.44');
#ifdef MENUQC
METHOD(LuckBuff, describe, string(LuckBuff this))
{
ATTRIB(FlightBuff, netname, string, "flight");
ATTRIB(FlightBuff, m_icon, string, "buff_flight");
ATTRIB(FlightBuff, m_skin, int, 11);
- ATTRIB(FlightBuff, m_color, vector, COLOR_BUFF_FLIGHT);
+ ATTRIB(FlightBuff, m_color, vector, '0.23 0.44 1');
#ifdef MENUQC
METHOD(FlightBuff, describe, string(FlightBuff this))
{
#include "items.qh"
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/weapons/weapon/vaporizer.qh>
METHOD(VaporizerCells, describe, string(VaporizerCells this))
#include <common/items/_mod.qh>
#include <common/items/item/ammo.qh>
#include <common/mutators/mutator/powerups/_mod.qh>
-#include <common/colors.qh>
float instagib_respawntime_ammo = 45;
float instagib_respawntimejitter_ammo = 0;
/* refname */ ATTRIB(ExtraLife, netname, string, "extralife");
/* itemname */ ATTRIB(ExtraLife, m_name, string, _("Extra life"));
/* icon */ ATTRIB(ExtraLife, m_icon, string, "item_mega_health");
-/* color */ ATTRIB(ExtraLife, m_color, vector, COLOR_POWERUP_EXTRALIFE);
+/* color */ ATTRIB(ExtraLife, m_color, vector, '1 0 0');
/* wptext */ ATTRIB(ExtraLife, m_waypoint, string, _("Extra life"));
/* wpblink */ ATTRIB(ExtraLife, m_waypointblink, int, 2);
#ifdef SVQC
-#include <common/colors.qh>
+#include <lib/color.qh>
#ifdef GAMEQC
#define NADE_PROJECTILE(i, projectile, trail) MACRO_BEGIN \
#endif
CLASS(NormalNade, Nade)
- ATTRIB(NormalNade, m_color, vector, COLOR_NADE_NORMAL);
+ ATTRIB(NormalNade, m_color, vector, '1 1 1');
ATTRIB(NormalNade, m_name, string, _("Grenade"));
ATTRIB(NormalNade, m_icon, string, "nade_normal");
#ifdef MENUQC
}
CLASS(NapalmNade, Nade)
- ATTRIB(NapalmNade, m_color, vector, COLOR_NADE_NAPALM);
+ ATTRIB(NapalmNade, m_color, vector, '2 0.5 0');
ATTRIB(NapalmNade, m_name, string, _("Napalm grenade"));
ATTRIB(NapalmNade, m_icon, string, "nade_napalm");
#ifdef MENUQC
}
CLASS(IceNade, Nade)
- ATTRIB(IceNade, m_color, vector, COLOR_NADE_ICE);
+ ATTRIB(IceNade, m_color, vector, '0 0.5 2');
ATTRIB(IceNade, m_name, string, _("Ice grenade"));
ATTRIB(IceNade, m_icon, string, "nade_ice");
#ifdef MENUQC
}
CLASS(TranslocateNade, Nade)
- ATTRIB(TranslocateNade, m_color, vector, COLOR_NADE_TRANSLOCATE);
+ ATTRIB(TranslocateNade, m_color, vector, '1 0 1');
ATTRIB(TranslocateNade, m_name, string, _("Translocate grenade"));
ATTRIB(TranslocateNade, m_icon, string, "nade_translocate");
#ifdef MENUQC
}
CLASS(SpawnNade, Nade)
- ATTRIB(SpawnNade, m_color, vector, COLOR_NADE_SPAWN);
+ ATTRIB(SpawnNade, m_color, vector, '1 0.9 0');
ATTRIB(SpawnNade, m_name, string, _("Spawn grenade"));
ATTRIB(SpawnNade, m_icon, string, "nade_spawn");
#ifdef MENUQC
}
CLASS(HealNade, Nade)
- ATTRIB(HealNade, m_color, vector, COLOR_NADE_HEAL);
+ ATTRIB(HealNade, m_color, vector, '1 0 0');
ATTRIB(HealNade, m_name, string, _("Heal grenade"));
ATTRIB(HealNade, m_icon, string, "nade_heal");
#ifdef MENUQC
}
CLASS(MonsterNade, Nade)
- ATTRIB(MonsterNade, m_color, vector, COLOR_NADE_MONSTER);
+ ATTRIB(MonsterNade, m_color, vector, '0.25 0.75 0');
ATTRIB(MonsterNade, m_name, string, _("Monster grenade"));
ATTRIB(MonsterNade, m_icon, string, "nade_monster");
#ifdef MENUQC
}
CLASS(EntrapNade, Nade)
- ATTRIB(EntrapNade, m_color, vector, COLOR_NADE_ENTRAP);
+ ATTRIB(EntrapNade, m_color, vector, '0.15 0.85 0');
ATTRIB(EntrapNade, m_name, string, _("Entrap grenade"));
ATTRIB(EntrapNade, m_icon, string, "nade_entrap");
#ifdef MENUQC
}
CLASS(VeilNade, Nade)
- ATTRIB(VeilNade, m_color, vector, COLOR_NADE_VEIL);
+ ATTRIB(VeilNade, m_color, vector, '0.65 0.85 0.65');
ATTRIB(VeilNade, m_name, string, _("Veil grenade"));
ATTRIB(VeilNade, m_icon, string, "nade_veil");
ATTRIB(VeilNade, m_alpha, float, 0.45);
}
CLASS(AmmoNade, Nade)
- ATTRIB(AmmoNade, m_color, vector, COLOR_NADE_AMMO);
+ ATTRIB(AmmoNade, m_color, vector, '0.66 0.33 0');
ATTRIB(AmmoNade, m_name, string, _("Ammo grenade"));
ATTRIB(AmmoNade, m_icon, string, "nade_ammo");
#ifdef MENUQC
}
CLASS(DarknessNade, Nade)
- ATTRIB(DarknessNade, m_color, vector, COLOR_NADE_DARKNESS);
+ ATTRIB(DarknessNade, m_color, vector, '0.23 0 0.23');
ATTRIB(DarknessNade, m_name, string, _("Darkness grenade"));
ATTRIB(DarknessNade, m_icon, string, "nade_darkness");
#ifdef MENUQC
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
#include "okmachinegun.qh"
#pragma once
#include <common/weapons/all.qh>
-#include <common/colors.qh>
CLASS(OverkillHeavyMachineGun, Weapon)
/* spawnfunc */ ATTRIB(OverkillHeavyMachineGun, m_canonical_spawnfunc, string, "weapon_okhmg");
/* 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, COLOR_WEP_OKHMG);
+/* color */ ATTRIB(OverkillHeavyMachineGun, m_color, vector, '0.5 0.5 0');
/* modelname */ ATTRIB(OverkillHeavyMachineGun, mdl, string, "ok_hmg");
#ifdef GAMEQC
/* model */ ATTRIB(OverkillHeavyMachineGun, m_model, Model, MDL_HMG_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(OverkillMachineGun, describe, string(OverkillMachineGun this))
#pragma once
-#include <common/colors.qh>
-
CLASS(OverkillMachineGun, Weapon)
/* spawnfunc */ ATTRIB(OverkillMachineGun, m_canonical_spawnfunc, string, "weapon_okmachinegun");
/* ammotype */ ATTRIB(OverkillMachineGun, ammo_type, Resource, RES_BULLETS);
/* 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, COLOR_WEP_OKMACHINEGUN);
+/* color */ ATTRIB(OverkillMachineGun, m_color, vector, '1 1 0');
/* modelname */ ATTRIB(OverkillMachineGun, mdl, string, "ok_mg");
#ifdef GAMEQC
/* model */ ATTRIB(OverkillMachineGun, m_model, Model, MDL_OK_MG_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(OverkillNex, describe, string(OverkillNex this))
#pragma once
-#include <common/colors.qh>
-
CLASS(OverkillNex, Weapon)
/* spawnfunc */ ATTRIB(OverkillNex, m_canonical_spawnfunc, string, "weapon_oknex");
/* ammotype */ ATTRIB(OverkillNex, ammo_type, Resource, RES_CELLS);
/* 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, COLOR_WEP_OKNEX);
+/* color */ ATTRIB(OverkillNex, m_color, vector, '0.5 1 1');
/* modelname */ ATTRIB(OverkillNex, mdl, string, "ok_sniper");
#ifdef GAMEQC
/* model */ ATTRIB(OverkillNex, m_model, Model, MDL_OK_SNIPER_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(OverkillRocketPropelledChainsaw, describe, string(OverkillRocketPropelledChainsaw this))
#pragma once
#include <common/weapons/all.qh>
-#include <common/colors.qh>
CLASS(OverkillRocketPropelledChainsaw, Weapon)
/* spawnfunc */ ATTRIB(OverkillRocketPropelledChainsaw, m_canonical_spawnfunc, string, "weapon_okrpc");
/* 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, COLOR_WEP_OKRPC);
+/* color */ ATTRIB(OverkillRocketPropelledChainsaw, m_color, vector, '0.5 0.5 0');
/* modelname */ ATTRIB(OverkillRocketPropelledChainsaw, mdl, string, "ok_rl");
#ifdef GAMEQC
/* model */ ATTRIB(OverkillRocketPropelledChainsaw, m_model, Model, MDL_RPC_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(OverkillShotgun, describe, string(OverkillShotgun this))
#pragma once
-#include <common/colors.qh>
-
CLASS(OverkillShotgun, Weapon)
/* spawnfunc */ ATTRIB(OverkillShotgun, m_canonical_spawnfunc, string, "weapon_okshotgun");
/* ammotype */ ATTRIB(OverkillShotgun, ammo_type, Resource, RES_SHELLS);
/* 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, COLOR_WEP_OKSHOTGUN);
+/* color */ ATTRIB(OverkillShotgun, m_color, vector, '0.5 0.25 0');
/* modelname */ ATTRIB(OverkillShotgun, mdl, string, "ok_shotgun");
#ifdef GAMEQC
/* model */ ATTRIB(OverkillShotgun, m_model, Model, MDL_OK_SHOTGUN_ITEM);
}
#endif
#ifdef MENUQC
+#include <lib/color.qh>
+
METHOD(InvisibilityItem, describe, string(InvisibilityItem this))
{
TC(InvisibilityItem, this);
#include <common/items/all.qh>
#include <common/mutators/mutator/powerups/powerups.qh>
-#include <common/colors.qh>
#ifdef SVQC
// For FL_POWERUP
#include <common/constants.qh>
ATTRIB(InvisibilityItem, netname, string, "invisibility");
ATTRIB(InvisibilityItem, m_name, string, _("Invisibility"));
ATTRIB(InvisibilityItem, m_icon, string, "buff_invisible");
- ATTRIB(InvisibilityItem, m_color, vector, COLOR_POWERUP_INVISIBILITY);
+ ATTRIB(InvisibilityItem, m_color, vector, '0.5 0.5 1');
ATTRIB(InvisibilityItem, m_waypoint, string, _("Invisibility"));
ATTRIB(InvisibilityItem, m_waypointblink, int, 2);
ENDCLASS(InvisibilityItem)
CLASS(InvisibilityStatusEffect, Powerups)
ATTRIB(InvisibilityStatusEffect, netname, string, "invisibility");
ATTRIB(InvisibilityStatusEffect, m_name, string, _("Invisibility"));
- ATTRIB(InvisibilityStatusEffect, m_color, vector, COLOR_POWERUP_INVISIBILITY);
+ ATTRIB(InvisibilityStatusEffect, m_color, vector, '0.5 0.5 1');
ATTRIB(InvisibilityStatusEffect, m_icon, string, "buff_invisible");
ENDCLASS(InvisibilityStatusEffect)
REGISTER_STATUSEFFECT(Invisibility, NEW(InvisibilityStatusEffect));
}
#endif
#ifdef MENUQC
+#include <lib/color.qh>
+
METHOD(ShieldItem, describe, string(ShieldItem this))
{
TC(ShieldItem, this);
#include <common/items/all.qh>
#include <common/mutators/mutator/powerups/powerups.qh>
-#include <common/colors.qh>
#ifdef SVQC
// For FL_POWERUP
#include <common/constants.qh>
ATTRIB(ShieldItem, netname, string, "invincible");
ATTRIB(ShieldItem, m_name, string, _("Shield"));
ATTRIB(ShieldItem, m_icon, string, "shield");
- ATTRIB(ShieldItem, m_color, vector, COLOR_POWERUP_SHIELD);
+ ATTRIB(ShieldItem, m_color, vector, '1 0 1');
ATTRIB(ShieldItem, m_waypoint, string, _("Shield"));
ATTRIB(ShieldItem, m_waypointblink, int, 2);
ENDCLASS(ShieldItem)
}
#endif
#ifdef MENUQC
+#include <lib/color.qh>
+
METHOD(SpeedItem, describe, string(SpeedItem this))
{
TC(SpeedItem, this);
#include <common/items/all.qh>
#include <common/mutators/mutator/powerups/powerups.qh>
-#include <common/colors.qh>
#ifdef SVQC
// For FL_POWERUP
#include <common/constants.qh>
ATTRIB(SpeedItem, netname, string, "speed");
ATTRIB(SpeedItem, m_name, string, _("Speed"));
ATTRIB(SpeedItem, m_icon, string, "buff_speed");
- ATTRIB(SpeedItem, m_color, vector, COLOR_POWERUP_SPEED);
+ ATTRIB(SpeedItem, m_color, vector, '0.1 1 0.84');
ATTRIB(SpeedItem, m_waypoint, string, _("Speed"));
ATTRIB(SpeedItem, m_waypointblink, int, 2);
ENDCLASS(SpeedItem)
CLASS(SpeedStatusEffect, Powerups)
ATTRIB(SpeedStatusEffect, netname, string, "speed");
ATTRIB(SpeedStatusEffect, m_name, string, _("Speed"));
- ATTRIB(SpeedStatusEffect, m_color, vector, COLOR_POWERUP_SPEED);
+ ATTRIB(SpeedStatusEffect, m_color, vector, '0.1 1 0.84');
ATTRIB(SpeedStatusEffect, m_icon, string, "buff_speed");
ENDCLASS(SpeedStatusEffect)
REGISTER_STATUSEFFECT(Speed, NEW(SpeedStatusEffect));
}
#endif
#ifdef MENUQC
+#include <lib/color.qh>
+
METHOD(StrengthItem, describe, string(StrengthItem this))
{
TC(StrengthItem, this);
#include <common/items/all.qh>
#include <common/mutators/mutator/powerups/powerups.qh>
-#include <common/colors.qh>
#ifdef SVQC
// For FL_POWERUP
#include <common/constants.qh>
ATTRIB(StrengthItem, netname, string, "strength");
ATTRIB(StrengthItem, m_name, string, _("Strength"));
ATTRIB(StrengthItem, m_icon, string, "strength");
- ATTRIB(StrengthItem, m_color, vector, COLOR_POWERUP_STRENGTH);
+ ATTRIB(StrengthItem, m_color, vector, '0 0 1');
ATTRIB(StrengthItem, m_waypoint, string, _("Strength"));
ATTRIB(StrengthItem, m_waypointblink, int, 2);
ENDCLASS(StrengthItem)
#pragma once
#include <common/mutators/mutator/status_effects/all.qh>
-#include <common/colors.qh>
#ifdef SVQC
void Fire_ApplyDamage(entity e);
ATTRIB(Burning, m_name, string, _("Burning"));
ATTRIB(Burning, m_icon, string, "buff_inferno");
#endif
- ATTRIB(Burning, m_color, vector, COLOR_STATUSEFFECT_BURNING);
+ ATTRIB(Burning, m_color, vector, '1 0.62 0');
ATTRIB(Burning, m_hidden, bool, true);
ATTRIB(Burning, m_lifetime, float, 10);
#ifdef GAMEQC
#pragma once
#include <common/mutators/mutator/status_effects/all.qh>
-#include <common/colors.qh>
CLASS(SpawnShield, StatusEffects)
ATTRIB(SpawnShield, netname, string, "spawnshield");
ATTRIB(SpawnShield, m_name, string, _("Spawn Shield"));
ATTRIB(SpawnShield, m_icon, string, "shield");
#endif
- ATTRIB(SpawnShield, m_color, vector, COLOR_STATUSEFFECT_SPAWNSHIELD);
+ ATTRIB(SpawnShield, m_color, vector, '0.36 1 0.07');
ATTRIB(SpawnShield, m_hidden, bool, true);
ATTRIB(SpawnShield, m_lifetime, float, 10);
ENDCLASS(SpawnShield)
#pragma once
#include <common/mutators/mutator/status_effects/all.qh>
-#include <common/colors.qh>
#ifdef SVQC
//void Shock_ApplyDamage(entity e);
ATTRIB(Stunned, m_name, string, _("Stunned"));
ATTRIB(Stunned, m_icon, string, "buff_disability");
#endif
- ATTRIB(Stunned, m_color, vector, COLOR_STATUSEFFECT_STUNNED);
+ ATTRIB(Stunned, m_color, vector, '0.67 0.84 1');
ATTRIB(Stunned, m_hidden, bool, true);
ATTRIB(Stunned, m_lifetime, float, 10);
#ifdef GAMEQC
#if defined(SVQC)
#include <common/mutators/mutator/instagib/sv_instagib.qh>
#elif defined(MENUQC)
- #include <common/colors.qh>
+ #include <lib/color.qh>
#endif
#ifdef GAMEQC
#include <common/gamemodes/gamemode/ctf/sv_ctf.qh>
#include <common/mapobjects/trigger/impulse.qh>
#elif defined(MENUQC)
- #include <common/colors.qh>
+ #include <lib/color.qh>
#endif
#ifdef GAMEQC
#if defined(SVQC)
#include <common/gamemodes/gamemode/ctf/sv_ctf.qh>
#elif defined(MENUQC)
- #include <common/colors.qh>
+ #include <lib/color.qh>
#include "spiderbot.qh"
#endif
#if defined(SVQC)
#include <common/gamemodes/gamemode/ctf/sv_ctf.qh>
#elif defined(MENUQC)
- #include <common/colors.qh>
+ #include <lib/color.qh>
#include "raptor.qh"
#endif
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(Arc, describe, string(Arc this))
#pragma once
-#include <common/colors.qh>
-
CLASS(Arc, Weapon)
/* spawnfunc */ ATTRIB(Arc, m_canonical_spawnfunc, string, "weapon_arc");
/* ammotype */ ATTRIB(Arc, ammo_type, Resource, RES_CELLS);
/* 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, COLOR_WEP_ARC);
+/* color */ ATTRIB(Arc, m_color, vector, '1 1 1');
/* modelname */ ATTRIB(Arc, mdl, string, "arc");
#ifdef GAMEQC
/* model */ ATTRIB(Arc, m_model, Model, MDL_ARC_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
METHOD(Blaster, describe, string(Blaster this))
{
#pragma once
-#include <common/colors.qh>
-
CLASS(Blaster, Weapon)
/* spawnfunc */ ATTRIB(Blaster, m_canonical_spawnfunc, string, "weapon_blaster");
/* ammotype */ //ATTRIB(Blaster, ammo_type, Resource, RES_NONE);
/* 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, COLOR_WEP_BLASTER);
+/* color */ ATTRIB(Blaster, m_color, vector, '1 0.5 0.5');
/* modelname */ ATTRIB(Blaster, mdl, string, "laser");
#ifdef GAMEQC
/* model */ ATTRIB(Blaster, m_model, Model, MDL_BLASTER_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(Crylink, describe, string(Crylink this))
#pragma once
-#include <common/colors.qh>
-
CLASS(Crylink, Weapon)
/* spawnfunc */ ATTRIB(Crylink, m_canonical_spawnfunc, string, "weapon_crylink");
/* ammotype */ ATTRIB(Crylink, ammo_type, Resource, RES_CELLS);
/* 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, COLOR_WEP_CRYLINK);
+/* color */ ATTRIB(Crylink, m_color, vector, '1 0.5 1');
/* modelname */ ATTRIB(Crylink, mdl, string, "crylink");
#ifdef GAMEQC
/* model */ ATTRIB(Crylink, m_model, Model, MDL_CRYLINK_ITEM);
#endif
#ifdef MENUQC
-#include "vortex.qh"
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
+#include "vortex.qh"
METHOD(Devastator, describe, string(Devastator this))
{
#pragma once
-#include <common/colors.qh>
-
CLASS(Devastator, Weapon)
/* spawnfunc */ ATTRIB(Devastator, m_canonical_spawnfunc, string, "weapon_devastator");
/* ammotype */ ATTRIB(Devastator, ammo_type, Resource, RES_ROCKETS);
/* 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, COLOR_WEP_DEVASTATOR);
+/* color */ ATTRIB(Devastator, m_color, vector, '1 1 0');
/* modelname */ ATTRIB(Devastator, mdl, string, "rl");
#ifdef GAMEQC
/* model */ ATTRIB(Devastator, m_model, Model, MDL_DEVASTATOR_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(Electro, describe, string(Electro this))
#pragma once
-#include <common/colors.qh>
-
CLASS(Electro, Weapon)
/* spawnfunc */ ATTRIB(Electro, m_canonical_spawnfunc, string, "weapon_electro");
/* ammotype */ ATTRIB(Electro, ammo_type, Resource, RES_CELLS);
/* 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, COLOR_WEP_ELECTRO);
+/* color */ ATTRIB(Electro, m_color, vector, '0 0.5 1');
/* modelname */ ATTRIB(Electro, mdl, string, "electro");
#ifdef GAMEQC
/* model */ ATTRIB(Electro, m_model, Model, MDL_ELECTRO_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
METHOD(Fireball, describe, string(Fireball this))
{
#pragma once
-#include <common/colors.qh>
-
CLASS(Fireball, Weapon)
/* spawnfunc */ ATTRIB(Fireball, m_canonical_spawnfunc, string, "weapon_fireball");
/* ammotype */ //ATTRIB(Fireball, ammo_type, Resource, RES_NONE);
/* 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, COLOR_WEP_FIREBALL);
+/* color */ ATTRIB(Fireball, m_color, vector, '1 0.5 0');
/* modelname */ ATTRIB(Fireball, mdl, string, "fireball");
#ifdef GAMEQC
/* model */ ATTRIB(Fireball, m_model, Model, MDL_FIREBALL_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(Hagar, describe, string(Hagar this))
#pragma once
-#include <common/colors.qh>
-
CLASS(Hagar, Weapon)
/* spawnfunc */ ATTRIB(Hagar, m_canonical_spawnfunc, string, "weapon_hagar");
/* ammotype */ ATTRIB(Hagar, ammo_type, Resource, RES_ROCKETS);
/* 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, COLOR_WEP_HAGAR);
+/* color */ ATTRIB(Hagar, m_color, vector, '1 1 0.5');
/* modelname */ ATTRIB(Hagar, mdl, string, "hagar");
#ifdef GAMEQC
/* model */ ATTRIB(Hagar, m_model, Model, MDL_HAGAR_ITEM);
#endif
#ifdef MENUQC
-#include "blaster.qh"
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
+#include "blaster.qh"
METHOD(HLAC, describe, string(HLAC this))
{
#pragma once
-#include <common/colors.qh>
-
CLASS(HLAC, Weapon)
/* spawnfunc */ ATTRIB(HLAC, m_canonical_spawnfunc, string, "weapon_hlac");
/* ammotype */ ATTRIB(HLAC, ammo_type, Resource, RES_CELLS);
/* 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, COLOR_WEP_HLAC);
+/* color */ ATTRIB(HLAC, m_color, vector, '0 1 0');
/* modelname */ ATTRIB(HLAC, mdl, string, "hlac");
#ifdef GAMEQC
/* model */ ATTRIB(HLAC, m_model, Model, MDL_HLAC_ITEM);
// TODO: hook: temporarily transform this.origin for drawing the model along warpzones!
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/jetpack.qh>
METHOD(Hook, describe, string(Hook this))
#pragma once
-#include <common/colors.qh>
-
CLASS(Hook, Weapon)
/* spawnfunc */ ATTRIB(Hook, m_canonical_spawnfunc, string, "weapon_hook");
/* ammotype */ ATTRIB(Hook, ammo_type, Resource, RES_FUEL);
/* 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, COLOR_WEP_HOOK);
+/* color */ ATTRIB(Hook, m_color, vector, '0 0.5 0');
/* modelname */ ATTRIB(Hook, mdl, string, "hookgun");
#ifdef GAMEQC
/* model */ ATTRIB(Hook, m_model, Model, MDL_HOOK_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(MachineGun, describe, string(MachineGun this))
#pragma once
-#include <common/colors.qh>
-
CLASS(MachineGun, Weapon)
/* spawnfunc */ ATTRIB(MachineGun, m_canonical_spawnfunc, string, "weapon_machinegun");
/* ammotype */ ATTRIB(MachineGun, ammo_type, Resource, RES_BULLETS);
/* 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, COLOR_WEP_MACHINEGUN);
+/* color */ ATTRIB(MachineGun, m_color, vector, '1 1 0');
/* modelname */ ATTRIB(MachineGun, mdl, string, "uzi");
#ifdef GAMEQC
/* model */ ATTRIB(MachineGun, m_model, Model, MDL_MACHINEGUN_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(MineLayer, describe, string(MineLayer this))
#pragma once
-#include <common/colors.qh>
-
CLASS(MineLayer, Weapon)
/* spawnfunc */ ATTRIB(MineLayer, m_canonical_spawnfunc, string, "weapon_minelayer");
/* ammotype */ ATTRIB(MineLayer, ammo_type, Resource, RES_ROCKETS);
/* 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, COLOR_WEP_MINELAYER);
+/* color */ ATTRIB(MineLayer, m_color, vector, '0.75 1 0');
/* modelname */ ATTRIB(MineLayer, mdl, string, "minelayer");
#ifdef GAMEQC
/* model */ ATTRIB(MineLayer, m_model, Model, MDL_MINELAYER_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(Mortar, describe, string(Mortar this))
#pragma once
-#include <common/colors.qh>
-
CLASS(Mortar, Weapon)
/* spawnfunc */ ATTRIB(Mortar, m_canonical_spawnfunc, string, "weapon_mortar");
/* ammotype */ ATTRIB(Mortar, ammo_type, Resource, RES_ROCKETS);
/* 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, COLOR_WEP_MORTAR);
+/* color */ ATTRIB(Mortar, m_color, vector, '1 0 0');
/* modelname */ ATTRIB(Mortar, mdl, string, "gl");
#ifdef GAMEQC
/* model */ ATTRIB(Mortar, m_model, Model, MDL_MORTAR_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
METHOD(PortoLaunch, describe, string(PortoLaunch this))
{
#pragma once
-#include <common/colors.qh>
-
CLASS(PortoLaunch, Weapon)
/* spawnfunc */ ATTRIB(PortoLaunch, m_canonical_spawnfunc, string, "weapon_porto");
/* ammotype */ ATTRIB(PortoLaunch, ammo_type, Resource, RES_NONE);
/* 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, COLOR_WEP_PORTO);
+/* color */ ATTRIB(PortoLaunch, m_color, vector, '0.5 0.5 0.5');
/* modelname */ ATTRIB(PortoLaunch, mdl, string, "porto");
#ifdef GAMEQC
/* model */ ATTRIB(PortoLaunch, m_model, Model, MDL_PORTO_ITEM);
#endif
#ifdef MENUQC
-#include "vortex.qh"
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
+#include "vortex.qh"
METHOD(Rifle, describe, string(Rifle this))
{
#pragma once
-#include <common/colors.qh>
-
CLASS(Rifle, Weapon)
/* spawnfunc */ ATTRIB(Rifle, m_canonical_spawnfunc, string, "weapon_rifle");
/* ammotype */ ATTRIB(Rifle, ammo_type, Resource, RES_BULLETS);
/* 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, COLOR_WEP_RIFLE);
+/* color */ ATTRIB(Rifle, m_color, vector, '0.5 1 0');
/* modelname */ ATTRIB(Rifle, mdl, string, "campingrifle");
#ifdef GAMEQC
/* model */ ATTRIB(Rifle, m_model, Model, MDL_RIFLE_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(Seeker, describe, string(Seeker this))
#pragma once
-#include <common/colors.qh>
-
CLASS(Seeker, Weapon)
/* spawnfunc */ ATTRIB(Seeker, m_canonical_spawnfunc, string, "weapon_seeker");
/* ammotype */ ATTRIB(Seeker, ammo_type, Resource, RES_ROCKETS);
/* 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, COLOR_WEP_SEEKER);
+/* color */ ATTRIB(Seeker, m_color, vector, '0.5 1 0');
/* modelname */ ATTRIB(Seeker, mdl, string, "seeker");
#ifdef GAMEQC
/* model */ ATTRIB(Seeker, m_model, Model, MDL_SEEKER_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include "shotgun.qh"
METHOD(Shockwave, describe, string(Shockwave this))
#pragma once
-#include <common/colors.qh>
-
CLASS(Shockwave, Weapon)
/* spawnfunc */ ATTRIB(Shockwave, m_canonical_spawnfunc, string, "weapon_shockwave");
/* ammotype */ //ATTRIB(Shockwave, ammo_type, Resource, RES_NONE);
/* 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, COLOR_WEP_SHOCKWAVE);
+/* color */ ATTRIB(Shockwave, m_color, vector, '0.5 0.25 0');
/* modelname */ ATTRIB(Shockwave, mdl, string, "shotgun");
#ifdef GAMEQC
/* model */ ATTRIB(Shockwave, m_model, Model, MDL_SHOCKWAVE_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
METHOD(Shotgun, describe, string(Shotgun this))
#pragma once
-#include <common/colors.qh>
-
CLASS(Shotgun, Weapon)
/* spawnfunc */ ATTRIB(Shotgun, m_canonical_spawnfunc, string, "weapon_shotgun");
/* ammotype */ ATTRIB(Shotgun, ammo_type, Resource, RES_SHELLS);
/* 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, COLOR_WEP_SHOTGUN);
+/* color */ ATTRIB(Shotgun, m_color, vector, '0.5 0.25 0');
/* modelname */ ATTRIB(Shotgun, mdl, string, "shotgun");
#ifdef GAMEQC
/* model */ ATTRIB(Shotgun, m_model, Model, MDL_SHOTGUN_ITEM);
#endif
#ifdef MENUQC
+#include <lib/color.qh>
METHOD(Tuba, describe, string(Tuba this))
{
#pragma once
-#include <common/colors.qh>
-
CLASS(Tuba, Weapon)
/* spawnfunc */ ATTRIB(Tuba, m_canonical_spawnfunc, string, "weapon_tuba");
/* 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, COLOR_WEP_TUBA);
+/* color */ ATTRIB(Tuba, m_color, vector, '0 1 0');
/* modelname */ ATTRIB(Tuba, mdl, string, "tuba");
#ifdef GAMEQC
/* model */ ATTRIB(Tuba, m_model, Model, MDL_TUBA_ITEM);
#endif
#ifdef MENUQC
-#include "blaster.qh"
+#include <lib/color.qh>
#include <common/mutators/mutator/instagib/items.qh>
#include <common/items/item/ammo.qh>
+#include "blaster.qh"
METHOD(Vaporizer, describe, string(Vaporizer this))
{
#pragma once
-#include <common/colors.qh>
-
CLASS(Vaporizer, Weapon)
/* spawnfunc */ ATTRIB(Vaporizer, m_canonical_spawnfunc, string, "weapon_vaporizer");
/* ammotype */ ATTRIB(Vaporizer, ammo_type, Resource, RES_CELLS);
/* 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, COLOR_WEP_VAPORIZER);
+/* color */ ATTRIB(Vaporizer, m_color, vector, '0.5 1 1');
/* modelname */ ATTRIB(Vaporizer, mdl, string, "minstanex");
#ifdef GAMEQC
/* model */ ATTRIB(Vaporizer, m_model, Model, MDL_VAPORIZER_ITEM);
#endif
#ifdef MENUQC
-#include "rifle.qh"
+#include <lib/color.qh>
#include <common/items/item/ammo.qh>
+#include "rifle.qh"
METHOD(Vortex, describe, string(Vortex this))
{
#pragma once
-#include <common/colors.qh>
-
CLASS(Vortex, Weapon)
/* spawnfunc */ ATTRIB(Vortex, m_canonical_spawnfunc, string, "weapon_vortex");
/* ammotype */ ATTRIB(Vortex, ammo_type, Resource, RES_CELLS);
/* 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, COLOR_WEP_VORTEX);
+/* color */ ATTRIB(Vortex, m_color, vector, '0.5 1 1');
/* modelname */ ATTRIB(Vortex, mdl, string, "nex");
#ifdef GAMEQC
/* model */ ATTRIB(Vortex, m_model, Model, MDL_VORTEX_ITEM);
DEC_TO_HEXDIGIT(floor(bound(0, rgb.z, 1) * 15 + 0.5))
);
}
+
+// useful macros for the guide
+#define COLORED_NAME(this) strcat(rgb_to_hexcolor(this.m_color), this.m_name, "^7")
+#define COLORED_NAME_WITH_CONCAT(this, concat) strcat(rgb_to_hexcolor(this.m_color), this.m_name, " ", concat, "^7")