7.00 Gameplay Update API changes

DOTA_DAMAGE_FLAG_NO_SPELL_AMPLIFICATION -- no idea if that's new

-- Backpack
DOTA_ITEM_SLOT_7
DOTA_ITEM_SLOT_8
DOTA_ITEM_SLOT_9

PATTACH_CENTER_FOLLOW

-- Panorama
Added Panel:SetDialogVariableTime()

--Bot API
Is now a thing, and is in an entirely seperate VM (potentially one per team)

ModDota provides documentation over at http://docs.moddota.com/lua_bots/

-- For various talents and necrophos new spell
MODIFIER_PROPERTY_EXP_RATE_BOOST
MODIFIER_PROPERTY_CAST_RANGE_BONUS_STACKING
MODIFIER_PROPERTY_FIXED_ATTACK_RATE
MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE
MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DIRECT_MODIFICATION - that one is renamed from magical_resistance_unique or smth
MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION

DoCleaveAttack has 2 new float arguments, presumably some cone settings, idk how to use them
CreateDamageInfo has a new int argument in the end, no idea either

-- Those are actually just renames I believe
PlayerResource:SetCanRepick
PlayerResource:CanRepick

Entity:GetLocalAngles
Entity:GetLocalOrigin
Entity:SetLocalAngles
Entity:SetLocalOrigin

CPhysicsProp:SetDynamicVsDynamicContinuous  Enable/disable dynamic vs dynamic continuous collision traces

-- Tons of new VR related functions, won't list because I hate this garbage

