X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fitems%2Fitem%2Fhealth.qh;h=cad5a376e753d3cd18cfb997261ed37141072881;hb=f94eb06cd0ff401f63e8e8c81f55961544846ee6;hp=3717bf5be411ff52263a96a6ff88581938d5bf3c;hpb=7f042267d93f57719b68f0725af14d444f5c8932;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/items/item/health.qh b/qcsrc/common/items/item/health.qh index 3717bf5be..cad5a376e 100644 --- a/qcsrc/common/items/item/health.qh +++ b/qcsrc/common/items/item/health.qh @@ -5,7 +5,8 @@ CLASS(Health, Pickup) #ifdef SVQC ATTRIB(Health, m_mins, vector, '-16 -16 0'); ATTRIB(Health, m_maxs, vector, '16 16 48'); - ATTRIB(Health, m_pickupevalfunc, float(entity player, entity item), commodity_pickupevalfunc); + ATTRIB(Health, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc); + ATTRIB(Health, m_botvalue, int, 5000); #endif ENDCLASS(Health) @@ -15,7 +16,19 @@ ENDCLASS(Health) #ifdef GAMEQC MODEL(HealthSmall_ITEM, Item_Model("g_h1.md3")); -SOUND(HealthSmall, "misc/minihealth"); +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) { @@ -23,19 +36,33 @@ REGISTER_ITEM(HealthSmall, Health) { this.m_model = MDL_HealthSmall_ITEM; this.m_sound = SND_HealthSmall; #endif + this.netname = "health_small"; this.m_name = "5 Health"; this.m_icon = "health"; #ifdef SVQC - this.m_botvalue = BOT_PICKUP_RATING_LOW; this.m_itemid = IT_5HP; 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 } #ifdef GAMEQC MODEL(HealthMedium_ITEM, Item_Model("g_h25.md3")); -SOUND(HealthMedium, "misc/mediumhealth"); +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) { @@ -43,41 +70,69 @@ REGISTER_ITEM(HealthMedium, Health) { this.m_model = MDL_HealthMedium_ITEM; this.m_sound = SND_HealthMedium; #endif + this.netname = "health_medium"; this.m_name = "25 Health"; this.m_icon = "health"; #ifdef SVQC - this.m_botvalue = BOT_PICKUP_RATING_MID; this.m_itemid = IT_25HP; 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 } #ifdef GAMEQC -MODEL(HealthLarge_ITEM, Item_Model("g_h50.md3")); -SOUND(HealthLarge, "misc/mediumhealth"); +MODEL(HealthBig_ITEM, Item_Model("g_h50.md3")); +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(HealthLarge, Health) { +REGISTER_ITEM(HealthBig, Health) { #ifdef GAMEQC - this.m_model = MDL_HealthLarge_ITEM; - this.m_sound = SND_HealthLarge; + this.m_model = MDL_HealthBig_ITEM; + this.m_sound = SND_HealthBig; #endif + this.netname = "health_big"; this.m_name = "50 Health"; this.m_icon = "health"; this.m_color = '1 0 0'; - this.m_waypoint = _("Large health"); + this.m_waypoint = _("Big health"); #ifdef SVQC - this.m_botvalue = BOT_PICKUP_RATING_MID; this.m_itemid = IT_25HP; 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 } #ifdef GAMEQC MODEL(HealthMega_ITEM, Item_Model("g_h100.md3")); -SOUND(HealthMega, "misc/megahealth"); +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) { @@ -85,6 +140,7 @@ REGISTER_ITEM(HealthMega, Health) { this.m_model = MDL_HealthMega_ITEM; this.m_sound = SND_HealthMega; #endif + this.netname = "health_mega"; this.m_name = "100 Health"; this.m_icon = "item_mega_health"; this.m_color = '1 0 0'; @@ -92,9 +148,10 @@ REGISTER_ITEM(HealthMega, Health) { this.m_waypointblink = 2; #ifdef SVQC this.m_maxs = '16 16 70'; - this.m_botvalue = BOT_PICKUP_RATING_HIGH; this.m_itemid = IT_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 }