summaryrefslogtreecommitdiff
path: root/sourcemod-1.5-dev/scripting/include/smlib/weapons.inc
diff options
context:
space:
mode:
Diffstat (limited to 'sourcemod-1.5-dev/scripting/include/smlib/weapons.inc')
-rw-r--r--sourcemod-1.5-dev/scripting/include/smlib/weapons.inc399
1 files changed, 0 insertions, 399 deletions
diff --git a/sourcemod-1.5-dev/scripting/include/smlib/weapons.inc b/sourcemod-1.5-dev/scripting/include/smlib/weapons.inc
deleted file mode 100644
index cc4bd18..0000000
--- a/sourcemod-1.5-dev/scripting/include/smlib/weapons.inc
+++ /dev/null
@@ -1,399 +0,0 @@
-#if defined _smlib_weapons_included
- #endinput
-#endif
-#define _smlib_weapons_included
-
-#include <sourcemod>
-#include <sdktools_functions>
-#include <smlib/entities>
-
-#define MAX_WEAPON_OFFSET 64
-#define MAX_WEAPON_SLOTS 6 // hud item selection slots
-#define MAX_WEAPON_POSITIONS 20 // max number of items within a slot
-#define MAX_WEAPONS 48 // Max number of weapons availabl
-#define WEAPON_NOCLIP -1 // clip sizes set to this tell the weapon it doesn't use a clip
-#define MAX_AMMO_TYPES 32
-#define MAX_AMMO_SLOTS 32 // not really slots
-
-#define MAX_WEAPON_STRING 80
-#define MAX_WEAPON_PREFIX 16
-#define MAX_WEAPON_AMMO_NAME 32
-
-/*
- * Gets the owner (usually a client) of the weapon
- *
- * @param weapon Weapon Entity.
- * @return Owner of the weapon or INVALID_ENT_REFERENCE if the weapon has no owner.
- */
-stock Weapon_GetOwner(weapon)
-{
- return GetEntPropEnt(weapon, Prop_Data, "m_hOwner");
-}
-
-/*
- * Sets the owner (usually a client) of the weapon
- *
- * @param weapon Weapon Entity.
- * @param entity Entity Index.
- * @noreturn
- */
-stock Weapon_SetOwner(weapon, entity)
-{
- SetEntPropEnt(weapon, Prop_Data, "m_hOwner", entity);
-}
-
-/*
- * Checks whether the entity is a valid weapon or not.
- *
- * @param weapon Weapon Entity.
- * @return True if the entity is a valid weapon, false otherwise.
- */
-stock Weapon_IsValid(weapon)
-{
- if (!IsValidEdict(weapon)) {
- return false;
- }
-
- return Entity_ClassNameMatches(weapon, "weapon_", true);
-}
-
-/*
- * Create's a weapon and spawns it in the world at the specified location.
- *
- * @param className Classname String of the weapon to spawn
- * @param absOrigin Absolute Origin Vector where to spawn the weapon.
- * @param absAngles Absolute Angles Vector.
- * @return Weapon Index of the created weapon or INVALID_ENT_REFERENCE on error.
- */
-stock Weapon_Create(const String:className[], Float:absOrigin[3], Float:absAngles[3])
-{
- new weapon = Entity_Create(className);
-
- if (weapon == INVALID_ENT_REFERENCE) {
- return INVALID_ENT_REFERENCE;
- }
-
- Entity_SetAbsOrigin(weapon, absOrigin);
- Entity_SetAbsAngles(weapon, absAngles);
-
- DispatchSpawn(weapon);
-
- return weapon;
-}
-
-/*
- * Create's a weapon and spawns it in the world at the specified location.
- *
- * @param className Classname String of the weapon to spawn
- * @param absOrigin Absolute Origin Vector where to spawn the weapon.
- * @param absAngles Absolute Angles Vector.
- * @return Weapon Index of the created weapon or INVALID_ENT_REFERENCE on error.
- */
-stock Weapon_CreateForOwner(client, const String:className[])
-{
- decl Float:absOrigin[3], Float:absAngles[3];
- Entity_GetAbsOrigin(client, absOrigin);
- Entity_GetAbsAngles(client, absAngles);
-
- new weapon = Weapon_Create(className, absOrigin, absAngles);
-
- if (weapon == INVALID_ENT_REFERENCE) {
- return INVALID_ENT_REFERENCE;
- }
-
- Entity_SetOwner(weapon, client);
-
- return weapon;
-}
-
-/*
- * Gets the weapon's subtype.
- * The subtype is only used when a player has multiple weapons of the same type.
- *
- * @param weapon Weapon Entity.
- * @return Subtype of the weapon.
- */
-stock Weapon_GetSubType(weapon)
-{
- return GetEntProp(weapon, Prop_Data, "m_iSubType");
-}
-
-/*
- * Is the weapon currently reloading ?
- *
- * @param weapon Weapon Entity.
- * @return True if weapon is currently reloading, false if not.
- */
-stock bool:Weapon_IsReloading(weapon)
-{
- return bool:GetEntProp(weapon, Prop_Data, "m_bInReload");
-}
-
-/*
- * Weapon m_iState
- */
-#define WEAPON_IS_ONTARGET 0x40
-#define WEAPON_NOT_CARRIED 0 // Weapon is on the ground
-#define WEAPON_IS_CARRIED_BY_PLAYER 1 // This client is carrying this weapon.
-#define WEAPON_IS_ACTIVE 2 // This client is carrying this weapon and it's the currently held weapon
-
-/*
- * Get's the state of the weapon.
- * This returns whether the weapon is currently carried by a client,
- * if it is active and if it is on a target.
- *
- * @param weapon Weapon Entity.
- * @return Weapon State.
- */
-stock Weapon_GetState(weapon)
-{
- return GetEntProp(weapon, Prop_Data, "m_iState");
-}
-
-/*
- * Returns whether the weapon can fire primary ammo under water.
- *
- * @param weapon Weapon Entity.
- * @return True or False.
- */
-stock bool:Weapon_FiresUnderWater(weapon)
-{
- return bool:GetEntProp(weapon, Prop_Data, "m_bFiresUnderwater");
-}
-
-/*
- * Sets if the weapon can fire primary ammo under water.
- *
- * @param weapon Weapon Entity.
- * @param can True or False.
- * @noreturn
- */
-stock Weapon_SetFiresUnderWater(weapon, bool:can=true)
-{
- SetEntProp(weapon, Prop_Data, "m_bFiresUnderwater", _:can);
-}
-
-/*
- * Returns whether the weapon can fire secondary ammo under water.
- *
- * @param weapon Weapon Entity.
- * @return True or False.
- */
-stock bool:Weapon_FiresUnderWaterAlt(weapon)
-{
- return bool:GetEntProp(weapon, Prop_Data, "m_bAltFiresUnderwater");
-}
-
-/*
- * Sets if the weapon can fire secondary ammo under water.
- *
- * @param weapon Weapon Entity.
- * @param can True or False.
- * @noreturn
- */
-stock Weapon_SetFiresUnderWaterAlt(weapon, bool:can=true)
-{
- SetEntProp(weapon, Prop_Data, "m_bAltFiresUnderwater", _:can);
-}
-
-/*
- * Gets the primary ammo Type (int offset)
- *
- * @param weapon Weapon Entity.
- * @return Primary ammo type value.
- */
-stock Weapon_GetPrimaryAmmoType(weapon)
-{
- return GetEntProp(weapon, Prop_Data, "m_iPrimaryAmmoType");
-}
-
-/*
- * Sets the primary ammo Type (int offset)
- *
- * @param weapon Weapon Entity.
- * @param type Primary ammo type value.
- */
-stock Weapon_SetPrimaryAmmoType(weapon,type)
-{
- return SetEntProp(weapon, Prop_Data, "m_iPrimaryAmmoType", type);
-}
-
-/*
- * Gets the secondary ammo Type (int offset)
- *
- * @param weapon Weapon Entity.
- * @return Secondary ammo type value.
- */
-stock Weapon_GetSecondaryAmmoType(weapon)
-{
- return GetEntProp(weapon, Prop_Data, "m_iSecondaryAmmoType");
-}
-
-/*
- * Sets the secondary ammo Type (int offset)
- *
- * @param weapon Weapon Entity.
- * @param type Secondary ammo type value.
- */
-stock Weapon_SetSecondaryAmmoType(weapon,type)
-{
- return SetEntProp(weapon, Prop_Data, "m_iSecondaryAmmoType", type);
-}
-
-/*
- * Gets the primary clip count of a weapon.
- *
- * @param weapon Weapon Entity.
- * @return Primary Clip count.
- */
-stock Weapon_GetPrimaryClip(weapon)
-{
- return GetEntProp(weapon, Prop_Data, "m_iClip1");
-}
-
-/*
- * Sets the primary clip count of a weapon.
- *
- * @param weapon Weapon Entity.
- * @param value Clip Count value.
- */
-stock Weapon_SetPrimaryClip(weapon, value)
-{
- SetEntProp(weapon, Prop_Data, "m_iClip1", value);
-}
-
-/*
- * Gets the secondary clip count of a weapon.
- *
- * @param weapon Weapon Entity.
- * @return Secondy Clip count.
- */
-stock Weapon_GetSecondaryClip(weapon)
-{
- return GetEntProp(weapon, Prop_Data, "m_iClip2");
-}
-
-/*
- * Sets the secondary clip count of a weapon.
- *
- * @param weapon Weapon Entity.
- * @param value Clip Count value.
- */
-stock Weapon_SetSecondaryClip(weapon, value)
-{
- SetEntProp(weapon, Prop_Data, "m_iClip2", value);
-}
-
-/*
- * Sets the primary & secondary clip count of a weapon.
- *
- * @param weapon Weapon Entity.
- * @param primary Primary Clip Count value.
- * @param secondary Primary Clip Count value.
- */
-stock Weapon_SetClips(weapon, primary, secondary)
-{
- Weapon_SetPrimaryClip(weapon, primary);
- Weapon_SetSecondaryClip(weapon, secondary);
-}
-
-/*
- * Gets the primary ammo count of a weapon.
- * This is only used when the weapon is not carried
- * by a player to give a player ammo when he picks up
- * the weapon.
- *
- * @param weapon Weapon Entity.
- * @return Primary Ammo Count.
- */
-stock Weapon_GetPrimaryAmmoCount(weapon)
-{
- return GetEntProp(weapon, Prop_Data, "m_iPrimaryAmmoCount");
-}
-
-/*
- * Sets the primary ammo count of a weapon.
- * This is only used when the weapon is not carried
- * by a player to give a player ammo when he picks up
- * the weapon.
- *
- * @param weapon Weapon Entity.
- * @param value Primary Ammo Count.
- * @noreturn
- */
-stock Weapon_SetPrimaryAmmoCount(weapon, value)
-{
- SetEntProp(weapon, Prop_Data, "m_iPrimaryAmmoCount", value);
-}
-
-/*
- * Gets the secondary ammo count of a weapon.
- * This is only used when the weapon is not carried
- * by a player to give a player ammo when he picks up
- * the weapon.
- *
- * @param weapon Weapon Entity.
- * @return Secondary Ammo Count.
- */
-stock Weapon_GetSecondaryAmmoCount(weapon)
-{
- return GetEntProp(weapon, Prop_Data, "m_iSecondaryAmmoCount");
-}
-
-/*
- * Sets the secodary ammo count of a weapon.
- * This is only used when the weapon is not carried
- * by a player to give a player ammo when he picks up
- * the weapon.
- *
- * @param weapon Weapon Entity.
- * @param value Secondary Ammo Count.
- * @noreturn
- */
-stock Weapon_SetSecondaryAmmoCount(weapon, value)
-{
- SetEntProp(weapon, Prop_Data, "m_iSecondaryAmmoCount", value);
-}
-
-/*
- * Sets both, the primary & the secondary ammo count of a weapon.
- * This is only used when the weapon is not carried
- * by a player to give a player ammo when he picks up
- * the weapon.
- *
- * @param weapon Weapon Entity.
- * @value primary Primary Ammo Count.
- * @value secondary Secondary Ammo Count.
- * @noreturn
- */
-stock Weapon_SetAmmoCounts(weapon, primary, secondary)
-{
- Weapon_SetPrimaryAmmoCount(weapon, primary);
- Weapon_SetSecondaryAmmoCount(weapon, secondary);
-}
-
-/*
- * Gets the Model Index of the weapon's view model.
- *
- * @param weapon Weapon Entity.
- * @return View Model Index.
- */
-stock Weapon_GetViewModelIndex(weapon)
-{
- return GetEntProp(weapon, Prop_Data, "m_nViewModelIndex");
-}
-
-/*
- * Sets the Model Index of the weapon's view model.
- * You can get the Model Index by precaching a model with PrecacheModel().
- *
- * @param weapon Weapon Entity.
- * @param index Model Index.
- * @noreturn
- */
-stock Weapon_SetViewModelIndex(weapon, index)
-{
- SetEntProp(weapon, Prop_Data, "m_nViewModelIndex", index);
- ChangeEdictState(weapon, FindDataMapOffs(weapon, "m_nViewModelIndex"));
-}
-