Comments

  • Posts: 858

    No talent stuff? or are those all considered skills

    MAKE CUSTOM GAMES GREAT AGAIN

    Finished-
    kv checker - https://arhowk.github.io
    panorama video series - https://moddota.com/forums/discussion/2021/inclusive-panorama-tutorial-quest-box

    My pet project This Cursed World/Crestfallen (name pending)
    https://moddota.com/forums/discussion/986/this-cursed-world-rpg#latest

  • edited December 2016 Posts: 2

    All talents seem to be just regular skills with AbilityType of DOTA_ABILITY_TYPE_ATTRIBUTES. Every hero has them declared at ability slots 10-17 ("Ability10" "bonus_0" "Ability11" "bonus_1" etc), and their interactions with the main spells (like venge's +100 dmg on magic missile) is done via a new AbilitySpecial block key - LinkedSpecialBonus "id"

    So for example for venge it is

    "AbilitySpecial"
            {
                "01"
                {
                    "var_type"              "FIELD_INTEGER"
                    "magic_missile_speed"   "1250"
                }
                "02"
                {
                    "var_type"              "FIELD_FLOAT"
                    "magic_missile_stun"    "1.2 1.4 1.6 1.8"
                }
                "03"
                {
                    "var_type"              "FIELD_INTEGER"
                    "magic_missile_damage"  "100 175 250 325"
                    "LinkedSpecialBonus"    "special_bonus_unique_vengeful_spirit_1"
                }
            }
    

    I'm not sure if the talents can only be in Ability Slots of 10-17 or is this just a convention thing yet.

    EDIT: It is a convention thing. Talents can be declared at any ability slot and will go in the following order:

    right -> left | Bottom(lvl 10) -> top(lvl 25).

    Also we now apparently have 18 ability slots, since the ability declared in "Ability18" works, but the ability declared in "Ability19" does not.

  • is there anyway to change the levels? have you tried "RequiredLevel" "25" or smth for them?

  • I did with both "RequiredLevel" and "LevelsBetweenUpgrades" but it seems to make 0 difference - the talent is still available to be learned at the level the game puts it at. Maybe there are lua functions to adress this? Need to test this further... But since the whole UI is now Panorama I am quite sure you could easily just change the panels to yours with custom numbers and event handlers tbh

  • no, if you change panorama without api it's fucked for the player after playing your custom game until they restart dota

  • PSA: Default dota quest system crashes the game now, they were possibly scaleform

  • edited December 2016 Posts: 19

    I assume this update broke pretty much everything in custom games, right?

    ~~ofc not everything, but a ton of stuff, right?~~

  • depends, pregame strategy thing is unskippable and breaks most "HeroSelection" panorama as far as I can tell and the only way to skip it is through ForceHero(), there is no api to disable it iirc

  • One bug: npc_abilities_override.txt seems bugged. I removed some items in it and my console spammed " Attempt to add unknown item to stock info"

    Removing the file fixed the console spam.


    There is a bug involving the game crashing when you disconnect from a game (or reload a map). This seems related to something in the map file itself. Still investigating.

  • How do I disable the talent tree?

  • Posts: 100

    So, I can made my own talents only using Datadriven System, without lua?

  • Posts: 100

    And, how actually do talants? I mean special_bonus_unique_vengeful_spirit_1, is it a ability name or it's block name or... Just show me fully maded skill and talant for this skill pls.

  • Posts: 100

    Also, Where have you found this updates and venge skill?

  • https://github.com/SteamDatabase/GameTracking-Dota2/tree/master/game/dota/pak01_dir/scripts/npc

    Talents are passive abilities, make them like any passive and they work

  • they need the ABILITY_TYPE_ATTRIBUTE type to work

  • function DoCleaveAttack(hCaster, hTarget, hAbility, flDamage, flDistance, flStartRadius ,flEndRadius, sParticleName )

    is how to call the new DoCleaveAttack, if you set distance startradius and endradius to be the same it behaves as old cleave

  • There's also SpellDispellableType for ability keyvalues, which is pretty self-explanatory. Values used in npc_abilities are SPELL_DISPELLABLE_NO, SPELL_DISPELLABLE_YES, and SPELL_DISPELLABLE_YES_STRONG.

  • Abilities can now have a MaxLevel of 2 and 5. Anything else not previously supported still uses the previous behavior, but hey.

  • the "LinkedSpecialValue" changes the tooltip but doesn't trigger for GetSpecialValueFor(" ") so keep that in mind. The spell amp tooltip is now done through "CalculateSpellDamageTooltip" "1" and "CalculateSpellDamageTooltip" "0" (still works automatically if your kv has "damage" in its name, so use these to enable disable if inaccurate

  • Posts: 3

    I've noticed that since the update, MiniMap Boundary is not working properly and minimaps are no longer being generated. Is anyone else encountering this issue?

  • Building the minimap is broke.

  • Almost everything is broken. Hammer crashes on save or build. Random Zeus appears on hero pick screen. Strategy time shows the default map. In some games (that does not have custom UI and ForceHero) if you don't pick on time you will end up with no hero. End score screen no longer exists, unless you made it yourself. Calculating expressions of damage or radius in datadriven abilities seems broken.

    Overall thx Valve.

  • edited December 2016 Posts: 127

    @Darkonius :valve: seems enjoy breaking things. For example a not long ago they break Left 4 Dead 2 Workshop tool, so no one from modder's can't upload or update the mods! Also when they release Source engine 2013 (SteamPipe edition) most of 2007 Source engine stuff are broken in 2013 plus, they help it to be more laggy unstable and fit with alot of bugs in Source code. Same with some old Counter-Strike: Source update. So the conclusion is that :valve: and stable pathes (fixes) are incompatible with themselfs.

  • edited December 2016 Posts: 1

    @Darkonius They renamed npc_dota_hero_zuus to npc_dota_hero_zeus like it actually should be. Change this in your herolist.txt and Zeus is gone. They also changed the GameState enum. It appears DOTA_GAMERULES_STATE_TEAM_SHOWCASE disappeared and DOTA_GAMERULES_STATE_GAME_IN_PROGRESS is now 8 instead of 7. But the whole UI change broke my custom hero selection, so... nice way to treat your modding community Valve! :unamused:

  • Posts: 858

    @PapaNoah My map was built entirely to Valve standards and the only thing that changed for me was some RGBA stuff which they actually told us about before 7.00 came. Only thing I've seen other people have issues with is some crashes which obviously normal dota is experiencing as well.

    MAKE CUSTOM GAMES GREAT AGAIN

    Finished-
    kv checker - https://arhowk.github.io
    panorama video series - https://moddota.com/forums/discussion/2021/inclusive-panorama-tutorial-quest-box

    My pet project This Cursed World/Crestfallen (name pending)
    https://moddota.com/forums/discussion/986/this-cursed-world-rpg#latest

  • edited December 2016 Posts: 412

    @PapaNoah idk how do you build your UI so it breaks, just as in @Arhowk 's case I've had little to none things to adjust. Mainly rgba in css, some hittest things and precaching. Game is still kill because of all the crashes but it's nothing anyone could have avoided.