A template for Dota 2 Custom Games built with modern technologies. Forked from TypeScriptAddonTemplate
- TypeScript with Webpack 5 & Solid.js for Panorama UI
- TypeScript for VScripts
- Basic code
- Clone this repository or, if you're planning to have a repository for your custom game on GitHub, create a new repository from this template and clone it instead.
- Open the directory of your custom game and change
name
field inpackage.json
file to the name of your addon name. - Open terminal in that directory and run
npm i
to install dependencies. You also should runnpm update
once in a while to get tool updates.
After that you can press Ctrl+Shift+B
in VSCode or run npm run dev
command in terminal to compile your code and watch for changes.
Run npm run launch
for launch Dota2 Workshop Tools
Modules:
- [modules/common]: TypeScript .d.ts type declaration files with types that can be shared between Panorama and VScripts
- [modules/vscripts]: TypeScript code for Dota addon (Lua) vscripts. Compiles lua to game/scripts/vscripts.
- [modules/panorama]: TypeScript code for panorama UI. Compiles js to content/panorama/scripts/custom_game
Game dirs:
- [game/*]: Dota game directory containing files such as npc kv files and compiled lua scripts.
- [content/*]: Dota content directory containing panorama sources other than scripts (xml, css, compiled js)
Build scripts:
- [scripts/*]: Repository installation scripts