]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/t_items.qh
Merged Lyberta/GivePlayerAmmo into Lyberta/RandomStartWeapons.
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / t_items.qh
index 6ce04b830c1724ddee9412a036722bfa0aea7482..af7d91758dd4afd0bbbfa69fc8fc155433f71609 100644 (file)
@@ -1,5 +1,12 @@
 #pragma once
 
+#ifdef SVQC
+#include <server/defs.qh>
+#endif
+
+/// \brief Unconditional maximum amount of items the player can have.
+const int ITEM_COUNT_HARD_LIMIT = 999;
+
 const int AMMO_COUNT = 4; // amount of ammo types to show in the inventory panel
 
 // item networking
@@ -82,6 +89,13 @@ void Item_ScheduleRespawn(entity e);
 
 void Item_ScheduleInitialRespawn(entity e);
 
+/// \brief Gives player a resource such as health, armor or ammo.
+/// \param[in,out] player Player to give resource to.
+/// \param[in] resource_type Type of the resource.
+/// \param[in] amount Amount of resource to give.
+/// \return No return.
+void GivePlayerResource(entity player, .float resource_type, float amount);
+
 /// \brief Gives health to the player.
 /// \param[in,out] player Player to give health to.
 /// \param[in] amount Amount of health to give.
@@ -94,35 +108,34 @@ void GivePlayerHealth(entity player, float amount);
 /// \return No return.
 void GivePlayerArmor(entity player, float amount);
 
-/// \brief Gives shells to the player.
-/// \param[in,out] player Player to give shells to.
-/// \param[in] amount Amount of shells to give.
-/// \return No return.
-void GivePlayerShells(entity player, float amount);
-
-/// \brief Gives bullets to the player.
-/// \param[in,out] player Player to give bullets to.
-/// \param[in] amount Amount of bullets to give.
+/// \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 GivePlayerBullets(entity player, float amount);
+void GivePlayerAmmo(entity player, .float ammotype, float amount);
 
-/// \brief Gives rockets to the player.
-/// \param[in,out] player Player to give rockets to.
-/// \param[in] amount Amount of rockets to give.
+/// \brief Gives fuel to the player.
+/// \param[in,out] player Player to give fuel to.
+/// \param[in] amount Amount of fuel to give.
 /// \return No return.
-void GivePlayerRockets(entity player, float amount);
-
-/// \brief Gives cells to the player.
-/// \param[in,out] player Player to give cells to.
-/// \param[in] amount Amount of cells to give.
+void GivePlayerFuel(entity player, 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.
 /// \return No return.
-void GivePlayerCells(entity player, float amount);
+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;
-float ITEM_MODE_FUEL = 3;
-float Item_GiveAmmoTo(entity item, entity player, .float ammotype, float ammomax, float mode);
+float Item_GiveAmmoTo(entity item, entity player, .float ammotype, float ammomax);
 
 float Item_GiveTo(entity item, entity player);