[WIKI-THREAD] Workshop suggestions 2!

For things like custom projectiles fired by the player, it would be helpful to be able to get the shooter’s latency so it can be compensated for.

It would also be good to be able to apply actual lag compensation to ray casts (also pls sphere casts and capsule casts), but that’s much harder to implement.

It’d also be good to have variants of Start Accelerating and Apply Impulse that take a single impulse/acceleration vector rather than direction and rate. You can often be forced to repeat large expressions like this:

    Start Accelerating(Event Player,
        (
            ((Throttle Of(Event Player) == Vector(0, 0, 0) && (Is Button Held(Event Player, Jump) - Is Button Held(Event Player, Crouch) == 0))
                ? Vector (0, 0, 0)
                : Normalize(
                    (Throttle Of(Event Player) == Vector(0, 0, 0)
                        ? Vector (0, 0, 0)
                        : Normalize(
                            Z Component Of(Throttle Of(Event Player)) * Facing Direction Of(Event Player) +
                            X Component Of(Throttle Of(Event Player)) * -1 * Normalize(Cross Product(Facing Direction Of(Event Player), Up))
                        )
                    ) +
                    (Is Button Held(Event Player, Jump) - Is Button Held(Event Player, Crouch))
                        * Normalize(Cross Product(Normalize(Cross Product(Facing Direction Of(Event Player), Up)), Facing Direction Of(Event Player)))
                ) * 4 * Event Player.base_speed * Event Player.speed_mult
            )
            - Normalize(Velocity Of(Event Player))
                * Max(
                    Min(
                        Speed Of(Event Player) / 0.016,
                        2.6 * Max(Speed Of(Event Player), 0.320 * Event Player.base_speed * Event Player.speed_mult)),
                    Min(30 * Event Player.speed_mult, (Speed Of(Event Player) - Event Player.base_speed * Event Player.speed_mult) / 0.016))
        ),
        Distance Between(Vector(0, 0, 0),
        (
            ((Throttle Of(Event Player) == Vector(0, 0, 0) && (Is Button Held(Event Player, Jump) - Is Button Held(Event Player, Crouch) == 0))
                ? Vector (0, 0, 0)
                : Normalize(
                    (Throttle Of(Event Player) == Vector(0, 0, 0)
                        ? Vector (0, 0, 0)
                        : Normalize(
                            Z Component Of(Throttle Of(Event Player)) * Facing Direction Of(Event Player) +
                            X Component Of(Throttle Of(Event Player)) * -1 * Normalize(Cross Product(Facing Direction Of(Event Player), Up))
                        )
                    ) +
                    (Is Button Held(Event Player, Jump) - Is Button Held(Event Player, Crouch))
                        * Normalize(Cross Product(Normalize(Cross Product(Facing Direction Of(Event Player), Up)), Facing Direction Of(Event Player)))
                ) * 4 * Event Player.base_speed * Event Player.speed_mult
            )
            - Normalize(Velocity Of(Event Player))
                * Max(
                    Min(
                        Speed Of(Event Player) / 0.016,
                        2.6 * Max(Speed Of(Event Player), 0.320 * Event Player.base_speed * Event Player.speed_mult)),
                    Min(30 * Event Player.speed_mult, (Speed Of(Event Player) - Event Player.base_speed * Event Player.speed_mult) / 0.016))
        )),
        10000, To World,
        Direction Rate and Max Speed);

A proper Magnitude Of value would also be nice to replace Distance Between(Vector(0, 0, 0), x).

1 Like

My suggestion is for effects, in-world/hud texts.

Have an option on the reevalutation that says ‘Scripted’ or something.

But basically, it will give us a new action, ‘Force Reevaluation’.
With this action, you have the option to use workshop rules to reevaluate position, visible to, etc.

Can be very useful when reevaluating texts and effect positions and such only on kills, ability use, when on objective, etc.

Or you can just tie the value you want to manually reevaluate to a certain variable and set the variable at the part where you would want to use a “force reevaluation”.

1 Like

That is a solid, simple solution. Always super heplfull, Shanalotte.

1 Like

We got another patch boys!

this one is HUGE

many of the things in here got adressed

i gotta edit in what was done later on (or someone could do it too)

3 Likes

Hope you all have fun :slight_smile:

11 Likes

in giant heroes we have hitbox error we see on btc video:

youtu .be/1xuXQ0cqLxE?t=159

yeah it definetly has some bugs, especially with ranges and other stuff messing up quite bad

is there any place to report workshop bugs?

currently it seems that proyectiles, ability ranges, buildeables, and other character-based stuff is not scaling properly alongside the basic character scaling,

Literally.
Dummy bots and custom strings were bigger patches imo.

1 Like

So … scalable heroes? Probably because of the popularity of the boss modes.

But there are other ideas in this thread I want to highlight, because I think they are much more useful and I’d really like to have them in workshop:

  • “Color” reevaluation and storing colors in variables
  • Skins, emotes and voicelines for dummy bots
  • Local variables
1 Like

i would also like “Universal” Variables, that persist hardcoded into the mode itself.

you could add progress on gamemodes too

My wish list:

  • There is still a big problem with rule’s title clearing… So annoying when you press Tab and no more title… [] Just pfff [].
  • Again, the rule’s toolbar should be shown all the time while scrolling inside a rule…
  • Error analyzer has to specify which rule has an error for a more effective debugging.
  • At least one Undo action is required to avoid unwanted changes by a mistake (like delete a rule and understand that was not the rule to be removed)… happens
1 Like

I think this one is not on the list yet.

1 Like

Is there any chance to make it possible for players (or cameras!) to go out of bounds (go beyond x, y, or z position 1000/-1000)?

I was thinking about making a space exploration game in workshop :slight_smile:

When you make heroes really tiny it is like x10 for all distances…

It works for tiny player/huge world modes, but I want the moon and the space station to disappear on Horizon Lunar Colony :slight_smile: (Also, created effects blur out and become slightly less visible if more than a certain distance away from the camera, it’s not possible to imitate that with tiny characters either).

Why not to start from the colony to the space? :wink:

My main point is that I would like the player to get the feeling of large distances in space. You can create effects that are outside of the ±1000 coordinates cube (large spheres could be planets or asteroids :slight_smile: [I know that the maximum radius for a sphere effect is 200]).

What is about to make a dynamic space that is moving for you instead of you? I mean objects are floating and your hero stays at same position… Sure you can toggle it. I am working on a really big labyrinth and only idea I have is to make dynamic moving space around a player… I know it sounds not really cool but while there is no a solid wall it is hard to prevent a player to try to pass it wrong way.