private static void ParseCreatureOutfit(InputMessage input) { input.getU32(); input.getOutfit(); }
private static Thing GetThing(InputMessage message) { //get thing type var thingId = message.getU16(); if (thingId == 0x0061 || thingId == 0x0062) { //Console.WriteLine("Creature baby."); //creatures Creature creature = null; if (thingId == 0x0062) { uint creatureId = message.getU32(); creature = new Creature(creatureId); if (creature == null) { throw new Exception("[GetThing] (0x0062) Can't find the creature."); } byte creatureHealth = message.getByte(); //Console.WriteLine("Creature with id: " + creatureId + " Life: " + creatureHealth); } else if (thingId == 0x0061) //creature is not known { uint creatureId = message.getU32(); //Console.WriteLine("Removing creature: " + creatureId); uint creatureIdNew = message.getU32(); creature = new Creature(creatureIdNew); creature.Name = message.getString(); creature.Health = message.getByte(); } var direction = (Direction)message.getByte(); creature.LookDirection = direction; creature.TurnDirection = direction; creature.Outfit = message.getOutfit(); creature.LightLevel = message.getByte(); creature.LightColor = message.getByte(); creature.Speed = message.getU16(); creature.Skull = message.getByte(); creature.Shield = message.getByte(); return(creature); } else if (thingId == 0x0063) { uint creatureId = message.getU32(); Creature creature = new Creature(creatureId); if (creature == null) { throw new Exception("[GetThing] (0x0063) Can't find the creature in the battle list."); } creature.TurnDirection = (Direction)message.getByte(); return(creature); } else { return(GetItem(message, thingId)); } }
private static void ParseOutfitWindow(InputMessage input) { input.getOutfit(); input.getByte(); input.getByte(); }