X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fitems%2Fitem%2Farmor.qh;h=4f605c2e606e645ec4f96d3897e85909a9bc8508;hp=4b6b9fdf6c4c8554599bdcc9e3e14830ea699fd3;hb=294e75cd811b19c7f26271fec13c142470266bf6;hpb=53ae0010b81fef4c01ccea1ab46be6dcd1bfb81f diff --git a/qcsrc/common/items/item/armor.qh b/qcsrc/common/items/item/armor.qh index 4b6b9fdf6c..4f605c2e60 100644 --- a/qcsrc/common/items/item/armor.qh +++ b/qcsrc/common/items/item/armor.qh @@ -5,7 +5,8 @@ CLASS(Armor, Pickup) #ifdef SVQC ATTRIB(Armor, m_mins, vector, '-16 -16 0'); ATTRIB(Armor, m_maxs, vector, '16 16 48'); - ATTRIB(Armor, m_pickupevalfunc, float(entity player, entity item), commodity_pickupevalfunc); + ATTRIB(Armor, m_pickupevalfunc, float(entity player, entity item), healtharmor_pickupevalfunc); + ATTRIB(Armor, m_botvalue, int, 5000); #endif ENDCLASS(Armor) @@ -17,84 +18,156 @@ ENDCLASS(Armor) MODEL(ArmorSmall_ITEM, Item_Model("item_armor_small.md3")); SOUND(ArmorSmall, Item_Sound("armor1")); #endif +#ifdef SVQC +PROPERTY(float, g_pickup_armorsmall_anyway); +PROPERTY(int, g_pickup_armorsmall); +PROPERTY(int, g_pickup_armorsmall_max); +void item_armorsmall_init(Pickup this, entity item) +{ + if(!item.max_armorvalue) + item.max_armorvalue = g_pickup_armorsmall_max; + if(!GetResource(item, RES_ARMOR)) + SetResourceExplicit(item, RES_ARMOR, g_pickup_armorsmall); +} +#endif REGISTER_ITEM(ArmorSmall, Armor) { + this.m_canonical_spawnfunc = "item_armor_small"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_ArmorSmall_ITEM; this.m_sound = SND_ArmorSmall; #endif - this.m_name = "5 Armor"; + this.netname = "armor_small"; + this.m_name = _("Small armor"); this.m_icon = "armor"; #ifdef SVQC - this.m_botvalue = BOT_PICKUP_RATING_LOW; - this.m_itemid = IT_ARMOR_SHARD; + this.m_itemid = IT_RESOURCE; this.m_respawntime = GET(g_pickup_respawntime_short); this.m_respawntimejitter = GET(g_pickup_respawntimejitter_short); + this.m_pickupanyway = GET(g_pickup_armorsmall_anyway); + this.m_iteminit = item_armorsmall_init; #endif } +SPAWNFUNC_ITEM(item_armor_small, ITEM_ArmorSmall) + #ifdef GAMEQC MODEL(ArmorMedium_ITEM, Item_Model("item_armor_medium.md3")); SOUND(ArmorMedium, Item_Sound("armor10")); #endif +#ifdef SVQC +PROPERTY(float, g_pickup_armormedium_anyway); +PROPERTY(int, g_pickup_armormedium); +PROPERTY(int, g_pickup_armormedium_max); +void item_armormedium_init(Pickup this, entity item) +{ + if(!item.max_armorvalue) + item.max_armorvalue = g_pickup_armormedium_max; + if(!GetResource(item, RES_ARMOR)) + SetResourceExplicit(item, RES_ARMOR, g_pickup_armormedium); +} +#endif REGISTER_ITEM(ArmorMedium, Armor) { + this.m_canonical_spawnfunc = "item_armor_medium"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_ArmorMedium_ITEM; this.m_sound = SND_ArmorMedium; #endif - this.m_name = "25 Armor"; + this.netname = "armor_medium"; + this.m_name = _("Medium armor"); this.m_icon = "armor"; #ifdef SVQC - this.m_botvalue = BOT_PICKUP_RATING_MID; - this.m_itemid = IT_ARMOR; + this.m_itemid = IT_RESOURCE; this.m_respawntime = GET(g_pickup_respawntime_medium); this.m_respawntimejitter = GET(g_pickup_respawntimejitter_medium); + this.m_pickupanyway = GET(g_pickup_armormedium_anyway); + this.m_iteminit = item_armormedium_init; #endif } +SPAWNFUNC_ITEM(item_armor_medium, ITEM_ArmorMedium) + #ifdef GAMEQC MODEL(ArmorBig_ITEM, Item_Model("item_armor_big.md3")); SOUND(ArmorBig, Item_Sound("armor17_5")); #endif +#ifdef SVQC +PROPERTY(float, g_pickup_armorbig_anyway); +PROPERTY(int, g_pickup_armorbig); +PROPERTY(int, g_pickup_armorbig_max); +void item_armorbig_init(Pickup this, entity item) +{ + if(!item.max_armorvalue) + item.max_armorvalue = g_pickup_armorbig_max; + if(!GetResource(item, RES_ARMOR)) + SetResourceExplicit(item, RES_ARMOR, g_pickup_armorbig); +} +#endif REGISTER_ITEM(ArmorBig, Armor) { + this.m_canonical_spawnfunc = "item_armor_big"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_ArmorBig_ITEM; this.m_sound = SND_ArmorBig; #endif - this.m_name = "50 Armor"; + this.netname = "armor_big"; + this.m_name = _("Big armor"); this.m_icon = "armor"; this.m_color = '0 1 0'; this.m_waypoint = _("Big armor"); #ifdef SVQC - this.m_botvalue = BOT_PICKUP_RATING_HIGH; - this.m_itemid = IT_ARMOR; + this.m_itemid = IT_RESOURCE; this.m_respawntime = GET(g_pickup_respawntime_long); this.m_respawntimejitter = GET(g_pickup_respawntimejitter_long); + this.m_pickupanyway = GET(g_pickup_armorbig_anyway); + this.m_iteminit = item_armorbig_init; #endif } +SPAWNFUNC_ITEM(item_armor_big, ITEM_ArmorBig) + #ifdef GAMEQC MODEL(ArmorMega_ITEM, Item_Model("item_armor_large.md3")); SOUND(ArmorMega, Item_Sound("armor25")); #endif +#ifdef SVQC +PROPERTY(float, g_pickup_armormega_anyway); +PROPERTY(int, g_pickup_armormega); +PROPERTY(int, g_pickup_armormega_max); +void item_armormega_init(Pickup this, entity item) +{ + if(!item.max_armorvalue) + item.max_armorvalue = g_pickup_armormega_max; + if(!GetResource(item, RES_ARMOR)) + SetResourceExplicit(item, RES_ARMOR, g_pickup_armormega); +} +#endif REGISTER_ITEM(ArmorMega, Armor) { + this.m_canonical_spawnfunc = "item_armor_mega"; #ifdef GAMEQC + this.spawnflags = ITEM_FLAG_NORMAL | ITEM_FLAG_RESOURCE; this.m_model = MDL_ArmorMega_ITEM; this.m_sound = SND_ArmorMega; #endif - this.m_name = "100 Armor"; + this.netname = "armor_mega"; + this.m_name = _("Mega armor"); this.m_icon = "item_large_armor"; this.m_color = '0 1 0'; this.m_waypoint = _("Mega armor"); this.m_waypointblink = 2; #ifdef SVQC this.m_maxs = '16 16 70'; - this.m_botvalue = BOT_PICKUP_RATING_HIGH; - this.m_itemid = IT_ARMOR; + this.m_itemid = IT_RESOURCE; this.m_respawntime = GET(g_pickup_respawntime_long); this.m_respawntimejitter = GET(g_pickup_respawntimejitter_long); + this.m_pickupanyway = GET(g_pickup_armormega_anyway); + this.m_iteminit = item_armormega_init; #endif } + +SPAWNFUNC_ITEM(item_armor_mega, ITEM_ArmorMega)