Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Meta] Lua Roadmap! aka use Lua to handle more server events #844

Open
10 tasks
broxen opened this issue Apr 5, 2019 · 6 comments
Open
10 tasks

[Meta] Lua Roadmap! aka use Lua to handle more server events #844

broxen opened this issue Apr 5, 2019 · 6 comments
Labels
lua-related wishlist Desired functionality that is of low priority currently
Milestone

Comments

@broxen
Copy link
Collaborator

broxen commented Apr 5, 2019

Feature Summary

We could be using Lua to do more! For example, Lua can handle the following events

  • Death / Respawn (where do you go? how much health do you respawn with?)
  • New Player Spawn (what happens when new players spawn, where do they spawn? What powers do they start with? This would replace settings.cfg options)
  • Server Startup (general server settings, time of day, game speed, etc)
  • In Atlas Park we could script Ms. Liberty to train players if they've reached the next level. BAB too.
  • Script Monorail stations
  • Script simple Monorail and Blimp Movement as they are on a fixed path (goToNextMarker())
  • Script the SuperGroup registrar
  • Script Sergio at Icon
  • Script all store NPCs
  • Script all the plaques around town, including the ones inside City Hall.

This relates to the following issues, but has a broader scope

@broxen broxen added wishlist Desired functionality that is of low priority currently lua-related labels Apr 5, 2019
@broxen broxen added this to the Proposals milestone Apr 5, 2019
@broxen broxen added this to To do in Implement Lua Scripting System via automation Apr 5, 2019
@YellowAdder
Copy link
Collaborator

On blimps and monorails: You should add boats/barges to this list for places like Independence Port, too. Monorails and cars/trucks work in a manner similar to one another than for the blimps/barges? I'm really not familiar with what is in already for movement like this.

Also, I've planned for stores, trainers and contacts like Ms. Liberty to receive more attention as the spawndefs gain more depth during the next iteration on spawning.

Regarding plaques, there don't seem to be many around during Issue 0/1. I mean, very few at all. Maybe I'm overlooking a number of them? @ZopharShinta, have you looked into this much?

It might be a good idea to open an issue for the server startup settings to begin a list of desired but specific settings. We could probably have groups of settings within a single script that include startup options, but also some from groups such as the "new player settings" feature you mention.

@ZopharShinta
Copy link
Contributor

I'm curious about the movement for blimps, monorails, car/trucks, etc as I think that would translate to all entities. I might take a look at that this weekend.

There are a few plaques in Atlas (globe and near sewers are the only ones that come to mind) it should be pretty easy to update the plaques.lua for each zone and populate the correct id/name for each plaque a send a simple dialog for it. We would need to check the wiki to pull the text and location for them.

I wonder if Nems suggestion of loading JSON data into Lua would be useful for the server startup settings/new player settings, etc.

@YellowAdder
Copy link
Collaborator

I'm curious about the movement for blimps, monorails, car/trucks, etc as I think that would translate to all entities. I might take a look at that this weekend.

My impression (which could be completely wrong) is that the blimp and barges move on their track at some fixed rate of speed. Once they're spawned, they'll eternally move on their track, done and done.

Vehicles (and to a lesser extent the monorail) are more mutable in the route and may receive acceleration increases as they reach each navigation node, which is why nodes are sometimes placed close together such as when a monorail is "entering" a map. They'll otherwise follow a basic logic and despawn when reaching a destination only to respawn at some starting location again. They're a better start for things that may translate over to pedestrian NPCs.

@broxen
Copy link
Collaborator Author

broxen commented Apr 6, 2019

So, Cars, Blimps, Pedestrians, and Monorails all have markers that they can look for.

Actually, it's easier with Blimps and Monorails, which you can see if you log into the client and type /see_everything 1 into the chat window. They have a very deliberate track to follow.

@YellowAdder
Copy link
Collaborator

For some reason, I thought there were only single nodes on the blimp and boat tracks, but some are "doubled" on there as well. Here's what I'm talking about for what I presume is a rapid speed increase on the monorail at certain points:

image

Same thing for various points on the street vehicle paths:

image

I also watched a "tour" video of Skyway city, given it's freeways, and was surprised at the sparse traffic. Does anyone remember fighting trolls having to dodge the fast moving cars and trucks on the freeway? The density of traffic in my memory is a lot higher than what was depicted. Maybe some traffic was specially triggered based on players standing on the road, or something.

@broxen
Copy link
Collaborator Author

broxen commented Apr 6, 2019

I think you're probably right about the speed increases.

Actually traffic was pretty sparse, but it also worked off of the same proximity mechanics as everything else. Because of that, it probably did feel as though it spawned when standing on the roads.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lua-related wishlist Desired functionality that is of low priority currently
Development

No branches or pull requests

3 participants