public static void StartCombat(GameObjects options, string obj) { foreach (Mobs mob in options.Mobs) { if (obj.Contains(mob.Name.ToLower())) { Mobs cloneMob = mob; options = FightTarget(options, options.Player, mob); if (mob.HP <= 0) { mob.HP = cloneMob.HP; mob.RoomID = "R6"; mob.Cooldown = 3; } } } if (options.Player.HP <= 0) { Console.WriteLine("Game Over"); Console.ReadLine(); Console.WriteLine("\n\n\n\n\n\n\n\n\n\n"); GameOptions.Startup(); } }
Sprite CreateSquashSprite(Mobs id) { Point size; Point[] animation; string spritesheet; bool themeOffset = true; switch (id) { case Mobs.goomba: size = new Point(16); animation = new[] { new Point(32, 16) }; spritesheet = "Sprites/Enimies2"; break; default: return(NullSprite.Instance); } if (themeOffset) { animation = animation.Select(p => p + offsets[Theme]).ToArray(); } return(new Sprite(Content.Load <Texture2D>(spritesheet), size, animation)); }
public string[] View() { StringBuilder stringBuilder = new StringBuilder(); List <string> view = new List <string>(); view.Add(Name); view.Add(""); view.Add(Description); view.Add(""); if (Exits.Any()) { stringBuilder.Append("Exits: " + Function.GetNames(Exits.ToArray())); view.Add(stringBuilder.ToString()); stringBuilder.Clear(); } if (Mobs.Any()) { stringBuilder.Append("Mobs: " + Function.GetNames(Mobs.ToArray())); view.Add(stringBuilder.ToString()); stringBuilder.Clear(); } if (Players.Any()) { stringBuilder.Append("Players: " + Function.GetNames(Players.ToArray())); view.Add(stringBuilder.ToString()); stringBuilder.Clear(); } if (Items.Any()) { // items on floor; need to search for duplicates, pronouns, etc., and display them in friendly grammar form // You see (an) orange, 23 pumpkin seed(s), (a) hungry cat, Toetag('s) nose. } return(view.ToArray()); }
private void BuildRoom() { switch (RoomType) { case RoomType.Entry: break; case RoomType.Outry: break; case RoomType.Casual: //Permet de récupérer les classes filles de MobEntity IEnumerable <Type> ChildClasses = Assembly.GetAssembly(typeof(MobEntity)).GetTypes().Where(myType => myType.IsClass && !myType.IsAbstract && myType.IsSubclassOf(typeof(MobEntity))); object[] paramArray = new object[] { Game, SpriteBatch, Player }; Random r = new Random(); int mobCount = r.Next(2, 5); for (int i = 0; i < mobCount; i++) { Mobs.Add((MobEntity)Activator.CreateInstance(ChildClasses.ElementAt(r.Next(0, ChildClasses.Count())), args: paramArray)); } foreach (Entity ett in Mobs) { ett.Position = new Vector2(r.Next(-tileWidth * 10 * 16, tileWidth * 10 * 16), r.Next(-tileWidth * 10 * 16, tileWidth * 10 * 16)); } break; default: break; } }
protected override void OnClockEnd() { base.OnClockEnd(); if (WarpToNextField) { WarpMap(NextFieldID(), nInstanceID, (byte)NextPortalID(), 0); } else { if (!bLost) // show animation, reset timer for warpout { BroadcastWZMapEffect(TIMEOUT_EFFECT); tFieldTimerExpiration = DateTime.Now.AddSeconds(4); // invisible timer Mobs.Clear(); bLost = true; } else // warp out { GiveRewards(); // rewards are also distributed in OnMobDie() in all cases except timer expiring WarpMap(WarpOutField, 0, 0, 0); // TODO portal & FH IDs Reset(); } } }
public static void InsertMobs( AsyncRPGDataContext db_context, RoomKey roomKey, List <Mob> mobs) { foreach (Mob mob in mobs) { Mobs dbMob = new Mobs { MobTypeID = mob.MobType.ID, GameID = mob.RoomKey.game_id, RoomX = mob.RoomKey.x, RoomY = mob.RoomKey.y, RoomZ = mob.RoomKey.z, X = mob.Position.x, Y = mob.Position.y, Z = mob.Position.z, Angle = mob.Angle, Health = mob.Health, Energy = mob.Energy, AiData = Mob.SerializeAIData(mob.AIState) }; db_context.Mobs.InsertOnSubmit(dbMob); db_context.SubmitChanges(); mob.ID = dbMob.MobID; } }
private void TxtFilter_TextChanged(object sender, EventArgs e) { var filteredMobs = Mobs.Where(x => x.InxName.ToLower().Contains(txtFilter.Text.ToLower())).ToList(); lbMobs.DataSource = filteredMobs; lbMobs.DisplayMember = "InxName"; }
public override void Update() { if (FrameCount == 0) { foreach (MobileEntity mob in Mobs) { mob.Position = new Vector2(Constants.D, -30 * (Mobs.IndexOf(mob) + 1)); mob.Active = true; } } foreach (MobileEntity mob in Mobs) { if (mob.Position.Y < Constants.G) { mob.UpdatePosition("down"); } else { mob.UpdatePosition("right"); } if (mob.Position.X > Constants.PLAYABLE_WIDTH) { mob.Active = false; } } foreach (MoveScript formation in Bullets) { formation.Update(); } FrameCount++; }
public void WyrmPortal() { for (int i = 0; i < 7; i++) { Mobs.Add(new DragonPortal { Portal = this }); } for (int i = 0; i < 3; i++) { Mobs.Add(new ShadowWyrmPortal { Portal = this }); } for (int i = 0; i < 3; i++) { Mobs.Add(new AncientWyrm { Portal = this }); } for (int i = 0; i < 2; i++) { Mobs.Add(new HarrowerTentaclesPortal { Portal = this }); } }
protected override void Init() { Mobs.Clear(); Drops.Clear(); bStarted = false; bChaos = MapId % 2 == 1; int nTimeLeftSec; switch (MapId) { case 240060000: // normal nTimeLeftSec = 60 * 60; // 1 hour break; case 240060001: // chaos nTimeLeftSec = 120 * 60; // 2 hours break; default: nTimeLeftSec = (int)ParentInstance.CFieldMan .GetField(MapId - 100, nInstanceID) .tFieldTimerExpiration .SecondsUntilEnd() + 2; if (nTimeLeftSec < 0) { nTimeLeftSec = 0; } break; } CreateFieldClock(nTimeLeftSec); base.Init(); // doesnt currently do anything but might in the future }
public static List <Mobs> LoadMobs(string user) { List <Mobs> mobsList = new List <Mobs>(); StreamReader inputFile; inputFile = File.OpenText($"{Environment.CurrentDirectory}/save/{user}/{user}-Mobs.data"); int i = 0; while (!inputFile.EndOfStream) { string line = inputFile.ReadLine(); if (i != 0) { string[] words = line.Split(','); string id = words[0]; string name = words[1]; string desc = words[2]; int hp = int.Parse(words[3]); int attack = int.Parse(words[4]); Mobs loadedMobs = Mobs.GetMobs(id, name, desc, hp, attack, words[5]); mobsList.Add(loadedMobs); } i++; } return(mobsList); }
private static Mobs[] MobsArray() { Mobs[] Enemy = new Mobs[3]; Enemy[0] = new Enemy1(); Enemy[1] = new Enemy2(); Enemy[2] = new Enemy3(); return(Enemy); }
public void UpdateMobControl(Character who) { Mobs.ForEach(m => { if (m.Controller == who) { UpdateMobControl(m, false, null); } }); }
public override void Update() { if (_spawnTime.MillisUntilEnd() < 0 && !Mobs.Any()) { SpawnStageBoss(); } base.Update(); }
protected override void OnClockEnd() { Mobs.RemoveAll(false); FieldEffectPacket.BroadcastDojoEffect(this, FieldEffectTypes.DojoEffect.TimeOver); Reset(); base.OnClockEnd(); }
public void AddMob(MobState mob) { Mobs.Add(mob); if (IdsUsed.Contains(mob.Id)) { throw new OpenDiablo2Exception("Tried to insert an existing mob id!"); } IdsUsed.Add(mob.Id); }
private void Load(WZProperty mapNode) { Portals.Load(mapNode); Footholds.Load(mapNode); Npcs.Load(mapNode); Mobs.Load(mapNode); Mobs.DoMobLogic(); }
private void AddMob(byte[] rawdata) { var data = Functions.GetData(rawdata); Mob m = Mob.MobClient((MobClass)data[0], new Vector2((float)data[2], (float)data[3])); m.Netid = (int)data[1]; m.Target = m.Position; Mobs.Add(m); }
public ZigRight(List <MobileEntity> mobs, bool willFire) : base(mobs, willFire) { FrameCount = 0; foreach (MobileEntity mob in Mobs) { mob.Position = new Vector2((0 - 60 * Mobs.IndexOf(mob)), Constants.E); mob.Active = true; } }
private void Load(WZObject mapNode)//WzManager wzMan) { Portals.Load(mapNode); Footholds.Load(mapNode); Npcs.Load(mapNode); Mobs.Load(mapNode); Mobs.DoMobLogic(); }
public override void Update() { //string pattern = "Arrowhead"; //string trajectory = "Arc"; //int numBullets = 10; //string bulletType = "BulletTypeA"; int initialXPosition = Constants.K - (30 * ((Mobs.Count / 2) - 1)); if (FrameCount == 0) { foreach (MobileEntity mob in Mobs) { mob.Position = new Vector2((initialXPosition + 30 * Mobs.IndexOf(mob)), -30 * (Mobs.IndexOf(mob) + 1)); mob.Active = true; } } foreach (MobileEntity mob in Mobs) { //mobs enter from top of screen for 5 seconds if (FrameCount < 5 * Constants.FPS) { if (mob.Position.Y < Constants.F) { mob.UpdatePosition("down"); } else if (mob.Position.Y < Constants.F + mob.MoveSpeed) { //fire(pattern, mob, bulletType, mob.Color, numBullets, trajectory); if (this.willFire && mob.Active) { //List<MobileEntity>bullets = formation.SetFormation("BulletTypeA", mob.Position); Formation formation = new Arrowhead(bulletMaker, mob.Position); //List<MobileEntity> bulletFormation = BulletMaker.CreateBulletList("BulletTypeA", new Arrowhead(mob.Position)); Bullets.Add(MoveScriptMaker.CreateMoveScript("Arc", formation.SetFormation("BulletTypeA"), false)); } mob.UpdatePosition("down"); } } else //mobs begin exiting one by one { if (FrameCount > (5 + Mobs.IndexOf(mob)) * Constants.FPS) { mob.UpdatePosition("up"); } if (mob.Position.Y < 0) { mob.Active = false; } } } foreach (MoveScript formation in Bullets) { formation.Update(); } FrameCount++; }
public Location(int id, string name, string desc, Item itemrequiredtoenter = null, Quest questavailableHere = null, Mobs monsterlivinghere= null) { ID = id; Name = name; Desc = desc; QuestAvailableHere = questavailableHere; Itemrequiredtoenter = itemrequiredtoenter; Monsterlivinghere = monsterlivinghere; }
public void AddCharacter(Character character) { if (character is PlayerCharacter) { Players.Add(character as PlayerCharacter); } else if (character is NonPlayerCharacter) { Mobs.Add(character as NonPlayerCharacter); } }
public void RemoveCharacter(Character character) { if (character is PlayerCharacter) { Players.Remove(character as PlayerCharacter); } else if (character is NonPlayerCharacter) { Mobs.Remove(character as NonPlayerCharacter); } }
public int spawnMob(int spawnid, Life life) { int id = _objectIDs.NextValue(); Mob mob = new Mob(id, ID, life.ID, new Pos(life.X, life.Y), (short)life.Foothold, MobControlStatus.ControlNormal); mob.SetSpawnData(life); Mobs.Add(mob); MobPacket.SendMobSpawn(null, mob, 0, null, true, false); UpdateMobControl(mob, true, null); return(id); }
private static void ReadMobs() { int Count = Reader.ReadInt32(); for (int i = 0; i < Count; i++) { MobData data = new MobData(); data.ID = Reader.ReadInt32(); data.Level = Reader.ReadByte(); data.Boss = Reader.ReadBoolean(); data.Undead = Reader.ReadBoolean(); data.BodyAttack = Reader.ReadBoolean(); data.SummonType = Reader.ReadByte(); data.EXP = Reader.ReadInt32(); data.MaxHP = Reader.ReadInt32(); data.MaxMP = Reader.ReadInt32(); data.HPRecoverAmount = Reader.ReadInt32(); data.MPRecoverAmount = Reader.ReadInt32(); data.Speed = Reader.ReadInt16(); byte summons = Reader.ReadByte(); data.Revive = new List <int>(); for (byte j = 0; j < summons; j++) { data.Revive.Add(Reader.ReadInt32()); } byte skills = Reader.ReadByte(); data.Skills = new List <MobSkillData>(); for (byte j = 0; j < skills; j++) { MobSkillData msd = new MobSkillData(); msd.SkillID = (byte)Reader.ReadInt16(); msd.Level = Reader.ReadByte(); msd.EffectAfter = Reader.ReadInt16(); data.Skills.Add(msd); } byte attacks = Reader.ReadByte(); data.Attacks = new Dictionary <byte, MobAttackData>(); for (byte j = 0; j < attacks; j++) { MobAttackData mad = new MobAttackData(); mad.ID = j; //Reader.ReadByte(); mad.MPConsume = (short)Reader.ReadUInt16(); mad.MPBurn = (short)Reader.ReadUInt16(); mad.SkillID = (short)Reader.ReadUInt16(); mad.SkillLevel = Reader.ReadByte(); data.Attacks.Add(mad.ID, mad); } Mobs.Add(data.ID, data); } }
private void SpawnZakum(int dwBodyID, int dwArmID) { Mobs.CreateMob(dwBodyID, null, SpawnPoint.X, SpawnPoint.Y, 70, 0xFC, 0, 0, MobType.ParentMob, null); for (var i = 0; i < 8; i++) { Mobs.CreateMob(dwArmID + i, null, SpawnPoint.X, SpawnPoint.Y, 70, 0, 0, 0, MobType.SubMob, null); } }
public int spawnMobNoRespawn(int mobid, Pos position, short foothold) { int id = _objectIDs.NextValue(); Mob mob = new Mob(id, ID, mobid, position, foothold, MobControlStatus.ControlNormal, false); Mobs.Add(mob); MobPacket.SendMobSpawn(null, mob, 0, null, true, false); UpdateMobControl(mob, true, null); return(id); }
public static Koopa CreateKoopa(Level level, Point position, Mobs mob) { switch (mob) { case Mobs.GreenFlyingKoopa: case Mobs.greenKoopa: return(new GreenKoopa(level, position)); case Mobs.RedFlyingKoopa: case Mobs.redKoopa: return(new RedKoopa(level, position)); } return(null); }
private Task LoadMobs() { return(Task.Factory.StartNew(() => { var mobs = MobInfo.Table.Rows.Cast <DataRow>() .Where(x => Convert.ToInt32(x["IsNPC"]) == 0 && Convert.ToInt32(x["Type"]) != 6 && Convert.ToInt32(x["Type"]) != 12 && Convert.ToInt32(x["Type"]) != 13); foreach (var row in mobs) { var mob = new Mob(); mob.MobLevel = Convert.ToByte(row["Level"]); mob.InxName = row["InxName"].ToString(); mob.DropGroups = new BindingList <MobDropGroupEntry>(); mob.MinLevel = 1; mob.MaxLevel = 150; var dropRow = ItemDropTable.DataSet.Tables[0].Rows.Cast <DataRow>().FirstOrDefault(x => x["MobId"].ToString() == mob.InxName); if (dropRow != null) { mob.MinLevel = Convert.ToInt32(dropRow["MinLevel"]); mob.MaxLevel = Convert.ToInt32(dropRow["MaxLevel"]); mob.MinCen = Convert.ToInt32(dropRow["MinCen"]); mob.MaxCen = Convert.ToInt32(dropRow["MaxCen"]); mob.CenRate = Convert.ToDecimal(dropRow["CenRate"]) / 10000; for (int i = 1; i < 46; i++) { var grp = dropRow["DrItem" + i].ToString(); var grpRate = Convert.ToDecimal(dropRow["DrItem" + i + "R"]) / 10000; var UpGradeMin = Convert.ToInt32(dropRow[$"UpGradeMin{i:D2}"]); var UpGradeMax = Convert.ToInt32(dropRow[$"UpGradeMax{i:D2}"]); if (grp != "-") { var group = Groups.FirstOrDefault(x => x.Index == grp); if (group != null) { mob.DropGroups.Add(new MobDropGroupEntry(group, grpRate, UpGradeMin, UpGradeMax)); } } } } Mobs.Add(mob); } })); }
public static Reward SpawnerReward(ChanceTag chance, Mobs mob) { var tagList = new List <TagBase>(); string mobName = char.ToUpper(mob.ToString()[0]) + mob.ToString().Substring(1); tagList.Add(new DisplayTag() { Item = "mob_spawner", Amount = 1, Name = $"&e{mobName} Spawner" }); tagList.Add(new CommandTag($"spawner {mob} 1 %player%")); return(new Reward(chance, tagList.ToArray())); }
public IPacket ReadPacket(IMinecraftDataReader reader) { EntityID = reader.ReadVarInt(); Type = (Mobs) reader.ReadByte(); Vector3 = Vector3.FromReaderIntFixedPoint(reader); Yaw = reader.ReadSByte(); Pitch = reader.ReadSByte(); HeadPitch = reader.ReadSByte(); VelocityX = reader.ReadShort(); VelocityY = reader.ReadShort(); VelocityZ = reader.ReadShort(); EntityMetadata = EntityMetadataList.FromReader(reader); return this; }
private bool Check_monster(Mobs.Mob_Base monster,int i) { if ((monster.Grid_x == Level.ending_x && monster.Grid_y == Level.ending_y) || (monster.HP <= 0)) { for (int j = 0; j < TowersList.Count; j++ ) { if (TowersList[j].Tower_target == monster.Mob.Name) TowersList[j].Reset_values(); } Check_death(monster); monster.Mob.Enabled = false; Static.Functions.Swap(MonsterList, i, MonsterList.Count - 1); return true; } else return false; }
private void Check_lives(Mobs.Mob_Base monster) { Player.Lives -= monster.Lives_value; MonsterCounter.Text = Player.Lives.ToString(); if (Player.Lives <=0) { Console.WriteLine("No lives. Ending game"); WaveServices.Platform.Exit(); } }
private void Check_death(Mobs.Mob_Base monster) { if (monster.HP > 0) Check_lives(monster); else { Player.Add_gold(monster.Monster_gold); MoneyCounter.Text = Player.Gold.ToString(); } }
public int Get_Damage(Mobs.Mob_Base Monster, Entity Monsters_set) { if (Tower_bullet.Bullet_access) { Tower_bullet.Bullet_speed_x = Tower_bullet.Bullet_speed_y = Tower_bullet.Bullet_speed; if (Tower_target == "" || Monster.Mob.Name == Tower_target) { int Pos_x = (int)Monster.Mob.FindComponent<Transform2D>().X; int Pos_y = (int)Monster.Mob.FindComponent<Transform2D>().Y; if ((Check_Range(Pos_x, Pos_y)) && (!Tower_bullet.Bullet.Enabled) && (Tower_target == "")) Get_values(Monster.Mob.Name); Get_directions(Pos_x, Pos_y, Monsters_set); if (Tower_target != "") { if (((Get_hit(Pos_x, Pos_y, (int)Tower_bullet.Bullet_bitmap.X, (int)Tower_bullet.Bullet_bitmap.Y)) && Tower_bullet.Bullet.Enabled) || (Monsters_set.FindChild(Tower_target).Enabled == false)) { if (Monster.Mob.Name == Tower_target) Monster.HP -= Tower_bullet.Bullet_damage; Reset_values(); return Tower_bullet.Bullet_damage; } else return 0; } } } return 0; }