Raised This Month: $ Target: $400
 0% 

TF2Items - Items with custom attributes.


Post New Thread Closed Thread   
 
Thread Tools Display Modes
Snaggle
AlliedModders Donor
Join Date: Jul 2010
Location: England
Old 11-08-2010 , 03:11   Re: TF2Items - Items with custom attributes.
#561

Can someone update the attributes list link please? It no longer works.
Code:
The entry or revision was not found in the repository.
http://tracker.limetech.org/projects...items_game.txt
Snaggle is offline
petomatick
Member
Join Date: Sep 2010
Old 11-08-2010 , 12:48   Re: TF2Items - Items with custom attributes.
#562

Quote:
Originally Posted by DarthNinja View Post
Work on your reading comprehension.
Maybe some special ed classes?
Thank you, so kind u are
__________________
Your destiny lies within the true power of pancakes.
petomatick is offline
Sorrowfire
Member
Join Date: Jul 2010
Location: <Missing String>
Old 11-08-2010 , 16:27   Re: TF2Items - Items with custom attributes.
#563

Quote:
Originally Posted by Snaggle View Post
Can someone update the attributes list link please? It no longer works.
Code:
The entry or revision was not found in the repository.
http://tracker.limetech.org/projects...items_game.txt
I don't really feel like making it all pretty but here you go, just copy and pasted the attributes from the newest (as of this post) list.

Ps:Yes i just Ripped it off items_game.txt

