Superfighters Deluxe 1.3.1b is out!

Added 15 Aug 2019
* After a crash the editor will ask the user to save changes to a new file instead of overwriting the existing file.
* Fixed a crash caused by missing property 13 for SupplyCrate00 in older saved maps.
* Fixed a crash that could happen when copying/duplicating entire pulley joint structures or elevator path structures.
* ScriptAPI: Changed Events.PlayerKeyInputCallback, IPlayer.KeyPressed(..) so it only works while player input is Enabled, while PlayerCommands only work while input is Disabled. PlayerCommands and PlayerKeyInput are not compatible with each other.
* ScriptAPI: Added IPlayer.InputMode, IPlayer.SetInputMode(..) to be able to set input mode to Enabled, Disabled or to ReadOnly mode. PlayerInputMode.ReadOnly is useful if you want to listen on key input using the new ScriptAPI features added in v.1.3.1 while preventing a player from performing actions. Input mode Enabled and Disabled works the same way as IPlayer.SetInputEnabled(true|false).

Superfighters Deluxe 1.3.1 is out!

Added 12 Aug 2019
* Spectating while you're dead will now focus on other targets in the same way as if you were alive.
* Updated tooltip for "Map Interval" to clarify that campaign and survival maps have a fixed interval of 1.
* Updated map rotation information in the scoreboard for campaign and survival maps that have a fixed interval of 1.
* Fixed a bug where fast moving missiles (created from scripts) could clip through players and hit objects behind instead, e.g. when standing against a wall.
* Fixed a bug where the initial selected map would be skipped when map rotation interval is set to 1 when creating a new game.
* Fixed a bug where SpawnWeapon markers didn't handle Streetsweepers, resulting in a magenta tile.
* Fixed a bug where MedicalCabinet00 couldn't be targeted by other triggers.
* Fixed some faulty tile textures.
 
ScriptAPI:
* Added Events.PlayerKeyInputCallbackEvent to be able to listen on player key input.
* Added IPlayer.KeyPressed(..), IPlayer.KeyMovementIsFlipped, IPlayer.KeyDoubleTapSprintEnabled, IPlayer.KeyAttackAndBlockToGrabEnabled to be able to read pressed key states.
* Added IGame.SlowmotionModifier to be able to read the current speed of the game.
* Added Events.ProjectileCreatedCallback to be able to listen on created projectiles.
* Added IGame.GetBurningObjects() to be able to get all burning objects.
* Added IGame.GetFireNodes(..), IGame.EndFireNode(..) to be able to read and remove fire in the world.
* Updated IGame.SpawnProjectile(..) to return IProjectile instance.
* Updated ProjectileHitArgs with property bool RemoveFlag to determine if the projectile is going to be removed by the hit or not.
* IObject.TrackAsMissile(..) now registers it as thrown from a player.
* IPlayer.SetHitEffect(PlayerHitEffect.Metal) now plays a generic metal-destroy effect and sound instead of the gib effect.
* Made it possible to both call IPlayer.AddCommand(..) and IPlayer.SetInputEnabled(true) in the same update and still make the command execute.
* Fixed a bug where Events.OnObjectCreatedCallback wouldn't run unless you had registered Events.OnObjectTerminatedCallback as well.

Superfighters Deluxe 1.3.0b is out!

Added 1 Aug 2019
* Updated the /MAPS and /SHOWMAPCATEGORIES commands to properly display indexes.
Updated the /MAPS command to be able to filter on map category (e.g. "/maps versus").
The /MAP command will now search for an exact match first before searching on keywords.
* Fixed so players aren't slowed down when thrown through glass sheets.
* Fixed a few rare crashes.
* Fixed a bug where you would drop a non-primed throwing weapon (grenade, molotov, mine, C4) when grabbed, even if you had primed it previously.
* Slight tweaks to the Sanctuary Survival.
* Slight tweaks to Escape From Precinct 9 outro cutscene.
* Added LineOfSightBlocker tile which has no collision, but bots can't see through it.
* Other fixes and tweaks.

Superfighters Deluxe 1.3.0 is out!

Added 31 Jul 2019
* New weapon: Streetsweeper. A MetroCorp-patented attack drone which, when activated, autonomously seeks out and attacks enemies.
* New campaign: "Escape From Precinct 9".
* New versus map: "Sanctuary".
* New survival map: "Sanctuary Survival".
* New challenge: "Streetsweeper Sweep-up".
* Several new music tracks by Splinter.
* Several new customization items (the new items are currently not unlockable!).
* Map Rotation can now be set to "None", "Vote", "Random" or "One-by-one". This allows you to have a map rotation without the voting.
* All voting can now be done via the main menu as an alternative to using F1-F4 and spacebar. This makes it possible to vote when using a controller.
* The game server browser now shows servers that are hosted in a different version of the game in red.
* When playing any offline game (including challenges and the tutorial) opening the Esc menu will pause the game.
* Shuriken can now be sheathed at any time, e.g. while charging a throw.
* Shuriken pickup amount decreased from 7 to 6 and shuriken damage lowered from 20 to 17 - lowering the total potential damage output from 140 to 102.
* Made bots' aim more stable and less jittery, plus some minor tweaks to the aiming behavior.
* Bots will now always prioritize running towards their guard target if the distance to the target is more than 3 times their guard range or chase range.
* The /ban command now bans a user for 14 days the first ban, 30 days the second ban and permanently the third ban. The default values can be changed in the config.ini file by changing the HOST_GAME_FIRST_BAN_DAYS, HOST_GAME_SECOND_BAN_DAYS and HOST_GAME_THIRD_BAN_DAYS values.
 
