X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fitems%2Fitem%2Fammo.qh;h=936d42f1f2a3b00e65f23f31e3ac76406ac21306;hp=b3361d248c852db75ace43b232885c5bf460f6ff;hb=a3a388a32d0ea11fe79341ef44edc21c5ba460f4;hpb=adef62c921704ea87607f36e90eb64c2c1debaf8 diff --git a/qcsrc/common/items/item/ammo.qh b/qcsrc/common/items/item/ammo.qh index b3361d248..936d42f1f 100644 --- a/qcsrc/common/items/item/ammo.qh +++ b/qcsrc/common/items/item/ammo.qh @@ -1,8 +1,29 @@ #pragma once #include "pickup.qh" +#include #ifdef SVQC #include + #include +#endif + +#if 1 +.int ammo_none; +.int ammo_shells; +.int ammo_nails; +.int ammo_rockets; +.int ammo_cells; +#ifdef SVQC +const .int ammo_plasma = _STAT(PLASMA); +const .int ammo_fuel = _STAT(FUEL); +#else +.int ammo_plasma; +.int ammo_fuel; +#endif +#endif + +#ifdef GAMEQC +.int spawnflags; #endif #ifdef SVQC @@ -25,18 +46,24 @@ MODEL(Bullets_ITEM, Item_Model("a_bullets.mdl")); #ifdef SVQC PROPERTY(int, g_pickup_nails); -void ammo_bullets_init(entity item) +void ammo_bullets_init(Pickup this, entity item) { - if(!item.ammo_nails) - item.ammo_nails = g_pickup_nails; + if(!GetResource(item, RES_BULLETS)) + SetResourceExplicit(item, RES_BULLETS, g_pickup_nails); } #endif -REGISTER_ITEM(Bullets, Ammo) { + +CLASS(Bullets, Ammo) +ENDCLASS(Bullets) + +REGISTER_ITEM(Bullets, Bullets) { + this.m_canonical_spawnfunc = "item_bullets"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_Bullets_ITEM; #endif this.netname = "bullets"; - this.m_name = "bullets"; + this.m_name = _("bullets"); this.m_icon = "ammo_bullets"; #ifdef SVQC this.m_botvalue = 1500; @@ -45,24 +72,28 @@ REGISTER_ITEM(Bullets, Ammo) { #endif } +SPAWNFUNC_ITEM(item_bullets, ITEM_Bullets) + #ifdef GAMEQC MODEL(Cells_ITEM, Item_Model("a_cells.md3")); #endif #ifdef SVQC PROPERTY(int, g_pickup_cells); -void ammo_cells_init(entity item) +void ammo_cells_init(Pickup this, entity item) { - if(!item.ammo_cells) - item.ammo_cells = g_pickup_cells; + if(!GetResource(item, RES_CELLS)) + SetResourceExplicit(item, RES_CELLS, g_pickup_cells); } #endif REGISTER_ITEM(Cells, Ammo) { + this.m_canonical_spawnfunc = "item_cells"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_Cells_ITEM; #endif this.netname = "cells"; - this.m_name = "cells"; + this.m_name = _("cells"); this.m_icon = "ammo_cells"; #ifdef SVQC this.m_botvalue = 1500; @@ -71,24 +102,28 @@ REGISTER_ITEM(Cells, Ammo) { #endif } +SPAWNFUNC_ITEM(item_cells, ITEM_Cells) + #ifdef GAMEQC MODEL(Plasma_ITEM, Item_Model("a_cells.md3")); #endif #ifdef SVQC PROPERTY(int, g_pickup_plasma); -void ammo_plasma_init(entity item) +void ammo_plasma_init(Pickup this, entity item) { - if(!item.ammo_plasma) - item.ammo_plasma = g_pickup_plasma; + if(!GetResource(item, RES_PLASMA)) + SetResourceExplicit(item, RES_PLASMA, g_pickup_plasma); } #endif REGISTER_ITEM(Plasma, Ammo) { + this.m_canonical_spawnfunc = "item_plasma"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_Plasma_ITEM; #endif this.netname = "plasma"; - this.m_name = "plasma"; + this.m_name = _("plasma"); this.m_icon = "ammo_plasma"; #ifdef SVQC this.m_botvalue = 1500; @@ -97,24 +132,28 @@ REGISTER_ITEM(Plasma, Ammo) { #endif } +SPAWNFUNC_ITEM(item_plasma, ITEM_Plasma) + #ifdef GAMEQC MODEL(Rockets_ITEM, Item_Model("a_rockets.md3")); #endif #ifdef SVQC PROPERTY(int, g_pickup_rockets); -void ammo_rockets_init(entity item) +void ammo_rockets_init(Pickup this, entity item) { - if(!item.ammo_rockets) - item.ammo_rockets = g_pickup_rockets; + if(!GetResource(item, RES_ROCKETS)) + SetResourceExplicit(item, RES_ROCKETS, g_pickup_rockets); } #endif REGISTER_ITEM(Rockets, Ammo) { + this.m_canonical_spawnfunc = "item_rockets"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_Rockets_ITEM; #endif this.netname = "rockets"; - this.m_name = "rockets"; + this.m_name = _("rockets"); this.m_icon = "ammo_rockets"; #ifdef SVQC this.m_botvalue = 1500; @@ -123,24 +162,32 @@ REGISTER_ITEM(Rockets, Ammo) { #endif } +SPAWNFUNC_ITEM(item_rockets, ITEM_Rockets) + #ifdef GAMEQC MODEL(Shells_ITEM, Item_Model("a_shells.md3")); #endif #ifdef SVQC PROPERTY(int, g_pickup_shells); -void ammo_shells_init(entity item) +void ammo_shells_init(Pickup this, entity item) { - if(!item.ammo_shells) - item.ammo_shells = g_pickup_shells; + if(!GetResource(item, RES_SHELLS)) + SetResourceExplicit(item, RES_SHELLS, g_pickup_shells); } #endif -REGISTER_ITEM(Shells, Ammo) { + +CLASS(Shells, Ammo) +ENDCLASS(Shells) + +REGISTER_ITEM(Shells, Shells) { + this.m_canonical_spawnfunc = "item_shells"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_Shells_ITEM; #endif this.netname = "shells"; - this.m_name = "shells"; + this.m_name = _("shells"); this.m_icon = "ammo_shells"; #ifdef SVQC this.m_botvalue = 1000; @@ -148,3 +195,5 @@ REGISTER_ITEM(Shells, Ammo) { this.m_iteminit = ammo_shells_init; #endif } + +SPAWNFUNC_ITEM(item_shells, ITEM_Shells)