public void SetSpells(AIUnitRecord record) { Spells.Clear(); AddSpell(0, SpellProvider.Instance.GetSpell(Owner, 0, record.Spell1)); AddSpell(1, SpellProvider.Instance.GetSpell(Owner, 1, record.Spell2)); AddSpell(2, SpellProvider.Instance.GetSpell(Owner, 2, record.Spell3)); AddSpell(3, SpellProvider.Instance.GetSpell(Owner, 3, record.Spell4)); }
public CharacterStack(AIUnitRecord stackUnitRecord, uint id, bool modelOnly, bool overrideSpells, bool replaceCharacterPackage, uint skinId) { this.StackUnitRecord = stackUnitRecord; this.Id = id; this.ModelOnly = modelOnly; this.OverrideSpells = overrideSpells; this.ReplaceCharacterPackage = replaceCharacterPackage; this.SkinId = skinId; }
protected void SpawnMonster(string name, Vector2 position, int delay) { uint netId = Game.NetIdProvider.PopNextNetId(); AIUnitRecord record = AIUnitRecord.GetAIUnitRecord(name); AIMonster monster = new AIMonster(netId, record, delay); monster.SpawnPosition = position; monster.Position = position; monster.DefineGame(Game); Game.AddUnitToTeam(monster, TeamId.NEUTRAL); Game.Map.AddUnit(monster); }
public void SpawnCamp(string monsterName, Game game, Vector2 position) { AIMonster monster = new AIMonster(game.NetIdProvider.PopNextNetId(), AIUnitRecord.GetAIUnitRecord(monsterName), 0); monster.Position = position; monster.SpawnPosition = position; monster.DefineGame(game); game.AddUnitToTeam(monster, TeamId.NEUTRAL); game.Map.AddUnit(monster); monster.Initialize(); monster.Create(); }
public static void HandleKeyCheckMessage(KeyCheckMessage message, LoLClient client) { long userId = LoLServer.BlowFish.Decrypt((ulong)message.checkId); logger.Write("User (" + userId + ") connected!"); if (userId != message.userId) { return; } client.UserId = userId; PlayerData datas = ConfigurationProvider.Instance.GetPlayerData(userId); if (datas == null) { logger.Write("No player data for userId:" + userId, MessageState.WARNING); return; } Game targetGame = GameProvider.TestGame; if (targetGame.Contains(userId)) { logger.Write(userId + "try to connect a second time!", MessageState.WARNING); return; } client.DefinePlayer(new AIHero(client, datas, AIUnitRecord.GetAIUnitRecord(datas.ChampionName))); client.Hero.DefineGame(targetGame); client.Hero.Game.AddUnitToTeam(client.Hero, client.Hero.Data.Team); client.Hero.PlayerNo = client.Hero.Game.PopNextPlayerNo(); // on montre aux joueurs de la partie que je suis la ! client.Hero.Game.Send(new KeyCheckMessage(PartialKey, client.Hero.PlayerNo, userId, 0, 0, 0), Channel.CHL_HANDSHAKE); // on montre a moi les autre joueurs de la partie foreach (var player in client.Hero.Game.Players) { client.Send(new KeyCheckMessage(PartialKey, player.PlayerNo, player.Client.UserId.Value, 0, 0, 0), Channel.CHL_HANDSHAKE); } // useless?? client.Send(new WorldGameNumberMessage(client.Hero.Game.Id, client.Hero.Game.Name), Channel.CHL_S2C); // blowfish >= 8 client.Encrypt = true; }
protected void SpawnAITurret(string turretName, string aiUnitRecordName, string customAIUnitRecord = null) { AIUnitRecord aIUnitRecord = AIUnitRecord.GetAIUnitRecord(customAIUnitRecord != null ? customAIUnitRecord : aiUnitRecordName); MapObjectRecord objectRecord = Game.Map.Record.GetObject(turretName); if (objectRecord == null) { logger.Write(string.Format(SPAWN_EX_STRING, turretName, "the GameObjectRecord do not exist."), MessageState.WARNING); return; } if (aIUnitRecord == null) { logger.Write(string.Format(SPAWN_EX_STRING, turretName, "the AIUnitRecord do not exist."), MessageState.WARNING); return; } string fullName = turretName + BuildingProvider.TOWER_SUFFIX; var teamId = BuildingProvider.Instance.GetTeamId(turretName); if (teamId != TeamId.UNKNOWN) { uint netId = (uint)(BuildingProvider.BUILDING_NETID_X | CRC32.Compute(Encoding.ASCII.GetBytes(fullName))); AITurret turret = new AITurret(netId, aIUnitRecord, objectRecord, BuildingRecord.GetBuildingRecord(Game.Map.Id, turretName), BuildingProvider.TOWER_SUFFIX); turret.DefineGame(Game); Game.AddUnitToTeam(turret, teamId); Game.Map.AddUnit(turret); if (customAIUnitRecord != null) { turret.AddStackData(customAIUnitRecord, 0, false, true, true, false); } } else { logger.Write(string.Format(SPAWN_EX_STRING, turretName, "Unable to find a team."), MessageState.WARNING); } }
public HeroStats(AIUnitRecord record, int skinId) : base((float)record.BaseHp, (float)record.BaseMp, (float)record.BaseHpRegen, (float)record.BaseArmor, (float)record.BaseDamage, record.BaseAbilityPower, (float)record.BaseDodge, (float)record.BaseCritChance, (float)record.BaseMagicResist, (float)record.BaseMpRegen, record.AttackRange, (float)record.BaseAttackSpeed, (float)record.AttackDelayOffsetPercent, AIHero.DEFAULT_COOLDOWN_REDUCTION, 0, 0, 0, 0, 0, DEFAULT_PERCEPTION_BUBBLE_RADIUS, record.BaseMovementSpeed, record.GetSkinScale(skinId)) // 1 = todo SkinRecord { }
public MinionStats(AIUnitRecord record) : base((float)record.BaseHp, (float)record.BaseMp, (float)record.BaseHpRegen, (float)record.BaseArmor, (float)record.BaseDamage, record.BaseAbilityPower, (float)record.BaseDodge, (float)record.BaseCritChance, (float)record.BaseMagicResist, (float)record.BaseMpRegen, record.AttackRange, (float)record.BaseAttackSpeed, (float)record.AttackDelayOffsetPercent, 0, 0, 0, 0, 0, 0, (float)record.PerceptionBubbleRadius, record.BaseMovementSpeed, DEFAULT_MINION_MODEL_SIZE) { }
public AIHero(LoLClient client, PlayerData data, AIUnitRecord record) : base(0, record) { Client = client; Data = data; Disconnected = false; }
public AIUnit(uint netId, AIUnitRecord record) : base(netId) { this.Record = record; this.CharacterStacks = new Dictionary <uint, CharacterStack>(); }
public TurretStats(AIUnitRecord record, BuildingRecord buildingRecord) : base((float)record.BaseHp, (float)record.BaseMp, (float)record.BaseHpRegen, (float)record.BaseArmor, (float)record.BaseDamage, record.BaseAbilityPower, (float)record.BaseDodge, (float)record.BaseCritChance, (float)record.BaseMagicResist, (float)record.BaseMpRegen, record.AttackRange, (float)record.BaseAttackSpeed, (float)record.AttackDelayOffsetPercent, AIHero.DEFAULT_COOLDOWN_REDUCTION, 0, 0, 0, 0, 0, DEFAULT_PERCEPTION_BUBBLE_RADIUS, record.BaseMovementSpeed, 1) { }
public AIMonster(uint netId, AIUnitRecord record, float spawnDelay) : base(netId, record) { }
public AIMinion(uint netId, AIUnitRecord record) : base(netId, record) { }