/** * Siege Pro */ #Extends "Modes/ShootMania/Siege/SiegeBase.Script.txt" #Const CompatibleMapTypes "SiegeV2Arena,LobbyArena" #Const Version "2017-11-21" #Const ScriptName "Modes/ShootMania/Siege/SiegePro.Script.txt" // ---------------------------------- // // Libraries // ---------------------------------- // #Include "Libs/Nadeo/CustomUI.Script.txt" as CustomUI #Include "Libs/Nadeo/ShootMania/WarmUp3.Script.txt" as WarmUp #Include "Libs/Nadeo/ShootMania/WeaponSwitch.Script.txt" as WeaponSwitch #Include "Libs/Nadeo/ShootMania/WeaponSelection2.Script.txt" as WeaponSelection // ---------------------------------- // // Settings // ---------------------------------- // #Setting S_TimeBetweenCapture 0 as _("Time before capture") ///< Minimum time between two captures (0 = unlimited) #Setting S_CaptureTimeLimit 45 as _("Time for capture") ///< Time limit to capture one goal (0 = unlimited) #Setting S_CaptureTimeBonus 10 as _("Bonus time for capturing") ///< Bonus time received after capturing a gate #Setting S_GoalCaptureTime 4.5 as _("Goal capture duration") ///< Time to capture a goal in seconds #Setting S_NbRoundMax 5 as _("Maximum number of round on a map") ///< Set a winner after xx rounds (0 = unlimited) #Setting S_MapsToWin 1 as _("Number of maps to win a match") ///< Number of maps to win the match (0 = don't do match) #Setting S_WarmUpDuration 0 as _("Warm up duration (sec.)") ///< Duration of the warm up round (0 = no warmup) #Setting S_NbPlayersPerTeamMin 1 as _("Minumum number of players in each team") ///< Wait until this minimum is reach #Setting S_NbPlayersPerTeamMax 0 as _("Maximum number of players per team (0: no max)") ///< Do not spawn players beyond this limit, 0=no limit #Setting S_UseSuddenDeathMode True as _("Do not allow a team to win on first turn") ///< Do not allow a team to win on first turn #Setting S_AutoBalance True as _("Use autobalance") ///< Use auto balance at the start of the map #Setting S_WeaponMode 2 as _("Weapon selection mode") ///< 0: Rocket vs Laser, 1: WeaponSelection, 2: WeaponSwitch #Setting S_UseOldCaptureMode False as _("Use the old capture system") ///< Use the old capture system #Setting S_AtkNbIncreaseCaptureSpeed False as _("Attackers number increase capture speed") ///< More attackers on gate means faster capture #Setting S_CaptureThreshold 300 as _("Time (in ms) before the activation of the capture") ///< Time before the activation/annulation of the capture #Setting S_GatesStopDefenders True as _("Defenders can not go through the gates") ///< Don't let defenders go through the gates #Setting S_ScriptEnvironment "production"/*/"development"*/ // ---------------------------------- // // Constants // ---------------------------------- // #Const C_InitialCapturingClan 0 ///< Clan that will start in capture first at the beginning of the match, 0 is random #Const C_WeaponSelectionDuration 7000 ///< Duration of the weapon selection screen #Const C_StartTurnDuration 3000 ///< Duration of the start turn screen #Const C_EndTurnDuration 5000 ///< Duration of the end turn screen #Const C_WaitConnectionTimeLimit 60000 ///< Time to wait at the beginning of a map for players of the matchmaking #Const C_StartingArmor 100 ///< Default number of armor at the start of the round #Const C_MaxDamage 100 ///< Maximum damage inflicted by weapons #Const C_DisplayRulesReminder False ///< Display a window with the rules when the match begins #Const C_WeaponMode_RvL 0 #Const C_WeaponMode_Selection 1 #Const C_WeaponMode_Switch 2 #Const C_SpawnType_BeginTurn 0 #Const C_SpawnType_Capture 1 #Const C_SpawnType_Respawn 2 #Const C_HudModulePath "Nadeo/ShootMania/Siege/Hud.Module.Gbx" #Const C_ImgCommonDir "file://Media/Manialinks/Shootmania/Common/" #Const C_ImgInfoDir "file://Media/Manialinks/Shootmania/InfoPanel/" #Const C_ImgSiegeDir "file://Media/Manialinks/Shootmania/Siege/" #Const C_ImgLobbyDir "file://Media/Manialinks/Common/Lobbies/" #Const C_RoundsDisplayedInScore 5 ///< Number of previous rounds displayed in the end round UI #Const C_LayerProgressionPosition <160., 90., -20.> #Const C_AtkWeapons [ CSmMode::EWeapon::Laser, CSmMode::EWeapon::Rocket ] #Const C_DefWeapons [ CSmMode::EWeapon::Rocket, CSmMode::EWeapon::Nucleus ] #Const C_AtkAmmoGain [ CSmMode::EWeapon::Laser => 0.8, CSmMode::EWeapon::Nucleus => 0.4, CSmMode::EWeapon::Arrow => 0.6, CSmMode::EWeapon::Rocket => 1. ] #Const C_DefAmmoGain [ CSmMode::EWeapon::Laser => 0.8, CSmMode::EWeapon::Nucleus => 0.4, CSmMode::EWeapon::Arrow => 0.6, CSmMode::EWeapon::Rocket => 1. ] #Const C_AtkAmmoMax [ CSmMode::EWeapon::Laser => 1, CSmMode::EWeapon::Nucleus => 2, CSmMode::EWeapon::Arrow => 3, CSmMode::EWeapon::Rocket => 2 ] #Const C_DefAmmoMax [ CSmMode::EWeapon::Laser => 1, CSmMode::EWeapon::Nucleus => 2, CSmMode::EWeapon::Arrow => 3, CSmMode::EWeapon::Rocket => 4 ] // XmlRpc //#Const C_Callback_Siege_OnCapture "Shootmania.Event.OnCapture" #Const C_Method_Siege_SetProgressionUIPosition "Shootmania.Siege.SetProgressionUIPosition" #Const C_BlueBots 0 #Const C_RedBots 0 //L16N [Siege] Description of the Siege game mode rules #Const Description _("The goal of this mode is to capture a pole.\nThe teams play alternatively in attack or defense. The attackers must open gates and capture a pole while the defenders try to stop them.\nEach round the attackers gain an additional armor.\nThe team who capture the pole first or open the more gates wins the map.") // ---------------------------------- // // Globales // ---------------------------------- // declare Ident G_AtkSpawn; ///< The Id of the attackers spawn declare Ident[Integer] G_DefSpawns; ///< The Ids of the defenders spawns declare Ident[][Integer] G_Capturables; ///< The Ids of the Gates/Goal declare Integer[Integer][Integer] G_ClanRoundScores; ///< Score of each round for each clan declare Integer G_CurrentCheckpointIndex;///< The index of the current capturable checkpoint declare Ident[][Integer] G_CaptureInfo; ///< Describe how each Gate/Goal was captured declare Integer[Integer] G_CaptureTime; ///< Time to capture the checkpoints during the round for each clan // ---------------------------------- // // Extends // ---------------------------------- // ***MM_SetupMatchmaking*** *** MM_SetFormat([S_NbPlayersPerTeamMax, S_NbPlayersPerTeamMax]); if (S_NbPlayersPerTeamMax > S_NbPlayersPerTeamMin) { MM_SetProgressiveFormats([1, 1], S_NbPlayersPerTeamMin, S_NbPlayersPerTeamMax-1); } *** ***Lobby_MatchRulesManialink*** *** ManialinkRules = """