Results 1 to 2 of 2

Thread: [Bloodseeker] Fixes and additions to his ability & modifier tooltips

  1. #1
    Volunteer Moderator bu3ny's Avatar
    Join Date
    Oct 2011
    Location
    .-.
    Posts
    11,660

    [Bloodseeker] Fixes and additions to his ability & modifier tooltips

    There are a few typoes, and the issue with talent bonuses not being added to the tooltip values.


    1. The level 15 talent which increases Blood Rite damage is not added to the damage value in the tooltip (missing LinkedSpecialBonus in npc_abilities.txt)
    2. The level 20 talent which increases Rupture damage is not added to the damage value in the tooltip (missing LinkedSpecialBonus in npc_abilities.txt)
    3. Bloodrage and Blood Rite don't mention their cast ranges, while Rupture does.
    4. Blood Rite description says the delay is 3 seconds, while it actually is 2.6 seconds. An ALT note tells the actual delay. This is inconsistent with other spells which have such a delayed effect. Also, it makes it wrong when used by Rubick, who has no 0.4 sec cast time for it.
    5. Bloodrage's modifier always says it heals for 25%, which is wrong for levels 1-3, where it heals for less. It currently doesn't call the value from the npc_abilities.txt file

    And here some other changes which could be made

    1. Bloodrage's description is unnecessarily long. Descriptions are better when shorter, because no one wants to read long texts while playing. Also, it has a small grammar error in the first sentence, repeating "a unit".
    2. Blood Rite's description can be easily shortened as well
    3. On the level 20 Blood Rite cooldown reducing talent, Blood Rite is written as Bloodrite.
    4. In Thirst's last ALT note, "effect" is written wrong as "affects". (I suggest using the word "bonuses" instead, since only the buff lingers, not the debuff).
    5. Rupture's description says it pierces spell immunity, which is redundant, since this info is already in the header

    ALT note suggestions:

    Bloodrage:
    * Shorten first note to: Can be cast on enemies, allies and self.
    * Does not heal upon killing illusions or Roshan.
    * Can't be cast on allies who have disablehelp enabled.
    Blood Rite:
    * The visual effect and sound during the delay are visible and audible to enemies.
    * Grants 200 radius ground vision at the center upon cast, lasting 6 seconds.
    Thirst:
    * Expand first note: Does not work for or against illusions.
    * Thirst removes the 550 movement speed limit for Bloodseeker.
    Rupture:
    * Checks the target's position in 0.25 second intervals, and damages based on the distance.
    * Does not damage when the moved distance is greater than 1300.

    Image showing the changes I made
    Spoiler: 


    Here are the modified sections of dota_english.txt and npc_abilities.txt required for these changes and additions. Changed values are marked red and new values are marked blue.
    Code:
    		//BLOOD SEEKER
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage"									"Bloodrage"
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage_Description"						"Drives a unit into a bloodthirsty rage during which it deals, and takes, increased damage. Bloodraged units heal themselves for any units they kill, but also heal their killer when getting killed. The heal is based on the dying unit's max health."
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage_Lore"								"Strygwyr shares his animalistic thirst for bloodshed."
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage_Note0"								"Can be cast on enemies, allies and self."
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage_Note1"								"Only amplifies for half values when the damage dealer and the receiver are over 2200 range apart."
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage_Note2"								"Does not heal upon killing illusions or Roshan."
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage_Note3"								"Can't be cast on allies who have disablehelp enabled."
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage_duration"							"DURATION:"
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage_damage_increase_pct"				"%DAMAGE INCREASE:"
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage_health_bonus_pct"					"%KILL HEAL PERCENTAGE:"
    		"DOTA_Tooltip_ability_bloodseeker_bloodrage_cast_range_tooltip"					"CAST RANGE:"
    		"DOTA_Tooltip_ability_bloodseeker_blood_bath"									"Blood Rite"
    		"DOTA_Tooltip_ability_bloodseeker_blood_bath_Description"						"Baptizes an area in sacred blood. After %delay% seconds, the ritual completes, damaging and silencing all enemies caught in the area."
    		"DOTA_Tooltip_ability_bloodseeker_blood_bath_Lore"								"The Flayed Twins are ever willing to aid those who spill blood upon the field of battle."
    		"DOTA_Tooltip_ability_bloodseeker_blood_bath_silence_duration"					"SILENCE DURATION:"
    		"DOTA_Tooltip_ability_bloodseeker_blood_bath_damage"							"DAMAGE:"
    		"DOTA_Tooltip_ability_bloodseeker_blood_bath_radius"							"RITUAL AREA:"
    		"DOTA_Tooltip_ability_bloodseeker_blood_bath_cast_range_tooltip"				"CAST RANGE:"
    		"DOTA_Tooltip_ability_bloodseeker_blood_bath_Note0"								"The visual effect and sound during the delay are visible and audible to enemies."
    		"DOTA_Tooltip_ability_bloodseeker_blood_bath_Note1"								"Grants 200 radius ground vision at the center upon cast, lasting 6 seconds."
    		"DOTA_Tooltip_ability_bloodseeker_thirst"										"Thirst"
    		"DOTA_Tooltip_ability_bloodseeker_thirst_Description"							"Bloodseeker is invigorated by the wounds of his enemies, gaining bonus movement speed and attack damage whenever an enemy hero's health falls below %min_bonus_pct%%%, with the bonuses increasing as their health falls further, up to %max_bonus_pct%%% health. Enemies heroes below %invis_threshold_pct%%% health are also revealed and visible through the fog of war. Bonuses stack per hero"
    		"DOTA_Tooltip_ability_bloodseeker_thirst_Lore"									"Strygwyr becomes frenzied when blood is spilled."
    		"DOTA_Tooltip_ability_bloodseeker_thirst_Note0"									"Does not work for or against illusions."
    		"DOTA_Tooltip_ability_bloodseeker_thirst_Note1"									"Max movement speed and attack damage bonuses occur when an enemy's health is at or below 25%."
    		"DOTA_Tooltip_ability_bloodseeker_thirst_Note2"									"Bonuses linger for 2 seconds if a target dies."
    		"DOTA_Tooltip_ability_bloodseeker_thirst_Note3"									"Thirst removes the 550 movement speed limit for Bloodseeker."
    		"DOTA_Tooltip_ability_bloodseeker_thirst_min_bonus_pct"							"%THIRST HEALTH THRESHHOLD:"
    		"DOTA_Tooltip_ability_bloodseeker_thirst_bonus_movement_speed"					"%MAX THIRST MOVE SPEED:"
    		"DOTA_Tooltip_ability_bloodseeker_thirst_bonus_damage"							"MAX THIRST DAMAGE:"			
    		"DOTA_Tooltip_ability_bloodseeker_thirst_visibility_threshold_pct"				"%VISIBILITY HEALTH THRESHHOLD:"
    		"DOTA_Tooltip_ability_bloodseeker_rupture"										"Rupture"
    		"DOTA_Tooltip_ability_bloodseeker_rupture_Description"							"Ruptures the skin of an enemy unit, causing heavy bleeding. If the unit moves, it takes a percentage of the distance traveled as damage.\n\nUpgradable by Aghanim's Scepter."
    		"DOTA_Tooltip_ability_bloodseeker_rupture_Lore"									"When the Bloodseeker hunts, their injuries become fatalities."
    		"DOTA_Tooltip_ability_bloodseeker_rupture_Note0"								"Checks the target's position in 0.25 second intervals, and damages based on the distance."
    		"DOTA_Tooltip_ability_bloodseeker_rupture_Note1"								"Does not damage when the moved distance is greater than 1300."
    		"DOTA_Tooltip_ability_bloodseeker_rupture_duration"								"DURATION:"
    		"DOTA_Tooltip_ability_bloodseeker_rupture_movement_damage_pct"					"%MOVE DAMAGE:"
    		"DOTA_Tooltip_ability_bloodseeker_rupture_cast_range_tooltip"					"CAST RANGE:"
    		"DOTA_Tooltip_ability_bloodseeker_rupture_max_charges_scepter"					"SCEPTER CHARGES:"
    		"DOTA_Tooltip_ability_bloodseeker_rupture_charge_restore_time_scepter"			"SCEPTER REPLENISH TIME:"
    		"DOTA_Tooltip_ability_bloodseeker_rupture_aghanim_description"					"Grants 2 charges to Rupture with a 40 seconds replenish time."
    		"npc_dota_hero_bloodseeker_bio"													"Strygwyr the Bloodseeker is a ritually sanctioned hunter, Hound of the Flayed Twins, sent down from the mist-shrouded peaks of Xhacatocatl in search of blood. The Flayed Ones require oceanic amounts of blood to keep them sated and placated, and would soon drain their mountain empire of its populace if the priests of the high plateaus did not appease them. Strygwyr therefore goes out in search of carnage. The vital energy of any blood he lets, flows immediately to the Twins through the sacred markings on his weapons and armor. Over the years, he has come to embody the energy of a vicious hound; in battle he is savage as a jackal. Beneath the Mask of the Bloodseeker, in the rush of bloody quenching, it is said that you can sometime see the features of the Flayers taking direct possession of their Hound."
    
    		"DOTA_Tooltip_ability_special_bonus_unique_bloodseeker"		"-7s Blood Rite Cooldown"
    		"DOTA_Tooltip_ability_special_bonus_unique_bloodseeker_2"	"+75 Blood Rite Damage"
    		"DOTA_Tooltip_ability_special_bonus_unique_bloodseeker_3"	"+14% Rupture Damage"
    
    		"DOTA_Tooltip_modifier_bloodseeker_bloodrage"							"Bloodrage"
    		"DOTA_Tooltip_modifier_bloodseeker_bloodrage_Description"				"Incoming and outgoing damage increased. Killing units heals for a percentage of their max health. Getting killed heals the killer instead."
    		"DOTA_Tooltip_modifier_bloodseeker_blood_bath"							"Blood Bath"
    		"DOTA_Tooltip_modifier_bloodseeker_blood_bath_Description"				"Regenerate HP when you kill a target"
    		"DOTA_Tooltip_modifier_bloodseeker_thirst_speed"						"Thirst Speed"
    		"DOTA_Tooltip_modifier_bloodseeker_thirst_speed_Description"			"Sensing an injured enemy. Movement speed and attack damage increased."
    		"DOTA_Tooltip_modifier_bloodseeker_thirst_vision"						"Thirst"
    		"DOTA_Tooltip_modifier_bloodseeker_thirst_vision_Description"			"Bloodseeker senses your injuries, and knows exactly where you are."
    		"DOTA_Tooltip_modifier_bloodseeker_rupture"								"Rupture"
    		"DOTA_Tooltip_modifier_bloodseeker_rupture_Description"					"Suffering from a heavy Rupture. Taking damage when moving."
    		"DOTA_Tooltip_modifier_bloodseeker_rupture_charge_counter"				"Rupture Charges"
    		"DOTA_Tooltip_modifier_bloodseeker_rupture_charge_counter_Description"	"You may cast Rupture whenever there is a charge available."



    Code:
    	//=================================================================================================================
    	// Ability: Bloodseeker's Bloodrage
    	//=================================================================================================================
    	"bloodseeker_bloodrage"
    	{
    		// General
    		//-------------------------------------------------------------------------------------------------------------
    		"ID"					"5015"														// unique ID number for this ability.  Do not change this once established or it will invalidate collected stats.
    		"AbilityBehavior"				"DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
    		"AbilityUnitTargetTeam"			"DOTA_UNIT_TARGET_TEAM_BOTH"
    		"AbilityUnitTargetType"			"DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_CREEP"
    		"AbilityUnitTargetFlags"		"DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
    		"SpellImmunityType"				"SPELL_IMMUNITY_ENEMIES_YES"
    		"SpellDispellableType"			"SPELL_DISPELLABLE_YES"
    		"FightRecapLevel"				"1"
    
    		// Casting
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityCastPoint"				"0.2"
    
    		// Time		
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityCooldown"				"12 10 8 6"
    
    		// Cost
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityManaCost"				"0"		
    		
    		// Cast Range
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityCastRange"				"800"
    		
    		// Stats
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityModifierSupportValue"	"0.1"	// Primarily about the damage
    
    		// Special
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilitySpecial"
    		{
    			"01"
    			{
    				"var_type"					"FIELD_FLOAT"
    				"duration"					"9 10 11 12"
    			}
    			"02"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"damage_increase_pct"		"25 30 35 40"
    			}
    			"03"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"health_bonus_pct"			"19 21 23 25"
    			}
    			"04"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"health_bonus_creep_pct"	"19 21 23 25"
    			}
    			"05"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"cast_range_tooltip"		"800"
    			}
    		}
    	}
    	
    	//=================================================================================================================
    	// Ability: Bloodseeker's Blood Rite/Bath
    	//=================================================================================================================
    	"bloodseeker_blood_bath"
    	{
    		// General
    		//-------------------------------------------------------------------------------------------------------------
    		"ID"					"5016"														// unique ID number for this ability.  Do not change this once established or it will invalidate collected stats.
    		"AbilityBehavior"				"DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT"
    		"AbilityUnitDamageType"			"DAMAGE_TYPE_PURE"	
    		"SpellImmunityType"				"SPELL_IMMUNITY_ENEMIES_NO"
    		"SpellDispellableType"			"SPELL_DISPELLABLE_YES"
    		
    		// Casting
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityCastRange"				"1500"
    		"AbilityCastPoint"				"0.4"
    		
    		// Time		
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityCooldown"				"25 21 17 13"
    	
    		// Cost
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityManaCost"				"100"
    
    
    		// Special
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilitySpecial"
    		{
    			"01"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"radius"						"600"
    			}
    			"02"
    			{
    				"var_type"					"FIELD_FLOAT"
    				"silence_duration"			"3 4 5 6"
    			}			
    			"03"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"damage"					"120 160 200 240"
    				"LinkedSpecialBonus"			"special_bonus_unique_bloodseeker_2"
    			}
    			"04"
    			{
    				"var_type"					"FIELD_FLOAT"
    				"delay"						"2.6"
    			}
    			"05"
    			{
    				"var_type"					"FIELD_FLOAT"
    				"delay_plus_castpoint_tooltip"						"3.0"
    			}
    			"06"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"cast_range_tooltip"		"1500"
    			}
    		}
    	}
    
    	//=================================================================================================================
    	// Ability: Bloodseeker's Thirst
    	//=================================================================================================================
    	"bloodseeker_thirst"
    	{
    		// General
    		//-------------------------------------------------------------------------------------------------------------
    		"ID"					"5017"														// unique ID number for this ability.  Do not change this once established or it will invalidate collected stats.
    		"AbilityBehavior"				"DOTA_ABILITY_BEHAVIOR_PASSIVE"
    		"SpellImmunityType"				"SPELL_IMMUNITY_ENEMIES_YES"
    
    		// Special
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilitySpecial"
    		{
    			"01"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"min_bonus_pct"				"75"
    			}			
    			"02"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"bonus_movement_speed"		"16 24 32 40"
    			}			
    			"03"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"bonus_damage"				"16 24 32 40"
    			}		
    			"04"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"max_bonus_pct"				"25"
    			}	
    			"05"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"visibility_threshold_pct"	"25"
    			}
    			"06"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"invis_threshold_pct"	"25"
    			}
    		}
    	}
    
    	//=================================================================================================================
    	// Ability: Bloodseeker's Rupture
    	//=================================================================================================================
    	"bloodseeker_rupture"
    	{
    		// General
    		//-------------------------------------------------------------------------------------------------------------
    		"ID"					"5018"														// unique ID number for this ability.  Do not change this once established or it will invalidate collected stats.
    		"AbilityBehavior"				"DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
    		"AbilityUnitTargetTeam"			"DOTA_UNIT_TARGET_TEAM_ENEMY"
    		"AbilityUnitTargetType"			"DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
    		"AbilityType"					"DOTA_ABILITY_TYPE_ULTIMATE"
    		"AbilityUnitTargetFlags"		"DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
    		"SpellImmunityType"				"SPELL_IMMUNITY_ENEMIES_YES"
    		"SpellDispellableType"			"SPELL_DISPELLABLE_NO"
    		"AbilityUnitDamageType"			"DAMAGE_TYPE_PURE"	
    		"FightRecapLevel"				"2"
    
    		"HasScepterUpgrade"			"1"
    
    		// Casting
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityCastPoint"				"0.4"
    
    		// Time		
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityCooldown"				"60"
    
    		// Cost
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityManaCost"				"150 200 250"		
    		
    		// Cast Range
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityCastRange"				"1000"
    			
    		// Stats
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilityModifierSupportValue"	"0.0"	// Only does damage
    
    		// Special
    		//-------------------------------------------------------------------------------------------------------------
    		"AbilitySpecial"
    		{
    			"01"
    			{
    				"var_type"					"FIELD_FLOAT"
    				"duration"					"12.0"
    			}
    			"02"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"movement_damage_pct"		"30 45 60"
    				"LinkedSpecialBonus"			"special_bonus_unique_bloodseeker_3"
    			}
    			"03"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"damage_cap_amount"			"200"
    			}
    			"04"
    			{
    				"var_type"					"FIELD_FLOAT"
    				"damage_cap_interval"		"0.25"
    			}
    			"05"
    			{
    				"var_type"					"FIELD_INTEGER"
    				"cast_range_tooltip"		"1000"
    			}
    			"06"
    			{
    				"var_type"			"FIELD_INTEGER"
    				"max_charges_scepter"		"2"
    			}
    			"07"
    			{
    				"var_type"			"FIELD_INTEGER"
    				"charge_restore_time_scepter"		"40"
    			}
    		}
    	}
    Last edited by bu3ny; 05-25-2017 at 10:13 AM.
    Please, just call me buny.

  2. #2
    Basic Member
    Join Date
    Feb 2017
    Posts
    6
    You're doing a lot for the community.

    Good job , keep it up.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •