/// class OrcDebugger extends Humanoid { public static nameModifier = new Shuffler([ "Ugly", "Muscular", "Veiny", "Angry", "Sad", "Smart", "Agile", "Short", "Bulging", "Intense", "Smouldering" ]); public static counter = 1; public constructor () { super({ isMale: true, name : (() => { let nameMod = OrcDebugger.nameModifier.getOne(); if (nameMod == undefined) { nameMod = (OrcDebugger.counter++).toString(); } return nameMod + " Orc"; })(), unique : true, description : "This is one extremely ugly fellow." }); this.AI.wanderer = true; this.AI.picksShinies = true; } } ActionTalk.carry.createAndAddRule({ name : "Talking to the orc", firstPriority : ActionTalk.PRIORITY_GLOBAL_DIALOGUE, priority : ActionTalk.PRIORITY_COMMON_DIALOGUE, conditions : (runner : RulebookRunner) => { return runner.noun.getNoun(0) instanceof OrcDebugger; }, code : (runner : RulebookRunner) => { let orc = runner.noun.getNoun(0); //await DialogueTrees.CompilableTest.execute(); let result = Dice.testAgainstRoll( {name: "Charm + 2", value : WorldState.player.getStat(Attributes.Charm) + 2}, {name: "Orc's wits + 2", value : orc.getStat(Attributes.Intelligence) + 2} ); if (result > 0) { Elements.CurrentTurnHandler.printAsContent(new Say("You win!")); } else { Elements.CurrentTurnHandler.printAsContent(new Say("You lose.")); } return true; } });