string modifications = translate_modifications(ReadString());
string weaponarena_list = translate_weaponarena(ReadString());
string cache_mutatormsg = ReadString();
- string mutator_msg = ReadString();
string motd = ReadString();
string msg = "";
msg = strcat(msg, ver);
msg = strcat(msg, "^8\n\n", _("match type is "), " ^1", MapInfo_Type_ToText(gametype), "^8\n");
+
modifications = cons_mid(modifications, ", ", weaponarena_list);
if(modifications != "")
msg = strcat(msg, "^8\n", _("active modifications:"), " ^3", modifications, "^8\n");
+
if (cache_mutatormsg != "")
msg = strcat(msg, "\n\n^8", _("special gameplay tips:"), " ^7", cache_mutatormsg);
+ string mutator_msg = "";
+ MUTATOR_CALLHOOK(BuildGameplayTipsString, mutator_msg);
+ mutator_msg = M_ARGV(0, string);
msg = strcat(msg, mutator_msg); // trust that the mutator will do proper formatting
+
if (motd != "")
msg = strcat(msg, "\n\n^8", _("MOTD:"), " ^7", motd);
// generated file; do not modify
+#ifdef CSQC
+ #include <common/mutators/mutator/hook/cl_hook.qc>
+#endif
#ifdef SVQC
#include <common/mutators/mutator/hook/sv_hook.qc>
#endif
// generated file; do not modify
+#ifdef CSQC
+ #include <common/mutators/mutator/hook/cl_hook.qh>
+#endif
#ifdef SVQC
#include <common/mutators/mutator/hook/sv_hook.qh>
#endif
--- /dev/null
+#include "cl_hook.qh"
+
+#ifdef CSQC
+REGISTER_MUTATOR(cl_hook, true);
+
+MUTATOR_HOOKFUNCTION(cl_hook, BuildGameplayTipsString)
+{
+ M_ARGV(0, string) = strcat(M_ARGV(0, string),
+ "\n\n", _("^3grappling hook^8 is enabled, press 'e' (+hook) to use it"), "\n");
+}
+
+#endif
--- /dev/null
+#pragma once
M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Hook");
}
-MUTATOR_HOOKFUNCTION(hook, BuildGameplayTipsString)
-{
- M_ARGV(0, string) = strcat(M_ARGV(0, string), "\n\n^3grappling hook^8 is enabled, press 'e' (+hook) to use it\n");
-}
-
MUTATOR_HOOKFUNCTION(hook, SetStartItems)
{
if(autocvar_g_grappling_hook_useammo)
else
proj.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY;
}
+
+MUTATOR_HOOKFUNCTION(cl_nades, BuildGameplayTipsString)
+{
+ M_ARGV(0, string) = strcat(M_ARGV(0, string),
+ "\n\n", _("^3nades^8 are enabled, press 'g' (dropweapon) to use them"), "\n");
+}
+
bool Projectile_isnade(int p)
{
return Nade_FromProjectile(p) != NADE_TYPE_Null;
M_ARGV(0, string) = strcat(M_ARGV(0, string), ":Nades");
}
-MUTATOR_HOOKFUNCTION(nades, BuildGameplayTipsString)
-{
- M_ARGV(0, string) = strcat(M_ARGV(0, string), "\n\n^3nades^8 are enabled, press 'g' (dropweapon) to use them\n");
-}
-
#endif
// generated file; do not modify
+#ifdef CSQC
+ #include <common/mutators/mutator/offhand_blaster/cl_offhand_blaster.qc>
+#endif
#ifdef SVQC
#include <common/mutators/mutator/offhand_blaster/sv_offhand_blaster.qc>
#endif
// generated file; do not modify
+#ifdef CSQC
+ #include <common/mutators/mutator/offhand_blaster/cl_offhand_blaster.qh>
+#endif
#ifdef SVQC
#include <common/mutators/mutator/offhand_blaster/sv_offhand_blaster.qh>
#endif
--- /dev/null
+#include "cl_offhand_blaster.qh"
+
+REGISTER_MUTATOR(cl_offhand_blaster, true);
+
+MUTATOR_HOOKFUNCTION(cl_offhand_blaster, BuildGameplayTipsString)
+{
+ M_ARGV(0, string) = strcat(M_ARGV(0, string),
+ "\n\n", _("^3offhand blaster^8 is enabled, press 'e' (+hook) to use it"), "\n");
+}
--- /dev/null
+#pragma once
M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Offhand blaster");
}
-MUTATOR_HOOKFUNCTION(offhand_blaster, BuildGameplayTipsString)
-{
- M_ARGV(0, string) = strcat(M_ARGV(0, string), "\n\n^3offhand blaster^8 is enabled, press 'e' (+hook) to use it\n");
-}
-
MUTATOR_HOOKFUNCTION(offhand_blaster, PlayerSpawn)
{
entity player = M_ARGV(0, entity);
WriteString(MSG_ONE, cache_mutatormsg);
- string mutator_msg = "";
- MUTATOR_CALLHOOK(BuildGameplayTipsString, mutator_msg);
- mutator_msg = M_ARGV(0, string);
-
- WriteString(MSG_ONE, mutator_msg); // trust that the mutator will do proper formatting
WriteString(MSG_ONE, strreplace("\\n", "\n", autocvar_sv_motd));
}