Giter VIP home page Giter VIP logo

night-of-the-dead's Introduction

Night of the Dead

This repository contains latest version of Night of the Dead for StarCraft II.

Requirements

  1. StarCraft II account (Starter Edition will open the map, but will not let testing it)

Installation

  1. Place bin/src folders in "Mods\Night of the Dead" in StarCraft II install folder (e. g. "C:\Program Files (x86)\StarCraft II\Mods\Night of the Dead"). Create "Mods" folder if necessary.
  2. Launch "Mods\Night of the Dead\src\NOTD.SC2Map\ComponentList.SC2Components" to open map in editor. File associations may not work for first run, so be sure to open it with SC2Edit.

Tips

  1. To make map load faster, change Editor startup settings to load triggers module instead of terrain in File -> Preferences -> Startup.
  2. Place your SC2Bank file in "Documents\StarCraft II\Banks" to use it in test mode.
  3. While in test mode additional Editor cheats can be used for convenience. For full reference see docs/SC2TestDocumentCheats.txt, copy pasted from patch 1.3.0 notes. Common cheats:
    • god - Turns on god mode for the selected player.
    • showmap - Toggles fog of war display and validation.
    • makeunit chain - Creates XM814 Heavy Machine Gun at cursor.
    • makeunit ammo 5 - Creates 5 ammo boxes at cursor.
    • makeunit eos 1 14 - Creates 1 Eos for player 14 at cursor.
    • deathunit - Kills the selected units.
    • move - Moves the selected units to the cursor position.
    • xp 10000 - Adds 10000 XP to the selected units.
  4. Triggers can be manually run with TrigRun, however correct identifier needs to be used. To run Sec B Hades fight trigger named "STW16b - Boss Fight (Hades)" type "trigrun STW16bBossFightHades". Correct identifier can be found by right clicking trigger and selecting 'Element Properties...', or highlighting a trigger and pressing Ctrl+Enter.
  5. For testing purposes it may be useful to disable certain story/world triggers, like ambient spawns.

Original instructions

Original instructions by ArcanePariah on forum are copy pasted here for convenience.

  1. I am presuming you know how to use Git. If not, a primer can be found here: https://git-scm.com/doc. If you need a GUI frontend for Git, I would suggest SourceTree: https://www.sourcetreeapp.com/
  2. You MUST make a folder named "Night of the Dead" in your Mods folder in your Starcraft II install folder (so the full path must be Starcraft II/Mods/Night of the Dead), and clone to this folder so dependencies will be resolved correctly. You will NOT have access to the online version of the dependency.
  3. I will accept pull requests on Github or patches directly on Github. Please create a bug report on this forum if one does not already exist, and then link to the patch, so I can review it.
  4. Any changes to the binary SC2Map file will be discarded. I will only integrate changes to the unpacked map files.
  5. Please test any changes you make locally. If you need help on this, I can provide a list of test mode cheats.
  6. If I believe your changes are high risk, I will publish them to the test map first, unless I can verify it myself that it won't break anything.
  7. If you do not know what a particular part of the editor does, you can find me on the SC2Mapster Discord channel: https://discord.gg/Ggww95E

night-of-the-dead's People

Contributors

arcanepariah avatar reduxgelum avatar niktosnotd avatar thunderrazor avatar dave-swpr46ae avatar xienus avatar r-p-s avatar ppickles avatar deeway1 avatar redcell5 avatar

Stargazers

 avatar sondevelopgit avatar Tristan Hilbert avatar  avatar  avatar Highseeker avatar  avatar  avatar Abraham Yunes avatar

Watchers

 avatar  avatar  avatar  avatar Chris avatar  avatar  avatar

night-of-the-dead's Issues

New shop ui things

So new shop is online. Appears bugfree when it comes to standard functionality.

Issues i found:
1.I forgot -recruit games had access to permanent items shop. Mine is fully inacessible there.
To fix, rewrite to be accessible in recruit just disable buying of one game items.
2.Trigger responsible for closing shop when someone walks away is initially on. regardles of shop being accessible or not.

Map terrain is botched.

I figured out whats wrong with enemy AI -- there are no starting locations for them. SC2 requires you place a starting location before you can start campaign AI from triggers.

The missing locations is just one more drop in a cup full of crud for how much messed terrain is. Problems i found with it so far:

  1. Pathing is drawn manually over chasms and unreachable high ground instead of using dynamic blockers.
  2. Instead of setting actor LOS-pathing footprints in data, doodads have their footprints completely disabled and manual drawn on top.
  3. Certain doodads historically have no pathing cos they are removed in different campaigns (but sc2 doesnt allow removal of footprint, so either use unit or disable it) -- but cos of manual pathing it doesn't work and u get stuck on seemingly empty ground.
  4. There are multiple locations that make enemies permastuck, despite basic testing with a primitive trigger would reveal them in 15 minutes.
  5. There are leftovers of unused pathing on terrain.

