X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fitems%2Fitem%2Fammo.qh;h=20963928526a12ddfe94313004fffe946ca89b8c;hp=70c4ef1efad17c8b3348133458dd354299a4ef21;hb=b834eab77489d98d5d722d67c8a96cf6c3549436;hpb=8d10ea819c27736320d03e75134af341f8127199 diff --git a/qcsrc/common/items/item/ammo.qh b/qcsrc/common/items/item/ammo.qh index 70c4ef1ef..209639285 100644 --- a/qcsrc/common/items/item/ammo.qh +++ b/qcsrc/common/items/item/ammo.qh @@ -1,12 +1,149 @@ -#ifndef AMMO_H -#define AMMO_H +#pragma once + #include "pickup.qh" +#ifdef SVQC +PROPERTY(float, g_pickup_ammo_anyway); +#endif + CLASS(Ammo, Pickup) - ATTRIB(Ammo, m_ammoPic, string, string_null) #ifdef SVQC - ATTRIB(Ammo, m_pickupevalfunc, float(entity player, entity item), commodity_pickupevalfunc) - ATTRIB(Ammo, m_respawntime, float(), GET(g_pickup_respawntime_ammo)) - ATTRIB(Ammo, m_respawntimejitter, float(), GET(g_pickup_respawntimejitter_ammo)) + ATTRIB(Ammo, m_pickupevalfunc, float(entity player, entity item), ammo_pickupevalfunc); + ATTRIB(Ammo, m_respawntime, float(), GET(g_pickup_respawntime_ammo)); + ATTRIB(Ammo, m_respawntimejitter, float(), GET(g_pickup_respawntimejitter_ammo)); + ATTRIB(Ammo, m_pickupanyway, float(), GET(g_pickup_ammo_anyway)); #endif ENDCLASS(Ammo) + +#ifdef SVQC + #include +#endif + +#ifdef GAMEQC +MODEL(Bullets_ITEM, Item_Model("a_bullets.mdl")); +#endif + +#ifdef SVQC +PROPERTY(int, g_pickup_nails); +void ammo_bullets_init(entity item) +{ + if(!item.ammo_nails) + item.ammo_nails = g_pickup_nails; +} +#endif +REGISTER_ITEM(Bullets, Ammo) { +#ifdef GAMEQC + this.m_model = MDL_Bullets_ITEM; +#endif + this.netname = "bullets"; + this.m_name = "bullets"; + this.m_icon = "ammo_bullets"; +#ifdef SVQC + this.m_botvalue = 1500; + this.m_itemid = IT_NAILS; + this.m_iteminit = ammo_bullets_init; +#endif +} + +#ifdef GAMEQC +MODEL(Cells_ITEM, Item_Model("a_cells.md3")); +#endif + +#ifdef SVQC +PROPERTY(int, g_pickup_cells); +void ammo_cells_init(entity item) +{ + if(!item.ammo_cells) + item.ammo_cells = g_pickup_cells; +} +#endif +REGISTER_ITEM(Cells, Ammo) { +#ifdef GAMEQC + this.m_model = MDL_Cells_ITEM; +#endif + this.netname = "cells"; + this.m_name = "cells"; + this.m_icon = "ammo_cells"; +#ifdef SVQC + this.m_botvalue = 1500; + this.m_itemid = IT_CELLS; + this.m_iteminit = ammo_cells_init; +#endif +} + +#ifdef GAMEQC +MODEL(Plasma_ITEM, Item_Model("a_cells.md3")); +#endif + +#ifdef SVQC +PROPERTY(int, g_pickup_plasma); +void ammo_plasma_init(entity item) +{ + if(!item.ammo_plasma) + item.ammo_plasma = g_pickup_plasma; +} +#endif +REGISTER_ITEM(Plasma, Ammo) { +#ifdef GAMEQC + this.m_model = MDL_Plasma_ITEM; +#endif + this.netname = "plasma"; + this.m_name = "plasma"; + this.m_icon = "ammo_plasma"; +#ifdef SVQC + this.m_botvalue = 1500; + this.m_itemid = IT_PLASMA; + this.m_iteminit = ammo_plasma_init; +#endif +} + +#ifdef GAMEQC +MODEL(Rockets_ITEM, Item_Model("a_rockets.md3")); +#endif + +#ifdef SVQC +PROPERTY(int, g_pickup_rockets); +void ammo_rockets_init(entity item) +{ + if(!item.ammo_rockets) + item.ammo_rockets = g_pickup_rockets; +} +#endif +REGISTER_ITEM(Rockets, Ammo) { +#ifdef GAMEQC + this.m_model = MDL_Rockets_ITEM; +#endif + this.netname = "rockets"; + this.m_name = "rockets"; + this.m_icon = "ammo_rockets"; +#ifdef SVQC + this.m_botvalue = 1500; + this.m_itemid = IT_ROCKETS; + this.m_iteminit = ammo_rockets_init; +#endif +} + +#ifdef GAMEQC +MODEL(Shells_ITEM, Item_Model("a_shells.md3")); +#endif + +#ifdef SVQC +PROPERTY(int, g_pickup_shells); +void ammo_shells_init(entity item) +{ + if(!item.ammo_shells) + item.ammo_shells = g_pickup_shells; +} +#endif +REGISTER_ITEM(Shells, Ammo) { +#ifdef GAMEQC + this.m_model = MDL_Shells_ITEM; +#endif + this.netname = "shells"; + this.m_name = "shells"; + this.m_icon = "ammo_shells"; +#ifdef SVQC + this.m_botvalue = 1000; + this.m_itemid = IT_SHELLS; + this.m_iteminit = ammo_shells_init; #endif +}