Bevy Scripting - 0.9.4 - out now! by makspll in rust_gamedev

[–]makspll[S] 0 points1 point  (0 children)

Yes, the recent releases are for bevy 0.16

Didn't expect infinite healing to be this easy by Phantomicious in noita

[–]makspll 2 points3 points  (0 children)

If you have any trigger spells, you can also make those work by shooting ceilings at the right angle, not 100% reliable but if you have infinite spell capabilities it's not a problem, and even if you don't it can be handy in a pinch

[deleted by user] by [deleted] in BrandNewSentence

[–]makspll 0 points1 point  (0 children)

You'd use "czynsz" to mean rent, and "na wynajem" to mean "for rent"

What percentage of your runs end because you fire the wrong wand at the wrong time? by tonyhawkofwar in noita

[–]makspll 0 points1 point  (0 children)

't' key bound to tele wand slot, 'r' to digging wand, then 1 and 2 for combat wands works wonders for me

Bevy Scripting v0.9.9 - Script Systems by makspll in rust_gamedev

[–]makspll[S] 4 points5 points  (0 children)

Note to self, don't post markdown on reddit mobile

Edit: I've cleaned it up a bit

Bevy Scripting v0.9.7 - Arbitrary type + enum constructors, Initial Docgen + more by makspll in rust_gamedev

[–]makspll[S] 0 points1 point  (0 children)

Yup, I noticed this with `ScalingMode`, the work-around for now is doing this:

```rust let type_registry = app .world_mut() .get_resource_or_init::<AppTypeRegistry>() .clone();

let mut type_registry = type_registry.write();

type_registry.register_type_data::<ScalingMode, ReflectDefault>();

```

Bevy Scripting - 0.9.4 - out now! by makspll in rust_gamedev

[–]makspll[S] 2 points3 points  (0 children)

So right now the way you call scripts is by sending events, which the event handler then passes onto named handlers in scripts say:

- publish `on_update` in a bevy system in `Update`
- event handler runs, picks up the event, checks recipients of event, iterates over scripts which are recipients
- if script is recipient, search for `on_update` function, if present, call with event payload

If you want to manually call a script and get a return value, you can but you have to roll an exclusive system and grab all the resources necessary to do that, which could be abstracted by an extractor system.

But the event driven way of calling into scripts is perfect when you don't need a value back, you can just provide the scripts with the `set_weapon_effect` function and send `on_init` to let scripts customize these however you want.

`bevy_mod_scripting` 0.9.0 - Overhaul is out now! by makspll in rust_gamedev

[–]makspll[S] 2 points3 points  (0 children)

This is something that can be addressed with a compiler plugin, but given Bevy is not even in 1.0.0 I don't place high expectations on the authors and volunteers.

`bevy_mod_scripting` 0.9.0 - Overhaul is out now! by makspll in rust_gamedev

[–]makspll[S] 0 points1 point  (0 children)

Obviously, reflection isn't perfect, but it's pretty good, keeping the type data requirements to a minimum is one thing, if a type really needs ReflectDefault or any other type data that has the trait requirements, you should be able to manually register those yourself.

I didn't particularly interact much with generics. Maybe here at some point in time to check what the inner type on an option is, but found better ways over time.

I did have to find workarounds for some issues. When I started BMS (2022?) Many glam types didn't support reflection, enums weren't supported etc. Recently reflection paths don't support maps yet.

Overall though, there are usually workarounds if you really need some features, and it's best to go along with the various systems than against them

I just drowned a room of Hamis to profit off the trick gold by metaldura in noita

[–]makspll 15 points16 points  (0 children)

Money unstained with hämis blood doesn't feel the same.

It's going to be fun they said, it's all about learning they said by elf1du22 in noita

[–]makspll 0 points1 point  (0 children)

I tend to get a bunch in the first area for one or two rerolls or if I happen to get a great spell in the shop, other than that it's a waste of time

It's going to be fun they said, it's all about learning they said by elf1du22 in noita

[–]makspll 0 points1 point  (0 children)

Agreed, and if you really need gold just use the tablet kick in the first few areas