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

Go to the source code of this file.

Macros

#define EV_Nade_Damage(i, o)
 called to adjust nade damage and force on hit

Functions

 MUTATOR_HOOKABLE (Nade_Damage, EV_Nade_Damage)
void nades_Clear (entity player)
void nades_GiveBonus (entity player, float score)
void nades_RemovePlayer (entity player)
bool orb_send (entity this, entity to, int sf)

Variables

bool autocvar_g_nades
bool autocvar_g_nades_bonus
bool autocvar_g_nades_bonus_client_select
int autocvar_g_nades_bonus_max
bool autocvar_g_nades_bonus_only
bool autocvar_g_nades_bonus_onstrength
int autocvar_g_nades_bonus_score_high
int autocvar_g_nades_bonus_score_low
int autocvar_g_nades_bonus_score_max
int autocvar_g_nades_bonus_score_medium
int autocvar_g_nades_bonus_score_minor
int autocvar_g_nades_bonus_score_spree
int autocvar_g_nades_bonus_score_time
int autocvar_g_nades_bonus_score_time_flagcarrier
string autocvar_g_nades_bonus_type
bool autocvar_g_nades_client_select
float autocvar_g_nades_nade_damage
float autocvar_g_nades_nade_edgedamage
float autocvar_g_nades_nade_force
float autocvar_g_nades_nade_health
float autocvar_g_nades_nade_lifetime
float autocvar_g_nades_nade_maxforce
float autocvar_g_nades_nade_minforce
int autocvar_g_nades_nade_newton_style
float autocvar_g_nades_nade_radius
float autocvar_g_nades_nade_refire
string autocvar_g_nades_nade_type
bool autocvar_g_nades_onspawn
bool autocvar_g_nades_override_dropweapon = true
bool autocvar_g_nades_pickup = true
float autocvar_g_nades_pickup_time = 2
int autocvar_g_nades_spawn_count
float autocvar_g_nades_spawn_destroy_damage = 25
float autocvar_g_nades_spawn_health_respawn
vector autocvar_g_nades_throw_offset
string cvar_cl_nade_type
string cvar_cl_pokenade_type
entity fake_nade
entity nade
entity nade_damage_target
float nade_lifetime
float nade_refire
float nade_show_particles
float nade_special_time
string pokenade_type
float toss_time

Macro Definition Documentation

◆ EV_Nade_Damage

#define EV_Nade_Damage ( i,
o )
Value:
i(entity, MUTATOR_ARGV_0_entity) \ i(entity, MUTATOR_ARGV_1_entity) \ i(vector, MUTATOR_ARGV_2_vector) \
o(vector, MUTATOR_ARGV_2_vector) \ i(float, MUTATOR_ARGV_3_float) \
o(float, MUTATOR_ARGV_3_float) \
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
vector
Definition self.qh:92

called to adjust nade damage and force on hit

Definition at line 69 of file sv_nades.qh.

69#define EV_Nade_Damage(i, o) \
70 i(entity, MUTATOR_ARGV_0_entity) \
71 i(entity, MUTATOR_ARGV_1_entity) \
72 i(vector, MUTATOR_ARGV_2_vector) \
73 /**/ o(vector, MUTATOR_ARGV_2_vector) \
74 i(float, MUTATOR_ARGV_3_float) \
75 /**/ o(float, MUTATOR_ARGV_3_float) \
76 /**/

Referenced by MUTATOR_HOOKABLE().

Function Documentation

◆ MUTATOR_HOOKABLE()

MUTATOR_HOOKABLE ( Nade_Damage ,
EV_Nade_Damage  )

References EV_Nade_Damage.

◆ nades_Clear()

void nades_Clear ( entity player)

Definition at line 647 of file sv_nades.qc.

