public void EnemyHit(RealmTime time, EnemyHitPacket pkt) { try { var entity = Owner.GetEntity(pkt.TargetId); bool infiniWalling = false; if (Owner.Mining) { if ((entity is Wall)) { infiniWalling = true; Wall w = (entity as Wall); w.HP = 0; GenLogic.GenRandomRoom(Owner, w.X, w.Y, w); for (var tx = -1; tx <= 1; tx++) { for (var ty = -1; ty <= 1; ty++) { if (Owner.Map[(int)w.X + tx, (int)w.Y + ty].TileId == 0xff && Owner.Map[(int)w.X + tx, (int)w.Y + ty].ObjId == 0) { WmapTile tile = Owner.Map[(int)w.X + tx, (int)w.Y + ty]; tile.TileId = Owner.Map[(int)w.X, (int)w.Y].TileId; Owner.Map[(int)w.X + tx, (int)w.Y + ty] = tile; Wall e = new Wall(w.ObjectType, XmlDatas.TypeToElement[w.ObjectType]); e.Move(w.X + tx, w.Y + ty); Owner.EnterWorld(e); } } } } } Projectile prj = (this as IProjectileOwner).Projectiles[pkt.BulletId]; prj.Damage = (int)statsMgr.GetAttackDamage(prj.Descriptor.MinDamage, prj.Descriptor.MaxDamage); prj.ForceHit(entity, time); if (pkt.Killed && !(entity is Wall)) { client.SendPacket(new UpdatePacket() { Tiles = new UpdatePacket.TileData[0], NewObjects = new ObjectDef[] { entity.ToDefinition() }, RemovedObjectIds = new int[] { pkt.TargetId } }); clientEntities.Remove(entity); } } catch { } }
// Token: 0x06000502 RID: 1282 RVA: 0x0001D80C File Offset: 0x0001BA0C public void _9BgsXisaUbFFlj5HLRd76sERUUX(EnemyHitPacket enemyHit) { if (!this._vb0DX76k2oGNsxzar6rSoSPQjNG) { return; } if (!Settings.Default.EnableO3Helper) { return; } if (Settings.Default.O3IgnoreShield && this._ZNtO3Z5ZBTYgV6mEURWJLnX7IAE == enemyHit._GNsbx2sQjKyCD4qK29hWl8cxeSqA && this._DvFI4lAdBcrOLNGKR4DD0txYDzE) { enemyHit.Send = false; } if (Settings.Default.O3IgnoreCoins && this._QuPiu2GPCzjpjvfRX0glTiLvd4h != -1) { if (enemyHit._GNsbx2sQjKyCD4qK29hWl8cxeSqA != this._QuPiu2GPCzjpjvfRX0glTiLvd4h) { if (enemyHit._GNsbx2sQjKyCD4qK29hWl8cxeSqA != this._qkuz687iYpmhOg92JsOC5zdeX2d) { if (enemyHit._GNsbx2sQjKyCD4qK29hWl8cxeSqA != this._8niSHNdstFUpUXKm5glDNGpsIDb) { if (enemyHit._GNsbx2sQjKyCD4qK29hWl8cxeSqA != this._wQrWHcEyV10BvnGcxZ341AFxRfc) { goto IL_99; } } } enemyHit.Send = false; } } IL_99: if (Settings.Default.O3IgnoreDammah && this._jD069csRPo3TtZu4eUegBA1njRh) { if (enemyHit._GNsbx2sQjKyCD4qK29hWl8cxeSqA == this._P7AOh27Wmx0yKxIn1YD76DTQnDh) { enemyHit.Send = false; } } }
public void EnemyHit(RealmTime time, EnemyHitPacket pkt) { try { Entity entity = Owner.GetEntity(pkt.TargetId); Projectile prj = (this as IProjectileOwner).Projectiles[pkt.BulletId]; prj.Damage = (int)statsMgr.GetAttackDamage(prj.Descriptor.MinDamage, prj.Descriptor.MaxDamage); prj.ForceHit(entity, time); if (pkt.Killed && !(entity is Wall)) { psr.SendPacket(new UpdatePacket { Tiles = new UpdatePacket.TileData[0], NewObjects = new[] { entity.ToDefinition() }, RemovedObjectIds = new[] { pkt.TargetId } }); _clientEntities.Remove(entity); } } catch { } }
public void EnemyHit(RealmTime time, EnemyHitPacket pkt) { var entity = Owner.GetEntity(pkt.TargetId); if (entity != null && pkt.Killed) //Tolerance { Projectile prj = (this as IProjectileOwner).Projectiles[pkt.BulletId]; Position? entPos = entity.TryGetHistory((time.tickTimes - tickMapping) - pkt.Time); Position? prjPos = prj == null ? null : (Position?)prj.GetPosition(pkt.Time + tickMapping - prj.BeginTime); var tol1 = (entPos == null || prjPos == null) ? 10 : (prjPos.Value.X - entPos.Value.X) * (prjPos.Value.X - entPos.Value.X) + (prjPos.Value.Y - entPos.Value.Y) * (prjPos.Value.Y - entPos.Value.Y); var tol2 = prj == null ? 10 : (prj.X - entity.X) * (prj.X - entity.X) + (prj.Y - entity.Y) * (prj.Y - entity.Y); if (prj != null && (tol1 < 1 || tol2 < 1)) { prj.ForceHit(entity, time); } else { Console.WriteLine("CAN'T TOLERANT! " + tol1 + " " + tol2); psr.SendPacket(new UpdatePacket() { Tiles = new UpdatePacket.TileData[0], NewObjects = new ObjectDef[] { entity.ToDefinition() }, RemovedObjectIds = new int[] { pkt.TargetId } }); clientEntities.Remove(entity); } } else if (pkt.Killed) { psr.SendPacket(new UpdatePacket() { Tiles = new UpdatePacket.TileData[0], NewObjects = Empty <ObjectDef> .Array, RemovedObjectIds = new int[] { pkt.TargetId } }); } }
public void EnemyHit(RealmTime time, EnemyHitPacket pkt) { try { var entity = Owner.GetEntity(pkt.TargetId); Projectile prj = (this as IProjectileOwner).Projectiles[pkt.BulletId]; prj.Damage = (int)statsMgr.GetAttackDamage(prj.Descriptor.MinDamage, prj.Descriptor.MaxDamage); if (entity is Wall) { if (entity.ObjectDesc.ObjectId == "Vlux Mine") { if (prj.Descriptor.MinDamage < 140) { prj.Damage = 0; } } } prj.ForceHit(entity, time); if (pkt.Killed && !(entity is Wall)) { psr.SendPacket(new UpdatePacket() { Tiles = new UpdatePacket.TileData[0], NewObjects = new ObjectDef[] { entity.ToDefinition() }, RemovedObjectIds = new int[] { pkt.TargetId } }); clientEntities.Remove(entity); } else if ((entity is Wall) && Owner.Mining && (entity as Wall).HP < 0) { Wall w = (entity as Wall); try { (w.CondBehaviors[0] as LootBehavior).BehaveWall(this, w, Owner); } catch (Exception e) { Console.Out.WriteLine("Loot drop error - Wall"); Console.Out.WriteLine(e); } GenLogic.GenRandomRoom(Owner, w.X, w.Y, w); GenLogic.GenWalls(Owner, w); } } catch { /*Console.ForegroundColor = ConsoleColor.DarkMagenta; * Console.WriteLine("CAN'T REGISTER HIT by player " + Name); * Console.ForegroundColor = ConsoleColor.White; * * Disabled, this message spams when an enemy dies*/ } /* * if (entity != null && pkt.Killed) //Tolerance * { * Projectile prj = (this as IProjectileOwner).Projectiles[pkt.BulletId]; * Position? entPos = entity.TryGetHistory((time.tickTimes - tickMapping) - pkt.Time); * Position? prjPos = prj == null ? null : (Position?)prj.GetPosition(pkt.Time + tickMapping - prj.BeginTime); * var tol1 = (entPos == null || prjPos == null) ? 10 : (prjPos.Value.X - entPos.Value.X) * (prjPos.Value.X - entPos.Value.X) + (prjPos.Value.Y - entPos.Value.Y) * (prjPos.Value.Y - entPos.Value.Y); * var tol2 = prj == null ? 10 : (prj.X - entity.X) * (prj.X - entity.X) + (prj.Y - entity.Y) * (prj.Y - entity.Y); * if (prj != null && (tol1 < 1 || tol2 < 1)) * { * prj.ForceHit(entity, time); * } * else * { * Console.ForegroundColor = ConsoleColor.DarkMagenta; * Console.WriteLine("CAN'T REGISTER HIT!" + " X: " + tol1 + " Y: " + tol2); * Console.ForegroundColor = ConsoleColor.White; * psr.SendPacket(new UpdatePacket() * { * Tiles = new UpdatePacket.TileData[0], * NewObjects = new ObjectDef[] { entity.ToDefinition() }, * RemovedObjectIds = new int[] { pkt.TargetId } * }); * clientEntities.Remove(entity); * } * } * else if (pkt.Killed) * { * psr.SendPacket(new UpdatePacket() * { * Tiles = new UpdatePacket.TileData[0], * NewObjects = Empty<ObjectDef>.Array, * RemovedObjectIds = new int[] { pkt.TargetId } * }); * }*/ }
public void EnemyHit(RealmTime time, EnemyHitPacket pkt) { try { var entity = Owner.GetEntity(pkt.TargetId); bool infiniWalling = false; if (Owner.Mining) { if ((entity is Wall)) { infiniWalling = true; Wall w = (entity as Wall); w.HP = 0; GenLogic.GenRandomRoom(Owner, w.X, w.Y, w); for (var tx = -1; tx <= 1; tx++) { for (var ty = -1; ty <= 1; ty++) { if (Owner.Map[(int)w.X + tx, (int)w.Y + ty].TileId == 0xff && Owner.Map[(int)w.X + tx, (int)w.Y + ty].ObjId == 0) { WmapTile tile = Owner.Map[(int)w.X + tx, (int)w.Y + ty]; tile.TileId = Owner.Map[(int)w.X, (int)w.Y].TileId; Owner.Map[(int)w.X + tx, (int)w.Y + ty] = tile; Wall e = new Wall(w.ObjectType, XmlDatas.TypeToElement[w.ObjectType]); e.Move(w.X + tx, w.Y + ty); Owner.EnterWorld(e); } } } } } Projectile prj = (this as IProjectileOwner).Projectiles[pkt.BulletId]; prj.Damage = (int)statsMgr.GetAttackDamage(prj.Descriptor.MinDamage, prj.Descriptor.MaxDamage); prj.ForceHit(entity, time); if (pkt.Killed && !(entity is Wall)) { psr.SendPacket(new UpdatePacket() { Tiles = new UpdatePacket.TileData[0], NewObjects = new ObjectDef[] { entity.ToDefinition() }, RemovedObjectIds = new int[] { pkt.TargetId } }); clientEntities.Remove(entity); } } catch { /*Console.ForegroundColor = ConsoleColor.DarkMagenta; * Console.WriteLine("CAN'T REGISTER HIT by player " + Name); * Console.ForegroundColor = ConsoleColor.White; * * Disabled, this message spams when an enemy dies*/ } /* * if (entity != null && pkt.Killed) //Tolerance * { * Projectile prj = (this as IProjectileOwner).Projectiles[pkt.BulletId]; * Position? entPos = entity.TryGetHistory((time.tickTimes - tickMapping) - pkt.Time); * Position? prjPos = prj == null ? null : (Position?)prj.GetPosition(pkt.Time + tickMapping - prj.BeginTime); * var tol1 = (entPos == null || prjPos == null) ? 10 : (prjPos.Value.X - entPos.Value.X) * (prjPos.Value.X - entPos.Value.X) + (prjPos.Value.Y - entPos.Value.Y) * (prjPos.Value.Y - entPos.Value.Y); * var tol2 = prj == null ? 10 : (prj.X - entity.X) * (prj.X - entity.X) + (prj.Y - entity.Y) * (prj.Y - entity.Y); * if (prj != null && (tol1 < 1 || tol2 < 1)) * { * prj.ForceHit(entity, time); * } * else * { * Console.ForegroundColor = ConsoleColor.DarkMagenta; * Console.WriteLine("CAN'T REGISTER HIT!" + " X: " + tol1 + " Y: " + tol2); * Console.ForegroundColor = ConsoleColor.White; * psr.SendPacket(new UpdatePacket() * { * Tiles = new UpdatePacket.TileData[0], * NewObjects = new ObjectDef[] { entity.ToDefinition() }, * RemovedObjectIds = new int[] { pkt.TargetId } * }); * clientEntities.Remove(entity); * } * } * else if (pkt.Killed) * { * psr.SendPacket(new UpdatePacket() * { * Tiles = new UpdatePacket.TileData[0], * NewObjects = Empty<ObjectDef>.Array, * RemovedObjectIds = new int[] { pkt.TargetId } * }); * }*/ }
public void onEnemyHit(EnemyHitPacket enemyHit) { //Discarded unreachable code: IL_00ee, IL_0295 if (!_InSanctuary) { goto IL_000b; } goto IL_02a7; IL_02a7: int num; int num2; if (!Settings.Default.EnableO3Helper) { num = -395440101; num2 = num; } else { num = -1738345673; num2 = num; } goto IL_0010; IL_0010: while (true) { uint num3; switch ((num3 = (uint)num ^ 0xE4DEEDD1u) % 20u) { case 0u: break; default: return; case 5u: { int num18; int num19; if (enemyHit._91Zhx0OBsUhlR5optw0cihxmls4 != _uVJ77yndSE01nQVrPjFse5CsyYE) { num18 = -1555264406; num19 = num18; } else { num18 = -1381882019; num19 = num18; } num = num18 ^ (int)(num3 * 1004475200); continue; } case 19u: { int num12; int num13; if (!_ZduGw3wt7ZfTqjLJaORYdo257HE) { num12 = -749704523; num13 = num12; } else { num12 = -1255241896; num13 = num12; } num = num12 ^ ((int)num3 * -1345244540); continue; } case 6u: { int num20; int num21; if (enemyHit._91Zhx0OBsUhlR5optw0cihxmls4 != _r7ZdM6xdXiqvbZJtINNDT2dEpAS) { num20 = 792036648; num21 = num20; } else { num20 = 116617883; num21 = num20; } num = num20 ^ ((int)num3 * -151603725); continue; } case 18u: return; case 2u: goto IL_0100; case 14u: { int num14; int num15; if (enemyHit._91Zhx0OBsUhlR5optw0cihxmls4 == _St84Xd2QJfrycOmAcQiCvr92mAq) { num14 = 684389852; num15 = num14; } else { num14 = 1422496709; num15 = num14; } num = num14 ^ ((int)num3 * -1286224999); continue; } case 1u: enemyHit._Send = false; num = ((int)num3 * -1569792301) ^ -2130227804; continue; case 17u: { int num8; int num9; if (_St84Xd2QJfrycOmAcQiCvr92mAq == -1) { num8 = -1434498008; num9 = num8; } else { num8 = -1864114507; num9 = num8; } num = num8 ^ ((int)num3 * -1072164014); continue; } case 16u: goto IL_0188; case 12u: enemyHit._Send = false; num = -549063638; continue; case 15u: goto IL_01b9; case 3u: { int num6; int num7; if (enemyHit._91Zhx0OBsUhlR5optw0cihxmls4 == _477CT08hnzYliCGcgisOnOsuJrd) { num6 = -918164499; num7 = num6; } else { num6 = -2140925756; num7 = num6; } num = num6 ^ (int)(num3 * 1975919376); continue; } case 8u: { int num16; int num17; if (!_2GIxvwUGGhXZDbsdJhlfFL7Aynq) { num16 = -1026590777; num17 = num16; } else { num16 = -558562778; num17 = num16; } num = num16 ^ (int)(num3 * 767216884); continue; } case 13u: enemyHit._Send = false; num = ((int)num3 * -407900864) ^ -2082011831; continue; case 9u: { int num10; int num11; if (_Iz1POFdHlMFrJHwbDsWXXhNWElj != enemyHit._91Zhx0OBsUhlR5optw0cihxmls4) { num10 = -307074337; num11 = num10; } else { num10 = -1266314488; num11 = num10; } num = num10 ^ (int)(num3 * 1915853614); continue; } case 11u: { int num4; int num5; if (enemyHit._91Zhx0OBsUhlR5optw0cihxmls4 == _Qi8WHb2CLkop1GCwnhQRKKIWiiG) { num4 = -1143198530; num5 = num4; } else { num4 = -1750980583; num5 = num4; } num = num4 ^ ((int)num3 * -1512454366); continue; } case 7u: return; case 4u: goto IL_02a7; case 10u: return; } break; IL_01b9: int num22; if (!Settings.Default.O3IgnoreDammah) { num = -92139913; num22 = num; } else { num = -953490675; num22 = num; } continue; IL_0188: int num23; if (!Settings.Default.O3IgnoreCoins) { num = -549063638; num23 = num; } else { num = -1070183608; num23 = num; } continue; IL_0100: int num24; if (Settings.Default.O3IgnoreShield) { num = -104199140; num24 = num; } else { num = -1928930551; num24 = num; } } goto IL_000b; IL_000b: num = -780787506; goto IL_0010; }
public void EnemyHit(RealmTime time, EnemyHitPacket pkt) { try { var entity = Owner.GetEntity(pkt.TargetId); var prj = (this as IProjectileOwner).Projectiles[pkt.BulletId]; prj.Damage = (int)statsMgr.GetAttackDamage(prj.Descriptor.MinDamage, prj.Descriptor.MaxDamage); prj.ForceHit(entity, time); if (pkt.Killed && !(entity is Wall)) { psr.SendPacket(new UpdatePacket { Tiles = new UpdatePacket.TileData[0], NewObjects = new[] { entity.ToDefinition() }, RemovedObjectIds = new[] { pkt.TargetId } }); _clientEntities.Remove(entity); } } catch { /*Console.ForegroundColor = ConsoleColor.DarkMagenta; * Console.WriteLine("CAN'T REGISTER HIT by player " + Name); * Console.ForegroundColor = ConsoleColor.White; * * Disabled, this message spams when an enemy dies*/ } /* * if (entity != null && pkt.Killed) //Tolerance * { * Projectile prj = (this as IProjectileOwner).Projectiles[pkt.BulletId]; * Position? entPos = entity.TryGetHistory((time.tickTimes - tickMapping) - pkt.Time); * Position? prjPos = prj == null ? null : (Position?)prj.GetPosition(pkt.Time + tickMapping - prj.BeginTime); * var tol1 = (entPos == null || prjPos == null) ? 10 : (prjPos.Value.X - entPos.Value.X) * (prjPos.Value.X - entPos.Value.X) + (prjPos.Value.Y - entPos.Value.Y) * (prjPos.Value.Y - entPos.Value.Y); * var tol2 = prj == null ? 10 : (prj.X - entity.X) * (prj.X - entity.X) + (prj.Y - entity.Y) * (prj.Y - entity.Y); * if (prj != null && (tol1 < 1 || tol2 < 1)) * { * prj.ForceHit(entity, time); * } * else * { * Console.ForegroundColor = ConsoleColor.DarkMagenta; * Console.WriteLine("CAN'T REGISTER HIT!" + " X: " + tol1 + " Y: " + tol2); * Console.ForegroundColor = ConsoleColor.White; * psr.SendPacket(new UpdatePacket() * { * Tiles = new UpdatePacket.TileData[0], * NewObjects = new ObjectDef[] { entity.ToDefinition() }, * RemovedObjectIds = new int[] { pkt.TargetId } * }); * clientEntities.Remove(entity); * } * } * else if (pkt.Killed) * { * psr.SendPacket(new UpdatePacket() * { * Tiles = new UpdatePacket.TileData[0], * NewObjects = Empty<ObjectDef>.Array, * RemovedObjectIds = new int[] { pkt.TargetId } * }); * }*/ }
public void OnEnemyHit(EnemyHitPacket enemyHit) { if (!_inSanctuary) { goto IL_000b; } goto IL_02a7; IL_02a7: int num; int num2; if (!Settings.Default.EnableO3Helper) { num = -395440101; num2 = num; } else { num = -1738345673; num2 = num; } goto IL_0010; IL_0010: while (true) { uint num3; switch ((num3 = (uint)num ^ 0xE4DEEDD1u) % 20u) { case 0u: break; default: return; case 5u: { int num18; int num19; if (enemyHit._TargetId != _uVj77YndSe01NQVrPjFse5CsyYe) { num18 = -1555264406; num19 = num18; } else { num18 = -1381882019; num19 = num18; } num = num18 ^ (int)(num3 * 1004475200); continue; } case 19u: { int num12; int num13; if (!_OryxShielding) { num12 = -749704523; num13 = num12; } else { num12 = -1255241896; num13 = num12; } num = num12 ^ ((int)num3 * -1345244540); continue; } case 6u: { int num20; int num21; if (enemyHit._TargetId != _r7ZdM6XdXiqvbZJtInndt2dEpAs) { num20 = 792036648; num21 = num20; } else { num20 = 116617883; num21 = num20; } num = num20 ^ ((int)num3 * -151603725); continue; } case 18u: return; case 2u: goto IL_0100; case 14u: { int num14; int num15; if (enemyHit._TargetId == _st84Xd2QJfrycOmAcQiCvr92MAq) { num14 = 684389852; num15 = num14; } else { num14 = 1422496709; num15 = num14; } num = num14 ^ ((int)num3 * -1286224999); continue; } case 1u: enemyHit._Send = false; num = ((int)num3 * -1569792301) ^ -2130227804; continue; case 17u: { int num8; int num9; if (_st84Xd2QJfrycOmAcQiCvr92MAq == -1) { num8 = -1434498008; num9 = num8; } else { num8 = -1864114507; num9 = num8; } num = num8 ^ ((int)num3 * -1072164014); continue; } case 16u: goto IL_0188; case 12u: enemyHit._Send = false; num = -549063638; continue; case 15u: goto IL_01b9; case 3u: { int num6; int num7; if (enemyHit._TargetId == _477Ct08HnzYliCGcgisOnOsuJrd) { num6 = -918164499; num7 = num6; } else { num6 = -2140925756; num7 = num6; } num = num6 ^ (int)(num3 * 1975919376); continue; } case 8u: { int num16; int num17; if (!_IgnoreDammah) { num16 = -1026590777; num17 = num16; } else { num16 = -558562778; num17 = num16; } num = num16 ^ (int)(num3 * 767216884); continue; } case 13u: enemyHit._Send = false; num = ((int)num3 * -407900864) ^ -2082011831; continue; case 9u: { int num10; int num11; if (_iz1PoFdHlMFrJHwbDsWxXhNwElj != enemyHit._TargetId) { num10 = -307074337; num11 = num10; } else { num10 = -1266314488; num11 = num10; } num = num10 ^ (int)(num3 * 1915853614); continue; } case 11u: { int num4; int num5; if (enemyHit._TargetId == _qi8WHb2CLkop1GCwnhQrkkiWiiG) { num4 = -1143198530; num5 = num4; } else { num4 = -1750980583; num5 = num4; } num = num4 ^ ((int)num3 * -1512454366); continue; } case 7u: return; case 4u: goto IL_02a7; case 10u: return; } break; IL_01b9: int num22; if (!Settings.Default.O3IgnoreDammah) { num = -92139913; num22 = num; } else { num = -953490675; num22 = num; } continue; IL_0188: int num23; if (!Settings.Default.O3IgnoreCoins) { num = -549063638; num23 = num; } else { num = -1070183608; num23 = num; } continue; IL_0100: int num24; if (Settings.Default.O3IgnoreShield) { num = -104199140; num24 = num; } else { num = -1928930551; num24 = num; } } goto IL_000b; IL_000b: num = -780787506; goto IL_0010; }