Code Monkey home page Code Monkey logo

heroesofthestorm_trymode2.0's Introduction

Hello! 🥳

Projects

  • jamiephan.github.io: My personal website, with some nice parallax effects in the universe 🌍 and a hidden easter egg 👀.
  • JSONBin: A Pastebin-like service speifically designed for JSON. Can be also exported to different formats such as XML, YAML. It features a API based service with an online editor.
  • batch-scripts: Some random batch scripts that I made, I use them quite often for various of stuff (why the fxxk Windows uses forward slash in paths, oh my fu...*ahem*, please excuse me.)

Most of my working projects are in private, so not much are listed 😔.

However you can check out my blog instead!


Heroes of the Storm

Heroes of the Storm is one of my favorite MOBA game with great looking arts and heroes. I can confidently say I spent over 3000+ hours game time with many more hours dedicated to modding.

More importantly, Heroes of the Storm is a modified engine based on the Starcraft 2 engine. Starcraft 2 have a publicly available game editor for modding the game (While Heroes does not). However, due to they are using a similar game engine, Heroes have inherited some custom map loading features as well, although it is not publicly documented.

Here are some projects related to Heroes of the Storm:

Active:

  • Storm Map Generator (source code): An online stormmap file generator (stormmap is the map file format for Heroes of the Storm), that supports multiple configurations such as template map, adding AI, welcome message, enabling debug mode and adding customized XML game data files. You can also use the Web UI to edit and validate the XML files without an editor installed on your computer. Enables for a completely tool-less stormmap file generation.
  • Try Mode 2.0: A drop-in replacement for the in game Try Mode (or Test Mode), with extra features such as Enabling Debug mode, Spawn any units, Update any game values, etc, and tools making modding the map much easier. It will also generate multiple maps (including AI variants) with the custom modding data.
  • Try Mode 2.0 Installer: An Installer App for Try Mode 2.0, allowing to reduce the complexity when installing the custom maps, it also allows to fetch the latest map from the Releases.
  • Game Data: A repo to store all the non-binary game data from Heroes of the Storm (excluding Assets). The game data will be fetched automatically and generate a xsd file, that can be used for custom modding validation and editor auto-completion.
  • S2MA: Automatically fetch Heroes of the Storm (via GitHub Action) data and extract the mods and map files. Act as a storage for those files, which are used by Try Mode 2.0, for building custom maps and AI Maps, for injecting AI players into the maps.
  • AI Maps: Automatically fetch the maps from the S2MA repo and inject the AI (non-modify maps will not have any AI players). It will generate all sort of "AI compositions", such as 1v5, 3v3, etc. The 5v5 variant was also used by Try Mode 2.0 to generate a custom map.
  • Tools: Various tools that I used to aid my modding for Heroes of the Storm.
  • storm-extract-docker: A docker-ised storm-extract command line tool, allows you to run the tools platform independent provided docker was installed. The built image is also using SCRATCH, so the image size can be as small as 1.52MB.
  • Battle.Net-Installer: A fork of barncastle/Battle.Net-Installer, which allows it to be run in non-console environments such as GitHub Action. This is heavily used by S2MA and Game Data repo to fetch the game data automatically.

Archived:

  • Blizzcle: Blizzcle, or Blizzard Article, A NodeJS module and command line tool to download Blizzard's news and article, returns the result as JSON, or generate the article in HTML, JSON when used via the CLI.
  • Snapshot Differ: A repo to extract Heroes of the Storm data, host, generate a diff compare to previous versions and sent it via a reddit bot. This repo have been archived in flavor of Game Data repo.
  • Snapshot Differ Result: A repo to host all the diff result generated from Snapshot Differ. This repo have been archived in flavor of Game Data repo.
  • New Heroes Notification: Some PHP script to monitor and alert new heroes of blog posts

heroesofthestorm_trymode2.0's People

Contributors

dependabot[bot] avatar jamiephan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

heroesofthestorm_trymode2.0's Issues

Acts - stopped working with invisible units

For some reason it stopped working with enemy's invisible units. They just don't get selected. I'm use: tfow, acts.

