public virtual string GetMonsterCurse(IMonster monster, long effectUid) { Debug.Assert(monster != null); var curseString = ""; var rl = RollDice(1, 100, 0); // Say each curse only once if (rl < 41 && monster.Reaction == Friendliness.Enemy && monster.HasCarriedInventory() && !gGameState.GetMonsterCurses(effectUid - 7)) { var effect = gEDB[effectUid]; Debug.Assert(effect != null); curseString = string.Format("{0}{0}{1} says, {2}", Environment.NewLine, monster.GetTheName(true, true, false, true, Globals.Buf01), effect.Desc); gGameState.SetMonsterCurses(effectUid - 7, true); } return(curseString); }