#include "all.qh"
+
#if defined(CSQC)
#include <client/announcer.qh>
#elif defined(MENUQC)
#include <common/constants.qh>
#include <common/net_linked.qh>
#include <common/teams.qh>
- #include <server/autocvars.qh>
- #include <server/constants.qh>
- #include <server/g_world.qh>
+ #include <server/command/getreplies.qh>
#include <server/mutators/_mod.qh>
+ #include <server/world.qh>
#endif
// ================================================
bool Notification_ShouldSend(NOTIF broadcast, entity to_client, entity other_client)
{
+ if(!IS_REAL_CLIENT(to_client))
+ return false;
+
switch (broadcast)
{
case NOTIF_ONE:
// used by MSG_CHOICE to build list of choices
#ifdef SVQC
-void Notification_GetCvars(entity this)
+void Notification_GetCvars(entity this, entity store)
{
FOREACH(Notifications, it.nent_type == MSG_CHOICE && (!it.nent_teamnum || it.nent_teamnum == NUM_TEAM_1), {
GetCvars_handleFloat(
this,
- CS(this),
+ store,
get_cvars_s,
get_cvars_f,
msg_choice_choices[it.nent_choice_idx],
MSG net_type, Notification net_name,
...count)
{
- if (broadcast != NOTIF_ALL && broadcast != NOTIF_ALL_EXCEPT && !IS_REAL_CLIENT(client)) return;
+ if (broadcast == NOTIF_ONE_ONLY && !IS_REAL_CLIENT(client)) return;
entity notif = net_name;
string parms = sprintf("%s, '%s', %s, %s",
Get_Notif_BroadcastName(broadcast),
#define RECURSE_FROM_CHOICE(ent,action) MACRO_BEGIN \
if (notif.nent_challow_var && (warmup_stage || (notif.nent_challow_var == 2))) { \
- switch (CS(ent).msg_choice_choices[net_name.nent_choice_idx]) \
+ switch (CS_CVAR(ent).msg_choice_choices[net_name.nent_choice_idx]) \
{ \
case 1: found_choice = notif.nent_optiona; break; \
case 2: found_choice = notif.nent_optionb; break; \
}
default:
{
- FOREACH_CLIENT(IS_REAL_CLIENT(it) && Notification_ShouldSend(broadcast, it, client), {
+ FOREACH_CLIENT(Notification_ShouldSend(broadcast, it, client), {
RECURSE_FROM_CHOICE(it, continue);
});
break;