X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fitems%2Fitem%2Fhealth.qh;h=bf515fe4dd7f7c167d31c7f85b6eb3bc9e409fb3;hp=cad5a376e753d3cd18cfb997261ed37141072881;hb=50d6cb6a02a959a7303b5b687631b664a807b26f;hpb=b834eab77489d98d5d722d67c8a96cf6c3549436 diff --git a/qcsrc/common/items/item/health.qh b/qcsrc/common/items/item/health.qh index cad5a376e..bf515fe4d 100644 --- a/qcsrc/common/items/item/health.qh +++ b/qcsrc/common/items/item/health.qh @@ -22,17 +22,19 @@ SOUND(HealthSmall, Item_Sound("minihealth")); PROPERTY(float, g_pickup_healthsmall_anyway); PROPERTY(int, g_pickup_healthsmall); PROPERTY(int, g_pickup_healthsmall_max); -void item_healthsmall_init(entity item) +void item_healthsmall_init(Pickup this, entity item) { if(!item.max_health) item.max_health = g_pickup_healthsmall_max; - if(!item.health) - item.health = g_pickup_healthsmall; + if(!GetResourceAmount(item, RESOURCE_HEALTH)) + SetResourceAmountExplicit(item, RESOURCE_HEALTH, g_pickup_healthsmall); } #endif REGISTER_ITEM(HealthSmall, Health) { + this.m_canonical_spawnfunc = "item_health_small"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_HealthSmall_ITEM; this.m_sound = SND_HealthSmall; #endif @@ -48,6 +50,8 @@ REGISTER_ITEM(HealthSmall, Health) { #endif } +SPAWNFUNC_ITEM(item_health_small, ITEM_HealthSmall) + #ifdef GAMEQC MODEL(HealthMedium_ITEM, Item_Model("g_h25.md3")); SOUND(HealthMedium, Item_Sound("mediumhealth")); @@ -56,17 +60,19 @@ SOUND(HealthMedium, Item_Sound("mediumhealth")); PROPERTY(float, g_pickup_healthmedium_anyway); PROPERTY(int, g_pickup_healthmedium); PROPERTY(int, g_pickup_healthmedium_max); -void item_healthmedium_init(entity item) +void item_healthmedium_init(Pickup this, entity item) { if(!item.max_health) item.max_health = g_pickup_healthmedium_max; - if(!item.health) - item.health = g_pickup_healthmedium; + if(!GetResourceAmount(item, RESOURCE_HEALTH)) + SetResourceAmountExplicit(item, RESOURCE_HEALTH, g_pickup_healthmedium); } #endif REGISTER_ITEM(HealthMedium, Health) { + this.m_canonical_spawnfunc = "item_health_medium"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_HealthMedium_ITEM; this.m_sound = SND_HealthMedium; #endif @@ -82,6 +88,8 @@ REGISTER_ITEM(HealthMedium, Health) { #endif } +SPAWNFUNC_ITEM(item_health_medium, ITEM_HealthMedium) + #ifdef GAMEQC MODEL(HealthBig_ITEM, Item_Model("g_h50.md3")); SOUND(HealthBig, Item_Sound("mediumhealth")); @@ -90,17 +98,19 @@ SOUND(HealthBig, Item_Sound("mediumhealth")); PROPERTY(float, g_pickup_healthbig_anyway); PROPERTY(int, g_pickup_healthbig); PROPERTY(int, g_pickup_healthbig_max); -void item_healthbig_init(entity item) +void item_healthbig_init(Pickup this, entity item) { if(!item.max_health) item.max_health = g_pickup_healthbig_max; - if(!item.health) - item.health = g_pickup_healthbig; + if(!GetResourceAmount(item, RESOURCE_HEALTH)) + SetResourceAmountExplicit(item, RESOURCE_HEALTH, g_pickup_healthbig); } #endif REGISTER_ITEM(HealthBig, Health) { + this.m_canonical_spawnfunc = "item_health_big"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_HealthBig_ITEM; this.m_sound = SND_HealthBig; #endif @@ -118,6 +128,8 @@ REGISTER_ITEM(HealthBig, Health) { #endif } +SPAWNFUNC_ITEM(item_health_big, ITEM_HealthBig) + #ifdef GAMEQC MODEL(HealthMega_ITEM, Item_Model("g_h100.md3")); SOUND(HealthMega, Item_Sound("megahealth")); @@ -126,17 +138,19 @@ SOUND(HealthMega, Item_Sound("megahealth")); PROPERTY(float, g_pickup_healthmega_anyway); PROPERTY(int, g_pickup_healthmega); PROPERTY(int, g_pickup_healthmega_max); -void item_healthmega_init(entity item) +void item_healthmega_init(Pickup this, entity item) { if(!item.max_health) item.max_health = g_pickup_healthmega_max; - if(!item.health) - item.health = g_pickup_healthmega; + if(!GetResourceAmount(item, RESOURCE_HEALTH)) + SetResourceAmountExplicit(item, RESOURCE_HEALTH, g_pickup_healthmega); } #endif REGISTER_ITEM(HealthMega, Health) { + this.m_canonical_spawnfunc = "item_health_mega"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_HealthMega_ITEM; this.m_sound = SND_HealthMega; #endif @@ -155,3 +169,5 @@ REGISTER_ITEM(HealthMega, Health) { this.m_iteminit = item_healthmega_init; #endif } + +SPAWNFUNC_ITEM(item_health_mega, ITEM_HealthMega)