public override void Save(BinBuffer bb)
{
base.Save(bb);
bb.Write((byte)((player.HasBuff("Necro:FlyingBetta") != -1 ? 1 : 0)));
bb.Write((byte)((player.HasBuff("Necro:Skully") != -1 ? 1 : 0)));
bb.Write((byte)((player.HasBuff("Necro:NaughtyCupid") != -1 ? 1 : 0)));
bb.Write((byte)((player.HasBuff("Necro:SpaceInvader") != -1 ? 1 : 0)));
bb.Write((byte)((player.HasBuff("Necro:CopterZombie") != -1 ? 1 : 0)));
}
public override void Load(BinBuffer bb)
{
base.Load(bb);
try
{
byte state = bb.ReadByte();
if ((state & 1) != 0) // has FlyingKoi buff
MWorld.OnLoadQueue.Enqueue(() =>
{
//NewProjectile(Vector2 pos, Vector2 vel, string Name, int Damage, float Knockback, int Owner = 255, float ai0 = 0f, float ai1 = 0f)
Projectile.NewProjectile(player.Centre, Vector2.Zero, "Necro:FlyingBetta", 79, 0.1f, player.whoAmI, 0f, 0f);
});
if ((state & 2) != 0) // has Skully buff
MWorld.OnLoadQueue.Enqueue(() =>
{
Projectile.NewProjectile(player.Centre, Vector2.Zero, "Necro:Skully", 79, 0.1f, player.whoAmI, 0f, 0f);
});
if ((state & 3) != 0) // has Cupid buff
MWorld.OnLoadQueue.Enqueue(() =>
{
Projectile.NewProjectile(player.Centre, Vector2.Zero, "Necro:NaughtyCupid", 79, 0.1f, player.whoAmI, 0f, 0f);
});
if ((state & 4) != 0) // has UFO buff
MWorld.OnLoadQueue.Enqueue(() =>
{
Projectile.NewProjectile(player.Centre, Vector2.Zero, "Necro:SpaceInvader", 79, 0.1f, player.whoAmI, 0f, 0f);
});
if ((state & 5) != 0) // has Zombie buff
MWorld.OnLoadQueue.Enqueue(() =>
{
Projectile.NewProjectile(player.Centre, Vector2.Zero, "Necro:CopterZombie", 79, 0.1f, player.whoAmI, 0f, 0f);
});
}
catch { }
}