I've got a weird bug here...

FangFang Member Posts: 33
edited November -1 in Working with GS (Mac)
hey, it's me again. If you're by now wondering why I come back so often, I have a project for school to finish by next Monday.

I have a Hero who can breathe ice breath. This spawns particles and invisible actors (Freeze) in the direction he's facing.
Baddies, when they overlap or collide with Freeze, they're supposed to do just that: freeze (turn blue, prevent motion, etc).

Thing is, this works just fine, until I tell the Freeze actor to interpolate it's height (to simulate the spread of the breath, which the particles also do).
Without an interpolating height, the Baddies freeze every time they get hit. With the interpolation, they only freeze on very rare occasions.

The same goes for a Shockwave the Hero sends out. It's a round actor that pushes Baddies away and deals 1 damage. It's set to interpolate both height and width from 1 to 400, to simulate the shockwave effect.
It pushes them away just fine, but rarely deals the damage (which the Baddies are supposed to get when overlapping or colliding with Shockwave).

How the hell do I fix this? With the Freeze breath I can get away with not interpolating, but for the Shockwave, it's really necessary.
If this all sounds a bit confusing, I'll be willing to upload the game for you.

Thanks,
~ Fang

Comments

  • FangFang Member Posts: 33
    Anyone?
    It'd be nice if I could have this fixed by tomorrow. If not, no big deal though.
  • SlickZeroSlickZero Houston, TexasMember, Sous Chef Posts: 2,870
    Sounds like interpolate is trumping the script to do other things. try spawning another freeze actor above or below the first one after a second or 2 to simulate the spreading out of the ice particles instead of making that 1 actor interpolate bigger.

    And for your shockwave, the same thing could be happening. Have you tried using magnitude for that instead of a spreading actor? (you could probably do that for the ice particles too) Like this video here…

  • FangFang Member Posts: 33
    Thanks Slick, learned quite a bit from that.
    Not exactly what I'm wanting to do, though. It doesn't give me the ability to say when collide change attribute HP.

    I can maybe fix the problem of the Shockwave by spawning a bunch of second actors in tons of directions, that decrease HP on collide?
  • SlickZeroSlickZero Houston, TexasMember, Sous Chef Posts: 2,870
    I don't know how to do it personally, but you could probably do the same thing with the deflection according to magnitude, like in the video, and use it to calculate the damage to the actors according to their different magnitudes…The closer they are to the center of the explosion, the more damage they take, and less damage the further away they are from it.

    It would take some tweaking to figure out how to script the actors to respond to that. Maybe one of the more experienced GS scripters can chime in on this.
  • FangFang Member Posts: 33
    I'll try messing around with it tomorrow, but if someone has a smarter idea, I'd love to hear it!

    (Nice idea btw, Slick. varying damage depending on distance from center of the shockwave, awesome!)
Sign In or Register to comment.