Esempio n. 1
0
        public void Execute(Character.NPC actor, ITrigger trigger = null)
        {
            if (actor.StanceState != CharacterEnums.CharacterStanceState.Decomposing)
            {
                Commands.CommandParser.ExecuteCommand(actor, "EMOTE", "carcass last bit of flesh has rotted away from its dead corpse.");
                actor.Description = "The only remains of " + actor.FirstName + " are just bones.";
                actor.SetStanceState(CharacterEnums.CharacterStanceState.Decomposing);
                actor.NextAiAction = DateTime.Now.AddMinutes(5).ToUniversalTime();
            }
            else
            {
                Commands.CommandParser.ExecuteCommand(actor, "EMOTE", "carcass has its bones break down to dust and carried off by the wind.");
                MongoUtils.MongoData.ConnectToDatabase();
                MongoDB.Driver.MongoDatabase   db    = MongoUtils.MongoData.GetDatabase("World");
                MongoDB.Driver.MongoCollection npcs  = db.GetCollection("NPCs");
                MongoDB.Driver.IMongoQuery     query = MongoDB.Driver.Builders.Query.EQ("_id", actor.MobTypeID);

                MongoDB.Bson.BsonDocument doc = npcs.FindOneAs <MongoDB.Bson.BsonDocument>(query);

                doc["Current"] = doc["Current"].AsInt32 - 1;
                npcs.Save(doc);

                db    = MongoUtils.MongoData.GetDatabase("Characters");
                npcs  = db.GetCollection("NPCCharacters");
                query = MongoDB.Driver.Builders.Query.EQ("_id", MongoDB.Bson.ObjectId.Parse(actor.ID));

                npcs.Remove(query);
            }
        }
Esempio n. 2
0
 internal object Remove(MongoDB.Driver.IMongoQuery iMongoQuery)
 {
     throw new NotImplementedException();
 }
 public abstract void DeleteByQuery <T>(MongoDB.Driver.IMongoQuery query) where T : class;