To create an ability, basically you need to make a "dummy ability" which is quite easy. Take a ghost's sniper round, for example, and remove all effects. You've got an ability which targets a unit but doesn't do anything.
Then setup a trigger to something like:
Event - unit uses ability DUMMY ABILITY
Condition - unit is in region (whatever region restriction you want)
Action - Issue order to targeted unit - move blah blah blah
or
Move targeted unit instantly blah blah blah
I was going to say you can't alter terrain in SC2 but then I found an actor type Terrain Deformation which I think... flattens/straightens the terrain beneath a building. I also changed the mar sara bridge doodad's footprint to "mar sara bridge" and I was able to run half way across the bridge into open space. So there may be something there, but I don't think many people (if anyone) have messed with those two things yet.
Alternatively you can setup some sort of triggers where you change a unit's height as they run up the ramp. Which'll probably end up being fairly complicated but then again maybe not. I suppose if you setup a bunch of thin regions, you could have something where: "Unit enters X" "move unit to point with z offset". I really have no idea if that will work, but that's probably how I would first attack the problem.
Actually I would just use non-"cliff" height deformation to create a fake cliff, using pathing blockers except on the corpse ramp. Probably need some LOS blockers, too, to finish the illusion.
Create an upgrade A which sets the mover to cliffjumper
Create an upgrade B which sets the mover back to ground.
Write a trigger that sets upgrade A level to 1, B to level 0 when item is equipped
Write a trigger that sets upgrade B level to 1, A to level 0 when item is unequipped
For that you'll want to create a behavior with a damage response:
20% block 999 damage or whatever (there's multiple ways to do this)
then put a disable validator on it, you'll want to base these validators on:
CasterIsStationery
&
CliffLevelGreater
Then you want to put the behavior on every single unit and probably put a Show - Requirement on the behavior equal to constant 0 (so it never shows a tooltip).
That's basically how it's done, though you may have to tinker a bit to get it working.
Yeah you're going to have to use something like a traceline; I haven't tinkered with that type of collision yet. There might be some way to find a Z value for the attachment point: head, but I couldn't get it to report a non-zero or non-error after a couple of mins.
Though you say you're making a third person shooter? Have you come up with a smooth camera? I was playing around with it some, and my camera ended up moving jerkily.
Specifically, no. You just need to pay very close attention to the radius data for units & other area selectors / validators when checking for collision. If you do it good enough, then no one is going to be able to tell the difference.
Make an upgrade with no actual modifications in it.
Make a behavior which enables detect at a radius of your choice.
Put requirement on behavior that is Use: above upgrade completed 1.
Add behavior to unit.
Then add buttons, etc to taste
you can look at my map if you can't get it to work.
Sentries have a detect upgrade.
0
@EpicurusDarwin: Go
To create an ability, basically you need to make a "dummy ability" which is quite easy. Take a ghost's sniper round, for example, and remove all effects. You've got an ability which targets a unit but doesn't do anything.
Then setup a trigger to something like:
Event - unit uses ability DUMMY ABILITY
Condition - unit is in region (whatever region restriction you want)
Action - Issue order to targeted unit - move blah blah blah
or
Move targeted unit instantly blah blah blah
Cheers!,
Xen
0
@Rontu23: Go
In the data editor, for each place turret ability, change produced unit, place unit, and placeholder unit to your desired unit.
0
@Gamethreat: Go
I was going to say you can't alter terrain in SC2 but then I found an actor type Terrain Deformation which I think... flattens/straightens the terrain beneath a building. I also changed the mar sara bridge doodad's footprint to "mar sara bridge" and I was able to run half way across the bridge into open space. So there may be something there, but I don't think many people (if anyone) have messed with those two things yet.
Alternatively you can setup some sort of triggers where you change a unit's height as they run up the ramp. Which'll probably end up being fairly complicated but then again maybe not. I suppose if you setup a bunch of thin regions, you could have something where: "Unit enters X" "move unit to point with z offset". I really have no idea if that will work, but that's probably how I would first attack the problem.
Actually I would just use non-"cliff" height deformation to create a fake cliff, using pathing blockers except on the corpse ramp. Probably need some LOS blockers, too, to finish the illusion.
0
@devilesk: Go
Create an upgrade A which sets the mover to cliffjumper
Create an upgrade B which sets the mover back to ground.
Write a trigger that sets upgrade A level to 1, B to level 0 when item is equipped
Write a trigger that sets upgrade B level to 1, A to level 0 when item is unequipped
0
@Betagame: Go
For that you'll want to create a behavior with a damage response:
20% block 999 damage or whatever (there's multiple ways to do this)
then put a disable validator on it, you'll want to base these validators on:
CasterIsStationery
&
CliffLevelGreater
Then you want to put the behavior on every single unit and probably put a Show - Requirement on the behavior equal to constant 0 (so it never shows a tooltip).
That's basically how it's done, though you may have to tinker a bit to get it working.
0
@Ardnived:
Yeah you're going to have to use something like a traceline; I haven't tinkered with that type of collision yet. There might be some way to find a Z value for the attachment point: head, but I couldn't get it to report a non-zero or non-error after a couple of mins.
Though you say you're making a third person shooter? Have you come up with a smooth camera? I was playing around with it some, and my camera ended up moving jerkily.
0
@SoyMilks:
Did you try the... move region trigger? or the attach region to unit trigger?
0
@Ardnived:
Specifically, no. You just need to pay very close attention to the radius data for units & other area selectors / validators when checking for collision. If you do it good enough, then no one is going to be able to tell the difference.
0
@Artanis186: Go
Make an upgrade with no actual modifications in it. Make a behavior which enables detect at a radius of your choice. Put requirement on behavior that is Use: above upgrade completed 1. Add behavior to unit.
Then add buttons, etc to taste
you can look at my map if you can't get it to work. Sentries have a detect upgrade.