/// <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)); }
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); } }