Exemple #1
0
    /// <summary>
    /// Get a Base abilities list for any race's nexus
    /// </summary>
    /// <param name="nexus">The nexus to associate with the abilities</param>
    /// <returns>A basic skeleton AbilityList object that has all basic tooltip structures common among all race nexus buildings</returns>
    protected AbilityList BaseNexusAbilities(Nexus nexus)
    {
        //create an ability array to plug into an ability list
        Ability[] nexusAbilities = new Ability[AbilityList.MAX_SIZE];

        //create skeleton descriptor tooltip
        nexusAbilities[0] = new InactiveAbility(new DescriptorTooltip());

        //create the abilities for upgrades
        nexusAbilities[1] = new LevelAbility(500, new UpgradeTooltip());
        nexusAbilities[3] = new LevelAbility(1500, new UpgradeTooltip());
        nexusAbilities[4] = new LevelAbility(200, new UpgradeTooltip());
        nexusAbilities[5] = new LevelAbility(300, new UpgradeTooltip());
        nexusAbilities[6] = new LevelAbility(300, new UpgradeTooltip());
        nexusAbilities[7] = new LevelAbility(500, new UpgradeTooltip());

        //set buildings for the abilities
        nexusAbilities[3].SetBuilding(nexus);

        //create the cast abilities
        nexusAbilities[8] = new CastAbility(50, new CastTooltip());
        nexusAbilities[9] = new CastAbility(150, new CastTooltip());

        //TODO: Create nexus abilities for selection of aura & ultimate weapon

        /**
         * nexusAbilities[2]
         * nexusAbilities[10]
         */


        return(new AbilityList(nexusAbilities));
    }
Exemple #2
0
        private static void HandleCastAbility(NetworkMessage message)
        {
            CastAbility castAbility = message.ReadMessage <CastAbility>();

            Log.Info($"CASTABILITY -> caster: {castAbility.CasterIndex}, action: {castAbility.ActionType}, {castAbility.Targets.Count} targets");
            ArtemisServerGameManager gameManager = ArtemisServerGameManager.Get();

            if (gameManager == null)
            {
                Log.Info($"CASTABILITY ignored");
            }
            else
            {
                gameManager.OnCastAbility(message.conn, castAbility.CasterIndex, castAbility.ActionType, castAbility.Targets);
            }
        }