public void OnUpdate() { Message = Random.Range(1, 100).ToString(); Sprite = SpriteData[spriteIdx++ % SpriteData.Length]; Texture = TextureData[textureIdx++ % TextureData.Length]; IsActive = !IsActive; Ability = (Ability == HeartAbility.Sun) ? HeartAbility.Moon : HeartAbility.Sun; X = Random.Range(-200f, 200f); Scale = new Vector3(Random.Range(0.3f, 1f), Random.Range(0.3f, 1f), 0); Color = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f)); Progress = Random.Range(0f, 1f); Size = new Vector2(Random.Range(64, 128), Random.Range(64, 128)); Monsters.Clear(); var count = Random.Range(0, 6); for (var i = 0; i < count; i++) { var monster = new Monster(); monster.Name = "Aruka" + Random.Range(1, 100); monster.Texture = MonsterTextureData; Monsters.Add(monster); } MasterMonster.Name = "Amanuma" + Random.Range(1, 100); MasterMonster.Texture = MonsterTextureData; }
public void Clear() { Data = null; Players.Clear(); Monsters.Clear(); Npcs.Clear(); Others.Clear(); }
/// <summary> /// Completely clears the current level /// then constructs a new one. /// </summary> public static void NewLevel() { Grid.Clear(); Rooms.Clear(); Monsters.Clear(); ClearLocals(); Construct(); LevelUpMonsters(LevelCount); LevelCount++; }
public void Read(BinaryReader br) { Monsters.Clear(); int monsterCount = br.ReadInt32(); for (int j = 0; j < monsterCount; j++) { Monsters.Add(new Monster(DarkestDungeonManager.Data.Monsters[br.ReadString()])); } Cleared = br.ReadBoolean(); }
private void HandleGameFightSynchronizeMessage(IAccount account, GameFightSynchronizeMessage message) { lock (CheckLock) { Fighters.Clear(); Monsters.Clear(); Companions.Clear(); foreach (var fighter in message.Fighters) { AddFighter(fighter); } } Account.Character.Status = CharacterStatus.Fighting; }
void OnClickUpdate() { MonsterCount = M4uUtil.Random(0, 6); MonsterNames = new string[MonsterCount]; Monsters.Clear(); for (int i = 0; i < MonsterCount; i++) { MonsterNames[i] = "Goblin" + i; var monster = new MonsterData(); monster.Name = MonsterNames [i]; monster.Texture = Resources.Load("Texture/monster") as Texture; Monsters.Add(monster); } }
private void HandleMapComplementaryInformationsDataMessage(IAccount account, MapComplementaryInformationsDataMessage message) { lock (CheckLock) { SubAreaId = message.SubAreaId; Data = MapsManager.FromId(message.MapId); var subArea = ObjectDataManager.Instance.Get <SubArea>(SubAreaId); var mapName = FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get <Area>(subArea.AreaId).NameId); var subAreaName = FastD2IReader.Instance.GetText(subArea.NameId); Position = $"[{X}, {Y}]"; Zone = $"{mapName} ({subAreaName})"; Entities.Clear(); Monsters.Clear(); Npcs.Clear(); Players.Clear(); Resources.Clear(); AddActors(message.Actors); StatedElements.Clear(); //Populate the StateElements with new ones received. //StatesElements are the elements which our current bot in theory can harvest. foreach (var statedElement in message.StatedElements) { if (!StatedElements.ContainsKey(statedElement.ElementId)) { StatedElements.Add(statedElement.ElementId, new StatedElement(statedElement.ElementCellId, (uint)statedElement.ElementId, statedElement.ElementState)); } } InteractiveElements.Clear(); Doors.Clear(); //populate the interactiveElements which are essencially items that we can interact with. Their location is hardcoded into the map.layer foreach (var interactiveElement in message.InteractiveElements) { if (!InteractiveElements.ContainsKey(interactiveElement.ElementId)) { InteractiveElements.Add(interactiveElement.ElementId, new InteractiveElement((uint)interactiveElement.ElementId, interactiveElement.ElementTypeId, interactiveElement.EnabledSkills, interactiveElement.DisabledSkills)); } } } UpdateMapControl(); OnMapChanged(); }
/// <summary> /// Reloads the displayed affects. /// </summary> public void ReloadDisplayedAffects() { Monsters.Clear(); _displayedAffectPriorities = new List <string>(Settings.Default.MonsterAffects); DisplayNumber = Settings.Default.GroupWidgetDisplayNumber; DisplayedAffectCount = Settings.Default.MonsterDisplayAffectsCount; AffectsPanelWidth = 23 * _displayedAffectCount; Width = AffectsPanelWidth + 22 + 140 + 60 + 20 + 20 + 5 + 5; if (!DisplayNumber) { Width -= 22; } DisplayedItemLimit = Settings.Default.IsMonsterLimitOn ? Settings.Default.MonsterLimit : 9999; if (DisplayedItemLimit < 1) { DisplayedItemLimit = 1; } MoreItemsAvailable = false; OnPropertyChanged("Width"); }
public void Reset() { Point p = Map.ToWorldCoordinates(Path.Start); if (Monsters.Count != AllMonsters.Count) { Monsters.Clear(); foreach (Monster m in AllMonsters) { Monsters.Add(m.Clone()); } } for (int i = 0; i < Monsters.Count; i++) { Monsters[i].Wave = this; Monsters[i].Delay = MonsterSpawnTimer * (i + 1); Monsters[i].Position = new Vector2(p.X, p.Y); } IsDone = false; }
private void Awake() { List <(GameObject, int)> MonsterData = new List <(GameObject, int)>(); for (int i = 0; i < Monsters.Count; i++) { int amount = MonsterAmounts.Count <= i ? 1 : MonsterAmounts[i]; MonsterData.Add((Monsters[i], amount)); } Monsters.Clear(); while (MonsterData.Count > 0) { int i = Random.Range(0, MonsterData.Count); Monsters.Add(MonsterData[i].Item1); MonsterData[i] = (MonsterData[i].Item1, MonsterData[i].Item2 - 1); if (MonsterData[i].Item2 <= 0) { MonsterData.RemoveAt(i); } } }
public static void LoadData() { Monsters.Clear(); //Monsters = new ObservableCollection<Monster>(); var data = File.ReadAllBytes(Files.BattleFile); for (var i = 0; i < 2344; i++) { var insideOffset = Files.TableOffsets[259] + (i * 208); var nameid = BitConverter.ToInt16(data, insideOffset); var name = "NAME NOT FOUND: " + nameid; if (nameid < Names.CharacterToName.Count && Names.CharacterToName[nameid] < Names.UnitNames.Count) { name = Names.UnitNames[Names.CharacterToName[nameid]]; } var equip1 = "[None]"; var equip2 = "[None]"; var equip1Id = BitConverter.ToInt16(data, 108 + insideOffset); var equip1IdOriginal = equip1Id; if (equip1Id >= 0) { var id = BitConverter.ToInt16(data, 108 + insideOffset); if (id < Names.EquipmentToName.Count && Names.EquipmentToName[id] < Names.ItemNames.Count) { equip1 = $"[{equip1IdOriginal}] {Names.ItemNames[Names.EquipmentToName[BitConverter.ToInt16(data, 108 + insideOffset)]]}"; } else { equip1 = "NAME NOT FOUND:" + id; } } var equip2Id = BitConverter.ToInt16(data, 114 + insideOffset); var equip2IdOriginal = equip2Id; if (equip2Id >= 0) { var id = BitConverter.ToInt16(data, 114 + insideOffset); if (id < Names.EquipmentToName.Count && Names.EquipmentToName[id] < Names.ItemNames.Count) { equip2 = $"[{equip1IdOriginal}] {Names.ItemNames[Names.EquipmentToName[BitConverter.ToInt16(data, 114 + insideOffset)]]}"; } else { equip1 = "NAME NOT FOUND:" + id; } } Monsters.Add(new Monster { Id = i, Name = name, EquipmentMain = equip1, EquipmentOff = equip2, Equipment1Id = equip1IdOriginal, Equipment2Id = equip2IdOriginal, Rare = BitConverter.ToBoolean(data, 4 + insideOffset), Boss = BitConverter.ToBoolean(data, 5 + insideOffset), HPBase = BitConverter.ToInt32(data, 12 + insideOffset), APBase = BitConverter.ToInt32(data, 16 + insideOffset), APCharge = data[20 + insideOffset], StrBase = data[21 + insideOffset], IntBase = data[22 + insideOffset], SpdBase = data[23 + insideOffset], UniqueBase = data[26 + insideOffset], TensionBase = data[27 + insideOffset], SlashDefense = data[92 + insideOffset], BludgeonDefense = data[93 + insideOffset], MaulDefense = data[94 + insideOffset], PierceDefense = data[95 + insideOffset], FlameDefense = data[96 + insideOffset], ThunderDefense = data[97 + insideOffset], FrostDefense = data[98 + insideOffset], AcidDefense = data[99 + insideOffset], VenomDefense = data[100 + insideOffset], EquipMainLevel = data[110 + insideOffset], EquipOffhandLevel = data[116 + insideOffset], Accessory1 = BitConverter.ToInt16(data, 118 + insideOffset), Accessory2 = BitConverter.ToInt16(data, 118 + insideOffset), GoldDrop = BitConverter.ToInt32(data, 140 + insideOffset), //SurelyItem = BitConverter.ToInt16(data, 146 + insideOffset), //Normal1Item = BitConverter.ToInt16(data, 154 + insideOffset), //Normal2Item = BitConverter.ToInt16(data, 162 + insideOffset), //RareItem = BitConverter.ToInt16(data, 170 + insideOffset), //VeryRareItem = BitConverter.ToInt16(data, 178 + insideOffset), //WeeklyItem = BitConverter.ToInt16(data, 186 + insideOffset), //DailyItem = BitConverter.ToInt16(data, 198 + insideOffset), SurelyChance = data[148 + insideOffset], Normal1Chance = data[156 + insideOffset], Normal2Chance = data[164 + insideOffset], RareChance = data[172 + insideOffset], VeryRareChance = data[180 + insideOffset], WeeklyChance = data[190 + insideOffset], DailyChance = data[202 + insideOffset], SurelyItemName = Names.DropItem(new Tuple <int, int>(BitConverter.ToInt16(data, 144 + insideOffset), BitConverter.ToInt16(data, 146 + insideOffset))), Normal1ItemName = Names.DropItem(new Tuple <int, int>(BitConverter.ToInt16(data, 152 + insideOffset), BitConverter.ToInt16(data, 154 + insideOffset))), Normal2ItemName = Names.DropItem(new Tuple <int, int>(BitConverter.ToInt16(data, 160 + insideOffset), BitConverter.ToInt16(data, 162 + insideOffset))), RareItemName = Names.DropItem(new Tuple <int, int>(BitConverter.ToInt16(data, 168 + insideOffset), BitConverter.ToInt16(data, 170 + insideOffset))), VeryRareItemName = Names.DropItem(new Tuple <int, int>(BitConverter.ToInt16(data, 176 + insideOffset), BitConverter.ToInt16(data, 178 + insideOffset))), WeeklyItemName = Names.DropItem(new Tuple <int, int>(BitConverter.ToInt16(data, 184 + insideOffset), BitConverter.ToInt16(data, 186 + insideOffset))), DailyItemName = Names.DropItem(new Tuple <int, int>(BitConverter.ToInt16(data, 196 + insideOffset), BitConverter.ToInt16(data, 198 + insideOffset))), Normal2Amount = data[165 + insideOffset], SurelyAmount = data[149 + insideOffset], Normal1Amount = data[157 + insideOffset], RareAmount = data[173 + insideOffset], VeryRareAmount = data[181 + insideOffset], WeeklyAmount = data[189 + insideOffset], DailyAmount = data[201 + insideOffset], Offset = insideOffset, FileName = Files.BattleFile }); } }
private void HandleMapComplementaryInformationsDataMessage(IAccount account, MapComplementaryInformationsDataMessage message) { lock (CheckLock) { SubAreaId = message.SubAreaId; Data = MapsManager.FromId(message.MapId); var subArea = ObjectDataManager.Instance.Get <SubArea>(SubAreaId); var mapName = FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get <Area>(subArea.AreaId).NameId); var subAreaName = FastD2IReader.Instance.GetText(subArea.NameId); Position = $"[{X}, {Y}]"; Zone = $"{mapName} ({subAreaName})"; Entities.Clear(); Monsters.Clear(); Npcs.Clear(); Players.Clear(); AddActors(message.Actors); StatedElements.Clear(); foreach (var statedElementDofus in message.StatedElements) { if (!StatedElements.ContainsKey(statedElementDofus.ElementId) && statedElementDofus.OnCurrentMap) { StatedElements.Add(statedElementDofus.ElementId, new StatedElement(statedElementDofus.ElementCellId, (uint)statedElementDofus.ElementId, statedElementDofus.ElementState)); } } InteractiveElements.Clear(); Doors.Clear(); foreach (var element in message.InteractiveElements) { if (!element.OnCurrentMap) { continue; } InteractiveElements.Add(element.ElementId, new InteractiveElement((uint)element.ElementId, element.ElementTypeId, element.EnabledSkills.ToList(), element.DisabledSkills.ToList())); var interactiveElement = element; var listDoorSkillId = new List <int>(new[] { 184, 183, 187, 198, 114 }); var listDoorTypeId = new List <int>(new[] { -1, 128, 168, 16 }); if (!listDoorTypeId.Contains(interactiveElement.ElementTypeId) || interactiveElement.EnabledSkills.Count <= 0 || !listDoorSkillId.Contains((int)interactiveElement.EnabledSkills[0].SkillId)) { continue; } foreach (var layer in ((API.Gamedata.D2p.Map)Data).Layers) { foreach (var cell in layer.Cells) { foreach (var layerElement in cell.Elements) { if (layerElement is GraphicalElement graphicalElement) { if (graphicalElement.Identifier == interactiveElement.ElementId && !Doors.ContainsKey(cell.CellId)) { Doors.Add(cell.CellId, new InteractiveElement((uint)element.ElementId, element.ElementTypeId, element.EnabledSkills.ToList(), element.DisabledSkills.ToList())); } } } } } } } UpdateMapControl(); OnMapChanged(); }
bool Init() { Monsters.Clear(); return(true); }