X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmutators%2Fmutator%2Foverkill%2Foknex.qc;h=85f33714054e1560f40c0ccf28a12a83b1b0c048;hb=1b00a3069d48b3fc6b6f356aab1c9acf6b84b1b5;hp=4e001a65caff82f20594a097866aec95091e8b90;hpb=c979c6cea7384614b00c86b0a792a528c7581492;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mutators/mutator/overkill/oknex.qc b/qcsrc/common/mutators/mutator/overkill/oknex.qc index 4e001a65c..85f337140 100644 --- a/qcsrc/common/mutators/mutator/overkill/oknex.qc +++ b/qcsrc/common/mutators/mutator/overkill/oknex.qc @@ -7,22 +7,18 @@ #if defined(GAMEQC) -METHOD(OverkillNex, wr_glow, vector(OverkillNex this, entity actor, entity wepent)) +METHOD(OverkillNex, wr_glow, vector(OverkillNex this, int actor_colors, entity wepent)) { if (!WEP_CVAR(oknex, charge)) return '0 0 0'; - float charge = wepent.oknex_charge; + float charge = max(0.25, wepent.oknex_charge); float animlimit = WEP_CVAR(oknex, charge_animlimit); - float f = autocvar_g_weapon_charge_colormod_hdrmultiplier * min(1, charge / animlimit); - vector g; - g.x = f * autocvar_g_weapon_charge_colormod_red_half; - g.y = f * autocvar_g_weapon_charge_colormod_green_half; - g.z = f * autocvar_g_weapon_charge_colormod_blue_half; + float f = min(1, charge / animlimit); + vector mycolors = colormapPaletteColor(actor_colors & 0x0F, true); + vector g = f * (mycolors * 0.3); if (charge > animlimit) { - f = autocvar_g_weapon_charge_colormod_hdrmultiplier * (charge - animlimit) / (1 - animlimit); - g.x += f * autocvar_g_weapon_charge_colormod_red_full; - g.y += f * autocvar_g_weapon_charge_colormod_green_full; - g.z += f * autocvar_g_weapon_charge_colormod_blue_full; + f = (charge - animlimit) / (1 - animlimit); + g += f * (mycolors * 0.7); } // transition color can't be '0 0 0' as it defaults to player model glow color if (g == '0 0 0')