X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Fcommon.qh;h=83df91eaaf902dc9701a924dd2b97130b3f2810f;hb=2ae6bb22d3bcf8f43d44ff760a9016ade9de950e;hp=6618367ed2369acef19e40131b0c065ae4b57ef6;hpb=ef5d72bcd06c2c1380e63fe900aafbca20153d02;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/weapons/common.qh b/qcsrc/server/weapons/common.qh index 6618367ed..83df91eaa 100644 --- a/qcsrc/server/weapons/common.qh +++ b/qcsrc/server/weapons/common.qh @@ -1,10 +1,38 @@ -#ifndef WEAPONS_COMMON_H -#define WEAPONS_COMMON_H +#pragma once +bool W_DualWielding(entity player); void W_GiveWeapon (entity e, float wep); .float prevstrengthsound; .float prevstrengthsoundattempt; void W_PlayStrengthSound(entity player); -float W_CheckProjectileDamage(entity inflictor, entity projowner, float deathtype, float exception); -void W_PrepareExplosionByDamage(entity attacker, void() explode); -#endif \ No newline at end of file +float W_CheckProjectileDamage(entity inflictor, entity projowner, int deathtype, float exception); +void W_PrepareExplosionByDamage(entity this, entity attacker, void(entity this) explode); + +.float misc_bulletcounter; + +.int projectiledeathtype; + +.float fade_time; +.float fade_rate; + +.entity realowner; + +#define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_CORPSE; (e).dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE +// when doing this, hagar can go through clones +// #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_BBOX + +.int missile_flags; +const int MIF_SPLASH = BIT(1); +const int MIF_ARC = BIT(2); +const int MIF_PROXY = BIT(3); +const int MIF_GUIDED_MANUAL = BIT(4); +const int MIF_GUIDED_HEAT = BIT(5); +const int MIF_GUIDED_LASER = BIT(6); +const int MIF_GUIDED_AI = BIT(7); +const int MIF_GUIDED_TAG = BIT(7); +const int MIF_GUIDED_ALL = MIF_GUIDED_MANUAL | MIF_GUIDED_HEAT | MIF_GUIDED_LASER | MIF_GUIDED_AI | MIF_GUIDED_TAG; +const int MIF_GUIDED_TRACKING = MIF_GUIDED_HEAT | MIF_GUIDED_LASER | MIF_GUIDED_AI | MIF_GUIDED_TAG; +const int MIF_GUIDED_CONFUSABLE = MIF_GUIDED_HEAT | MIF_GUIDED_AI; + +IntrusiveList g_projectiles; +STATIC_INIT(g_projectiles) { g_projectiles = IL_NEW(); }