You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			113 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			113 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C#
		
	
| namespace Game
 | |
| {
 | |
|     public class AIMonster01 : AIEntityBase<AIMonster01>
 | |
|     {
 | |
|         protected override void OnCreate()
 | |
|         {
 | |
|             Sequence(() =>
 | |
|             {
 | |
|                 SetHungry();
 | |
|                 CheckStagger();
 | |
|                 FindTarget();
 | |
|                 Selector(() =>
 | |
|                 {
 | |
|                     CaseLongRange();
 | |
|                     CaseMelee();
 | |
|                     CaseSpectator();
 | |
|                 });
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         private void SetHungry()
 | |
|         {
 | |
|             Selector("设置饥饿值", () =>
 | |
|             {
 | |
|                 SetHungryIncrease(EAIModuleType.LongRange, 1, 1);
 | |
|                 SetHungryIncrease(EAIModuleType.Melee, 1, 1);
 | |
|                 SetHungryIncrease(EAIModuleType.Spectator, 1, 1);
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         private void CaseLongRange()
 | |
|         {
 | |
|             Sequence("远程", () =>
 | |
|             {
 | |
|                 CheckModuleType(EAIModuleType.LongRange);
 | |
|                 Selector(() =>
 | |
|                 {
 | |
|                     Sequence(() =>
 | |
|                     {
 | |
|                         CheckDistance(0, 2);
 | |
|                         CastSkill(3, false);
 | |
|                     });
 | |
|                     Sequence(() =>
 | |
|                     {
 | |
|                         CheckDistance(2, 3);
 | |
|                         Selector(() =>
 | |
|                         {
 | |
|                             CastSkill(2, true);
 | |
|                             MoveAroundTo();
 | |
|                         });
 | |
|                     });
 | |
|                     MoveTo();
 | |
|                 });
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         private void CaseMelee()
 | |
|         {
 | |
|             Sequence("近战", () =>
 | |
|             {
 | |
|                 CheckModuleType(EAIModuleType.Melee);
 | |
|                 Selector(() =>
 | |
|                 {
 | |
|                     Sequence(() =>
 | |
|                     {
 | |
|                         CheckDistance(0, 1);
 | |
|                         Selector(() =>
 | |
|                         {
 | |
|                             CastSkill(0, true);
 | |
|                             CastSkill(3, false);
 | |
|                         });
 | |
|                     });
 | |
|                     Sequence(() =>
 | |
|                     {
 | |
|                         CheckDistance(1, 2);
 | |
|                         MoveTo();
 | |
|                     });
 | |
|                     Selector(() =>
 | |
|                     {
 | |
|                         CastSkill(1, true);
 | |
|                         MoveAroundTo();
 | |
|                     });
 | |
|                 });
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         private void CaseSpectator()
 | |
|         {
 | |
|             Sequence("观战", () =>
 | |
|             {
 | |
|                 CheckModuleType(EAIModuleType.Spectator);
 | |
|                 Selector(() =>
 | |
|                 {
 | |
|                     Sequence(() =>
 | |
|                     {
 | |
|                         CheckDistance(0, 2);
 | |
|                         CastSkill(3, false);
 | |
|                     });
 | |
|                     Sequence(() =>
 | |
|                     {
 | |
|                         CheckDistance(2, 3);
 | |
|                         Selector(() =>
 | |
|                         {
 | |
|                             CastSkill(1, true);
 | |
|                             MoveAround();
 | |
|                         });
 | |
|                     });
 | |
|                     MoveTo();
 | |
|                 });
 | |
|             });
 | |
|         }
 | |
|     }
 | |
| } |