All times are UTC


Dear guest, welcome to YouTD!

Drake Whisperer by Ely

The icon is already used by 1 tower:

Drake Whisperer 

Name General Description
1, 2, 3, 4
Drake Whisperer v13
35000i
3500
General
Element:astral
Rarity:unique
Goldcost:3500
Wave lvl:72
Ele. lvl:15

Submission
By: Ely
Date:2016-05-03 17:13:58
Status: OUTDATED
ID:1900
Last Update:2016-05-18 05:20:34
Combat
DPS:1643
Type:Elemental
Targets:0
Range:1000
Cooldown:1.9
Damage:3109 - 3138
Abil factor:0.4
Description
Unleashes mighty drakes against his enemies.

Abilities
Unleash
On attack, the Drake Whisperer has a 12.5% chance to unleash a bronze drake towards its target, dealing 1250 spell damage to a random creep in front of itself in 600 range every 0.2 seconds. Lasts 2 seconds.

Level Bonus:
+40 spell damage
+0.3% chance
Versatile
Every time this tower deals spell damage through its abilities, it increases its dps by 1.5% of the spell damage dealt. Lasts 2.5 seconds and stacks. Maximum bonus of [200 x (current wave)].

Level Bonus:
+0.04% damage
Feed the Drakes
Every 1.5 seconds, the Drake Whisperer feeds a nearby corpse to one of his drakes and unleashes it to a random target in 1000 range. If there is no target, the drake will attack on the next feeding, with a maximum of 5 fed drakes. Each corpse has a 15% chance to feed 2 drakes.

The Blue Drake deals 6000 spell damage in 125 AoE and slows by 25% for 3 seconds.
The Red Drake deals 200% of the tower ' s attack damage and stuns for 3 seconds.
The Green Drake deals 5000 spell damage and spreads Versatile ' s current dps bonus to towers in 175 range for 2.5 seconds.

Level Bonus:
+0.4% double feed chance
Blue Drake : +150 spell damage
Red Drake : +8% damage
Green Drake : +0.04 seconds duration
Specials
+15% dmg to air (+0.4%/lvl)

Status:
OUTDATED: This tower was replaced by Drake Whisperer v15

1, 2, 3, 4
Reply to topic

Discussion

Page 1 of 4 [ 51 posts ] Go to page 1, 2, 3, 4  Next
Author Message
 Post subject: Drake Whisperer v13 (1900)
PostPosted: Tue May 03, 2016 3:13 pm 
Offline
User

Joined: Sat Apr 30, 2016 7:49 am
Posts: 63
This is the discussion thread for the tower Drake Whisperer (1900)

Creator's comments for this tower:

This tower masters the elements through the use of powerful drakes. I like to think of Astral of the master of elements, thus the idea (plus the dragon rider model looks astral.. :>). It is a spell damage carry turret, very strong vs mass, average vs normal and weak vs boss. Once in a blue moon, it has the potential to drastically increase nearby turrets' damage for a short while.


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Tue May 03, 2016 8:02 pm 
Offline
YouTD Admin
YouTD Admin

Joined: Sat Jan 16, 2010 2:35 am
Posts: 1650
#Model / visuals:
The cages on the ground don't look very astraly, and the ground is kind of bare even with them --- I'd replace them with some kind of an astraly platform. Maybe a sort of a pit where you can play a blood/meat effect whenever feeding a corpse to the drakes.

In case you didn't know, in editor, disabling 'Advanced > Reset Fixed Object Heights (Ctrl + Shift + H)' stops the doodads from dropping to ground when moving them. This helps placing doodads (in mid-air) more precisely. The drake models seem just that little bit off to me that it suggests you might've had some issues with placing them as you wanted to.

And --- the stationary drakes seem a bit lifeless. Not necessary, but you could try place them as Effects when tower is created instead and manipulate them a little at times.


The projectile drakes are very large, fly very fast and very unnatural-like (straight). As to the unnaturalness, could try some Bezier with a little randomized sidearc, or at least linear interpolation with zArc.

The bronze drake is so different from the rest that maybe the colored drakes could be 'drakelings' or whatever - just an idea. The colored drakes could have some explosion to their ends. They simply disappear without oomph. Especially the AoE damage ones.

The bronze drake also just disappears when reaching the end. It could be made to fade away instead (by changing its alpha in the periodic when nearing expiration -- disable the attacks after half faded). Maybe even fly up as it fades.


#Code:
Nice to see balance constants being used btw.

