Bounce Angle Formula

Draphoelix

It's not the wintercold that's killing me
Reaction score
132
Yes Caedin, it would be right IF it's hit the south wall. But the problem is that I can't check IF it hits the south wall OR the right wall so I don't know if I should add 180 or take 180-angle.
 

MoonSlinger

I Love using Cheap Tricks... only Results matters
Reaction score
74
Actually this is a very easy problem to solve:

What you need is:
- NOT the Bounce Angle (you already have it)
When dealing with vertical walls, set angle = 180 - angle
When dealing with horizontal walls, set angle = 0 - angle


- You need a way to detect cliffs or boundaries
You can try the systems suggested (using walkable) but i dislike it.


You can Try:
.... Too much trouble, i attached a map, go view it yourself :D


In a NutShell:
- Draw your boundary with a particular different terrain.
- Since its on a cliff it will not show up (doesn't disrupt your map's beauty)
- Do a detection whenever you unit slides.
- Detecting the pathing is too troublesome, so I just use something else

Trigger:
Code:
Slide
    Events
        Time - Every 0.05 seconds of game time
    Conditions
    Actions
        Unit Group - Pick every unit in MovingUnits and do (Actions)
            Loop - Actions
                Set UnitPoint = (Position of (Picked unit))
                Set MovePoint = (UnitPoint offset by 30.00 towards UnitMoveDirection[(Custom value of (Picked unit))] degrees)
                Unit - Move (Picked unit) instantly to MovePoint
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Terrain type at MovePoint) Equal to Lordaeron Summer - Dark Grass
                    Then - Actions
                        Game - Display to (All players) the text: Collision Detected
                        For each (Integer A) from 1 to 4, do (Actions)
                            Loop - Actions
                                Set TestPoint = (UnitPoint offset by 30.00 towards (90.00 x (Real((Integer A)))) degrees)
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Terrain type at TestPoint) Equal to Lordaeron Summer - Dark Grass
                                    Then - Actions
                                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            If - Conditions
                                                ((Integer A) mod 2) Equal to 1
                                            Then - Actions
                                                Set UnitMoveDirection[(Custom value of (Picked unit))] = (0.00 - UnitMoveDirection[(Custom value of (Picked unit))])
                                                Unit - Make (Picked unit) face UnitMoveDirection[(Custom value of (Picked unit))] over 0.00 seconds
                                            Else - Actions
                                                Set UnitMoveDirection[(Custom value of (Picked unit))] = (180.00 - UnitMoveDirection[(Custom value of (Picked unit))])
                                                Unit - Make (Picked unit) face UnitMoveDirection[(Custom value of (Picked unit))] over 0.00 seconds
                                    Else - Actions
                    Else - Actions

Notes on the map:
- The trigger is also found in the map
- You can just flatten the map to see underlying terrains
- Dump more units for fun if you want

Actually I intend to make the map for a tutorial, however, there is a bug involved :D so I didn't make the tutorial.
- The bug doesn't occur much, but it does happen.
- If you don't find it, assume its not there :D
 

Attachments

  • Bouncing.w3x
    21.1 KB · Views: 198

Draphoelix

It's not the wintercold that's killing me
Reaction score
132
- You need a way to detect cliffs or boundaries

FINNALY SOMEONE THAT UNDERSTANDS ME, +rep for understanding. Gonna test it.

Edit: I think I found it, I build a farm and the unit stopped sliding :eek:!
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top