648{
649 if(player.nade)
650 delete(player.nade);
651 if(player.fake_nade)
652 delete(player.fake_nade);
653
654 player.nade = player.fake_nade = NULL;
655 STAT(NADE_TIMER, player) = 0;
656}
#define STAT(...)
Definition stats.qh:82
#define NULL
Definition post.qh:14

References entity(), NULL, and STAT.

Referenced by nades_RemovePlayer().

◆ nades_GiveBonus()

void nades_GiveBonus ( entity player,
float score )

Definition at line 434 of file sv_nades.qc.

435{
438 if (IS_REAL_CLIENT(player))
439 if (IS_PLAYER(player) && STAT(NADE_BONUS, player) < autocvar_g_nades_bonus_max)
440 if (!STAT(FROZEN, player))
441 if (!IS_DEAD(player))
442 {
443 if ( STAT(NADE_BONUS_SCORE, player) < 1 )
444 STAT(NADE_BONUS_SCORE, player) += score/autocvar_g_nades_bonus_score_max;
445
446 if ( STAT(NADE_BONUS_SCORE, player) >= 1 )
447 {
448 Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_NADE_BONUS);
449 play2(player, SND(NADE_BONUS));
450 STAT(NADE_BONUS, player)++;
451 STAT(NADE_BONUS_SCORE, player) -= 1;
452 }
453 }
454}
#define IS_DEAD(s)
Definition player.qh:245
#define IS_PLAYER(s)
Definition player.qh:243
void Send_Notification(NOTIF broadcast, entity client, MSG net_type, Notification net_name,...count)
Definition all.qc:1573
void play2(entity e, string filename)
Definition all.qc:116
#define SND(id)
Definition all.qh:35
bool autocvar_g_nades
Definition sv_nades.qh:5
bool autocvar_g_nades_bonus
Definition sv_nades.qh:27
int autocvar_g_nades_bonus_max
Definition sv_nades.qh:32
int autocvar_g_nades_bonus_score_max
Definition sv_nades.qh:33
#define IS_REAL_CLIENT(v)
Definition utils.qh:17

Referenced by MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), and MUTATOR_HOOKFUNCTION().

◆ nades_RemovePlayer()

void nades_RemovePlayer ( entity player)

Definition at line 885 of file sv_nades.qc.

886{
887 nades_Clear(this);
888 nades_RemoveBonus(this);
889}
void nades_RemoveBonus(entity player)
Remove all bonus nades from a player.
Definition sv_nades.qc:457
void nades_Clear(entity player)
Definition sv_nades.qc:647

References entity(), nades_Clear(), and nades_RemoveBonus().

Referenced by CA_CheckWinner(), freezetag_CheckWinner(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), MUTATOR_HOOKFUNCTION(), Onslaught_CheckWinner(), and Surv_CheckWinner().

◆ orb_send()

bool orb_send ( entity this,
entity to,
int sf )

Definition at line 85 of file net.qc.

86{
87 int channel = MSG_ENTITY;
88 WriteHeader(channel, Nade_Orb);
89 WriteByte(channel, sf);
90 if (sf & 1) {
91 WriteVector(channel, this.origin);
92
93 WriteVector(channel, this.colormod);
94
95 WriteByte(channel, this.orb_lifetime);
96 //WriteByte(MSG_ENTITY, this.ltime - time + 1);
97 WriteShort(channel, this.orb_radius);
98 // round time delta to a 1/10th of a second
99 WriteByte(channel, (this.ltime - time)*10.0+0.5);
100 }
101 return true;
102}
vector colormod
Definition powerups.qc:21
float time
vector origin
const int MSG_ENTITY
Definition net.qh:115
#define WriteHeader(to, id)
Definition net.qh:221
void WriteShort(float data, float dest, float desto)
void WriteByte(float data, float dest, float desto)
float orb_radius
Definition nades.qh:71
float orb_lifetime
Definition nades.qh:70
float ltime
Definition net.qc:10

