]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/items/item/health.qh
Add an item init attribute function, so the item's default values aren't applied...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / items / item / health.qh
index 1fc544a40073e7a17b31ee327d394c5e01c603df..01a292418cc775a9a5f009daa3b1cea981ca7948 100644 (file)
@@ -20,6 +20,15 @@ SOUND(HealthSmall, Item_Sound("minihealth"));
 #endif
 #ifdef SVQC
 PROPERTY(float, g_pickup_healthsmall_anyway);
+PROPERTY(int, g_pickup_healthsmall);
+PROPERTY(int, g_pickup_healthsmall_max);
+void item_healthsmall_init(entity item)
+{
+    if(!item.max_health)
+        item.max_health = g_pickup_healthsmall_max;
+    if(!item.health)
+        item.health = g_pickup_healthsmall;
+}
 #endif
 
 REGISTER_ITEM(HealthSmall, Health) {
@@ -34,6 +43,7 @@ REGISTER_ITEM(HealthSmall, Health) {
     this.m_respawntime          =   GET(g_pickup_respawntime_short);
     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
     this.m_pickupanyway         =   GET(g_pickup_healthsmall_anyway);
+    this.m_iteminit             =   item_healthsmall_init;
 #endif
 }
 
@@ -43,6 +53,15 @@ SOUND(HealthMedium, Item_Sound("mediumhealth"));
 #endif
 #ifdef SVQC
 PROPERTY(float, g_pickup_healthmedium_anyway);
+PROPERTY(int, g_pickup_healthmedium);
+PROPERTY(int, g_pickup_healthmedium_max);
+void item_healthmedium_init(entity item)
+{
+    if(!item.max_health)
+        item.max_health = g_pickup_healthmedium_max;
+    if(!item.health)
+        item.health = g_pickup_healthmedium;
+}
 #endif
 
 REGISTER_ITEM(HealthMedium, Health) {
@@ -57,6 +76,7 @@ REGISTER_ITEM(HealthMedium, Health) {
     this.m_respawntime          =   GET(g_pickup_respawntime_short);
     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_short);
     this.m_pickupanyway         =   GET(g_pickup_healthmedium_anyway);
+    this.m_iteminit             =   item_healthmedium_init;
 #endif
 }
 
@@ -66,6 +86,15 @@ SOUND(HealthBig, Item_Sound("mediumhealth"));
 #endif
 #ifdef SVQC
 PROPERTY(float, g_pickup_healthbig_anyway);
+PROPERTY(int, g_pickup_healthbig);
+PROPERTY(int, g_pickup_healthbig_max);
+void item_healthbig_init(entity item)
+{
+    if(!item.max_health)
+        item.max_health = g_pickup_healthbig_max;
+    if(!item.health)
+        item.health = g_pickup_healthbig;
+}
 #endif
 
 REGISTER_ITEM(HealthBig, Health) {
@@ -82,6 +111,7 @@ REGISTER_ITEM(HealthBig, Health) {
     this.m_respawntime          =   GET(g_pickup_respawntime_medium);
     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_medium);
     this.m_pickupanyway         =   GET(g_pickup_healthbig_anyway);
+    this.m_iteminit             =   item_healthbig_init;
 #endif
 }
 
@@ -91,6 +121,15 @@ SOUND(HealthMega, Item_Sound("megahealth"));
 #endif
 #ifdef SVQC
 PROPERTY(float, g_pickup_healthmega_anyway);
+PROPERTY(int, g_pickup_healthmega);
+PROPERTY(int, g_pickup_healthmega_max);
+void item_healthmega_init(entity item)
+{
+    if(!item.max_health)
+        item.max_health = g_pickup_healthmega_max;
+    if(!item.health)
+        item.health = g_pickup_healthmega;
+}
 #endif
 
 REGISTER_ITEM(HealthMega, Health) {
@@ -109,5 +148,6 @@ REGISTER_ITEM(HealthMega, Health) {
     this.m_respawntime          =   GET(g_pickup_respawntime_long);
     this.m_respawntimejitter    =   GET(g_pickup_respawntimejitter_long);
     this.m_pickupanyway         =   GET(g_pickup_healthmega_anyway);
+    this.m_iteminit             =   item_healthmega_init;
 #endif
 }