YADS: A work in progress dcs server

Overview

To run this repo:

  • make an empty mission (any map)
  • modify your dcs to run dcs-grpc
  • clone this repo
  • install deps with npm install
  • create generated code with npm run codegen
  • start the server with a grpc address npm start -- --address "localhost:50051"

vscode extensions you should have:

  • eslint for code standards enforcement
  • prettier for code formatting
  • Markdown All in One for markdown formatting preview in vscode
  • lua for lua. Only needed if you plan to work on the lua bits. (You probably don't need this)
Comments
  • Reinforcements route logic/behaviour

    Reinforcements route logic/behaviour

    After a unit has been killed and successfully respawned, it attempts to return to its previous location.

    To avoid clusters of wrecks, and easy re-targeting, the reinforcement destination should be at a random location near the site of destruction. Optimally not inside buildings/trees, but that may be too annoying/impossible to reasonably get sorted, and should be a separate issue.

    Additional conditions: If possible/available, group the unit with another unit. Should one of the units be damaged/killed en-route, disperse the remaining units for 2-5 minutes (DCS mission editor flag - disperse under fire?) In the event a unit is killed en-route, set reinforcement location to new death location.

    opened by Alighierian 0
  • save waypoints between mission restarts

    save waypoints between mission restarts

    The current waypoints of persistent units should also be persistent over restarts.

    Otherwise units on the move will stop whenever the mission or YADS is restarted. That's especially an issue for automatic respawns, because they will stop wherever they are on their way to the frontline when a restart happens.

    opened by skeletonwburg 1
  • Indistructable units (hidden inside buildings or trees)

    Indistructable units (hidden inside buildings or trees)

    possible solutions:

    • mechanism to kill units in an area with a special troop drop, will find hidden units and doesn't need line of site (use explosion api, like enigmas troop insert)
    • Area "clear" process. land a certain amount of troops in a concentrated zone (min X troops and vehicles in range). Once met, if less then 1/2 units in the area we automatically remove them (assume they are stuck in a tree). To avoid things dissapearing in front of people we should put this in a relatively long delay. So it resolves itself just before being frustrating. instead of instantly deleting the last unit.
    opened by bitbubbler 0
  • Randomly spawn infantry when coalition unit in range is damaged

    Randomly spawn infantry when coalition unit in range is damaged

    Spawn a small group of infantry (different predefined squads for different Trucks/APCs for example) when a ground unit of the same coalition around them is damaged or destroyed.

    Makes more sense than spawning infantry on a destroyed unit.

    First implementation idea:

    1. handle unit gone event, maybe unit damaged event
    2. search for closest unit with "unitEmpty=False" flag in radius (1km?)
    3. spawn randomly chosen squad around found unit
    4. set flag "unitEmpty" so we don't spawn multiple squads from same unit

    considerations: don't define OP squads (RPGs are hard, MANPADS are hard)

    opened by skeletonwburg 3
  • Can't handle naval units in a mission

    Can't handle naval units in a mission

    Errors when naval units are in a mission:

      unit: {
        id: 39,
        name: 'Naval-1-1',
        coalition: 3,
        type: 'Forrestal',
        position: { lat: 34.907013766222875, lon: 33.75533160822897 },
        groupName: 'Naval-1',
        numberInGroup: 1,
        speed: 1.3594386535012912,
        heading: 326,
        category: 4
      }
    }
    Error: expected alt to be a number
        at positionLLFrom (F:\Documents\Git\yet-another-dcs-server\src\common.ts:179:11)
        at unitFrom (F:\Documents\Git\yet-another-dcs-server\src\unit.ts:253:29)
        at F:\Documents\Git\yet-another-dcs-server\src\group.ts:45:50
        at Array.map (<anonymous>)
        at Object.callback (F:\Documents\Git\yet-another-dcs-server\src\group.ts:45:30)
        at Object.onReceiveStatus (F:\Documents\Git\yet-another-dcs-server\node_modules\@grpc\grpc-js\src\client.ts:348:28)
        at Object.onReceiveStatus (F:\Documents\Git\yet-another-dcs-server\node_modules\@grpc\grpc-js\src\client-interceptors.ts:462:34)
        at Object.onReceiveStatus (F:\Documents\Git\yet-another-dcs-server\node_modules\@grpc\grpc-js\src\client-interceptors.ts:424:48)
        at F:\Documents\Git\yet-another-dcs-server\node_modules\@grpc\grpc-js\src\call-stream.ts:330:24
        at processTicksAndRejections (node:internal/process/task_queues:77:11)```
    opened by skeletonwburg 0
Owner
null
Adds support for Blade templates to Prettier. (work in progress)

Laravel Blade support for Prettier ⚠️ This plugin is still a work-in-progress. If you're trying it out, please keep this in mind. This package include

Ryan Chandler 139 Sep 20, 2022
A full stack application that uses an authentication system to allow FAA Inspectors, Airliners, and Aircraft Technicians to update progress on their work all while keeping a log of records on projects completed.

A full stack application that uses an authentication system to allow FAA Inspectors, Airliners, and Aircraft Technicians to update progress on their work all while keeping a log of records on projects completed.

BinaryBitBytes 3 Jun 13, 2022
A work-in-progress HTML sanitizer that strives for: performance like window.Sanitizer, readiness like DOMPurify, and ability to run in a WebWorker like neither of those.

Amuchina A work-in-progress HTML sanitizer that strives for: performance like window.Sanitizer, readiness like DOMPurify, and ability to run in a WebW

Fabio Spampinato 9 Sep 17, 2022
A JavaScript Library To Make Your Work Work Easier/Faster

Functionalty.js (beta) About ✍️ This Is A JavaScript Library To Make Your Work Easier/Faster, You Can See Functionalty.js Website From Here Project Cr

Ali-Eldeba 16 Aug 30, 2022
A JavaScript Library To Make Your Work Work Easier/Faster

Functionality.js (beta) About ✍️ This Is A JavaScript Library To Make Your Work Easier/Faster, You Can See Functionalty.js Website From Here Project C

Ali-Eldeba 9 May 25, 2022
A JavaScript Library To Make Your Work Work Easier/Faster

Functionality.js About ✍️ This Is A JavaScript Library To Make Your Work Easier/Faster, You Can See Functionalty.js Website From Here Project Created

functionality 16 Jun 23, 2022
Monolithic repo for api server, image server, web server

Onsecondary Market Deployed at https://market.onsecondary.com Monolithic repo for api server, image server, web server TODO -use a script to cull expi

Admazzola 2 Jan 11, 2022
Jokes API . In progress...

Jokes-Api Jokes API . In progress... Watch here: https://jokes-api-one.herokuapp.com/ Api routes: GET / return's a html GET /random_joke return's a ra

Starship Code 0 Aug 10, 2022
CLI Progress Bar implemented in NodeJS to track Time, ETA and Steps for any long running jobs in any loops in JS, NodeJS code

NodeJS-ProgressBar CLI Progress Bar for NodeJS and JavaScript to track Time, ETA and Steps for any long running jobs in any loops in JS, NodeJS code D

Atanu Sarkar 5 Nov 14, 2022
This plugin allows you to track the progress of Atlassian Jira issues from your Obsidian notes.

Obsidian jira-issue This plugin allows you to track the progress of Atlassian Jira issues from your Obsidian notes. Usage Configuration Use the plugin

Marco Lucarella 74 Dec 30, 2022
Habitapp is a simple app that helps you build positive habits, measure progress and achieve your goals

habitapp Habitapp is a simple app that helps you build positive habits, measure progress and achieve your goals. ✨ Features Working without registrati

null 6 Sep 11, 2022
A progress bar plugin for tasks in Obsidian.

Obsidian Task Progress Bar A plugin for showing task progress bar near the tasks bullet or headings. Only works in Live Preview mode in Obsidian. Sett

Boninall 52 Dec 31, 2022
To-Do list a web app for tracking personal progress through the day. Users can input a list of tasks and mark them as completed once they are done. Built with JavaScript and Webpack

To-do-List-Project To Do List Project Description. This project creates a simple HTML list of To Do tasks. It was built using webpack and served by a

Olawale Olapetan 7 Jul 8, 2022
Simple patch that adds a 'progress' callback to jquery Ajax calls

Jquery Ajax Progresss A simple patch to jQuery that will call a 'progress' callback, using the XHR.onProgress event Usage Simply include the script on

Chad Engler 118 Sep 8, 2022
null 8 Nov 11, 2022
Download large files with progress.

Deno-DLWP Download large files with progress Example import { DLWP } from "https://deno.land/x/[email protected]/mod.ts"; const dlwp = new DLWP(); dlwp.dow

Arnab Paryali 9 Dec 29, 2022
Slim progress bars for anywhere you want to use

qier-progress is a progress bar. It can be used for some watting time like jump links, request data, and load or upload files and images to give us feedback and reduce our anxiety. Also if you have used nprogress, then you must know what I am talking about ~

chen xin 370 Nov 5, 2022
An app to test out your typing speed, save your progress and view statistics against them.

Introduction An app to test out your typing speed, save your progress and view statistics against them. Demo Check out the quick demo here. Getting St

Nithin Kumar B 2 Sep 7, 2022
Super lighweight, pure JavaScript page load progress bar

Nanobar Super lighweight, pure JavaScript page load progress bar Status View Preview Table of contents Status Quick Start What's included Bugs and fea

The MUDA Organization 5 Jan 3, 2022