References colormod, entity(), ltime, MSG_ENTITY, orb_lifetime, orb_radius, origin, time, WriteByte(), WriteHeader, and WriteShort().

Referenced by nades_spawn_orb().

Variable Documentation

◆ autocvar_g_nades

bool autocvar_g_nades

◆ autocvar_g_nades_bonus

bool autocvar_g_nades_bonus

Definition at line 27 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION(), and nades_GiveBonus().

◆ autocvar_g_nades_bonus_client_select

bool autocvar_g_nades_bonus_client_select

Definition at line 29 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION(), and MUTATOR_HOOKFUNCTION().

◆ autocvar_g_nades_bonus_max

int autocvar_g_nades_bonus_max

Definition at line 32 of file sv_nades.qh.

Referenced by nades_GiveBonus().

◆ autocvar_g_nades_bonus_only

bool autocvar_g_nades_bonus_only

Definition at line 31 of file sv_nades.qh.

Referenced by nade_prime().

◆ autocvar_g_nades_bonus_onstrength

bool autocvar_g_nades_bonus_onstrength

Definition at line 30 of file sv_nades.qh.

Referenced by nade_prime().

◆ autocvar_g_nades_bonus_score_high

int autocvar_g_nades_bonus_score_high

Definition at line 38 of file sv_nades.qh.

Referenced by ctf_Handle_Capture(), and kh_WinnerTeam().

◆ autocvar_g_nades_bonus_score_low

int autocvar_g_nades_bonus_score_low

Definition at line 37 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION().

◆ autocvar_g_nades_bonus_score_max

int autocvar_g_nades_bonus_score_max

Definition at line 33 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION(), and nades_GiveBonus().

◆ autocvar_g_nades_bonus_score_medium

int autocvar_g_nades_bonus_score_medium

Definition at line 39 of file sv_nades.qh.

Referenced by ctf_Handle_Return(), and MUTATOR_HOOKFUNCTION().

◆ autocvar_g_nades_bonus_score_minor

int autocvar_g_nades_bonus_score_minor

Definition at line 36 of file sv_nades.qh.

Referenced by ctf_Handle_Pickup(), MUTATOR_HOOKFUNCTION(), and MUTATOR_HOOKFUNCTION().

◆ autocvar_g_nades_bonus_score_spree

int autocvar_g_nades_bonus_score_spree

Definition at line 40 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION().

◆ autocvar_g_nades_bonus_score_time

int autocvar_g_nades_bonus_score_time

Definition at line 34 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION().

◆ autocvar_g_nades_bonus_score_time_flagcarrier

int autocvar_g_nades_bonus_score_time_flagcarrier

Definition at line 35 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION().

◆ autocvar_g_nades_bonus_type

string autocvar_g_nades_bonus_type

Definition at line 28 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION().

◆ autocvar_g_nades_client_select

bool autocvar_g_nades_client_select

Definition at line 25 of file sv_nades.qh.

Referenced by nade_prime().

◆ autocvar_g_nades_nade_damage

float autocvar_g_nades_nade_damage

Definition at line 19 of file sv_nades.qh.

Referenced by nade_normal_boom().

◆ autocvar_g_nades_nade_edgedamage

float autocvar_g_nades_nade_edgedamage

Definition at line 20 of file sv_nades.qh.

Referenced by nade_normal_boom().

◆ autocvar_g_nades_nade_force

float autocvar_g_nades_nade_force

Definition at line 22 of file sv_nades.qh.

Referenced by nade_normal_boom().

◆ autocvar_g_nades_nade_health

float autocvar_g_nades_nade_health

Definition at line 17 of file sv_nades.qh.

Referenced by toss_nade().

◆ autocvar_g_nades_nade_lifetime

float autocvar_g_nades_nade_lifetime

Definition at line 14 of file sv_nades.qh.

Referenced by nade_prime(), and nades_CheckThrow().

◆ autocvar_g_nades_nade_maxforce