Maybe (in function refreshBuff) extend "if damage == 0 then" to include negative values as well --- obviously that should never happen, but who knows.

Iterates always have to be destroyed or '.next'ed to destruction; .count() doesn't destroy them.
Bronze Drakes should be launched on attacks against immunes and instead check isImmune in the drake periodic --- there might be other targets that are not immune.
//here's a code suggestion that addresses the previous two points
function bronzeDrakeTick takes Projectile p returns nothing
   local Tower tower = p.getCaster()
   local Iterate it = Iterate.overUnitsInRange(tower, TARGET_TYPE_CREEPS, p.x, p.y, 400)
   local Unit u
   loop
      set u = it.nextRandom()
      if u == 0 then
         return
      endif
      exitwhen not u.isImmune()
   endloop
   call Projectile.createFromPointToUnit(bronzeDrakeAttack, tower, 0, 0, p.x, p.y, p.z, u, true, false, false)
   call it.destroy()
endfunction

In Periodic, destroy the corpse Iterate instead of looping through the rest of corpses.


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 2:46 am 
Offline
YouTD developer
YouTD developer
User avatar

Joined: Wed Dec 29, 2010 12:20 pm
Posts: 4498
Location: Australia
Pretty sick! No time to playtest, but looks good!

'Everytime' -> 'Every time'

_________________
Goldcost to waveLevel & elementLevel relationship
Incremental Testmap Stub & Tower Creation Map


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 7:26 am 
Offline
User

Joined: Sat Apr 30, 2016 7:49 am
Posts: 63
Deemzul wrote:
#Model / visuals:
The cages on the ground don't look very astraly, and the ground is kind of bare even with them --- I'd replace them with some kind of an astraly platform. Maybe a sort of a pit where you can play a blood/meat effect whenever feeding a corpse to the drakes.

[...]


Thanks for the detailed review !

  • I'll definitely get some changes to the aesthetics. The idea of a pit / bowl to play a meaty effect is great! (I also had no idea about that fixed height option, thanks!)
  • I'll try to get the drakelings to spawn on creation and hover around the tower, then go attack the random targets, then go back to hovering around. No idea how I'm gonna achieve that yet, but should be feasible. I'll also add on-hit SFX to them.
  • I'll apply your code suggestions

Quick question : is there a way to retrieve the Unit tied to a projectile ?

Glowackos wrote:
Pretty sick! No time to playtest, but looks good!

'Everytime' -> 'Every time'


Thanks! Will change :) .


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 7:54 am 
Offline
YouTD developer
YouTD developer
User avatar

Joined: Wed Dec 29, 2010 12:20 pm
Posts: 4498
Location: Australia
Ely wrote:
Quick question : is there a way to retrieve the Unit tied to a projectile ?

p.getUnit()
See the Dummy struct that Projectile extends.

Though often there are higher level functions for manipulating projectiles.

_________________
Goldcost to waveLevel & elementLevel relationship
Incremental Testmap Stub & Tower Creation Map


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 9:06 am 
Offline
User

Joined: Sat Apr 30, 2016 7:49 am
Posts: 63
Glowackos wrote:
p.getUnit()
See the Dummy struct that Projectile extends.

Though often there are higher level functions for manipulating projectiles.


In the tower template map 0.43, there's no such method in the struct DummyUnit, thus my asking.


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 9:29 am 
Offline
YouTD Admin
YouTD Admin

Joined: Sat Jan 16, 2010 2:35 am
Posts: 1650
There isn't indeed.
You can open your API by adding of dummy methods and members that you can see in the testmap into the tower creation map. Things labeled 'private' though cannot be used.
For example, this case, in the testmap you can see that DummyUnit has a member 'unit u', which is the hardcoded unit. You can add that 'unit u' into the creation map's DummyUnit struct to allow its use in your code.

What do you need the unit for?


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 9:38 am 
Offline
User

Joined: Sat Apr 30, 2016 7:49 am
Posts: 63
Deemzul wrote:
What do you need the unit for?


I'd like to attach SFX to the units. Is it okay to exceptionnaly grant access to the unit by adding it to my API then ?


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 9:52 am 
Offline
YouTD Admin
YouTD Admin

Joined: Sat Jan 16, 2010 2:35 am
Posts: 1650
I think I implied it was (e: by telling you how to do it).

There's obviously some room for improvement in the API in that regard. I don't see why there would have to be a limit of one effect on one dummy unit (other than code simplicity).


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 10:20 am 
Offline
YouTD Admin
YouTD Admin