They are generated, but simply remain invisible - they cannot be selected. Apparently this is due to an update related to the survey or so.

bool libUTIL_gt_ToggleFOW_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libUTIL_gv_isFOWEnabled = !(libUTIL_gv_isFOWEnabled);
if ((libUTIL_gv_isFOWEnabled == true)) {
VisRevealerDestroy(libUTIL_gv_revealer);
UIDisplayMessage(PlayerGroupAll(), c_messageAreaDebug, StringToText("Enabled Fog Of War"));
}
else {
VisRevealerCreate(EventPlayer(), RegionEntireMap());
libUTIL_gv_revealer = VisRevealerLastCreated();
UIDisplayMessage(PlayerGroupAll(), c_messageAreaDebug, StringToText("Disabled Fog Of War"));
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libUTIL_gt_ToggleFOW_Init () {
libUTIL_gt_ToggleFOW = TriggerCreate("libUTIL_gt_ToggleFOW_Func");
TriggerAddEventChatMessage(libUTIL_gt_ToggleFOW, c_playerAny, "tfow", true);
TriggerAddEventChatMessage(libUTIL_gt_ToggleFOW, c_playerAny, "togglefogofwar", true);
}

bool libUTIL_gt_ToggleACTS_Func (bool testConds, bool runActions) {
// Variable Declarations
bool lv_isTSEnabled;
int lv_i;
// Automatic Variable Declarations
const int auto742BDE96_ae = 15;
const int auto742BDE96_ai = 1;
const int autoDCF572B4_ae = 15;
const int autoDCF572B4_ai = 1;
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
libUTIL_gv_isACTSEnabled = !(libUTIL_gv_isACTSEnabled);
lv_isTSEnabled = libSprt_gv_dEBUGSelectionEnabled;
if ((libUTIL_gv_isACTSEnabled == true)) {
UIDisplayMessage(PlayerGroupAll(), c_messageAreaDebug, StringToText("Turned ON Alliance Control and Team Selection (/ac, ts)"));
lv_i = 1;
for ( ; ( (autoDCF572B4_ai >= 0 && lv_i <= autoDCF572B4_ae) || (autoDCF572B4_ai < 0 && lv_i >= autoDCF572B4_ae) ) ; lv_i += autoDCF572B4_ai ) {
PlayerSetAlliance(lv_i, c_allianceIdControl, EventPlayer(), true);
}
if ((lv_isTSEnabled != true)) {
libSprt_gf_DEBUGToggleSelection();
}
}
else {
UIDisplayMessage(PlayerGroupAll(), c_messageAreaDebug, StringToText("Turned OFF Alliance Control and Team Selection (/ac, ts)"));
lv_i = 1;
for ( ; ( (auto742BDE96_ai >= 0 && lv_i <= auto742BDE96_ae) || (auto742BDE96_ai < 0 && lv_i >= auto742BDE96_ae) ) ; lv_i += auto742BDE96_ai ) {
PlayerSetAlliance(lv_i, c_allianceIdControl, EventPlayer(), true);
}
if ((lv_isTSEnabled != false)) {
libSprt_gf_DEBUGToggleSelection();
}
}
return true;
}

How do I can *attach* a texture to a unit?

Yo, I imported the MotherShip model from Starcraft II, and I want to use it in Hots. There was no problems with the model itself, but with its textures. The edges are blue color (or red if the MotherShip is the enemy), the rest is all black.
I tried using "TextureSelectById" directly in "CActorUnit". However, without success.
Looking at other Units' code, I see examples like this:

However, where did Storm_Hero_Malthael_ come from and what does it even mean?
Using Brute Force I found a file named: CONTENT_KEY\8f\8fce0ec4eb50b45b61b938cea3d3fe38
There's a line in it.

dds:64:64:1:7:7:0:storm_hero_malthael_base_diff.dds:1024:1024:1:11:7:0:storm_hero_malthael_base_norm.

Perhaps this is exactly what is the texture for the hero, but it also means that it can not be changed using TryMode2.0 without upgrading the files of the game itself?

Test issue

There is a random - in the README file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.