Closed MNoya closed 8 years ago
Abilities of the same kind should not stack, so no Bulky + Bulky, or Speed + Speed, or, god forbid, Regen + Regen.
Additionally, for added cruelty - add a randomized ability on summoning an elemental boss.
This is going to be fun for players
LOL. That's just cruelty. Probably gonna have to implement specific interaction things, like the hilarity of Undead + Healing, to prevent it from being impossibly broken.
I should get this working sometime tomorrow so you can test it!
Sweet. Little restriction, don't let Bulky go onto the Elemental Bosses, there's no point, lol. Or rather, it'd be a little too silly.
Undead also doesn't really make sense on elementals, does it?
Bug: The Mechanical buff purges creeps of certain buffs, like the Haste buff.
Yeah Undead and Bulky shouldn't be valid random elemental abilities.
On mechanical+haste: maybe modify the skill so if it has haste it waits until it runs out before using shield, so it alternates some seconds of haste and some seconds shield (but never both?)
AddAbility - Failed to create ability . scripts/vscripts/util/util.lua:175: attempt to index local 'ability_ent' (a nil value)
Fixed in a83ddbbfd640a65e3890448a3d082ffb53b00be1
Frog waves with 2 abilities would be too much... or would it?
Given this mode is already theoretically impossible and might involve something like a x10 score multiplier for the lulz (or warrant its own leaderboard), double abilities on the osfrog waves would be fine.
@MNoya Could not replicate error on normal mode undead. Is there a particular wave it happens on?
Missing:
GetChallengeAbilitiesForWave
is not prepared for the boss wave yet[WARNING!] Could not find armor type for entity
on the undead bossesEh, elementals don't have challenge mode abilities yet also, unless you added them in and I missed it?
Right, I also forgot about that. added
Tried going random, lumber got spent, didn't receive an element, got this error instead:
[ Developer ]: scripts/vscripts/mechanics/summoner.lua:54: attempt to index global 'entity' (a nil value)
[ Developer ]: stack traceback:
[ Developer ]: scripts/vscripts/mechanics/summoner.lua:54: in function 'SummonElemental'
[ Developer ]: scripts/vscripts/wavedata.lua:174: in function 'StartBreakTime'
[ Developer ]: scripts/vscripts/wavedata.lua:542: in function 'CompetitiveNextRound'
[ Developer ]: scripts/vscripts/wavedata.lua:404: in function 'callback'
[ Developer ]: scripts/vscripts/wave.lua:48: in function 'OnCreepKilled'
[ Developer ]: scripts/vscripts/ElementTD.lua:649: in function <scripts/vscripts/ElementTD.lua:597>
[ Developer ]: [C]: in function 'Kill'
[ Developer ]: scripts/vscripts/mechanics/damage.lua:97: in function 'DamageEntity'
[ Developer ]: scripts/vscripts/mechanics/damage.lua:108: in function 'DamageEntitiesInArea'
[ Developer ]: scripts/vscripts/towers/basic/WaterTower.lua:20: in function <scripts/vscripts/towers/basic/WaterTower.lua:17>
[ Developer ]: ...ddons\element_td\scripts\vscripts\towers\towerevents.lua:14: in function <...ddons\element_td\scripts\vscripts\towers\towerevents.lua:3>
[ W VScript ]: Script Runtime Error: scripts/vscripts/mechanics/summoner.lua:54: attempt to index global 'entity' (a nil value)
[ W VScript ]: stack traceback:
[ W VScript ]: scripts/vscripts/mechanics/summoner.lua:54: in function 'SummonElemental'
[ W VScript ]: scripts/vscripts/wavedata.lua:174: in function 'StartBreakTime'
[ W VScript ]: scripts/vscripts/wavedata.lua:542: in function 'CompetitiveNextRound'
[ W VScript ]: scripts/vscripts/wavedata.lua:404: in function 'callback'
[ W VScript ]: scripts/vscripts/wave.lua:48: in function 'OnCreepKilled'
[ W VScript ]: scripts/vscripts/ElementTD.lua:649: in function <scripts/vscripts/ElementTD.lua:597>
[ W VScript ]: [C]: in function 'Kill'
[ W VScript ]: scripts/vscripts/mechanics/damage.lua:97: in function 'DamageEntity'
[ W VScript ]: scripts/vscripts/mechanics/damage.lua:108: in function 'DamageEntitiesInArea'
[ W VScript ]: scripts/vscripts/towers/basic/WaterTower.lua:20: in function <scripts/vscripts/towers/basic/WaterTower.lua:17>
[ W VScript ]: ...ddons\element_td\scripts\vscripts\towers\towerevents.lua:14: in function <...ddons\element_td\scripts\vscripts\towers\towerevents.lua:3>
EDIT: It also paused the wave timer, preventing the next one from starting.
EDIT 2: I stand corrected, the elemental boss spawned, it just got stuck inside the spawn portal and it took a little while to notice.
And in an attempt to kill said elemental, it turned into a 75 hp creep that tried to attack my tower, didn't give me an elemental, and instead gave me moar error shenanigans:
[ Developer ]: scripts/vscripts/ElementTD.lua:639: attempt to concatenate field 'level' (a nil value)
[ Developer ]: stack traceback:
[ Developer ]: scripts/vscripts/ElementTD.lua:639: in function <scripts/vscripts/ElementTD.lua:597>
[ Developer ]: [C]: in function 'Kill'
[ Developer ]: scripts/vscripts/mechanics/damage.lua:97: in function 'DamageEntity'
[ Developer ]: scripts/vscripts/towers/BasicTower.lua:21: in function <scripts/vscripts/towers/BasicTower.lua:18>
[ Developer ]: ...ddons\element_td\scripts\vscripts\towers\towerevents.lua:14: in function <...ddons\element_td\scripts\vscripts\towers\towerevents.lua:3>
[ W VScript ]: Script Runtime Error: scripts/vscripts/ElementTD.lua:639: attempt to concatenate field 'level' (a nil value)
[ W VScript ]: stack traceback:
[ W VScript ]: scripts/vscripts/ElementTD.lua:639: in function <scripts/vscripts/ElementTD.lua:597>
[ W VScript ]: [C]: in function 'Kill'
[ W VScript ]: scripts/vscripts/mechanics/damage.lua:97: in function 'DamageEntity'
[ W VScript ]: scripts/vscripts/towers/BasicTower.lua:21: in function <scripts/vscripts/towers/BasicTower.lua:18>
[ W VScript ]: ...ddons\element_td\scripts\vscripts\towers\towerevents.lua:14: in function <...ddons\element_td\scripts\vscripts\towers\towerevents.lua:3>
[ W General ]: CDOTA_ParticleManager::SetParticleControlEnt: Unable to lookup attachment attach_origin on model models/creeps/item_creeps/i_creep_necro_warrior/necro_warrior.vmdl
[ W General ]: CDOTA_ParticleManager::SetParticleControlEnt: Unable to lookup attachment attach_origin on model models/creeps/item_creeps/i_creep_necro_warrior/necro_warrior.vmdl
[ Developer ]: scripts/vscripts/ElementTD.lua:639: attempt to concatenate field 'level' (a nil value)
[ Developer ]: stack traceback:
[ Developer ]: scripts/vscripts/ElementTD.lua:639: in function <scripts/vscripts/ElementTD.lua:597>
[ Developer ]: [C]: in function 'Kill'
[ Developer ]: scripts/vscripts/mechanics/damage.lua:97: in function 'DamageEntity'
[ Developer ]: scripts/vscripts/towers/BasicTower.lua:21: in function <scripts/vscripts/towers/BasicTower.lua:18>
[ Developer ]: ...ddons\element_td\scripts\vscripts\towers\towerevents.lua:14: in function <...ddons\element_td\scripts\vscripts\towers\towerevents.lua:3>
[ W VScript ]: Script Runtime Error: scripts/vscripts/ElementTD.lua:639: attempt to concatenate field 'level' (a nil value)
[ W VScript ]: stack traceback:
[ W VScript ]: scripts/vscripts/ElementTD.lua:639: in function <scripts/vscripts/ElementTD.lua:597>
[ W VScript ]: [C]: in function 'Kill'
[ W VScript ]: scripts/vscripts/mechanics/damage.lua:97: in function 'DamageEntity'
[ W VScript ]: scripts/vscripts/towers/BasicTower.lua:21: in function <scripts/vscripts/towers/BasicTower.lua:18>
[ W VScript ]: ...ddons\element_td\scripts\vscripts\towers\towerevents.lua:14: in function <...ddons\element_td\scripts\vscripts\towers\towerevents.lua:3>
[ W General ]: CDOTA_ParticleManager::SetParticleControlEnt: Unable to lookup attachment attach_origin on model models/creeps/item_creeps/i_creep_necro_warrior/necro_warrior.vmdl
[ W General ]: CDOTA_ParticleManager::SetParticleControlEnt: Unable to lookup attachment attach_origin on model models/creeps/item_creeps/i_creep_necro_warrior/necro_warrior.vmdl
EDIT: Annnnnnd now I have an immortal Water 2 Elemental w/ Temporal that no matter how much I shoot it, it takes no damage:
[ Developer ]: scripts/vscripts/mechanics/damage.lua:42: attempt to index field 'scriptObject' (a nil value) [ Developer ]: stack traceback: [ Developer ]: scripts/vscripts/mechanics/damage.lua:42: in function 'DamageEntity' [ Developer ]: scripts/vscripts/towers/basic/NatureTower.lua:47: in function <scripts/vscripts/towers/basic/NatureTower.lua:17> [ Developer ]: ...ddons\element_td\scripts\vscripts\towers\towerevents.lua:14: in function <...ddons\element_td\scripts\vscripts\towers\towerevents.lua:3> [ W VScript ]: Script Runtime Error: scripts/vscripts/mechanics/damage.lua:42: attempt to index field 'scriptObject' (a nil value) [ W VScript ]: stack traceback: [ W VScript ]: scripts/vscripts/mechanics/damage.lua:42: in function 'DamageEntity' [ W VScript ]: scripts/vscripts/towers/basic/NatureTower.lua:47: in function <scripts/vscripts/towers/basic/NatureTower.lua:17> [ W VScript ]: ...ddons\element_td\scripts\vscripts\towers\towerevents.lua:14: in function <...ddons\element_td\scripts\vscripts\towers\towerevents.lua:3> [ W VScript ]: Message count limit of 10 hit. Subsequent duplicate messages will be squelched.
@WindStrike72 Elementals work now. Try it out and let me know what you think. @MNoya Are boss waves on challenge mode done? Anything else left to do?
Haven't run into any bugs since, asides from the text that appears at the top.
Wave 21 - Fire, Avenger
Ends up being something like Fire, Bulky + Speed (screw that combo)
On the list of elemental abilities, remove avenger and healing, they're pretty pointless. So the only abilities it can possibly get are Shield, Speed, Temporal, or Regen.
What is needed on the db for tracking this?
@ynohtna92 295efd3b7d14074e2dd6790f784a4440eb54d610
Added game value field cha
@MNoya Done finally haha!
2 random abilities on each creepwave