switch(typeName) { case "Bruiser": tactics.Add(new DoubleSwingTactic()); tactics.Add(new DefaultTactic()); break; case "Healer": tactics.Add(new UseFirstAidTactic()); tactics.Add(new MoveToWoundedAllyTactic()); tactics.Add(new DefaultTactic()); break; case "Ranged": tactics.Add(new KeepAwayFromMeleeRangeIfAbleTactic()); tactics.Add(new UseSlingStoneTactic()); tactics.Add(new KeepAwayFromPlayerIfAbleTactic()); tactics.Add(new PossiblyRunFromPlayerTactic()); tactics.Add(new WaitTactic()); break; case "Sprinter": tactics.Add(new RushTactic()); tactics.Add(new DefaultTactic()); break; default: tactics.Add(new DefaultTactic()); break; }
I obviously plan on pulling this out into an XML list or something similar, and add more intelligent "tactics" so I can make the AI even smarter. One idea I had would have slingers who don't have a line of sight for a shot to move to one more likely. Another would have healers find bruisers and stay togeater, kinda like heavies and medics in TF2.
Now that I have a "flat" monster hierarchy, I need to write generators similar to the ones I wrote for items that'll create level dependent monsters.
1 comment:
Nice :D
Just what we need - a Team Fortress roguelike! ;)
"On Team RED, sandvich eat YOU!"
Post a Comment