prodigysim / complite-mutation Goto Github PK
View Code? Open in Web Editor NEWA Competitive Left 4 Dead 2 Mutation
A Competitive Left 4 Dead 2 Mutation
I don't see any way around this in the case that mission.txt sets tank spawn chance to anything but 100%. I've verified that info_zombie_spawn can produce the exact kind of tank spawn behavior that you'd expect in normal gameplay ("YOU WILL BECOME THE TANK"), at a specified vector.
Console commands used (this will spawn a tank in the start safe room of c1m2):
script SpawnEntityFromTable("info_zombie_spawn", {
targetname = "tankspawner"
offer_tank = 1
population = "Tank"
angles = "0 0 0"
origin = Vector(2337, 5044, 515)
});
script EntFire("tankspawner", "SpawnZombie");
The problem then becomes that there's no implementation of GetPositionForFlowPercent(), only the inverse: GetFlowPercentForPosition(). Ideally I'd like to just do something like:
I worry that we may end up just having to place a bunch of info_tank_spawns manually and just pick a random one to trigger. Upside would be that we could use NF's "Competitive Boss Spawning System for Custom Maps" a la Dark Carnival: Remix if we want to get fancy. Do we just crowdsource a bunch of getpos values for places that we expect tanks to spawn in this case? Maybe we just go through every single map (or every map that is worth doing) and place a few manually where they "make sense".
If we can get m_iVersusDistancePerSurvivor netprop values from the terror_gamerules entity via NetProps when one player has traveled the entire flow (i.e. when Director.GetFurthestSurvivorFlow() == GetMaxFlowDistance()), we should be able to derive the map distance point value for each map. Using this, and Convars.SetValue("vs_survival_bonus", healthBonusFinal/numSurvivorsAlive), (just example var names) we should be able to approach full health bonus functionality.
Competitive players tend to think about what SI comp they will get next rather than what an individual player will get. Let's track spawn times of all classes for the team rather than individual, so that players can predict more readily what to expect next ("x class died last, we won't get one next, boomer+spitter died last, we'll get quad", etc.)
If this is even something we want to port in, could we hook OnGameEvent_player_jump and use CBaseEntity.GetVelocity() and CBaseEntity.SetVelocity() to implement this behavior?
I bet if we wanted to, we could use HUD functions to achieve something very similar to zonemod's anti-bait hordes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.