Code:
    }
    "attributes"
    {
        "1"
        {
            "name"    "damage penalty"
            "attribute_class"    "mult_dmg"
            "attribute_name"    "Minor damage penalty"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DamageDone_Negative"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "2"
        {
            "name"    "damage bonus"
            "attribute_class"    "mult_dmg"
            "attribute_name"    "Minor damage bonus"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DamageDone_Positive"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "3"
        {
            "name"    "clip size penalty"
            "attribute_class"    "mult_clipsize"
            "attribute_name"    "Minor clip penalty"
            "min_value"    "0.9"
            "max_value"    "0.75"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ClipSize_Negative"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "4"
        {
            "name"    "clip size bonus"
            "attribute_class"    "mult_clipsize"
            "attribute_name"    "Minor clip size bonus"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ClipSize_Positive"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "5"
        {
            "name"    "fire rate penalty"
            "attribute_class"    "mult_postfiredelay"
            "attribute_name"    "Minor fire rate penalty"
            "min_value"    "1.05"
            "max_value"    "1.25"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_FireRate_Negative"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "6"
        {
            "name"    "fire rate bonus"
            "attribute_class"    "mult_postfiredelay"
            "attribute_name"    "Minor firerate bonus"
            "min_value"    "0.95"
            "max_value"    "0.9"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_FireRate_Positive"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "7"
        {
            "name"    "heal rate penalty"
            "attribute_class"    "mult_medigun_healrate"
            "attribute_name"    "Minor heal rate penalty"
            "min_value"    "0.95"
            "max_value"    "0.8"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealRate_Negative"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "8"
        {
            "name"    "heal rate bonus"
            "attribute_class"    "mult_medigun_healrate"
            "attribute_name"    "Minor heal rate bonus"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealRate_Positive"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "9"
        {
            "name"    "ubercharge rate penalty"
            "attribute_class"    "mult_medigun_uberchargerate"
            "attribute_name"    "Minor uber charge rate penalty"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_UberchargeRate_Negative"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "10"
        {
            "name"    "ubercharge rate bonus"
            "attribute_class"    "mult_medigun_uberchargerate"
            "attribute_name"    "Minor uber charge rate bonus"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_UberchargeRate_Positive"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "11"
        {
            "name"    "overheal bonus"
            "attribute_class"    "mult_medigun_overheal_amount"
            "attribute_name"    "Minor overheal bonus"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_OverhealAmount_Positive"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "12"
        {
            "name"    "overheal decay penalty"
            "attribute_class"    "mult_medigun_overheal_decay"
            "attribute_name"    "Minor overheal decay penalty"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_OverhealDecay_Negative"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "13"
        {
            "name"    "overheal decay bonus"
            "attribute_class"    "mult_medigun_overheal_decay"
            "attribute_name"    "Minor overheal decay bonus"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_OverhealDecay_Positive"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "14"
        {
            "name"    "overheal decay disabled"
            "attribute_class"    "mult_medigun_overheal_decay"
            "attribute_name"    "Overheal decay disabled"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_OverhealDecay_Disabled"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "15"
        {
            "name"    "crit mod disabled"
            "attribute_class"    "mult_crit_chance"
            "attribute_name"    "Crit chance disabled"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CritChance_Disabled"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "no_crits"
            "stored_as_integer"    "0"
        }
        "16"
        {
            "name"    "heal on hit for rapidfire"
            "attribute_class"    "add_onhit_addhealth"
            "attribute_name"    "Minor heal on hit"
            "min_value"    "1"
            "max_value"    "5"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealOnHit_Positive"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_hit"
            "stored_as_integer"    "0"
        }
        "17"
        {
            "name"    "add uber charge on hit"
            "attribute_class"    "add_onhit_ubercharge"
            "attribute_name"    "Minor add uber charge on hit"
            "min_value"    "0.01"
            "max_value"    "0.05"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AddUber_OnHit_Positive"
            "description_format"    "value_is_additive_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_hit"
            "stored_as_integer"    "0"
        }
        "18"
        {
            "name"    "medigun charge is crit boost"
            "attribute_class"    "set_charge_type"
            "attribute_name"    "Medigun charge boosts crit chance"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Medigun_CritBoost"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "19"
        {
            "name"    "tmp dmgbuff on hit"
            "attribute_class"    "addperc_ondmgdone_tmpbuff"
            "attribute_name"    "Add Tmp Dmg Buff on hit"
            "min_value"    "0.15"
            "max_value"    "0.2"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DamageDoneBonus_Positive"
            "description_format"    "value_is_additive_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_hit"
            "stored_as_integer"    "0"
        }
        "20"
        {
            "name"    "crit vs burning players"
            "attribute_class"    "or_crit_vs_playercond"
            "attribute_name"    "Critical Hit vs Burning Players"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CritVsBurning"
            "description_format"    "value_is_or"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "21"
        {
            "name"    "dmg penalty vs nonburning"
            "attribute_class"    "mult_dmg_vs_nonburning"
            "attribute_name"    "Damage penalty vs non burning players"
            "min_value"    "0.99"
            "max_value"    "0.95"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgPenaltyVsNonBurning"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "22"
        {
            "name"    "no crit vs nonburning"
            "attribute_class"    "set_nocrit_vs_nonburning"
            "attribute_name"    "Crits Disabled vs Non-burning players"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_NoCritVsNonBurning"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "23"
        {
            "name"    "mod flamethrower push"
            "attribute_class"    "set_flamethrower_push_disabled"
            "attribute_name"    "Disables flamethrower push"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ModFlamethrowerPush"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "24"
        {
            "name"    "mod flamethrower back crit"
            "attribute_class"    "set_flamethrower_back_crit"
            "attribute_name"    "Turns on back crits for the flamethrower"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ModFlamethrower_BackCrits"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "25"
        {
            "name"    "hidden secondary max ammo penalty"
            "attribute_class"    "mult_maxammo_secondary"
            "attribute_name"    "Minor secondary max ammo penalty"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "unused"
            "description_format"    "value_is_percentage"
            "hidden"    "1"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "26"
        {
            "name"    "max health additive bonus"
            "attribute_class"    "add_maxhealth"
            "attribute_name"    "Minor max health bonus"
            "min_value"    "5"
            "max_value"    "15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxHealth_Positive"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "27"
        {
            "name"    "alt-fire disabled"
            "attribute_class"    "unimplemented_altfire_disabled"
            "attribute_name"    "Alt-fire Disabled"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AltFire_Disabled"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "28"
        {
            "name"    "crit mod disabled hidden"
            "attribute_class"    "mult_crit_chance"
            "attribute_name"    "Crit Chance disabled"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CritChance_Disabled"
            "description_format"    "value_is_percentage"
            "hidden"    "1"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "29"
        {
            "name"    "alt-fire is vampire"
            "attribute_class"    "set_altfire_mode"
            "attribute_name"    "Alt-fire Is Vampire"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AltFire_Is_Vampire"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "30"
        {
            "name"    "fists have radial buff"
            "attribute_class"    "set_weapon_mode"
            "attribute_name"    "Fists Have Radial Buff"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_FistsHaveRadialBuff"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "31"
        {
            "name"    "critboost on kill"
            "attribute_class"    "add_onkill_critboost_time"
            "attribute_name"    "Add CritBoost effect on kill"
            "min_value"    "2"
            "max_value"    "3"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CritBoost_OnKill"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_kill"
            "stored_as_integer"    "0"
        }
        "32"
        {
            "name"    "slow enemy on hit"
            "attribute_class"    "mult_onhit_enemyspeed"
            "attribute_name"    "Minor slow enemy on hit"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Slow_Enemy_OnHit"
            "description_format"    "value_is_additive_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_hit"
            "stored_as_integer"    "0"
        }
        "33"
        {
            "name"    "set cloak is feign death"
            "attribute_class"    "set_weapon_mode"
            "attribute_name"    "Replaces cloak power with feign death."
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CloakIsFeignDeath"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "neutral"
            "armory_desc"    "cloak_type"
            "stored_as_integer"    "0"
        }
        "34"
        {
            "name"    "mult cloak meter consume rate"
            "attribute_class"    "mult_cloak_meter_consume_rate"
            "attribute_name"    "Rate cloak energy is consumed."
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CloakMeterConsumeRate"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "35"
        {
            "name"    "mult cloak meter regen rate"
            "attribute_class"    "mult_cloak_meter_regen_rate"
            "attribute_name"    "Rate cloak energy is regenerated."
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CloakMeterRegenRate"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "36"
        {
            "name"    "spread penalty"
            "attribute_class"    "mult_spread_scale"
            "attribute_name"    "Shot spread penalty"
            "min_value"    "1.05"
            "max_value"    "1.25"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Spread_Negative"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "37"
        {
            "name"    "hidden primary max ammo bonus"
            "attribute_class"    "mult_maxammo_primary"
            "attribute_name"    "Primary max ammo bonus"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "unused"
            "description_format"    "value_is_percentage"
            "hidden"    "1"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "38"
        {
            "name"    "mod bat launches balls"
            "attribute_class"    "set_weapon_mode"
            "attribute_name"    "Bat can fire several grenades before melee mode."
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_BatLaunchesBalls"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "39"
        {
            "name"    "dmg penalty vs nonstunned"
            "attribute_class"    "unimplemented_mod_dmg_vs_nonstunned"
            "attribute_name"    "Damage penalty vs non stunned players"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgPenaltyVsNonStunned"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "40"
        {
            "name"    "zoom speed mod disabled"
            "attribute_class"    "unimplemented_mod_zoom_speed_disabled"
            "attribute_name"    "Zoom Speed Mod Disabled"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ZoomSpeedMod_Disabled"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "41"
        {
            "name"    "sniper charge per sec"
            "attribute_class"    "mult_sniper_charge_per_sec"
            "attribute_name"    "sniper charge per sec"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SniperCharge_Per_Sec"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "42"
        {
            "name"    "sniper no headshots"
            "attribute_class"    "set_weapon_mode"
            "attribute_name"    "Sniper no headshots"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SniperNoHeadshots"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "43"
        {
            "name"    "scattergun no reload single"
            "attribute_class"    "set_scattergun_no_reload_single"
            "attribute_name"    "Scattergun No Reload Single"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Scattergun_NoReloadSingle"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "44"
        {
            "name"    "scattergun has knockback"
            "attribute_class"    "set_scattergun_has_knockback"
            "attribute_name"    "Scattergun Has Knockback"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Scattergun_HasKnockback"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "45"
        {
            "name"    "bullets per shot bonus"
            "attribute_class"    "mult_bullets_per_shot"
            "attribute_name"    "Minor bullets per shot bonus"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_BulletsPerShot_Bonus"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "46"
        {
            "name"    "sniper zoom penalty"
            "attribute_class"    "mult_zoom_fov"
            "attribute_name"    "Sniper zoom penalty"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SniperZoom_Penalty"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "47"
        {
            "name"    "sniper no charge"
            "attribute_class"    "unimplemented_mod_sniper_no_charge"
            "attribute_name"    "Sniper no charge"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SniperNoCharge"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "48"
        {
            "name"    "set cloak is movement based"
            "attribute_class"    "set_weapon_mode"
            "attribute_name"    "Replaces default cloak with a motion based cloak."
            "min_value"    "2"
            "max_value"    "2"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CloakIsMovementBased"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "neutral"
            "armory_desc"    "cloak_type"
            "stored_as_integer"    "0"
        }
        "49"
        {
            "name"    "no double jump"
            "attribute_class"    "set_scout_doublejump_disabled"
            "attribute_name"    "Disables double jump"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_NoDoubleJump"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "50"
        {
            "name"    "absorb damage while cloaked"
            "attribute_class"    "unimplemented_absorb_dmg_while_cloaked"
            "attribute_name"    "Absorbs damage when cloaked."
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AbsorbDmgWhileCloaked"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "51"
        {
            "name"    "revolver use hit locations"
            "attribute_class"    "set_weapon_mode"
            "attribute_name"    "Revolver uses hit locations"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_RevolverUseHitLocations"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "52"
        {
            "name"    "backstab shield"
            "attribute_class"    "set_blockbackstab_once"
            "attribute_name"    "Stops one backstab."
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_BackstabShield"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "53"
        {
            "name"    "fire retardant"
            "attribute_class"    "set_fire_retardant"
            "attribute_name"    "Player cannot be set on fire."
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_FireRetardant"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "54"
        {
            "name"    "move speed penalty"
            "attribute_class"    "mult_player_movespeed"
            "attribute_name"    "Minor move speed penalty"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MoveSpeed_Penalty"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "55"
        {
            "name"    "obsolete ammo penalty"
            "attribute_class"    "obsolete"
            "attribute_name"    "Minor primary max ammo penalty"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "unused"
            "description_format"    "value_is_percentage"
            "hidden"    "1"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "56"
        {
            "name"    "jarate description"
            "attribute_class"    "desc_jarate_description"
            "attribute_name"    "Text description of jarate"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Jarate_Description"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "57"
        {
            "name"    "health regen"
            "attribute_class"    "add_health_regen"
            "attribute_name"    "Minor health regeneration"
            "min_value"    "0.3"
            "max_value"    "0.5"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealthRegen"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "58"
        {
            "name"    "self dmg push force increased"
            "attribute_class"    "mult_dmgself_push_force"
            "attribute_name"    "Minor increased self dmg push force"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SelfDmgPush_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "59"
        {
            "name"    "self dmg push force decreased"
            "attribute_class"    "mult_dmgself_push_force"
            "attribute_name"    "Minor decreased self dmg push force"
            "min_value"    "0.95"
            "max_value"    "0.9"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SelfDmgPush_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "60"
        {
            "name"    "dmg taken from fire reduced"
            "attribute_class"    "mult_dmgtaken_from_fire"
            "attribute_name"    "Minor fire damage reduction"
            "min_value"    "0.95"
            "max_value"    "0.9"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgTaken_From_Fire_Reduced"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "61"
        {
            "name"    "dmg taken from fire increased"
            "attribute_class"    "mult_dmgtaken_from_fire"
            "attribute_name"    "Minor fire damage increased"
            "min_value"    "1.05"
            "max_value"    "1.25"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgTaken_From_Fire_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "62"
        {
            "name"    "dmg taken from crit reduced"
            "attribute_class"    "mult_dmgtaken_from_crit"
            "attribute_name"    "Minor crit damage reduction"
            "min_value"    "0.9"
            "max_value"    "0.75"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgTaken_From_Crit_Reduced"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "63"
        {
            "name"    "dmg taken from crit increased"
            "attribute_class"    "mult_dmgtaken_from_crit"
            "attribute_name"    "Minor crit damage increased"
            "min_value"    "1.05"
            "max_value"    "1.25"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgTaken_From_Crit_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "64"
        {
            "name"    "dmg taken from blast reduced"
            "attribute_class"    "mult_dmgtaken_from_explosions"
            "attribute_name"    "Minor blast damage reduced"
            "min_value"    "0.95"
            "max_value"    "0.9"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgTaken_From_Blast_Reduced"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "65"
        {
            "name"    "dmg taken from blast increased"
            "attribute_class"    "mult_dmgtaken_from_explosions"
            "attribute_name"    "Minor blast damage increased"
            "min_value"    "1.05"
            "max_value"    "1.25"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgTaken_From_Blast_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "66"
        {
            "name"    "dmg taken from bullets reduced"
            "attribute_class"    "mult_dmgtaken_from_bullets"
            "attribute_name"    "Minor bullet damage reduced"
            "min_value"    "0.95"
            "max_value"    "0.9"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgTaken_From_Bullets_Reduced"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "67"
        {
            "name"    "dmg taken from bullets increased"
            "attribute_class"    "mult_dmgtaken_from_bullets"
            "attribute_name"    "Minor bullet damage increased"
            "min_value"    "1.05"
            "max_value"    "1.25"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgTaken_From_Bullets_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "68"
        {
            "name"    "increase player capture value"
            "attribute_class"    "add_player_capturevalue"
            "attribute_name"    "Minor capture value increase"
            "min_value"    "1"
            "max_value"    "2"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CaptureValue_Increased"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "69"
        {
            "name"    "health from healers reduced"
            "attribute_class"    "mult_health_fromhealers"
            "attribute_name"    "Minor penalty to health from healers"
            "min_value"    "0.95"
            "max_value"    "0.7"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealthFromHealers_Reduced"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "70"
        {
            "name"    "health from healers increased"
            "attribute_class"    "mult_health_fromhealers"
            "attribute_name"    "Minor increase to health from healers"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealthFromHealers_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "71"
        {
            "name"    "weapon burn dmg increased"
            "attribute_class"    "mult_wpn_burndmg"
            "attribute_name"    "Minor increase to burn dmg"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_WpnBurnDmg_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "72"
        {
            "name"    "weapon burn dmg reduced"
            "attribute_class"    "mult_wpn_burndmg"
            "attribute_name"    "Minor reduction to burn dmg"
            "min_value"    "0.95"
            "max_value"    "0.7"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_WpnBurnDmg_Reduced"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "73"
        {
            "name"    "weapon burn time increased"
            "attribute_class"    "mult_wpn_burntime"
            "attribute_name"    "Minor increase to burn time"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_WpnBurnTime_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "74"
        {
            "name"    "weapon burn time reduced"
            "attribute_class"    "mult_wpn_burntime"
            "attribute_name"    "Minor reduction to burn time"
            "min_value"    "0.95"
            "max_value"    "0.7"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_WpnBurnTime_Reduced"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "75"
        {
            "name"    "aiming movespeed increased"
            "attribute_class"    "mult_player_aiming_movespeed"
            "attribute_name"    "Minor aiming movespeed increase"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AimingMoveSpeed_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "76"
        {
            "name"    "maxammo primary increased"
            "attribute_class"    "mult_maxammo_primary"
            "attribute_name"    "Minor primary maxammo increase"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxammoPrimary_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "77"
        {
            "name"    "maxammo primary reduced"
            "attribute_class"    "mult_maxammo_primary"
            "attribute_name"    "Minor primary maxammo reduction"
            "min_value"    "0.9"
            "max_value"    "0.6"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxammoPrimary_Reduced"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "78"
        {
            "name"    "maxammo secondary increased"
            "attribute_class"    "mult_maxammo_secondary"
            "attribute_name"    "Minor secondary maxammo increase"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxammoSecondary_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "79"
        {
            "name"    "maxammo secondary reduced"
            "attribute_class"    "mult_maxammo_secondary"
            "attribute_name"    "Minor secondary maxammo reduction"
            "min_value"    "0.9"
            "max_value"    "0.6"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxammoSecondary_Reduced"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "80"
        {
            "name"    "maxammo metal increased"
            "attribute_class"    "mult_maxammo_metal"
            "attribute_name"    "Minor metal maxammo increase"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxammoMetal_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "81"
        {
            "name"    "maxammo metal reduced"
            "attribute_class"    "mult_maxammo_metal"
            "attribute_name"    "Minor metal maxammo reduction"
            "min_value"    "0.95"
            "max_value"    "0.65"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxammoMetal_Reduced"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "82"
        {
            "name"    "cloak consume rate increased"
            "attribute_class"    "mult_cloak_meter_consume_rate"
            "attribute_name"    "Minor cloak consume rate increase"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CloakConsumeRate_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "83"
        {
            "name"    "cloak consume rate decreased"
            "attribute_class"    "mult_cloak_meter_consume_rate"
            "attribute_name"    "Minor cloak consume rate decrease"
            "min_value"    "0.95"
            "max_value"    "0.7"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CloakConsumeRate_Decreased"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "84"
        {
            "name"    "cloak regen rate increased"
            "attribute_class"    "mult_cloak_meter_regen_rate"
            "attribute_name"    "Minor cloak regen rate increase"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CloakRegenRate_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "85"
        {
            "name"    "cloak regen rate decreased"
            "attribute_class"    "mult_cloak_meter_regen_rate"
            "attribute_name"    "Minor cloak regen rate decrease"
            "min_value"    "0.95"
            "max_value"    "0.7"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CloakRegenRate_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "86"
        {
            "name"    "minigun spinup time increased"
            "attribute_class"    "mult_minigun_spinup_time"
            "attribute_name"    "Minor minigun spinup time increase"
            "min_value"    "1.05"
            "max_value"    "1.2"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MinigunSpinup_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "87"
        {
            "name"    "minigun spinup time decreased"
            "attribute_class"    "mult_minigun_spinup_time"
            "attribute_name"    "Minor minigun spinup time decrease"
            "min_value"    "0.95"
            "max_value"    "0.8"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MinigunSpinup_Decreased"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "88"
        {
            "name"    "max pipebombs increased"
            "attribute_class"    "add_max_pipebombs"
            "attribute_name"    "Minor max pipebomb increase"
            "min_value"    "2"
            "max_value"    "3"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxPipebombs_Increased"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "89"
        {
            "name"    "max pipebombs decreased"
            "attribute_class"    "add_max_pipebombs"
            "attribute_name"    "Minor max pipebomb decrease"
            "min_value"    "-2"
            "max_value"    "-4"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxPipebombs_Decreased"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "90"
        {
            "name"    "SRifle Charge rate increased"
            "attribute_class"    "mult_sniper_charge_per_sec"
            "attribute_name"    "Minor charge rate increase"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SRifleChargeRate_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "91"
        {
            "name"    "SRifle Charge rate decreased"
            "attribute_class"    "mult_sniper_charge_per_sec"
            "attribute_name"    "Minor charge rate decrease"
            "min_value"    "0.95"
            "max_value"    "0.8"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SRifleChargeRate_Decreased"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "92"
        {
            "name"    "Construction rate increased"
            "attribute_class"    "mult_construction_value"
            "attribute_name"    "Minor construction rate increase"
            "min_value"    "1.1"
            "max_value"    "1.3"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ConstructionRate_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "93"
        {
            "name"    "Construction rate decreased"
            "attribute_class"    "mult_construction_value"
            "attribute_name"    "Minor construction rate decrease"
            "min_value"    "0.9"
            "max_value"    "0.7"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ConstructionRate_Decreased"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "94"
        {
            "name"    "Repair rate increased"
            "attribute_class"    "mult_repair_value"
            "attribute_name"    "Minor repair rate increase"
            "min_value"    "1.05"
            "max_value"    "1.2"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_RepairRate_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "95"
        {
            "name"    "Repair rate decreased"
            "attribute_class"    "mult_repair_value"
            "attribute_name"    "Minor repair rate decrease"
            "min_value"    "0.9"
            "max_value"    "0.75"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_RepairRate_Decreased"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "96"
        {
            "name"    "Reload time increased"
            "attribute_class"    "mult_reload_time"
            "attribute_name"    "Minor reload time increase"
            "min_value"    "1.1"
            "max_value"    "1.4"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ReloadTime_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "97"
        {
            "name"    "Reload time decreased"
            "attribute_class"    "mult_reload_time"
            "attribute_name"    "Minor reload time decrease"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ReloadTime_Decreased"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "98"
        {
            "name"    "selfdmg on hit for rapidfire"
            "attribute_class"    "add_onhit_addhealth"
            "attribute_name"    "Minor self dmg on hit"
            "min_value"    "-1"
            "max_value"    "-3"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealOnHit_Negative"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_hit"
            "stored_as_integer"    "0"
        }
        "99"
        {
            "name"    "Blast radius increased"
            "attribute_class"    "mult_explosion_radius"
            "attribute_name"    "Minor explosion radius increase"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_BlastRadius_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "100"
        {
            "name"    "Blast radius decreased"
            "attribute_class"    "mult_explosion_radius"
            "attribute_name"    "Minor explosion radius decrease"
            "min_value"    "0.95"
            "max_value"    "0.75"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_BlastRadius_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "101"
        {
            "name"    "Projectile range increased"
            "attribute_class"    "mult_projectile_range"
            "attribute_name"    "Minor projectile range increase"
            "min_value"    "1.1"
            "max_value"    "1.3"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ProjectileRange_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "102"
        {
            "name"    "Projectile range decreased"
            "attribute_class"    "mult_projectile_range"
            "attribute_name"    "Minor projectile range decrease"
            "min_value"    "0.9"
            "max_value"    "0.7"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ProjectileRange_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "103"
        {
            "name"    "Projectile speed increased"
            "attribute_class"    "mult_projectile_speed"
            "attribute_name"    "Minor projectile speed increase"
            "min_value"    "1.05"
            "max_value"    "1.15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ProjectileSpeed_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "104"
        {
            "name"    "Projectile speed decreased"
            "attribute_class"    "mult_projectile_speed"
            "attribute_name"    "Minor projectile speed decrease"
            "min_value"    "0.9"
            "max_value"    "0.75"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ProjectileSpeed_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "105"
        {
            "name"    "overheal penalty"
            "attribute_class"    "mult_medigun_overheal_amount"
            "attribute_name"    "Minor overheal penalty"
            "min_value"    "0.9"
            "max_value"    "0.7"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_OverhealAmount_Negative"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "106"
        {
            "name"    "weapon spread bonus"
            "attribute_class"    "mult_spread_scale"
            "attribute_name"    "Shot spread bonus"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Spread_Positive"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "107"
        {
            "name"    "move speed bonus"
            "attribute_class"    "mult_player_movespeed"
            "attribute_name"    "Minor move speed bonus"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MoveSpeed_Bonus"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "108"
        {
            "name"    "health from packs increased"
            "attribute_class"    "mult_health_frompacks"
            "attribute_name"    "Minor bonus to health from packs"
            "min_value"    "1.1"
            "max_value"    "1.25"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealthFromPacks_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "109"
        {
            "name"    "health from packs decreased"
            "attribute_class"    "mult_health_frompacks"
            "attribute_name"    "Minor penalty to health from packs"
            "min_value"    "0.95"
            "max_value"    "0.6"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealthFromPacks_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "110"
        {
            "name"    "heal on hit for slowfire"
            "attribute_class"    "add_onhit_addhealth"
            "attribute_name"    "Minor heal on hit"
            "min_value"    "10"
            "max_value"    "15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealOnHit_Positive"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_hit"
            "stored_as_integer"    "0"
        }
        "111"
        {
            "name"    "selfdmg on hit for slowfire"
            "attribute_class"    "add_onhit_addhealth"
            "attribute_name"    "Minor self dmg on hit"
            "min_value"    "-3"
            "max_value"    "-8"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealOnHit_Negative"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_hit"
            "stored_as_integer"    "0"
        }
        "112"
        {
            "name"    "ammo regen"
            "attribute_class"    "addperc_ammo_regen"
            "attribute_name"    "Minor ammo regeneration"
            "min_value"    "0.03"
            "max_value"    "0.08"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AmmoRegen"
            "description_format"    "value_is_additive_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "113"
        {
            "name"    "metal regen"
            "attribute_class"    "add_metal_regen"
            "attribute_name"    "Minor health regeneration"
            "min_value"    "1"
            "max_value"    "8"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MetalRegen"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "114"
        {
            "name"    "mod mini-crit airborne"
            "attribute_class"    "mini_crit_airborne"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MiniCritAirborneEnemies"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "115"
        {
            "name"    "mod shovel damage boost"
            "attribute_class"    "set_weapon_mode"
            "attribute_name"    "Shovel deals more damage."
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ShovelDamageBoost"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "116"
        {
            "name"    "mod soldier buff type"
            "attribute_class"    "set_buff_type"
            "attribute_name"    "indicates soldier activated buff type"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SoldierBuffType"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "117"
        {
            "name"    "dmg falloff increased"
            "attribute_class"    "mult_dmg_falloff"
            "attribute_name"    "Damage falloff"
            "min_value"    "0.95"
            "max_value"    "0.9"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Dmg_Falloff_Increased"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "118"
        {
            "name"    "dmg falloff decreased"
            "attribute_class"    "mult_dmg_falloff"
            "attribute_name"    "Damage falloff"
            "min_value"    "0.95"
            "max_value"    "0.9"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Dmg_Falloff_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "119"
        {
            "name"    "sticky detonate mode"
            "attribute_class"    "set_detonate_mode"
            "attribute_name"    "indicates method of detonating stickies"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_StickyDetonateMode"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "120"
        {
            "name"    "sticky arm time penalty"
            "attribute_class"    "sticky_arm_time"
            "attribute_name"    "makes stickies take longer to arm"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_StickyArmTimePenalty"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "121"
        {
            "name"    "stickies detonate stickies"
            "attribute_class"    "stickies_detonate_stickies"
            "attribute_name"    "indicates these stickies can destroy enemy stickies"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_StickiesDetonateStickies"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "122"
        {
            "name"    "mod demo buff type"
            "attribute_class"    "set_buff_type"
            "attribute_name"    "indicates demo activated buff type"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DemoBuffType"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "123"
        {
            "name"    "speed boost when active"
            "attribute_class"    "mult_move_speed_when_active"
            "attribute_name"    "move speed buff when item is active"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SpeedBoostWhenActive"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_active"
            "stored_as_integer"    "0"
        }
        "124"
        {
            "name"    "mod wrench builds minisentry"
            "attribute_class"    "wrench_builds_minisentry"
            "attribute_name"    "Wrench builds minisentry"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_WrenchBuildsMiniSentry"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "125"
        {
            "name"    "max health additive penalty"
            "attribute_class"    "add_maxhealth"
            "attribute_name"    "Minor max health penalty"
            "min_value"    "-5"
            "max_value"    "-15"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxHealth_Negative"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "126"
        {
            "name"    "sticky arm time bonus"
            "attribute_class"    "sticky_arm_time"
            "attribute_name"    "makes stickies arm more quickly"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_StickyArmTimeBonus"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "127"
        {
            "name"    "sticky air burst mode"
            "attribute_class"    "set_detonate_mode"
            "attribute_name"    "set mode to 2"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_StickyAirBurstMode"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "128"
        {
            "name"    "provide on active"
            "attribute_class"    "provide_on_active"
            "attribute_name"    "the item will only provide its attributes when it is the active weapon"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ProvideOnActive"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "neutral"
            "armory_desc"    "on_active"
            "stored_as_integer"    "0"
        }
        "129"
        {
            "name"    "health drain"
            "attribute_class"    "add_health_regen"
            "attribute_name"    "Minor health drain"
            "min_value"    "0.3"
            "max_value"    "0.5"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealthDrain"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "130"
        {
            "name"    "medic regen bonus"
            "attribute_class"    "medic_regen"
            "attribute_name"    "medic regen bonus"
            "min_value"    "0.3"
            "max_value"    "0.5"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MedicRegenBonus"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "131"
        {
            "name"    "medic regen penalty"
            "attribute_class"    "medic_regen"
            "attribute_name"    "medic regen penalty"
            "min_value"    "0.3"
            "max_value"    "0.5"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MedicRegenPenalty"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "132"
        {
            "name"    "community description"
            "attribute_class"    "desc_community_description"
            "attribute_name"    "Text description of community"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Community_Description"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "133"
        {
            "name"    "soldier model index"
            "attribute_class"    "desc_soldiermedal_index"
            "attribute_name"    "Text description of soldier medal"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MedalIndex_Description"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "1"
        }
        "134"
        {
            "name"    "attach particle effect"
            "attribute_class"    "set_attached_particle"
            "attribute_name"    "Attach Custom Particle"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AttachedParticle"
            "description_format"    "value_is_particle_index"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "135"
        {
            "name"    "rocket jump damage reduction"
            "attribute_class"    "rocket_jump_dmg_reduction"
            "attribute_name"    "Reduces damage from rocket jumping"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_RocketJumpDmgReduction"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "136"
        {
            "name"    "mod sentry killed revenge"
            "attribute_class"    "sentry_killed_revenge"
            "attribute_name"    "Player receives crits for his sentry's death."
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SentryKilledRevenge"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "137"
        {
            "name"    "dmg bonus vs buildings"
            "attribute_class"    "mult_dmg_vs_buildings"
            "attribute_name"    "Minor damage bonus Vs Buildings"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgVsBuilding_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "138"
        {
            "name"    "dmg penalty vs players"
            "attribute_class"    "mult_dmg_vs_players"
            "attribute_name"    "Minor damage penalty Vs players"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgVsPlayer_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "139"
        {
            "name"    "lunchbox adds maxhealth bonus"
            "attribute_class"    "set_weapon_mode"
            "attribute_name"    "Lunchbox adds max health bonus"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_LunchboxAddsMaxHealth"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "140"
        {
            "name"    "hidden maxhealth non buffed"
            "attribute_class"    "add_maxhealth_nonbuffed"
            "attribute_name"    "Max health buff that doesn't affect buffed max"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MaxHealth_Positive"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "141"
        {
            "name"    "selfmade description"
            "attribute_class"    "desc_selfmade_description"
            "attribute_name"    "Text description of selfmade"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Selfmade_Description"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "142"
        {
            "name"    "set item tint RGB"
            "attribute_class"    "set_item_tint_rgb"
            "attribute_name"    "Sets the RGB on tinted items"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Selfmade_Description"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "143"
        {
            "name"    "custom employee number"
            "attribute_class"    "set_employee_number"
            "attribute_name"    "Set Employee Number"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_EmployeeNumber"
            "description_format"    "value_is_date"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "1"
        }
        "144"
        {
            "name"    "lunchbox adds minicrits"
            "attribute_class"    "set_weapon_mode"
            "attribute_name"    "Lunchbox adds minicrits"
            "min_value"    "2"
            "max_value"    "2"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_LunchboxAddsMaxHealth"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "146"
        {
            "name"    "damage applies to sappers"
            "attribute_class"    "set_dmg_apply_to_sapper"
            "attribute_name"    "Damage applies to sappers"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgAppliesToSappers"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "147"
        {
            "name"    "Wrench index"
            "attribute_class"    "desc_wrench_index"
            "attribute_name"    "Wrench index"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_WrenchNumber"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "1"
        }
        "148"
        {
            "name"    "building cost reduction"
            "attribute_class"    "building_cost_reduction"
            "attribute_name"    "Building cost reduction"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_BuildingCostReduction"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "149"
        {
            "name"    "bleeding duration"
            "attribute_class"    "bleeding_duration"
            "attribute_name"    "Bleeding Duration"
            "min_value"    "1"
            "max_value"    "4"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_BleedingDuration"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_hit bleed"
            "stored_as_integer"    "0"
        }
        "150"
        {
            "name"    "turn to gold"
            "attribute_class"    "set_turn_to_gold"
            "attribute_name"    "turns corpse to gold"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_TurnToGold"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }

        "153"
        {
            "name"    "cannot trade"
            "attribute_class"    "cannot_trade"
            "attribute_name"    "cannot trade"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CannotTrade"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "154"
        {
            "name"    "disguise on backstab"
            "attribute_class"    "set_disguise_on_backstab"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DisguiseOnBackstab"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "155"
        {
            "name"    "cannot disguise"
            "attribute_class"    "set_cannot_disguise"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CannotDisguise"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "156"
        {
            "name"    "silent killer"
            "attribute_class"    "set_silent_killer"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SilentKiller"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "157"
        {
            "name"    "disguise speed penalty"
            "attribute_class"    "disguise_speed_penalty"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DisguiseSpeedPenalty"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "158"
        {
            "name"    "add cloak on kill"
            "attribute_class"    "add_cloak_on_kill"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AddCloakOnKill"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "159"
        {
            "name"    "cloak blink time penalty"
            "attribute_class"    "cloak_blink_time_penalty"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_CloakBlinkTimePenalty"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "160"
        {
            "name"    "quiet unstealth"
            "attribute_class"    "set_quiet_unstealth"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_QuietUnstealth"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "161"
        {
            "name"    "flame size penalty"
            "attribute_class"    "mult_flame_size"
            "attribute_name"    "flame size penalty"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_FlameSize_Negative"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "162"
        {
            "name"    "flame size bonus"
            "attribute_class"    "mult_flame_size"
            "attribute_name"    "flame size bonus"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_FlameSize_Positive"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "163"
        {
            "name"    "flame life penalty"
            "attribute_class"    "mult_flame_life"
            "attribute_name"    "flame life penalty"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_FlameLife_Negative"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "164"
        {
            "name"    "flame life bonus"
            "attribute_class"    "mult_flame_life"
            "attribute_name"    "flame life bonus"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_FlameLife_Positive"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "165"
        {
            "name"    "charged airblast"
            "attribute_class"    "set_charged_airblast"
            "attribute_name"    "charged airblast"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ChargedAirblast"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "166"
        {
            "name"    "add cloak on hit"
            "attribute_class"    "add_cloak_on_hit"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AddCloakOnHit"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "167"
        {
            "name"    "disguise damage reduction"
            "attribute_class"    "disguise_damage_reduction"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DisguiseDamageReduction"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "168"
        {
            "name"    "disguise no burn"
            "attribute_class"    "disguise_no_burn"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DisguiseNoBurn"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "169"
        {
            "name"    "dmg from sentry reduced"
            "attribute_class"    "dmg_from_sentry_reduced"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DmgFromSentryReduced"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "170"
        {
            "name"    "airblast cost increased"
            "attribute_class"    "mult_airblast_cost"
            "attribute_name"    "airblast cost increased"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AirblastCost_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "171"
        {
            "name"    "airblast cost decreased"
            "attribute_class"    "mult_airblast_cost"
            "attribute_name"    "airblast cost decreased"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AirblastCost_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "172"
        {
            "name"    "purchased"
            "attribute_class"    "purchased"
            "attribute_name"    "purchased"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Purchased"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "173"
        {
            "name"    "flame ammopersec increased"
            "attribute_class"    "mult_flame_ammopersec"
            "attribute_name"    "flame ammopersec increased"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_FlameAmmoPerSec_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "174"
        {
            "name"    "flame ammopersec decreased"
            "attribute_class"    "mult_flame_ammopersec"
            "attribute_name"    "flame ammopersec decreased"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_FlameAmmoPerSec_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "175"
        {
            "name"    "jarate duration"
            "attribute_class"    "jarate_duration"
            "attribute_name"    "Jarate Duration"
            "min_value"    "1"
            "max_value"    "4"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_JarateDuration"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_hit jarate"
            "stored_as_integer"    "0"
        }
        "176"
        {
            "name"    "no death from headshots"
            "attribute_class"    "no_death_from_headshots"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_NoDeathFromHeadshots"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "177"
        {
            "name"    "deploy time increased"
            "attribute_class"    "mult_deploy_time"
            "attribute_name"    "deploy time increased"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DeployTime_Increased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "178"
        {
            "name"    "deploy time decreased"
            "attribute_class"    "mult_deploy_time"
            "attribute_name"    "deploy time decreased"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DeployTime_Decreased"
            "description_format"    "value_is_inverted_percentage"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "179"
        {
            "name"    "minicrits become crits"
            "attribute_class"    "minicrits_become_crits"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_MinicritsBecomeCrits"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "180"
        {
            "name"    "heal on kill"
            "attribute_class"    "heal_on_kill"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealOnKill"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "181"
        {
            "name"    "no self blast dmg"
            "attribute_class"    "no_self_blast_dmg"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_NoSelfBlastDmg"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "182"
        {
            "name"    "slow enemy on hit major"
            "attribute_class"    "mult_onhit_enemyspeed_major"
            "attribute_name"    "Major slow enemy on hit"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Slow_Enemy_OnHit_Major"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_hit"
            "stored_as_integer"    "0"
        }
        "183"
        {
            "name"    "aiming movespeed decreased"
            "attribute_class"    "mult_player_aiming_movespeed"
            "attribute_name"    "Minor aiming movespeed decrease"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_AimingMoveSpeed_Decreased"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "184"
        {
            "name"    "duel loser account id"
            "attribute_class"    "duel_loser_account_id"
            "attribute_name"    "duel loser account id"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DuelLoserAccountID"
            "description_format"    "value_is_account_id"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "1"
        }
        "185"
        {
            "name"    "event date"
            "attribute_class"    "event_date"
            "attribute_name"    "event date"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_EventDate"
            "description_format"    "value_is_date"
            "hidden"    "0"
            "effect_type"    "neutral"
            "stored_as_integer"    "1"
        }
        "186"
        {
            "name"    "gifter account id"
            "attribute_class"    "gifter_account_id"
            "attribute_name"    "gifter account id"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_GifterAccountID"
            "description_format"    "value_is_account_id"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "1"
        }
        "187"
        {
            "name"    "set supply crate series"
            "attribute_class"    "supply_crate_series"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_SupplyCrateSeries"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "188"
        {
            "name"    "preserve ubercharge"
            "attribute_class"    "preserve_ubercharge"
            "attribute_name"    "Preserve Ubercharge"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_PreserveUbercharge"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "189"
        {
            "name"    "elevate quality"
            "attribute_class"    "set_elevated_quality"
            "attribute_name"    "Elevate Quality"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ElevateQuality"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
        "190"
        {
            "name"    "active health regen"
            "attribute_class"    "active_item_health_regen"
            "attribute_name"    "Minor health regen"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealthRegen"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "191"
        {
            "name"    "active health degen"
            "attribute_class"    "active_item_health_regen"
            "attribute_name"    "Minor health degen"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_HealthDrain"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "0"
        }
        "192"
        {
            "name"    "referenced item id low"
            "attribute_class"    "referenced_item_id_low"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "1"
        }
        "193"
        {
            "name"    "referenced item id high"
            "attribute_class"    "referenced_item_id_high"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "1"
        }
        "194"
        {
            "name"    "referenced item def"
            "attribute_class"    "referenced_item_def"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_ReferencedItem"
            "description_format"    "value_is_item_def"
            "hidden"    "1"
            "effect_type"    "negative"
            "armory_desc"    "on_wearer"
            "stored_as_integer"    "1"
        }
        "195"
        {
            "name"    "always tradable"
            "attribute_class"    "always_tradable"
            "attribute_name"    "always tradable"
            "min_value"    "0"
            "max_value"    "0"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DamageDone_Negative"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }    
        "196"
        {
            "name"    "noise maker"
            "attribute_class"    "enable_misc2_noisemaker"
            "attribute_name"    "Misc2 slot will be a noise maker"
            "min_value"    "1"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DamageDone_Negative"
            "description_format"    "value_is_additive"
            "hidden"    "1"
            "effect_type"    "neutral"
            "stored_as_integer"    "0"
        }
        "197"
        {
            "name"    "halloween item"
            "attribute_class"    "halloween_item"
            "attribute_name"    "halloween item"
            "min_value"    "0"
            "max_value"    "1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_Halloween_Item"
            "description_format"    "value_is_additive"
            "hidden"    "0"
            "effect_type"    "positive"
            "stored_as_integer"    "0"
        }
    }
    "item_sets"
    {
        "polycount_pyro"
        {
            "name"    "#TF_Set_Polycount_Pyro"
            "items"
            {
                "The Degreaser"        "1"
                "The Powerjack"        "1"
                "The Attendant"        "1"
            }
            "attributes"
            {
                "move speed bonus"
                {
                    "attribute_class"    "mult_player_movespeed"
                    "value"    "1.1"
                }
                "dmg taken from bullets increased"
                {
                    "attribute_class"    "mult_dmgtaken_from_bullets"
                    "value"    "1.1"
                }
            }
            "store_bundle"    "Polycount Pyro Bundle"
        }
        "polycount_spy"
        {
            "name"    "#TF_Set_Polycount_Spy"
            "items"
            {
                "L'Etranger"        "1"
                "Your Eternal Reward"    "1"
                "The Familiar Fez"    "1"
            }
            "attributes"
            {
                "quiet unstealth"
                {
                    "attribute_class"    "set_quiet_unstealth"
                    "value" "1"
                }
                "cloak blink time penalty"
                {
                    "attribute_class"    "cloak_blink_time_penalty"
                    "value" "0.5"
                }
            }
            "store_bundle"    "Polycount Spy Bundle"
        }
        "polycount_soldier"
        {
            "name"    "#TF_Set_Polycount_Soldier"
            "items"
            {
                "The Black Box"            "1"
                "The Battalion's Backup"    "1"
                "The Grenadier's Softcap"    "1"
            }
            "attributes"
            {
                "dmg from sentry reduced"
                {
                    "attribute_class"    "dmg_from_sentry_reduced"
                    "value"    "0.8"
                }
            }
            "store_bundle"    "Polycount Soldier Bundle"
        }
        "polycount_sniper"
        {
            "name" "#TF_Set_Polycount_Sniper"
            "items"
            {
                "The Sydney Sleeper"        "1"
                "Darwin's Danger Shield"    "1"
                "The Bushwacka"            "1"
                "Ol' Snaggletooth"        "1"
            }
            "attributes"
            {
                "no death from headshots"
                {
                    "attribute_class"    "no_death_from_headshots"
                    "value" "1"
                }
            }
            "store_bundle"    "Polycount Sniper Bundle"
        }
        "polycount_scout"
        {
            "name"    "#TF_Set_Polycount_Scout"
            "items"
            {
                "The Shortstop"        "1"
                "Mad Milk"        "1"
                "The Holy Mackerel"    "1"
                "The Milkman"        "1"
            }
            "attributes"
            {
                "max health additive bonus"
                {
                    "attribute_class"    "add_maxhealth"
                    "value" "25"
                }
            }    
            "store_bundle"    "Polycount Scout Bundle"
        }
    }
    "achievement_rewards"
    {
        "TF_MEDIC_ACHIEVE_PROGRESS1"    "36"
        "TF_MEDIC_ACHIEVE_PROGRESS2"    "35"
        "TF_MEDIC_ACHIEVE_PROGRESS3"    "37"
        "TF_PYRO_ACHIEVE_PROGRESS1"    "39"
        "TF_PYRO_ACHIEVE_PROGRESS2"    "40"
        "TF_PYRO_ACHIEVE_PROGRESS3"    "38"
        "TF_HEAVY_ACHIEVE_PROGRESS1"    "42"
        "TF_HEAVY_ACHIEVE_PROGRESS2"    "41"
        "TF_HEAVY_ACHIEVE_PROGRESS3"    "43"
        "TF_SCOUT_ACHIEVE_PROGRESS1"    "45"
        "TF_SCOUT_ACHIEVE_PROGRESS2"    "44"
        "TF_SCOUT_ACHIEVE_PROGRESS3"    "46"
        "TF_SNIPER_ACHIEVE_PROGRESS1"    "56"
        "TF_SNIPER_ACHIEVE_PROGRESS2"    "58"
        "TF_SNIPER_ACHIEVE_PROGRESS3"    "57"
        "TF_SPY_ACHIEVE_PROGRESS1"    "61"
        "TF_SPY_ACHIEVE_PROGRESS2"    "60"
        "TF_SPY_ACHIEVE_PROGRESS3"    "59"
        "TF_SOLDIER_ACHIEVE_PROGRESS1"    "128"
        "TF_SOLDIER_ACHIEVE_PROGRESS2"    "127"
        "TF_SOLDIER_ACHIEVE_PROGRESS3"    "129"
        "TF_DEMOMAN_ACHIEVE_PROGRESS1"    "131"
        "TF_DEMOMAN_ACHIEVE_PROGRESS2"    "132"
        "TF_DEMOMAN_ACHIEVE_PROGRESS3"    "130"
        "TF_ENGINEER_ACHIEVE_PROGRESS1" "141"
        "TF_ENGINEER_ACHIEVE_PROGRESS2" "142"
        "TF_ENGINEER_ACHIEVE_PROGRESS3" "140"
        "TF_HALLOWEEN_DOMINATE_FOR_HAT" "279"
        "TF_HALLOWEEN_BOSS_KILL"    "278"
        "TF_HALLOWEEN_BOSS_KILL_MELEE"    "267"
        "TF_HALLOWEEN_COLLECT_PUMPKINS"    "115"
        "ASW_PARA_HAT"
        { 
            "SourceAppID"    "630"
            "DefIndex"        "189"
        }
    }
    "attribute_controlled_attached_particles"
    {
        "1"
        {
            "system"            "burningplayer_red"
        }
        "2"
        {
            "system"            "burningplayer_flyingbits"
        }
        "3"
        {
            "system"            "particle_nemesis_burst_blue"
            "attachment"            "muzzle1"
        }
        "4"
        {
            "system"            "community_sparkle"
        }
        "5"
        {
            "system"            "halopoint"
            "attachment"            "halopoint1"
        }
        "6"
        {
            "system"            "superrare_confetti_green"    
        }
        "7"
        {
            "system"            "superrare_confetti_purple"
        }
        "8"
        {
            "system"            "superrare_ghosts"
            "attach_to_rootbone"    "1"
            "attachment"        "muzzle"
        }
        "9"
        {
            "system"            "superrare_greenenergy"
            "attach_to_rootbone"    "1"
        }
        "10"
        {
            "system"            "superrare_purpleenergy"
            "attach_to_rootbone"    "1"
        }
        "11"
        {
            "system"            "superrare_circling_tf"
            "attach_to_rootbone"    "1"
            "attachment"        "muzzle"
        }
        "12"
        {
            "system"            "superrare_flies"
            "attach_to_rootbone"    "1"
        }

        "13"
        {
            "system"            "superrare_burning1"
            "attach_to_rootbone"    "1"
        }
        "14"
        {
            "system"            "superrare_burning2"
            "attach_to_rootbone"    "1"
        }

        "15"
        {
            "system"            "superrare_plasma1"
            "attach_to_rootbone"    "1"
            "attachment"        "muzzle"
        }
        "16"
        {
            "system"            "superrare_plasma2"
            "attach_to_rootbone"    "1"
            "attachment"        "muzzle"
        }
        "17"
        {
            "system"            "superrare_beams1"
            "attach_to_rootbone"    "1"
        }
        "18"
        {
            "system"            "superrare_circling_peacesign"
            "attach_to_rootbone"    "1"
            "attachment"        "muzzle"
        }
        "19"
        {
            "system"            "superrare_circling_heart"
            "attach_to_rootbone"    "1"
            "attachment"        "muzzle"
        }
Sorrowfire is offline
FlaminSarge
Veteran Member
Join Date: Jul 2010
Old 11-09-2010 , 22:08   Re: TF2Items - Items with custom attributes.
#564

Latest items_game.txt should be here http://hg.limetech.org/projects/tf2i...items_game.txt
If you want to download it or something.


Here's a hopefully helpful paste on what to put in the config file.
http://limetech.pastebin.com/raw.php?i=Jf32rZNw
quality colors are on the first post, in some link that has the word "inline" in it.
Max level should be 127.
weapon index and item index are the same.
attribute index is:
Code:
    "attributes"
    {
        "1" //<-right here, attribute index for a damage penalty
        {
            "name"    "damage penalty"
            "attribute_class"    "mult_dmg"
            "attribute_name"    "Minor damage penalty"
            "min_value"    "0.95"
            "max_value"    "0.85"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DamageDone_Negative"
            "description_format"    "value_is_percentage"
            "hidden"    "0"
            "effect_type"    "negative"
            "stored_as_integer"    "0"
        }
        "2" //attribute index for a damage bonus
        {
            "name"    "damage bonus"
            "attribute_class"    "mult_dmg"
            "attribute_name"    "Minor damage bonus"
            "min_value"    "1.05"
            "max_value"    "1.1"
            "group"    "only_on_unique"
            "description_string"    "#Attrib_DamageDone_Positive"
....
__________________
Bread EOTL GunMettle Invasion Jungle Inferno 64-bit will break everything. Don't even ask.

All plugins: Randomizer/GiveWeapon, ModelManager, etc.
Post in plugin threads with questions.
Steam is for playing games.
You will be fed to javalia otherwise.
Psyduck likes replays.

Last edited by FlaminSarge; 11-09-2010 at 22:40.
FlaminSarge is offline
Thraka
AlliedModders Donor
Join Date: Aug 2005
Old 11-13-2010 , 20:24   Re: TF2Items - Items with custom attributes.
#565

The new halloween hats aren't listed in there (I couldn't find them) does anyone have them?
Thraka is offline
FlaminSarge
Veteran Member
Join Date: Jul 2010
Old 11-14-2010 , 02:27   Re: TF2Items - Items with custom attributes.
#566

Thraka, looks like asherkin updated the link
http://tracker.limetech.org/projects...items_game.txt
__________________
Bread EOTL GunMettle Invasion Jungle Inferno 64-bit will break everything. Don't even ask.

All plugins: Randomizer/GiveWeapon, ModelManager, etc.
Post in plugin threads with questions.
Steam is for playing games.
You will be fed to javalia otherwise.
Psyduck likes replays.
FlaminSarge is offline
Thraka
AlliedModders Donor
Join Date: Aug 2005
Old 11-14-2010 , 14:00   Re: TF2Items - Items with custom attributes.
#567

That link doesn't work. I tried the link from above my post in your post but I couldn't find the items.
Thraka is offline
FlaminSarge
Veteran Member
Join Date: Jul 2010
Old 11-14-2010 , 19:54   Re: TF2Items - Items with custom attributes.
#568

*sigh* ash broke it again, JUST because I posted that (or so I think)
__________________
Bread EOTL GunMettle Invasion Jungle Inferno 64-bit will break everything. Don't even ask.

All plugins: Randomizer/GiveWeapon, ModelManager, etc.
Post in plugin threads with questions.
Steam is for playing games.
You will be fed to javalia otherwise.
Psyduck likes replays.
FlaminSarge is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 11-14-2010 , 20:27   Re: TF2Items - Items with custom attributes.
#569

It all depends on what I'm working on, due to Redmine being epicfail with branches.
http://tracker.limetech.org/projects...items_game.txt
You can just grab it from your own server as well, tf/scripts/items/items_game.txt.
__________________
asherkin is offline
FlaminSarge
Veteran Member
Join Date: Jul 2010
Old 11-14-2010 , 21:09   Re: TF2Items - Items with custom attributes.
#570

Using the branch name seems to work, ash:
http://hg.limetech.org/projects/tf2i...items_game.txt
__________________
Bread EOTL GunMettle Invasion Jungle Inferno 64-bit will break everything. Don't even ask.

All plugins: Randomizer/GiveWeapon, ModelManager, etc.
Post in plugin threads with questions.
Steam is for playing games.
You will be fed to javalia otherwise.
Psyduck likes replays.
FlaminSarge is offline
Closed Thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 18:27.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode