Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
shield.qh
Go to the documentation of this file.
1#pragma once
2
3#include <common/items/all.qh>
5#ifdef SVQC
6 // For FL_POWERUP
7 #include <common/constants.qh>
8 #include <server/items/items.qh>
9#endif
10
11#ifdef GAMEQC
12MODEL(Shield_ITEM, Item_Model("g_invincible.md3"));
13SOUND(Shield, Item_Sound("powerup_shield"));
14#endif
15
16#ifdef SVQC
22{
24 def.spawnflags |= ITEM_FLAG_MUTATORBLOCKED;
25
26 if(!item.invincible_finished)
27 item.invincible_finished = (item.count) ? item.count : autocvar_g_balance_powerup_invincible_time;
28}
29#endif
30
32 ATTRIB(ShieldItem, m_canonical_spawnfunc, string, "item_shield");
33#ifdef SVQC
34 ATTRIB(ShieldItem, m_iteminit, void(Pickup def, entity item), powerup_shield_init);
35#endif
36#ifdef GAMEQC
39 ATTRIB(ShieldItem, m_model, Model, MDL_Shield_ITEM);
41 ATTRIB(ShieldItem, m_glow, bool, true);
42 ATTRIB(ShieldItem, m_respawnsound, Sound, SND_SHIELD_RESPAWN);
43#endif
44 ATTRIB(ShieldItem, netname, string, "invincible");
45 ATTRIB(ShieldItem, m_name, string, _("Shield"));
46 ATTRIB(ShieldItem, m_icon, string, "shield");
48 ATTRIB(ShieldItem, m_waypoint, string, _("Shield"));
52
53SPAWNFUNC_ITEM(item_shield, ITEM_Shield)
54SPAWNFUNC_ITEM(item_invincible, ITEM_Shield)
55
57 ATTRIB(ShieldStatusEffect, netname, string, "invincible"); // NOTE: referring to as invincible so that it matches the powerup item
58 ATTRIB(ShieldStatusEffect, m_name, string, _("Shield"));
59 ATTRIB(ShieldStatusEffect, m_icon, string, "shield");
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
Definition model.qh:3
ATTRIB(Pickup, m_model, Model)
string netname
Definition shield.qh:44
int m_waypointblink
Definition shield.qh:49
int spawnflags
Definition shield.qh:37
string m_canonical_spawnfunc
Definition shield.qh:32
string m_icon
Definition shield.qh:46
Sound m_respawnsound
Definition shield.qh:42
string m_name
Definition shield.qh:45
bool m_glow
Definition shield.qh:41
vector m_color
Definition shield.qh:47
string m_waypoint
Definition shield.qh:48
Model m_model
Definition shield.qh:39
Sound m_sound
Definition shield.qh:40
int m_itemid
Definition shield.qh:38
ATTRIB(StatusEffect, m_name, string)
const int IT_INVINCIBLE
Definition item.qh:40
#define SPAWNFUNC_ITEM(name, item)
Definition item.qh:106
@ ITEM_FLAG_MUTATORBLOCKED
Definition item.qh:121
@ ITEM_FLAG_NORMAL
Item is usable during normal gameplay.
Definition item.qh:120
string Item_Model(string item_mdl)
Definition all.qc:8
string Item_Sound(string it_snd)
Definition all.qc:18
#define REGISTER_ITEM(id, inst)
Definition all.qh:13
#define MODEL(name, path)
Definition all.qh:8
#define REGISTER_STATUSEFFECT(id, inst)
Definition all.qh:12
#define NEW(cname,...)
Definition oo.qh:117
#define CLASS(...)
Definition oo.qh:145
#define ENDCLASS(cname)
Definition oo.qh:281
#define ATTRIB(...)
Definition oo.qh:148
vector
Definition self.qh:92
float autocvar_g_balance_powerup_invincible_time
Definition shield.qh:20
float autocvar_g_balance_powerup_invincible_takeforce
Definition shield.qh:19
float autocvar_g_balance_powerup_invincible_takedamage
Definition shield.qh:18
void powerup_shield_init(Pickup def, entity item)
Definition shield.qh:21
bool autocvar_g_powerups_shield
Definition shield.qh:17
#define SOUND(name, path)
Definition all.qh:30
int autocvar_g_powerups
Definition sv_powerups.qh:7