]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Backport icon handling from TimePath/guide
authorTimePath <andrew.hardaker1995@gmail.com>
Mon, 24 Aug 2015 03:18:30 +0000 (13:18 +1000)
committerTimePath <andrew.hardaker1995@gmail.com>
Mon, 24 Aug 2015 03:19:17 +0000 (13:19 +1000)
16 files changed:
qcsrc/common/buffs.qh
qcsrc/common/items/item.qh
qcsrc/common/items/item/ammo.qc
qcsrc/common/items/item/ammo.qh
qcsrc/common/items/item/armor.qc
qcsrc/common/items/item/health.qc
qcsrc/common/items/item/jetpack.qc
qcsrc/common/items/item/powerup.qc
qcsrc/common/mapinfo.qh
qcsrc/common/mutators/base.qh
qcsrc/common/mutators/mutator/damagetext.qc
qcsrc/common/nades.qh
qcsrc/common/oo.qh
qcsrc/common/weapons/all.qc
qcsrc/common/weapons/all.qh
qcsrc/server/mutators/mutator_instagib_items.qc

index ddf5722816dfe1c989c252a631e49f93abcaf31e..e0bda4c677c8c6e025eb720df1d577de330f7817 100644 (file)
@@ -33,6 +33,9 @@ CLASS(Buff, Pickup)
        ATTRIB(Buff, m_prettyName, string, "Buff")
        ATTRIB(Buff, m_skin, int, 0)
        ATTRIB(Buff, m_sprite, string, "")
+       METHOD(Buff, display, void(entity this, void(string name, string icon) returns)) {
+               returns(this.m_prettyName, sprintf("/gfx/hud/%s/buff_%s", cvar_string("menu_skin"), this.m_name));
+       }
 #ifdef SVQC
        METHOD(Buff, m_time, float(entity));
        float Buff_m_time(entity this) { return cvar(strcat("g_buffs_", this.netname, "_time")); }
index 0b17f35b2c1277fb60ebb687893da9bec20a4ff0..16db39728561035115b66942a4620ae25b51458a 100644 (file)
@@ -5,8 +5,12 @@
 /** If you register a new item, make sure to add it to all.inc */
 CLASS(GameItem, Object)
     ATTRIB(GameItem, m_id, int, 0)
-    METHOD(GameItem, show, void(entity this));
-    void GameItem_show(entity this) { print("A game item\n"); }
+    ATTRIB(GameItem, m_name, string, string_null)
+    ATTRIB(GameItem, m_icon, string, string_null)
+    METHOD(GameItem, display, void(entity this, void(string name, string icon) returns)) {
+        returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null);
+    }
+    METHOD(GameItem, show, void(entity this)) { print("A game item\n"); }
     void ITEM_HANDLE(Show, entity this) { this.show(this); }
 ENDCLASS(GameItem)
 