Map editor:
* Live mines, grenades and molotovs can now be used directly in the map editor.
* Added property CameraSecondaryFocusMode to PlayerSpawnTrigger which controls how the camera's secondary focus works for spawned players.
* DialogueTrigger now has an option to show the text in the chat or not.
* Game.WriteToConsole() messages will be completely ignored if not running in the map editor and if the console is hidden.
 
Bug fixes:
* Fixed a bug where a local co-op player who had previously left an offline game would sometimes appear in a player slot when a new game was hosted.
* Fixed a bug where you could change the drop-in-mode for offline games in the host game panel (drop-in is not applicable in offline games!).
* Fixed a bug where bots could be duplicated over time as players joined and left a game.
* You can now throw shurikens, grenades, molotovs, C4 and mines without hitting teammates standing close to you, as with other thrown weapons.
* The game server browser will no longer reset its scroll position while refreshing.
* Fixed a bug where kicked entries in the server software wouldn't always be displayed properly.
 
ScriptAPI:
* IPlayer.SetUser() and IUser.SetPlayer() now have an optional argument to disable the flashing effect.
* Added IPlayer.GetCameraSecondaryFocusMode(), IPlayer.SetCameraSecondaryFocusMode(), IObjectStreetsweeper.GetCameraSecondaryFocusMode(), IObjectStreetsweeper.SetCameraSecondaryFocusMode() to be able to control how the camera by default focuses on other players. This is similar to the old AddCameraFocusObject() and IgnoreCameraFocusObject() functions.
* Added IPlayer.SetCurrentMeleeDurability(), IPlayer.SetCurrentMeleeMakeshiftDurability() to be able to control current melee weapon durability.
* Added IPlayer.SetCurrentPrimaryWeaponAmmo(), IPlayer.SetCurrentSecondaryWeaponAmmo() to be able to control ranged weapon ammo and special ammo amount.
* Added IPlayer.SetCurrentThrownItemAmmo() to be able to control thrown item ammo amount.
* Updated IPlayer.CurrentPrimaryWeapon and IPlayer.CurrentSecondaryWeapon with the following properties to be able to read more data about current ranged weapon: WeaponMagCapacity, MaxCarriedSpareMags, MaxTotalAmmo, PowerupBouncingRounds, PowerupFire, ProjectileItem.
* Added IUser.AccountID, IUser.AccountName
* Added IGame.GetProjectiles() to be able to control projectiles.
* Added Events.ProjectileHitCallback to be able to listen on projectile hit events in scripts.
* Updated Event.PlayerDeathCallback with PlayerDeathArgs to be able to read directly if the player was killed, removed or both.
* Updated PlayerDamageCallback with PlayerDamageArgs arguments. This allows you to read type of damage and source object causing the damage.
* Added IPlayer.ChatActive to be able to read if a player has the chat active.
* Added IPlayer.RocketRidingProjectileInstanceID to be able to read the rocket's instance ID.
* Updated Game.CreateDialogue() with an option to show the dialogue in the chat or not.
* Added Event.ExplosionHitCallback to be able to listen to explosions and what they affect.
* Added Event.ObjectCreatedCallback to be able to listen on when objects are created.
* Added Event.ObjectDamageCallback to be able to listen on damage events on objects.
* Added Event.ObjectTerminatedCallback to be able to listen on destroyed and removed objects.
* Added PlayerMeleeActionCallback to be able to listen on player melee actions and what objects they hit.
* Added Game.RayCast(..), IObject.RayCast(..), IObject.HitTest(..) to be able to RayCast and HitTest against objects in the world.
* Added IGame.DrawLine(), IGame.DrawCircle(), IGame.DrawArea(), IGame.DrawText() to be able to draw debug information while testing your map in the editor. See summary for implementation details and notes.
* Added IObjectMineThrown and IObjectGrenadeThrown to be able to change dud chance on explosives and check whether it's a dud or not.
* Updated EffectName static class with available effects and documentation over possible arguments for each effect to be used with the Game.PlayEffect(..) function.

Superfighters Deluxe 1.2.0g is out!

Added 8 Jun 2019
* Fixed a bug causing thrown items to sometimes hurt players even after sliding/rolling along the ground (bug introduced in the 1.2.0f update).
* Fixed a bug causing thrown items to sometimes clip through platforms if thrown directly at them (bug introduced in the 1.2.0f update).
* Fixed a bug where bots could get stuck swapping the same two weapons over and over by changing how bots decide whether to replace a gun.
* Fixed a bug where bots could try to move or change targets while firing a burst-type weapon like the Assault Rifle and Flamethrower.
* Fixed a bug where bots could try to pick up nearby items on the ground while performing a grab.
* Fixed a crash in the map editor if you tried to access the context menu when you had no active map to work in.
* Fixed a potential problem with corrupted maps resulting in null data that could cause SFD to crash in certain situations.