float autocvar_g_nades_nade_maxforce

Definition at line 16 of file sv_nades.qh.

Referenced by nades_CheckThrow().

◆ autocvar_g_nades_nade_minforce

float autocvar_g_nades_nade_minforce

Definition at line 15 of file sv_nades.qh.

Referenced by nades_CheckThrow().

◆ autocvar_g_nades_nade_newton_style

int autocvar_g_nades_nade_newton_style

Definition at line 23 of file sv_nades.qh.

Referenced by toss_nade().

◆ autocvar_g_nades_nade_radius

float autocvar_g_nades_nade_radius

◆ autocvar_g_nades_nade_refire

float autocvar_g_nades_nade_refire

Definition at line 18 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION(), nade_pickup(), nades_CheckThrow(), and toss_nade().

◆ autocvar_g_nades_nade_type

string autocvar_g_nades_nade_type

Definition at line 24 of file sv_nades.qh.

Referenced by nade_prime().

◆ autocvar_g_nades_onspawn

bool autocvar_g_nades_onspawn

Definition at line 8 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION().

◆ autocvar_g_nades_override_dropweapon

bool autocvar_g_nades_override_dropweapon = true

Definition at line 6 of file sv_nades.qh.

Referenced by MUTATOR_HOOKFUNCTION().

◆ autocvar_g_nades_pickup

bool autocvar_g_nades_pickup = true

Definition at line 12 of file sv_nades.qh.

Referenced by nade_touch().

◆ autocvar_g_nades_pickup_time

float autocvar_g_nades_pickup_time = 2

Definition at line 13 of file sv_nades.qh.

Referenced by nade_pickup().

◆ autocvar_g_nades_spawn_count

int autocvar_g_nades_spawn_count

Definition at line 9 of file sv_nades.qh.

Referenced by nade_spawn_boom().

◆ autocvar_g_nades_spawn_destroy_damage

float autocvar_g_nades_spawn_destroy_damage = 25

Definition at line 11 of file sv_nades.qh.

Referenced by nade_spawn_DestroyDamage().

◆ autocvar_g_nades_spawn_health_respawn

float autocvar_g_nades_spawn_health_respawn

Definition at line 10 of file sv_nades.qh.

Referenced by nade_spawn_SetSpawnHealth().

◆ autocvar_g_nades_throw_offset

vector autocvar_g_nades_throw_offset

Definition at line 7 of file sv_nades.qh.

Referenced by toss_nade().

◆ cvar_cl_nade_type

string cvar_cl_nade_type

◆ cvar_cl_pokenade_type

string cvar_cl_pokenade_type

Definition at line 51 of file sv_nades.qh.

Referenced by REPLICATE(), and REPLICATE_INIT().

◆ fake_nade

entity fake_nade

Definition at line 44 of file sv_nades.qh.

Referenced by nade_prime(), and spawn_held_nade().

◆ nade

entity nade

Definition at line 43 of file sv_nades.qh.

◆ nade_damage_target

entity nade_damage_target

Definition at line 49 of file sv_nades.qh.

◆ nade_lifetime

float nade_lifetime

Definition at line 45 of file sv_nades.qh.

Referenced by nade_damage(), nade_darkness_boom(), nade_ice_boom(), and nade_timer_think().

◆ nade_refire

float nade_refire

Definition at line 46 of file sv_nades.qh.

Referenced by nade_pickup(), and nades_CheckThrow().

◆ nade_show_particles

float nade_show_particles

Definition at line 53 of file sv_nades.qh.

Referenced by nade_ammo_touch(), nade_heal_touch(), and nades_orb_think().

◆ nade_special_time

float nade_special_time

◆ pokenade_type

string pokenade_type

Definition at line 48 of file sv_nades.qh.

Referenced by nade_monster_boom(), and nade_prime().

◆ toss_time

float toss_time

Definition at line 52 of file sv_nades.qh.