index faf2b26da28b8ded5020d87c86ecbcc92b59b65b..84c22cdcd24ebde82902831848671affeb66124f 100644 (file)
@@ -6,7 +6,7 @@
 REGISTER_ITEM(Bullets, Ammo) {
     this.m_model    =   "models/items/a_bullets.mdl";
     this.m_name     =   "bullets";
-    this.m_ammoPic  =   "ammo_bullets";
+    this.m_icon     =   "ammo_bullets";
 #ifdef SVQC
     this.m_botvalue =   2000;
     this.m_itemid   =   IT_NAILS;
@@ -15,7 +15,7 @@ REGISTER_ITEM(Bullets, Ammo) {
 REGISTER_ITEM(Cells, Ammo) {
     this.m_model    =   "models/items/a_cells.md3";
     this.m_name     =   "cells";
-    this.m_ammoPic  =   "ammo_cells";
+    this.m_icon     =   "ammo_cells";
 #ifdef SVQC
     this.m_botvalue =   2000;
     this.m_itemid   =   IT_CELLS;
@@ -24,7 +24,7 @@ REGISTER_ITEM(Cells, Ammo) {
 REGISTER_ITEM(Plasma, Ammo) {
     this.m_model    =   "models/items/a_cells.md3";
     this.m_name     =   "plasma";
-    this.m_ammoPic  =   "ammo_cells";
+    this.m_icon     =   "ammo_plasma";
 #ifdef SVQC
     this.m_botvalue =   2000;
     this.m_itemid   =   IT_PLASMA;
@@ -33,7 +33,7 @@ REGISTER_ITEM(Plasma, Ammo) {
 REGISTER_ITEM(Rockets, Ammo) {
     this.m_model    =   "models/items/a_rockets.md3";
     this.m_name     =   "rockets";
-    this.m_ammoPic  =   "ammo_rockets";
+    this.m_icon     =   "ammo_rockets";
 #ifdef SVQC
     this.m_botvalue =   3000;
     this.m_itemid   =   IT_ROCKETS;
@@ -42,7 +42,7 @@ REGISTER_ITEM(Rockets, Ammo) {
 REGISTER_ITEM(Shells, Ammo) {
     this.m_model    =   "models/items/a_shells.md3";
     this.m_name     =   "shells";
-    this.m_ammoPic  =   "ammo_shells";
+    this.m_icon     =   "ammo_shells";
 #ifdef SVQC
     this.m_botvalue =   500;
     this.m_itemid   =   IT_SHELLS;
index 70c4ef1efad17c8b3348133458dd354299a4ef21..84f20483e4f2902d65cc325ee8d0f0ca31d0509b 100644 (file)
@@ -2,7 +2,6 @@
 #define AMMO_H
 #include "pickup.qh"
 CLASS(Ammo, Pickup)
-    ATTRIB(Ammo, m_ammoPic, string, string_null)
 #ifdef SVQC
     ATTRIB(Ammo, m_pickupevalfunc, float(entity player, entity item), commodity_pickupevalfunc)
     ATTRIB(Ammo, m_respawntime, float(), GET(g_pickup_respawntime_ammo))
index e5ade4f4ba91574d4c729bc20d426c01f3f4be0a..a4fa605740f75e8e5f821752b50495d32d7bb8f2 100644 (file)
@@ -7,6 +7,7 @@ REGISTER_ITEM(ArmorSmall, Armor) {
     this.m_model                =   "models/items/item_armor_small.md3";
     this.m_sound                =   "misc/armor1.wav";
     this.m_name                 =   "5 Armor";
+    this.m_icon                 =   "armor";
 #ifdef SVQC
     this.m_botvalue             =   BOT_PICKUP_RATING_LOW;
     this.m_itemid               =   IT_ARMOR_SHARD;
@@ -19,6 +20,7 @@ REGISTER_ITEM(ArmorMedium, Armor) {
     this.m_model                =   "models/items/item_armor_medium.md3";
     this.m_sound                =   "misc/armor10.wav";
     this.m_name                 =   "25 Armor";
+    this.m_icon                 =   "armor";
 #ifdef SVQC
     this.m_botvalue             =   BOT_PICKUP_RATING_MID;
     this.m_itemid               =   IT_ARMOR;
@@ -31,6 +33,7 @@ REGISTER_ITEM(ArmorLarge, Armor) {
     this.m_model                =   "models/items/item_armor_big.md3";
     this.m_sound                =   "misc/armor17_5.wav";
     this.m_name                 =   "50 Armor";
+    this.m_icon                 =   "armor";
 #ifdef SVQC
     this.m_botvalue             =   20000; // FIXME: higher than BOT_PICKUP_RATING_HIGH?
     this.m_itemid               =   IT_ARMOR;
@@ -43,6 +46,7 @@ REGISTER_ITEM(ArmorMega, Armor) {
     this.m_model                =   "models/items/item_armor_large.md3";
     this.m_sound                =   "misc/armor25.wav";
     this.m_name                 =   "100 Armor";
+    this.m_icon                 =   "item_large_armor";
 #ifdef SVQC
     this.m_botvalue             =   BOT_PICKUP_RATING_HIGH;
     this.m_itemid               =   IT_ARMOR;
index 4867273a614799c8d266327edcb3bc33f7eb7a3c..dded21951f8b255c312bc74897405b7603a99848 100644 (file)
@@ -7,6 +7,7 @@ REGISTER_ITEM(HealthSmall, Health) {
     this.m_model                =   "models/items/g_h1.md3";
     this.m_sound                =   "misc/minihealth.wav";
     this.m_name                 =   "5 Health";
+    this.m_icon                 =   "health";
 #ifdef SVQC
     this.m_botvalue             =   BOT_PICKUP_RATING_LOW;
     this.m_itemid               =   IT_5HP;
@@ -19,6 +20,7 @@ REGISTER_ITEM(HealthMedium, Health) {
     this.m_model                =   "models/items/g_h25.md3";
     this.m_sound                =   "misc/mediumhealth.wav";
     this.m_name                 =   "25 Health";
+    this.m_icon                 =   "health";
 #ifdef SVQC
     this.m_botvalue             =   BOT_PICKUP_RATING_MID;
     this.m_itemid               =   IT_25HP;
@@ -31,6 +33,7 @@ REGISTER_ITEM(HealthLarge, Health) {
     this.m_model                =   "models/items/g_h50.md3";
     this.m_sound                =   "misc/mediumhealth.wav";
     this.m_name                 =   "50 Health";
+    this.m_icon                 =   "health";
 #ifdef SVQC
     this.m_botvalue             =   BOT_PICKUP_RATING_MID;
     this.m_itemid               =   IT_25HP;
@@ -43,6 +46,7 @@ REGISTER_ITEM(HealthMega, Health) {
     this.m_model                =   "models/items/g_h100.md3";
     this.m_sound                =   "misc/megahealth.wav";
     this.m_name                 =   "100 Health";
+    this.m_icon                 =   "item_mega_health";
 #ifdef SVQC
     this.m_botvalue             =   BOT_PICKUP_RATING_HIGH;
     this.m_itemid               =   IT_HEALTH;
index 25dd9b131c2aadaeedf31117aebec7a63531bc06..856704dd840e4c4964a2b3867c7ce091ac83d931 100644 (file)
@@ -9,6 +9,7 @@
 REGISTER_ITEM(Jetpack, Powerup) {
     this.m_model                =   "models/items/g_jetpack.md3";
     this.m_name                 =   "Jet pack";
+    this.m_icon                 =   "jetpack";
 #ifdef SVQC
     this.m_botvalue             =   BOT_PICKUP_RATING_LOW;
     this.m_itemid               =   IT_JETPACK;
@@ -19,7 +20,7 @@ REGISTER_ITEM(Jetpack, Powerup) {
 REGISTER_ITEM(JetpackFuel, Ammo) {
     this.m_model    =   "models/items/g_fuel.md3";
     this.m_name     =   "Fuel";
-    this.m_ammoPic  =   "ammo_fuel";
+    this.m_icon     =   "ammo_fuel";
 #ifdef SVQC
     this.m_botvalue =   BOT_PICKUP_RATING_LOW;
     this.m_itemid   =   IT_FUEL;
@@ -29,6 +30,7 @@ REGISTER_ITEM(JetpackFuel, Ammo) {
 REGISTER_ITEM(JetpackRegen, Pickup) {
     this.m_model                =   "models/items/g_fuelregen.md3";
     this.m_name                 =   "Fuel regenerator";
+    this.m_icon                 =   "fuelregen";
 #ifdef SVQC
     this.m_botvalue             =   BOT_PICKUP_RATING_LOW;
     this.m_itemflags            =   FL_POWERUP;
index c4bfb39361f2efffe7c97064ef6408748a1a713b..fe325821189cc2d682b27a3aaba974a9bc4c2431 100644 (file)
@@ -8,11 +8,13 @@ REGISTER_ITEM(Strength, Powerup) {
     this.m_model    =   "models/items/g_strength.md3";
     this.m_sound    =   "misc/powerup.wav";
     this.m_name     =   "Strength Powerup";
+    this.m_icon     =   "strength";
     this.m_itemid   =   IT_STRENGTH;
 }
 REGISTER_ITEM(Shield, Powerup) {
     this.m_model    =   "models/items/g_invincible.md3";
     this.m_sound    =   "misc/powerup_shield.wav";
     this.m_name     =   "Shield";
+    this.m_icon     =   "shield";
     this.m_itemid   =   IT_INVINCIBLE;
 }
index e9979379c9dd67ba8813d9fe0474886882516438..19799df740069178ccc37aed0d8385a0c6ba169b 100644 (file)
@@ -19,6 +19,13 @@ CLASS(Gametype, Object)
     ATTRIB(Gametype, model2, string, string_null)
     /** game type description */
     ATTRIB(Gametype, gametype_description, string, string_null)
+
+    METHOD(Gametype, describe, string(entity this)) { return this.gametype_description; }
+
+    METHOD(Gametype, display, void(entity this, void(string name, string icon) returns)) {
+        returns(this.message, strcat("gametype_", this.mdl));
+    }
+
     CONSTRUCTOR(Gametype, string hname, string sname, string g_name, bool gteamplay, string defaults, string gdescription)
     {
         CONSTRUCT(Gametype);
@@ -28,7 +35,6 @@ CLASS(Gametype, Object)
         this.team = gteamplay;
         this.model2 = defaults;
         this.gametype_description = gdescription;
-        return this;
     }
 ENDCLASS(Gametype)
 
index 83945528c3f44de5c9a0d831a367205b5ecf86f7..baa891c939825adc1d63ce75e3393df80d3bfc58 100644 (file)
@@ -24,7 +24,6 @@ CLASS(Callback, Object)
     CONSTRUCTOR(Callback, bool() func) {
         CONSTRUCT(Callback);
         this.cbc_func = func;
-        return this;
     }
 ENDCLASS(Callback)
 
@@ -40,7 +39,6 @@ CLASS(CallbackChain, Object)
             CONSTRUCT(CallbackNode);
             this.cbc = it;
             this.cbc_order = order;
-            return this;
         }
     ENDCLASS(CallbackNode)
 
@@ -49,7 +47,6 @@ CLASS(CallbackChain, Object)
     CONSTRUCTOR(CallbackChain, string _name) {
         CONSTRUCT(CallbackChain);
         this.netname = _name;
-        return this;
     }
 
     bool CallbackChain_Add(CallbackChain this, Callback cb, int order)
@@ -155,7 +152,6 @@ CLASS(Mutator, Object)
         CONSTRUCT(Mutator);
         this.mutatorname = _name;
         this.mutatorfunc = func;
-        return this;
     }
 ENDCLASS(Mutator)
 
index aacfc730a7654ede402e0ba1d6b024c62db22774..ef673d015450e8edf76c877f13fb360eb899a480 100644 (file)
@@ -60,7 +60,6 @@ CLASS(DamageText, Object)
         CONSTRUCT(DamageText);
         this.m_group = _group;
         DamageText_update(this, _origin, _health, _armor);
-        return this;
     }
 ENDCLASS(DamageText)
 #endif
index 01eb7fff2c8e2730fa1a8eca1062571c4467c977..50f2e57e8067c212e34239305d6e513fa7ec685b 100644 (file)
@@ -33,9 +33,13 @@ REGISTER_REGISTRY(RegisterNades)
 CLASS(Nade, Object)
     ATTRIB(Nade, m_id, int, 0)
     ATTRIB(Nade, m_color, vector, '0 0 0')
+    ATTRIB(Nade, m_name, string, _("Grenade"))
     ATTRIB(Nade, m_icon, string, "nade_normal")
     ATTRIBARRAY(Nade, m_projectile, int, 2)
     ATTRIBARRAY(Nade, m_trail, string, 2)
+    METHOD(Nade, display, void(entity this, void(string name, string icon) returns)) {
+        returns(this.m_name, sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon));
+    }
 ENDCLASS(Nade)
 
 REGISTER_NADE(NULL);
@@ -53,6 +57,7 @@ REGISTER_NADE(NORMAL) {
 
 REGISTER_NADE(NAPALM) {
     this.m_color = '2 0.5 0';
+    this.m_name = _("Napalm grenade");
     this.m_icon = "nade_napalm";
     NADE_PROJECTILE(0, PROJECTILE_NADE_NAPALM, "TR_ROCKET");
     NADE_PROJECTILE(1, PROJECTILE_NADE_NAPALM_BURN, "spiderbot_rocket_thrust");
@@ -60,6 +65,7 @@ REGISTER_NADE(NAPALM) {
 
 REGISTER_NADE(ICE) {
     this.m_color = '0 0.5 2';
+    this.m_name = _("Ice grenade");
     this.m_icon = "nade_ice";
     NADE_PROJECTILE(0, PROJECTILE_NADE_ICE, "TR_NEXUIZPLASMA");
     NADE_PROJECTILE(1, PROJECTILE_NADE_ICE_BURN, "wakizashi_rocket_thrust");
@@ -67,6 +73,7 @@ REGISTER_NADE(ICE) {
 
 REGISTER_NADE(TRANSLOCATE) {
     this.m_color = '1 0 1';
+    this.m_name = _("Translocate grenade");
     this.m_icon = "nade_translocate";
     NADE_PROJECTILE(0, PROJECTILE_NADE_TRANSLOCATE, "TR_CRYLINKPLASMA");
     NADE_PROJECTILE(1, PROJECTILE_NADE_TRANSLOCATE, "TR_CRYLINKPLASMA");
@@ -74,6 +81,7 @@ REGISTER_NADE(TRANSLOCATE) {
 
 REGISTER_NADE(SPAWN) {
     this.m_color = '1 0.9 0';
+    this.m_name = _("Spawn grenade");
     this.m_icon = "nade_spawn";
     NADE_PROJECTILE(0, PROJECTILE_NADE_SPAWN, "nade_yellow");
     NADE_PROJECTILE(1, PROJECTILE_NADE_SPAWN, "nade_yellow");
@@ -81,6 +89,7 @@ REGISTER_NADE(SPAWN) {
 
 REGISTER_NADE(HEAL) {
     this.m_color = '1 0 0';
+    this.m_name = _("Heal grenade");
     this.m_icon = "nade_heal";
     NADE_PROJECTILE(0, PROJECTILE_NADE_HEAL, "nade_red");
     NADE_PROJECTILE(1, PROJECTILE_NADE_HEAL_BURN, "nade_red_burn");
@@ -88,6 +97,7 @@ REGISTER_NADE(HEAL) {
 
 REGISTER_NADE(MONSTER) {
     this.m_color = '0.25 0.75 0';
+    this.m_name = _("Monster grenade");
     this.m_icon = "nade_monster";
     NADE_PROJECTILE(0, PROJECTILE_NADE_MONSTER, "nade_red");
     NADE_PROJECTILE(1, PROJECTILE_NADE_MONSTER_BURN, "nade_red_burn");
index add63b0cd819c2ec728d55a7b4c92eac0cb45fd3..3c7237ef408adb7ea2237536a175f4d19476a126 100644 (file)
@@ -47,13 +47,14 @@ entity __spawn(string _classname, string _sourceFile, int _sourceLine) {
     OVERLOAD(spawn##cname, this, ##__VA_ARGS__)
 
 #define CONSTRUCTOR(cname, ...) \
-    cname OVERLOAD(spawn##cname, cname this, __VA_ARGS__)
+    cname OVERLOAD(spawn##cname, cname this, __VA_ARGS__) { return = this; } \
+    [[accumulate]] cname OVERLOAD(spawn##cname, cname this, __VA_ARGS__)
 
 .string vtblname;
 .entity vtblbase;
 
 void RegisterClasses() { }
-ACCUMULATE_FUNCTION(__static_init, RegisterClasses)
+STATIC_INIT(RegisterClasses) { RegisterClasses(); }
 
 #define VTBL(cname, base) \
     INIT_STATIC(cname); \
@@ -111,11 +112,26 @@ ACCUMULATE_FUNCTION(__static_init, RegisterClasses)
     [[last]] INIT(cname) { return this; }
 
 #define SUPER(cname) (cname##_vtbl.vtblbase)
+#define super (this.vtblbase.vtblbase)
 
 #define spawn_static(this)
 #define spawn_1(this)
 #define _vtbl NULL
-CLASS(Object, ); ENDCLASS(Object)
+CLASS(Object, );
+    METHOD(Object, describe, string(entity this)) {
+        string s = _("No description");
+        if (cvar("developer")) {
+            for (int i = 0, n = numentityfields(); i < n; ++i) {
+                string value = getentityfieldstring(i, this);
+                if (value != "") s = sprintf("%s\n%s = %s", s, entityfieldname(i), value);
+            }
+       }
+        return s;
+    }
+    METHOD(Object, display, void(entity this, void(string name, string icon) returns)) {
+        returns(sprintf("entity %i", this), "nopreview_map");
+    }
+ENDCLASS(Object)
 #undef spawn_static
 #undef spawn_1
 #undef _vtbl
index 9f78f6454852d09e390a7e1b44839e3d48b167df..3f0d6a097820b0b9e9ab81fcdeb46b559688503a 100644 (file)
@@ -291,12 +291,12 @@ string GetAmmoPicture(.int ammotype)
 {
        switch (ammotype)
        {
-               case ammo_shells:  return ITEM_Shells.m_ammoPic;
-               case ammo_nails:   return ITEM_Bullets.m_ammoPic;
-               case ammo_rockets: return ITEM_Rockets.m_ammoPic;
-               case ammo_cells:   return ITEM_Cells.m_ammoPic;
-               case ammo_plasma:  return ITEM_Plasma.m_ammoPic;
-               case ammo_fuel:    return ITEM_JetpackFuel.m_ammoPic;
+               case ammo_shells:  return ITEM_Shells.m_icon;
+               case ammo_nails:   return ITEM_Bullets.m_icon;
+               case ammo_rockets: return ITEM_Rockets.m_icon;
+               case ammo_cells:   return ITEM_Cells.m_icon;
+               case ammo_plasma:  return ITEM_Plasma.m_icon;
+               case ammo_fuel:    return ITEM_JetpackFuel.m_icon;
                default: return ""; // wtf, no ammo type?
        }
 }
index ac839a53a047f6006d5b16e9f41403fb61199033..3773765aa964bdbeacdecf905ca24fced928cf45 100644 (file)
@@ -183,6 +183,10 @@ CLASS(Weapon, Object)
     /** M: wepname   : human readable name */
     ATTRIB(Weapon, message, string, "AOL CD Thrower");
 
+       METHOD(Weapon, display, void(entity this, void(string name, string icon) returns)) {
+               returns(this.message, this.model2 ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.model2) : string_null);
+       }
+
        CONSTRUCTOR(Weapon,
                bool(int) function,
                .int ammotype,
@@ -213,7 +217,6 @@ CLASS(Weapon, Object)
                this.model2 = strzone(wepimg);
                this.netname = refname;
                this.message = wepname;
-               return this;
        }
        void register_weapon(entity this, int id, WepSet bit)
        {
index cd72aee3b403d761a1834f703256c99b17ca24c9..1d806e6796e13706951be7f96311341d93a11999 100644 (file)
@@ -9,24 +9,26 @@ GETTER(float, instagib_respawntime_ammo)
 GETTER(float, instagib_respawntimejitter_ammo)
 
 REGISTER_ITEM(VaporizerCells, Ammo) {
-    this.m_model               =   "models/items/a_cells.md3";
-    this.m_sound               =   "misc/itempickup.wav";
-    this.m_name                =   "Vaporizer Ammo";
+    this.m_model                =   "models/items/a_cells.md3";
+    this.m_sound                =   "misc/itempickup.wav";
+    this.m_name                 =   "Vaporizer Ammo";
+    this.m_icon                 =   "ammo_supercells";
 #ifdef SVQC
-    this.m_botvalue            =   100;
-    this.m_itemid              =   IT_CELLS;
-    this.m_respawntime         =   GET(instagib_respawntime_ammo);
-    this.m_respawntimejitter   =   GET(instagib_respawntimejitter_ammo);
+    this.m_botvalue             =   100;
+    this.m_itemid               =   IT_CELLS;
+    this.m_respawntime          =   GET(instagib_respawntime_ammo);
+    this.m_respawntimejitter    =   GET(instagib_respawntimejitter_ammo);
 #endif
 }
 
 REGISTER_ITEM(ExtraLife, Powerup) {
-    this.m_model               =   "models/items/g_h100.md3";
-    this.m_sound               =   "misc/megahealth.wav";
-    this.m_name                =   "Extralife";
+    this.m_model                =   "models/items/g_h100.md3";
+    this.m_sound                =   "misc/megahealth.wav";
+    this.m_name                 =   "Extralife";
+    this.m_icon                 =   "item_mega_health";
 #ifdef SVQC
-    this.m_itemid              =   IT_NAILS;
-    this.m_botvalue            =   BOT_PICKUP_RATING_HIGH;
+    this.m_itemid               =   IT_NAILS;
+    this.m_botvalue             =   BOT_PICKUP_RATING_HIGH;
 #endif
 }