X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Ft_items.qh;h=1fc84a0320d258481b350c3829908ee681183f3a;hp=d6c97445f6be572cbe87f2ebcf7d2cfbbf6cb4f1;hb=e110811d01fc7895d1e6c7a3dad41ff8acbdb835;hpb=f72821fdcebe3ca01181a99727a06198de65ea08 diff --git a/qcsrc/common/t_items.qh b/qcsrc/common/t_items.qh index d6c97445f6..1fc84a0320 100644 --- a/qcsrc/common/t_items.qh +++ b/qcsrc/common/t_items.qh @@ -1,5 +1,8 @@ -#ifndef T_ITEMS_H -#define T_ITEMS_H +#pragma once + +#ifdef SVQC +#include +#endif const int AMMO_COUNT = 4; // amount of ammo types to show in the inventory panel @@ -13,7 +16,7 @@ const int ISF_STATUS = BIT(3); const int ITS_AVAILABLE = BIT(3); const int ITS_ALLOWFB = BIT(4); const int ITS_ALLOWSI = BIT(5); - const int ITS_POWERUP = BIT(6); + const int ITS_GLOW = BIT(6); const int ISF_COLORMAP = BIT(4); const int ISF_DROP = BIT(5); const int ISF_ANGLES = BIT(6); @@ -21,6 +24,7 @@ const int ISF_SIZE = BIT(7); .int ItemStatus; +.float onground_time; .float fade_start; .float fade_end; @@ -30,6 +34,7 @@ void StartItem(entity this, entity a); #ifdef CSQC +bool autocvar_cl_items_nofade; float autocvar_cl_animate_items = 1; float autocvar_cl_ghost_items = 0.45; vector autocvar_cl_ghost_items_color = '-1 -1 -1'; @@ -72,14 +77,47 @@ const float ITEM_RESPAWN_TICKS = 10; void Item_Show (entity e, float mode); -void Item_Respawn (); +void Item_Respawn (entity this); -void Item_RespawnCountdown (); +void Item_RespawnCountdown(entity this); void Item_ScheduleRespawnIn(entity e, float t); void Item_ScheduleRespawn(entity e); void Item_ScheduleInitialRespawn(entity e); + +/// \brief Gives health to the player. +/// \param[in,out] player Player to give health to. +/// \param[in] amount Amount of health to give. +/// \return No return. +void GivePlayerHealth(entity player, float amount); + +/// \brief Gives armor to the player. +/// \param[in,out] player Player to give armor to. +/// \param[in] amount Amount of armor to give. +/// \return No return. +void GivePlayerArmor(entity player, float amount); + +/// \brief Gives ammo of the specified type to the player. +/// \param[in,out] player Player to give ammo to. +/// \param[in] type Ammo type property. +/// \param[in] amount Amount of ammo to give. +/// \return No return. +void GivePlayerAmmo(entity player, .float ammotype, float amount); + +/// \brief Give several random weapons and ammo to the player. +/// \param[in,out] player Player to give weapons to. +/// \param[in] num_weapons Number of weapons to give. +/// \param[in] weapon_names Names of weapons to give separated by spaces. +/// \param[in] shells Amount of shells to give with shell-based weapon. +/// \param[in] bullets Amount of bullets to give with bullet-based weapon. +/// \param[in] rockets Amount of rockets to give with rocket-based weapon. +/// \param[in] cells Amount of cells to give with cell-based weapon. +/// \param[in] cells Amount of plasma to give with plasma-based weapon. +void GivePlayerRandomWeapons(entity player, int num_weapons, + string weapon_names, float shells, float bullets, float rockets, + float cells, float plasma); + float ITEM_MODE_NONE = 0; float ITEM_MODE_HEALTH = 1; float ITEM_MODE_ARMOR = 2; @@ -88,11 +126,11 @@ float Item_GiveAmmoTo(entity item, entity player, .float ammotype, float ammomax float Item_GiveTo(entity item, entity player); -void Item_Touch(); +void Item_Touch(entity this, entity toucher); void Item_Reset(entity this); -void Item_FindTeam(); +void Item_FindTeam(entity this); // Savage: used for item garbage-collection bool ItemSend(entity this, entity to, int sf); @@ -106,15 +144,15 @@ void UpdateItemAfterTeleport(entity this); float generic_pickupevalfunc(entity player, entity item);// {return item.bot_pickupbasevalue;} // WEAPONTODO float weapon_pickupevalfunc(entity player, entity item); - -float commodity_pickupevalfunc(entity player, entity item); +float ammo_pickupevalfunc(entity player, entity item); +float healtharmor_pickupevalfunc(entity player, entity item); .float is_item; .entity itemdef; void _StartItem(entity this, entity def, float defaultrespawntime, float defaultrespawntimejitter); - -void target_items_use (); +void setItemGroup(entity this); +void setItemGroupCount(); float GiveWeapon(entity e, float wpn, float op, float val); @@ -135,4 +173,3 @@ void GiveRot(entity e, float v0, float v1, .float rotfield, float rottime, .floa float GiveItems(entity e, float beginarg, float endarg); #endif -#endif