48 lines
1.3 KiB
Lua
Executable File
48 lines
1.3 KiB
Lua
Executable File
require( "utility_functions" )
|
|
|
|
function GrantItemDropToHero( hPlayerHero, szItemName )
|
|
|
|
local hItem = hPlayerHero:AddItemByName( szItemName )
|
|
|
|
if hItem == nil then
|
|
local newItem = CreateItem( szItemName, hPlayerHero, hPlayerHero )
|
|
newItem:SetPurchaseTime( 0 )
|
|
local drop = CreateItemOnPositionSync( hPlayerHero:GetAbsOrigin(), newItem )
|
|
local dropTarget = hPlayerHero:GetAbsOrigin() + RandomVector( RandomFloat( 50, 150 ) )
|
|
newItem:LaunchLoot( false, 150, 0.75, dropTarget )
|
|
|
|
printf("launching loot for %s", hPlayerHero)
|
|
return newItem
|
|
end
|
|
return hItem
|
|
end
|
|
|
|
function GetPlayerAbilitiesAndItems( nPlayerID )
|
|
|
|
local hPlayerHero = PlayerResource:GetSelectedHeroEntity( nPlayerID )
|
|
|
|
local vecAbilityNames = {}
|
|
|
|
if hPlayerHero == nil then
|
|
--printf("GetPlayerAbilitiesAndItems: no entity for Player ID %d, returning empty list.", nPlayerID)
|
|
return vecAbilityNames
|
|
end
|
|
|
|
for ii=0,15 do
|
|
local hItem = hPlayerHero:GetItemInSlot(ii)
|
|
if hItem and hItem:GetAbilityName() then
|
|
table.insert( vecAbilityNames, hItem:GetAbilityName() )
|
|
end
|
|
end
|
|
|
|
for ii=0,(hPlayerHero:GetAbilityCount()-1) do
|
|
local hAbility = hPlayerHero:GetAbilityByIndex(ii)
|
|
if hAbility and hAbility:GetAbilityName() then
|
|
table.insert( vecAbilityNames, hAbility:GetAbilityName() )
|
|
end
|
|
end
|
|
|
|
return vecAbilityNames;
|
|
|
|
end
|