Beispiel #1
0
        public Projectile(Map map, int id, float x, float y, int collisionRadius, Unit owner, Target target, Spell originSpell, float moveSpeed, int projectileId, int flags = 0) : base(map, id, x, y, collisionRadius)
        {
            this.originSpell = originSpell;
            this.moveSpeed = moveSpeed;
            this.owner = owner;
            this.projectileId = projectileId;
            this.flags = flags;

            setTarget(target);

            if (!target.isSimpleTarget())
                ((GameObject)target).incrementAttackerCount();

            owner.incrementAttackerCount();
        }
Beispiel #2
0
        public CastSpellAns(Spell s, float x, float y, int futureProjNetId, int spellNetId) : base(PacketCmdS2C.PKT_S2C_CastSpellAns, s.getOwner().getNetId())
        {
            Map m = s.getOwner().getMap();

            buffer.Write((byte)0);
            buffer.Write((byte)0x66);
            buffer.Write((byte)0x00); // unk
            buffer.Write((int)s.getId()); // Spell hash, for example hash("EzrealMysticShot")
            buffer.Write((int)spellNetId); // Spell net ID
            buffer.Write((byte)0); // unk
            buffer.Write((float)1.0f); // unk
            buffer.Write((int)s.getOwner().getNetId());
            buffer.Write((int)s.getOwner().getNetId());
            buffer.Write((int)s.getOwner().getChampionHash());
            buffer.Write((int)futureProjNetId); // The projectile ID that will be spawned
            buffer.Write((float)x);
            buffer.Write((float)m.getHeightAtLocation(x, y));
            buffer.Write((float)y);
            buffer.Write((float)x);
            buffer.Write((float)m.getHeightAtLocation(x, y));
            buffer.Write((float)y);
            buffer.Write((byte)0); // unk
            buffer.Write(s.getCastTime());
            buffer.Write((float)0.0f); // unk
            buffer.Write((float)1.0f); // unk
            buffer.Write(s.getCooldown());
            buffer.Write((float)0.0f); // unk
            buffer.Write((byte)0); // unk
            buffer.Write((byte)s.getSlot());
            buffer.Write((float)s.getCost());
            buffer.Write((float)s.getOwner().getX());
            buffer.Write((float)s.getOwner().getZ());
            buffer.Write((float)s.getOwner().getY());
            buffer.Write((long)1); // unk
        }