Can't read names in sidebar if they have a clan tag

ZmTeam members frequently have no name. It's not uncommon to see "Dr. ..." so you can't call the person by name without memorizing who they are, etc...

It shouldn't be too hard to remove the clan tag from the naming scheme on the HP bar.

Stinger Reload Bug

Manual reloads bug the attack ability using stinger if the player performs any actions while reloading. This seems to have happened since the latest SC2 patches.

Scalling of boss hp according to alive players count.

It's all over the place currently.
boss scalling
Bosses scaling or not seem to be tied to the time they got put into game, as in older ones scale newer don't. Scaling itself is handled by trigger in spread out per boss basis.
Scaling itself is inconsistent in two ways:
1.What player count causes the scaling differs between bosses.
2.Value by which hp is scaled differs.

There are two general cases:

  1. Bosses appearing in their respective story lines as chapter bosses.
    2.Bosses making guest appearances as their weakened versions.

For a start i was thinking of duplicating the units to make 'Boss' and 'BossGuest' which would allow the clean up of dirty surv related hp changes and to hepha in ac. This could be done without altering gameplay while opening more options. (for example erebos hp, which is set in trigger could be set in data directly if he wasn't same unit in ec as in surv)

After that with cleaner situation we could gather ideas IF bosses should scale to player counts.
At which team counts changes should occur. And what % would the scaling be.

Actor warnings/errors.

So i only recently started to give any attention to actor/model related stuff.
By noting down warning or errors i encountered in other tests.

Fixed a few in pull #151

But still have a bunch i'm aware exist but don't know how to fix yet (it's not error word for word, but general idea + how to reproduce):
Medic:
-on creation/after restoration animation ->"no mapping for slot main.diffuse"
Recon:
-reaper drone shows error about "missing shield attachement point" when taking dmg that bring his shield to 0
Engy:
-cannot create actor with actor catalog entry DistruptionTowerLevel1Build <= engy when buliding tower lv1
-cannot create actor with actor catalog entry DistruptionTowerLevel2Build <= engy when buliding tower lv2
-cannot create actor with actor catalog entry DiamondbackAttackImpact<= engy x1 when attacking strangely only for lvl 2 and 3 bot ->pull #201 fixes this one
Flamer:
-cactormodel[inferno blast], cannot host off oneself <=when inferno explodes on target
Tech:
-on creation ->cactormodel warnings about missing dependency and loading from cache

So if anyone got idea how to eliminate them, feel free to.

[All] Critical Strikes stack

Critical strikes apply a behavior on the target, which causes the damage taken to increase, and stacks with other attacks from other units.

The flamethrower is especially prevalent with criticals because each attack hits multiple times in quick succession, making it very easy to do massive damage quickly.

This is almost certainly a bug, but we have to decide if it's a [wontfix] bug or to leave the feature in the game because it could affect gameplay too much.

Level 4 flare leaves big blank area

The sphere used to light up the area is too large and not high up enough on level 4 flare. There are also a lot of complaints about how red the flare is.

[Alpha] Ivax can be stunned

Faith and other stuns will cause Ivax to be stunned. In the past, he was immune to stuns and should be immune to stuns to prevent FO cheese.

A stunned Ivax also doesn't automatically cloak, meaning you can faith -> smite without him going invisible.

[All] Shotgun Double-taps primary target

Shotgun does regular damage and 100% splash damage to the primary target, effectively doing double damage. Other weapons do not seem to do this, other than the flamethrower which might also do this, but the damage is so small, and the spread is so unique, I don't think it is worth fixing if it does indeed happen as well.

Faulty trigger events.

When i was optimizing events i made a mistake of sorting them by "Failed Conditions" and as result of it i missed one super spammy event. It's a recruit mode game, in -nm it for sure runs even more times.
bosshppls
boss hp event example.zip

Yes it's 418 thousands of occurences. It's native blizzard made event for updating boss hp bars, but it got an error within event and fires like mad for everything. As also seen in this screenshot it was warranted for less than 5 thousand times, with rest being needless.

Given it's a native function it can't be directly fixed just replaced with custom one.
I guess system from team-sidebar which keeps track of marines hp could be adapted to it.

Autocast doesn't work

Since I didn't test autocast (it was made before I knew how to test), looks like it's got major issues.

A major oversight on my part is that NOTD skill buttons DISAPPEAR FOR NO REASON. I have no clue in the editor why this happens, and apparently AP fixed BHS and cloak the last time. In order to get autocast to even approach working correctly, we need to remove this bullshit from the game first.

Additionally, bloodlust for some silly reason doesn't actually fire on autocast. The duration lasts less than a second and the icon doesn't disappear.

Iron hand applies the -5 second slowdown but never speeds up the attack.

Focus fire seems to work perfectly.

Stealth can never be toggled off until you run out of energy.

Inception general bugs

Inception doesn't affect real time based triggers (and shouldn't affect game time either).

We can probably create a list of all the situations where inception doesn't affect a particular unit or event here to slowly fix them.

A few locations:
Cronus Lasers (not 100% sure, but it sure seems like it)
Nuclear Missiles and similar skills
Seth polarity
Hades black hole spawn
Erebos black hole spawn
Perses fire wave bubbles (the bubble is actually in a different location from the visual)
Athena vulnerability time
Queen move speed
Infestor move speed
Ivax likely has issues

Gas camera

When Tanaka gases marines, camera changes to follow mode and rotates to the spot marine is facing. With patch 3.13 it "jumps" every 30 seconds to the spot its supposed to be, instead of rotating smoothly.

This is a known issue for blizz, so no changes will likely be needed. Just wait for them to fix. Extra info:
https://us.battle.net/forums/en/sc2/topic/20754556831

Survival Cronus Persistent Lasers After Death

It took me a while to figure our why Cronus lasers continue to persist after death in survival mode, but fixing the bug may entail a small compromise on the difficulty of fighting Cronus.

Fault:

  • The "Unstable Mutation" behavior (Modification of Vital) given to Cronus in Survival causes Cronus lasers to persist after death.
  • As a secondary fault, the vital modification was placed in the wrong field, which means that Cronus' vitals were never modified (-50%) to begin with.

Cause of Fault:

  • Behaviors (Buffs) that modify a unit's Vital Fraction or Maximum Vital bugs persistent effects such as Cronus lasers causing the effects to continue executing after death. I'm quite certain this is a bug that SC2 needs to fix and not a fault of NOTD.

Proposed Solutions:

  • Solution 1: Remove "Unstable Mutation" behavior and add the vital (-50%) and speed (+20%) modifications using "set unit property" triggers instead. (Given that the -50% vital was never working, fixing this part will make killing Cronus easier than current difficulty.)
  • Solution 2: Remove "Unstable Mutation" behavior and only add the speed (+20%) modification using "set unit property" trigger instead. (This will preserve the current difficulty of killing Cronus as it is currently played.)

I will create two versions of a solution for this.
Merge one and close the other!
~ ThunderRazor

Rating system is coupled with XP system

Created a post on forums: http://notdstarcraft.com/threads/rating-system.3741/

The function "Award Player XP" has a serious problem -- every time its called player rating also may be reduced based on hits. This unnecessary coupling creates problems:
If bonus objective is done -- player loses rating.
If performance bonus is awarded for bonus objective -- bai rating again.
If a normal objective gets performance bonus -- 2x times the rating loss.
At the end there are multiple calls to award xp that can demolish rating completely if speed/moh are earned.

Rating system in itself is done badly already, because the checkpoints don't remove previous hits, so if a person tanks a parasite at the beginning, they will be punished severely worse than the player that tanks 2 parasites mid game, or many paras at end. But coupling it with XP makes it much worse.

From the development perspective adding or changing XP system unintentionally affects rating system.

This whole mess needs refactoring by moving rating checks outside of the xp function.

[Sec] Bergmann can't be saved

He appears to get hit twice by a 150 damage projectile. Should be a simple fix to delete the extra level 2 precision shot damage, but I don't have the capability to test.

Automatic Reloads happen extremely quickly when using fast attacks

When you shoot a weapon, it checks if it's a shotgun, stinger, or barrett first, else subtracts 1 from ammo count. Then it calls the following trigger:

gf_AmmoUsage(lv_attackingPlayer, lv_firingUnit, ge_ReloadType_Automatic, lv_attackingWeapon);

void gf_AmmoUsage (int lp_player, unit lp_attackingUnit, int lp_reload, string lp_weapon) {
// Implementation
gf_UpdateAmmoDialog(lp_player);
gf_ActivateDeactiveReload(lp_player, lp_attackingUnit);
Wait(1.0, c_timeGame);
if ((gv_marineRounds[lp_player] <= 0) && (gv_reloading[lp_player] == false)) {
if ((gv_marineMags[lp_player] <= 0)) {
UnitBehaviorAddPlayer(lp_attackingUnit, "InsufficientAmmo", lp_player, 1);
gf_OutofAmmoMessage(lp_attackingUnit);
}
else {
UnitIssueOrder(lp_attackingUnit, Order(AbilityCommand("move", 2)), c_orderQueueReplace);
gf_ReloadMagazine(lp_player, lp_attackingUnit, lp_reload, lp_weapon);
}
}
else {
if (((gv_marineMags[lp_player] >= 1) && (gv_marineMags[lp_player] <= 3)) && (UnitIsAlive(lp_attackingUnit) == true)) {
gf_LowAmmoMessage(lp_attackingUnit);
}
else {
}
}
}

I believe what may be happening is that the Wait(1.0, c_timeGame); is running from a previous shot, causing weapons that shoot faster than once per game second to white reload quickly.

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.