Merge branch 'master' into martin-t/mg-solidpen
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / weapons / weaponsystem.qh
1 #pragma once
2
3 #include <server/defs.qh>
4 #include <server/miscfunctions.qh>
5
6 float internalteam;
7 entity weapon_dropevent_item;
8
9 ..entity weaponentity_fld;
10
11 void CL_SpawnWeaponentity(entity e, .entity weaponentity);
12
13 vector CL_Weapon_GetShotOrg(float wpn);
14
15 bool weaponUseForbidden(entity player);
16 bool weaponLocked(entity player);
17
18 void W_AttachToShotorg(entity actor, .entity weaponentity, entity flash, vector offset);
19
20 void W_DecreaseAmmo(Weapon wep, entity actor, float ammo_use, .entity weaponentity);
21
22 void W_DropEvent(.void(Weapon, entity actor, .entity) event, entity player, float weapon_type, entity weapon_item, .entity weaponentity);
23
24 void W_Reload(entity actor, .entity weaponentity, float sent_ammo_min, Sound sent_sound);
25
26 void W_WeaponFrame(Player actor, .entity weaponentity);
27
28 float W_WeaponRateFactor(entity this);
29
30 float W_WeaponSpeedFactor(entity this);
31
32 bool weapon_prepareattack(Weapon thiswep, entity actor, .entity weaponentity, bool secondary, float attacktime);
33
34 bool weapon_prepareattack_check(Weapon thiswep, entity actor, .entity weaponentity, float secondary, float attacktime);
35
36 void weapon_prepareattack_do(entity actor, .entity weaponentity, float secondary, float attacktime);
37
38 void weapon_thinkf(entity actor, .entity weaponentity, WFRAME fr, float t, void(Weapon thiswep, entity actor, .entity weaponentity, int fire) func);