public IdleController(AI_StateMachine ai, IContentLoader loader) { Dictionary <string, string> idleNpcDefinitions = loader.LoadStrings("Data/IdleNPCDefinitions"); Dictionary <string, string> behaviorDefinitions = loader.LoadStrings("Data/IdleBehaviors"); this.ai = ai; this.loader = loader; this.Setup(idleNpcDefinitions, behaviorDefinitions); }
public FightController(AI_StateMachine ai, IContentLoader content, IModEvents events, int sword) : base(ai) { this.attackRadius = 1.25f * Game1.tileSize; this.backupRadius = 0.9f * Game1.tileSize; this.realLeader = ai.player; this.leader = null; this.pathFinder.GoalCharacter = null; this.events = events; this.weapon = this.GetSword(sword); this.bubbles = content.LoadStrings("Strings/SpeechBubbles"); this.fightSpeechTriggerThres = ai.Csm.HasSkill("warrior") ? 0.25 : 0.7; if (Compat.IsModLoaded(ModUids.PACIFISTMOD_UID)) { this.kissFrames = this.ai.ContentLoader.LoadData <string, string>("Data/FightFrames"); } this.attackAnimation = new List <FarmerSprite.AnimationFrame>[4] { // Up new List <FarmerSprite.AnimationFrame>() { new FarmerSprite.AnimationFrame(8, 100), new FarmerSprite.AnimationFrame(9, 250), }, // Right new List <FarmerSprite.AnimationFrame>() { new FarmerSprite.AnimationFrame(6, 100), new FarmerSprite.AnimationFrame(7, 250), }, // Down new List <FarmerSprite.AnimationFrame>() { new FarmerSprite.AnimationFrame(0, 100), new FarmerSprite.AnimationFrame(1, 250), }, // Left new List <FarmerSprite.AnimationFrame>() { new FarmerSprite.AnimationFrame(14, 100), new FarmerSprite.AnimationFrame(15, 250), }, }; }
public FightController(AI_StateMachine ai, IContentLoader content, IModEvents events, int sword) : base(ai) { this.attackRadius = 1.25f * Game1.tileSize; this.backupRadius = 0.9f * Game1.tileSize; this.realLeader = ai.player; this.leader = null; this.pathFinder.GoalCharacter = null; this.events = events; this.weapon = this.GetSword(sword, this.ai.metadata.Profession == "warrior"); this.bubbles = content.LoadStrings("Strings/SpeechBubbles"); this.fightSpeechTriggerThres = ai.metadata.Profession == "warrior" ? 0.33 : 0.15; this.attackAnimation = new List <FarmerSprite.AnimationFrame>[4] { // Up new List <FarmerSprite.AnimationFrame>() { new FarmerSprite.AnimationFrame(8, 100), new FarmerSprite.AnimationFrame(9, 250), }, // Right new List <FarmerSprite.AnimationFrame>() { new FarmerSprite.AnimationFrame(6, 100), new FarmerSprite.AnimationFrame(7, 250), }, // Down new List <FarmerSprite.AnimationFrame>() { new FarmerSprite.AnimationFrame(0, 100), new FarmerSprite.AnimationFrame(1, 250), }, // Left new List <FarmerSprite.AnimationFrame>() { new FarmerSprite.AnimationFrame(14, 100), new FarmerSprite.AnimationFrame(15, 250), }, }; }