initial commit
This commit is contained in:
125
aghanim_singleplayer/scripts/vscripts/encounters/encounter_enraged_hellbears.lua
Executable file
125
aghanim_singleplayer/scripts/vscripts/encounters/encounter_enraged_hellbears.lua
Executable file
@@ -0,0 +1,125 @@
|
||||
require( "map_encounter" )
|
||||
require( "aghanim_utility_functions" )
|
||||
require( "spawner" )
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
if CMapEncounterEnragedHellbears == nil then
|
||||
CMapEncounterEnragedHellbears = class( {}, {}, CMapEncounter )
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function CMapEncounterEnragedHellbears:constructor( hRoom, szEncounterName )
|
||||
|
||||
CMapEncounter.constructor( self, hRoom, szEncounterName )
|
||||
|
||||
self:SetCalculateRewardsFromUnitCount( true )
|
||||
|
||||
self.szPeonSpawner = "spawner_peon"
|
||||
self.szCaptainSpawner = "spawner_captain"
|
||||
|
||||
self:AddSpawner( CDotaSpawner( self.szPeonSpawner, self.szPeonSpawner,
|
||||
{
|
||||
{
|
||||
EntityName = "npc_dota_creature_small_hellbear",
|
||||
Team = DOTA_TEAM_BADGUYS,
|
||||
Count = 7,
|
||||
PositionNoise = 225.0,
|
||||
},
|
||||
} ) )
|
||||
|
||||
self:AddSpawner( CDotaSpawner( self.szCaptainSpawner, self.szCaptainSpawner,
|
||||
{
|
||||
{
|
||||
EntityName = "npc_dota_creature_hellbear",
|
||||
Team = DOTA_TEAM_BADGUYS,
|
||||
Count = 2,
|
||||
PositionNoise = 75.0,
|
||||
},
|
||||
} ) )
|
||||
|
||||
self.flEnrageTimer = 60
|
||||
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function CMapEncounterEnragedHellbears:GetPreviewUnit()
|
||||
return "npc_dota_creature_hellbear"
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function CMapEncounterEnragedHellbears:GetMaxSpawnedUnitCount()
|
||||
local nCount = 0
|
||||
local hWarriorSpawners = self:GetSpawner( self.szPeonSpawner )
|
||||
if hWarriorSpawners then
|
||||
nCount = nCount + hWarriorSpawners:GetSpawnPositionCount() * 6
|
||||
end
|
||||
|
||||
local hChampionSpawners = self:GetSpawner( self.szCaptainSpawner )
|
||||
if hChampionSpawners then
|
||||
nCount = nCount + hChampionSpawners:GetSpawnPositionCount()
|
||||
end
|
||||
|
||||
return nCount
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function CMapEncounterEnragedHellbears:Start()
|
||||
CMapEncounter.Start( self )
|
||||
self:CreateEnemies()
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function CMapEncounterEnragedHellbears:OnThink()
|
||||
CMapEncounter.OnThink( self )
|
||||
local flNow = GameRules:GetGameTime()
|
||||
|
||||
if ( flNow - self.flStartTime ) > self.flEnrageTimer then
|
||||
|
||||
--printf("ENRAGING!!")
|
||||
|
||||
for _,hMob in pairs ( self:GetSpawnedUnits() ) do
|
||||
|
||||
if hMob:GetLevel() < 2 then
|
||||
--printf("UPGRADING CREATURE %s to level 2", hMob:GetUnitName())
|
||||
hMob:CreatureLevelUp(1)
|
||||
hMob:AddNewModifier( hMob, nil, "modifier_aghsfort_enrage" , {} )
|
||||
hMob:SetAcquisitionRange(9000)
|
||||
end
|
||||
|
||||
local hAbility = hMob:FindAbilityByName("hellbear_smash")
|
||||
if hAbility then
|
||||
--printf("UPGRADING ABILITY %s from %d to %d", hAbility:GetAbilityName(), hAbility:GetLevel(), 2 )
|
||||
hAbility:SetLevel(2)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function CMapEncounterEnragedHellbears:CheckForCompletion()
|
||||
if not self:HasRemainingEnemies() then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function CMapEncounterEnragedHellbears:CreateEnemies()
|
||||
for _,Spawner in pairs ( self:GetSpawners() ) do
|
||||
Spawner:SpawnUnits()
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
return CMapEncounterEnragedHellbears
|
||||
Reference in New Issue
Block a user