X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fcommon%2Fmutators%2Fmutator%2Fnades%2Fnades.qh;h=e109fa7a35ddbddab0f90e18357a8a72daccbc30;hb=f41f81f37e3ecf5a2d14f7bc7ffd7bbf09fff32e;hp=da80327bb24a9ebf31ea5c241e8e5c7483e5c11c;hpb=7bcb3a89b3271e018da4d92437dc5ba125ea8698;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mutators/mutator/nades/nades.qh b/qcsrc/common/mutators/mutator/nades/nades.qh index da80327bb..e109fa7a3 100644 --- a/qcsrc/common/mutators/mutator/nades/nades.qh +++ b/qcsrc/common/mutators/mutator/nades/nades.qh @@ -1,5 +1,4 @@ -#ifndef NADES_ALL_H -#define NADES_ALL_H +#pragma once #include @@ -17,6 +16,10 @@ const int PROJECTILE_NADE_HEAL = 80; const int PROJECTILE_NADE_HEAL_BURN = 81; const int PROJECTILE_NADE_MONSTER = 82; const int PROJECTILE_NADE_MONSTER_BURN = 83; +const int PROJECTILE_NADE_ENTRAP = 84; +const int PROJECTILE_NADE_ENTRAP_BURN = 85; +const int PROJECTILE_NADE_VEIL = 86; +const int PROJECTILE_NADE_VEIL_BURN = 87; REGISTRY(Nades, BITS(4)) #define Nades_from(i) _Nades_from(i, NADE_TYPE_Null) @@ -26,12 +29,13 @@ REGISTRY_CHECK(Nades) #define REGISTER_NADE(id) REGISTER(Nades, NADE_TYPE, id, m_id, NEW(Nade)) CLASS(Nade, Object) - ATTRIB(Nade, m_id, int, 0) - ATTRIB(Nade, m_color, vector, '0 0 0') - ATTRIB(Nade, m_name, string, _("Grenade")) - ATTRIB(Nade, m_icon, string, "nade_normal") - ATTRIBARRAY(Nade, m_projectile, int, 2) - ATTRIBARRAY(Nade, m_trail, entity, 2) + ATTRIB(Nade, m_id, int, 0); + ATTRIB(Nade, m_color, vector, '0 0 0'); + ATTRIB(Nade, m_name, string, _("Grenade")); + ATTRIB(Nade, m_icon, string, "nade_normal"); + ATTRIB(Nade, m_alpha, float, 1); + ATTRIBARRAY(Nade, m_projectile, int, 2); + ATTRIBARRAY(Nade, m_trail, entity, 2); METHOD(Nade, display, void(entity this, void(string name, string icon) returns)) { returns(this.m_name, sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon)); } @@ -41,63 +45,57 @@ REGISTER_NADE(Null); Nade Nade_FromProjectile(int proj) { - FOREACH(Nades, true, LAMBDA( + FOREACH(Nades, true, { for (int j = 0; j < 2; j++) { if (it.m_projectile[j] == proj) return it; } - )); + }); return NADE_TYPE_Null; } -#ifndef MENUQC +#ifdef GAMEQC #include "effects.inc" #endif #include "nades.inc" -.float healer_lifetime; -.float healer_radius; +.float orb_lifetime; +.float orb_radius; #ifdef SVQC .entity nade; .entity fake_nade; -.float nade_timer = _STAT(NADE_TIMER); .float nade_refire; -.float bonus_nades = _STAT(NADE_BONUS); .float nade_special_time; -.float bonus_nade_score = _STAT(NADE_BONUS_SCORE); -.int nade_type = _STAT(NADE_BONUS_TYPE); .string pokenade_type; .entity nade_damage_target; .float cvar_cl_nade_type; .string cvar_cl_pokenade_type; .float toss_time; -.float stat_healing_orb = _STAT(HEALING_ORB); -.float stat_healing_orb_alpha = _STAT(HEALING_ORB_ALPHA); .float nade_show_particles; +.float nade_veil_prevalpha; -bool healer_send(entity this, entity to, int sf); +bool orb_send(entity this, entity to, int sf); // Remove nades that are being thrown void nades_Clear(entity player); // Give a bonus grenade to a player -void(entity player, float score) nades_GiveBonus; +void nades_GiveBonus(entity player, float score); /** * called to adjust nade damage and force on hit */ #define EV_Nade_Damage(i, o) \ - /** weapon */ i(entity, MUTATOR_ARGV_0_entity) \ - /** force */ i(vector, MUTATOR_ARGV_0_vector) \ - /**/ o(vector, MUTATOR_ARGV_0_vector) \ - /** damage */ i(float, MUTATOR_ARGV_0_float) \ - /**/ o(float, MUTATOR_ARGV_0_float) \ + /** nade */ i(entity, MUTATOR_ARGV_0_entity) \ + /** weapon */ i(entity, MUTATOR_ARGV_1_entity) \ + /** force */ i(vector, MUTATOR_ARGV_2_vector) \ + /**/ o(vector, MUTATOR_ARGV_2_vector) \ + /** damage */ i(float, MUTATOR_ARGV_3_float) \ + /**/ o(float, MUTATOR_ARGV_3_float) \ /**/ MUTATOR_HOOKABLE(Nade_Damage, EV_Nade_Damage); #endif - -#endif