MNoya / Element-TD

Element Tower Defense
http://www.eletd.com
64 stars 22 forks source link

Challenge Mode #392

Closed MNoya closed 8 years ago

MNoya commented 8 years ago

2 random abilities on each creepwave

WindStrike72 commented 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.

vladmarica commented 8 years ago

This is going to be fun for players LUL

WindStrike72 commented 8 years ago

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.

vladmarica commented 8 years ago

I should get this working sometime tomorrow so you can test it!

WindStrike72 commented 8 years ago

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.

vladmarica commented 8 years ago

Undead also doesn't really make sense on elementals, does it?

vladmarica commented 8 years ago

Bug: The Mechanical buff purges creeps of certain buffs, like the Haste buff.

MNoya commented 8 years ago

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?)

MNoya commented 8 years ago
MNoya commented 8 years ago

Fixed in a83ddbbfd640a65e3890448a3d082ffb53b00be1

MNoya commented 8 years ago

Frog waves with 2 abilities would be too much... or would it?

WindStrike72 commented 8 years ago

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.

vladmarica commented 8 years ago

@MNoya Could not replicate error on normal mode undead. Is there a particular wave it happens on?

MNoya commented 8 years ago

Missing:

vladmarica commented 8 years ago

Eh, elementals don't have challenge mode abilities yet also, unless you added them in and I missed it?

MNoya commented 8 years ago

Right, I also forgot about that. added

WindStrike72 commented 8 years ago

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.

WindStrike72 commented 8 years ago

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.

vladmarica commented 8 years ago

@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?

WindStrike72 commented 8 years ago

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.

ynohtna92 commented 8 years ago

What is needed on the db for tracking this?

MNoya commented 8 years ago

@ynohtna92 295efd3b7d14074e2dd6790f784a4440eb54d610 Added game value field cha

ynohtna92 commented 8 years ago

@MNoya Done finally haha!