Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
sv_pinata.qc File Reference
#include "sv_pinata.qh"
Include dependency graph for sv_pinata.qc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 MUTATOR_HOOKFUNCTION (pinata, BuildMutatorsPrettyString)
 MUTATOR_HOOKFUNCTION (pinata, BuildMutatorsString)
 MUTATOR_HOOKFUNCTION (pinata, PlayerDies)
 REGISTER_MUTATOR (pinata, expr_evaluate(autocvar_g_pinata) &&!MUTATOR_IS_ENABLED(mutator_instagib) &&!MUTATOR_IS_ENABLED(ok))

Variables

string autocvar_g_pinata
bool autocvar_g_pinata_offhand

Function Documentation

◆ MUTATOR_HOOKFUNCTION() [1/3]

MUTATOR_HOOKFUNCTION ( pinata ,
BuildMutatorsPrettyString  )

Definition at line 37 of file sv_pinata.qc.

38{
39 M_ARGV(0, string) = strcat(M_ARGV(0, string), ", PiƱata");
40}
#define M_ARGV(x, type)
Definition events.qh:17
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))

References M_ARGV, and strcat().

◆ MUTATOR_HOOKFUNCTION() [2/3]

MUTATOR_HOOKFUNCTION ( pinata ,
BuildMutatorsString  )

Definition at line 32 of file sv_pinata.qc.

33{
34 M_ARGV(0, string) = strcat(M_ARGV(0, string), ":Pinata");
35}

References M_ARGV, and strcat().

◆ MUTATOR_HOOKFUNCTION() [3/3]

MUTATOR_HOOKFUNCTION ( pinata ,
PlayerDies  )

Definition at line 7 of file sv_pinata.qc.

8{
10
11 for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
12 {
13 .entity weaponentity = weaponentities[slot];
14
15 if(frag_target.(weaponentity).m_weapon == WEP_Null)
16 continue;
17
18 if(slot > 0 && !autocvar_g_pinata_offhand)
19 break;
20
21 FOREACH(Weapons, it != WEP_Null, {
22 if(STAT(WEAPONS, frag_target) & WepSet_FromWeapon(it))
23 if(frag_target.(weaponentity).m_weapon != it)
25 W_ThrowNewWeapon(frag_target, it.m_id, false, CENTER_OR_VIEWOFS(frag_target), randomvec() * 175 + '0 0 325', weaponentity);
26 });
27 }
28
29 return true;
30}
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
Weapons
Definition guide.qh:113
#define FOREACH(list, cond, body)
Definition iter.qh:19
#define STAT(...)
Definition stats.qh:82
vector randomvec(void)
entity frag_target
Definition sv_ctf.qc:2321
bool autocvar_g_pinata_offhand
Definition sv_pinata.qc:4
bool W_IsWeaponThrowable(entity this, int w)
Definition throwing.qc:118
float W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vector velo,.entity weaponentity)
Definition throwing.qc:22
#define CENTER_OR_VIEWOFS(ent)
Definition utils.qh:29
#define WepSet_FromWeapon(it)
Definition all.qh:46
const int MAX_WEAPONSLOTS
Definition weapon.qh:16
entity weaponentities[MAX_WEAPONSLOTS]
Definition weapon.qh:17

References autocvar_g_pinata_offhand, CENTER_OR_VIEWOFS, entity(), FOREACH, frag_target, M_ARGV, MAX_WEAPONSLOTS, randomvec(), STAT, W_IsWeaponThrowable(), W_ThrowNewWeapon(), weaponentities, Weapons, and WepSet_FromWeapon.

◆ REGISTER_MUTATOR()

REGISTER_MUTATOR ( pinata ,
expr_evaluate(autocvar_g_pinata) &&!MUTATOR_IS_ENABLED(mutator_instagib) &&!MUTATOR_IS_ENABLED(ok)  )

References autocvar_g_pinata.

Variable Documentation

◆ autocvar_g_pinata

string autocvar_g_pinata

Definition at line 3 of file sv_pinata.qc.

Referenced by REGISTER_MUTATOR().

◆ autocvar_g_pinata_offhand

bool autocvar_g_pinata_offhand

Definition at line 4 of file sv_pinata.qc.

Referenced by MUTATOR_HOOKFUNCTION().