Joined: Sat Jan 16, 2010 2:35 am
Posts: 1650
Just for kicks, this is what the API function would be like (as part of Effect):
        static method createSimpleOnDummyUnit takes string modelPath, DummyUnit target, string where returns Effect
            local Effect e = Effect.allocate()
            set e.typ = .SIMPLE
            set e.e = AddSpecialEffectTarget(modelPath, target.u, where)
            return e
        endmethod

Could also have Effect.createSimpleOnEffect() -- because //Only one effect may be attached at any one time. //For ANIMATED effects only!
Gets kind of weird -- but to avoid using DummyUnits solely as hosts for Effects. Making an array of attached effects would probably be 'cleaner', but perhaps not that much better - dunno just thinking out loud.


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 3:34 pm 
Offline
User

Joined: Sat Apr 30, 2016 7:49 am
Posts: 63
That'd be great :) .

So, I made a lot of progress. The drakelings are now spawned with the turret, attack the creeps with bezier curves and come back to the turret. It looks pretty dope. However, I'm facing a scenario that I have no idea how to handle :

1* A drakeling is sent to an alive creep
2* The creep dies (before the drakeling arrives)
3* The turret removes the corpse because of its periodic event (still before the drakeling arrives)
4* The drakeling, which was homing to the removed unit, goes bonkers. It teleports to the top left of the map and comes back

I'm guessing it's because the game returns erroneous target coordinates to the projectile since the unit was removed. But if I don't remove the corpse, then it allows for unlimited feeding on one corpse. Mmh. Any ideas ?

Also, side question, how long do corpses stay on youTD before being removed? If it's short enough, I might just remove the call to RemoveUnit.

edit : in case you're interested, here's a short video of the test map. There are still some things to do, but it's coming along nicely.


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 6:43 pm 
Offline
YouTD Admin
YouTD Admin

Joined: Sat Jan 16, 2010 2:35 am
Posts: 1650
There is other content that affect corpses (so your drakelings gon' be flying to hell even if your tower doesn't remove corpses). Corpse Iterate doesn't seem to pick up hidden units (Undisturbed Crypt), so:
call ShowUnit(u,false)

e:I'll have to look into the engine side of RemoveUnit usage in light of this. There have been other issues with units being removed (including when they reach the end). We tried fixing it in Projectile already, but maybe the solution is to hide all units for a while before being actually removed.

+ Looking pretty cool now.


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v1 (1900)
PostPosted: Wed May 04, 2016 8:08 pm 
Offline
User

Joined: Sat Apr 30, 2016 7:49 am
Posts: 63
Deemzul wrote:
There is other content that affect corpses (so your drakelings gon' be flying to hell even if your tower doesn't remove corpses). Corpse Iterate doesn't seem to pick up hidden units (Undisturbed Crypt), so:
call ShowUnit(u,false)

e:I'll have to look into the engine side of RemoveUnit usage in light of this. There have been other issues with units being removed (including when they reach the end). We tried fixing it in Projectile already, but maybe the solution is to hide all units for a while before being actually removed.

+ Looking pretty cool now.


Ah cool, hidden units it is then ! Thanks


Top
 Profile  
 
 Post subject: Update to version v2!
PostPosted: Thu May 05, 2016 10:00 am 
Offline
User

Joined: Sat Apr 30, 2016 7:49 am
Posts: 63
The tower has been updated to version v2!

Creator's reason for this update:

Aesthetics :
- B/G/R drakes are now drakelings and fully controlled by the tower. They attack their targets and come back to the whisperer.
- Made the turret look more astrally with columns, dalaran ruins & shiny runes
- Bronze drakes now fade away. Also slightly scaled down.
- The blue drakeling has a frost nova SFX on hit
- Bloody animation when the drakes feed

Balance :
- Added a curWave-based damage cap for Versatile
- Red drakeling stun : 0.5 -> 0.75
- Feeding has a chance to feed two drakelings

Code :
- Hide corpses instead of destroying them
- Memleak fixes (thanks Deemzul)


Top
 Profile  
 
 Post subject: Re: Drake Whisperer v2 (1900)
PostPosted: Thu May 05, 2016 10:05 am 
Offline
User

Joined: Sat Apr 30, 2016 7:49 am
Posts: 63
I ended up not adding SFX for red and green drakeling as they're single target. Also dropped the idea of attaching SFX to the projectiles as the tower already has a big visual impact.


Top
 Profile  
 
Display posts from previous:  Sort by  
Reply to topic  [ 51 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group