v1.2.3.b4
- Curses are now tracked at all times and cleared when a player leaves, so a curse can no longer stick to whoever joins into that player slot afterwards - Wallhack and Nightmare no longer shows up for the whole server during the round start skill reveal - One skill throwing during round cleanup no longer cancels the rest of the cleanup or leaves entity kills suppressed for the rest of the map - Fixed the TakeAmmo crash on map change while restoring weapon reserve ammo - Friendly fire reduction now applies to BlastShot, DeathBomb, ExplodingBarrel, ExplosiveShot and ToxicSmoke - FireRain molotovs now land around the decoy instead of on nearby rooftops, and the fire keeps its owner and team so friendly fire rules apply to it - Teammates can no longer shoot the chickens spawned by HealingChicken - Fortnite wall now spawns with its model and health set up front, so it takes the configured amount of damage instead of breaking on the first bullet - JetKick, CarefulBullets and WildThrow now clean up after their target disconnects
This commit is contained in:
parent
20f1ba212a
commit
db7108517a
43 changed files with 449 additions and 208 deletions
|
|
@ -152,12 +152,24 @@ namespace src.player
|
|||
// nobody drew now would otherwise never clear state left over from an earlier round.
|
||||
// Skills that never ran cannot hold state, so they stay out of the sweep.
|
||||
foreach (var skillName in SkillsUsedThisMap.Keys)
|
||||
Instance.SkillAction(skillName, "NewRound");
|
||||
SafeNewRound(skillName);
|
||||
ActiveSkillsThisRound.Clear();
|
||||
tickFailuresLogged.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
private static void SafeNewRound(string skillName)
|
||||
{
|
||||
try
|
||||
{
|
||||
Instance.SkillAction(skillName, "NewRound");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Server.PrintToConsole($"[jRandomSkills] {skillName}.NewRound failed, cleanup continues: {(ex.InnerException ?? ex).Message}");
|
||||
}
|
||||
}
|
||||
|
||||
public static void OnMapChange()
|
||||
{
|
||||
lock (setLock)
|
||||
|
|
@ -168,10 +180,16 @@ namespace src.player
|
|||
Fortnite.skillInThisRound = false;
|
||||
|
||||
EntityManager.SuppressKills = true;
|
||||
EntityManager.DestroyAllTracked();
|
||||
foreach (var skill in SkillData.Skills)
|
||||
Instance.SkillAction(skill.Skill.ToString(), "NewRound");
|
||||
EntityManager.SuppressKills = false;
|
||||
try
|
||||
{
|
||||
EntityManager.DestroyAllTracked();
|
||||
foreach (var skill in SkillData.Skills)
|
||||
SafeNewRound(skill.Skill.ToString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
EntityManager.SuppressKills = false;
|
||||
}
|
||||
|
||||
ActiveSkillsThisRound.Clear();
|
||||
SkillsUsedThisMap.Clear();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue