示例#1
0
 public EnemyKnockupWatcher(Enemy xEn, float fKnockupSpeed, float fSpeedModifier)
 {
     this.xEn = xEn;
     this.fKnockupSpeed = fKnockupSpeed;
     this.fSpeedModifier = fSpeedModifier;
     this.enWatcherType = Watcher.WatcherType.KnockUp;
 }
示例#2
0
 public static byte OtherSeasonKnightAttackDirection(WorldActor xTarget, Enemy xSender)
 {
     foreach (Enemy x in Program.GetTheGame().dixEnemyList.Values)
     {
         if (x != xSender && !x.bToBeDestroyed && x.xBaseStats.iHP > 0)
         {
             if (x.enType == EnemyCodex.EnemyTypes.SeasonKnight_Summer)
             {
                 if (x.xBehaviour.xPlayerLockedOnto == xTarget)
                 {
                     byte result = (x.xBehaviour as SummerKnightAI).byEngageDir;
                     return result;
                 }
             }
             else if (x.enType == EnemyCodex.EnemyTypes.SeasonKnight_Autumn)
             {
                 if (x.xBehaviour.xPlayerLockedOnto == xTarget)
                 {
                     byte result = (x.xBehaviour as AutumnKnightAI).byEngageDir;
                     return result;
                 }
             }
             else
             {
                 EnemyCodex.EnemyTypes arg_9B_0 = x.enType;
             }
         }
     }
     return 4;
 }
 public NPC_Halloween_AlchemistQuest(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     this.xChatBubble = new ChatbubbleRendercomponent(ChatbubbleRendercomponent.ChatTileSet.Regular, xEnemy.xTransform, "Let's go!");
     Program.GetTheGame().xRenderMaster.RegisterGUIRenderComponent(this.xChatBubble, true);
     this.xChatBubble.xBubble.iPopupTimer = 180;
 }
示例#4
0
文件: BeeAI.cs 项目: ancientgods/SoG
 public BeeAI(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fAggroDistance = 600f;
     }
 }
示例#5
0
 public PumpkinAI(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fFurthestAllowedDistance = 1000f;
     }
 }
示例#6
0
 public FrostlingBossAI(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fAggroDistance = 1000f;
     }
 }
示例#7
0
 public NPC_Evergrind_Haddock(Enemy xEnemy, Rectangle recShoutRec)
 {
     this.xOwner = xEnemy;
     this.xChatBubble = new ChatbubbleRendercomponent(ChatbubbleRendercomponent.ChatTileSet.Regular, xEnemy.xTransform, "Let's go!");
     Program.GetTheGame().xRenderMaster.RegisterGUIRenderComponent(this.xChatBubble, true);
     this.xChatBubble.xBubble.iPopupTimer = 180;
     this.recShoutRec = recShoutRec;
 }
示例#8
0
 public FrostlingScoundrelAI(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     if (CAS.GameMode == StateMaster.GameModes.RogueLike)
     {
         this.fAggroDistance = 1000f;
     }
 }
示例#9
0
 public CrystalBeetleAI(Enemy xEnemy)
 {
     this.iCounterAtLastSpin = -180;
     this.xOwner = xEnemy;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fAggroDistance = 1000f;
     }
 }
示例#10
0
 public MarinoOneAI(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     this.xOwner.bSyncAnimationWithServer = false;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fAggroDistance = 1000f;
     }
 }
示例#11
0
 public RedPapaSlime(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     this.bActive = false;
     if (CAS.GameMode == StateMaster.GameModes.RogueLike)
     {
         this.fNextSpin -= 0.25f;
     }
 }
示例#12
0
 public NPC_Collector_CartDude(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     this.bRunClientUpdate = true;
     this.ltxCartItems.Add(ItemCodex.GetItemDescription(ItemCodex.ItemTypes._Misc_ChickenPlushie).txDisplayImage);
     this.ltxCartItems.Add(ItemCodex.GetItemDescription(ItemCodex.ItemTypes._Misc_Fish_FattyDisplay).txDisplayImage);
     this.ltxCartItems.Add(ItemCodex.GetItemDescription(ItemCodex.ItemTypes._Misc_PeckoDoll).txDisplayImage);
     this.ltxCartItems.Add(ItemCodex.GetItemDescription(ItemCodex.ItemTypes._Special_OneArrow).txDisplayImage);
 }
示例#13
0
 public LivingPuzzleBlockAI(Enemy xEnemy)
 {
     this.enCurrentAction = LivingPuzzleBlockAI.Action.Sleeping;
     this.xOwner = xEnemy;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fAggroDistance = 1000f;
     }
 }
示例#14
0
 public GhostyAI(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     this.bRunClientUpdate = true;
     this.iLaughCounter = Program.GetTheGame().randomInLogic.Next(300) + 120;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fFurthestAllowedDistance = 1000f;
     }
 }
示例#15
0
 public Effect_Beam(Enemy xSource, Enemy xTarget, float fVirtualHeight, float fBeamHeightOffset = -27f, string sAssetPath = "Sprites/Monster/Temple/Crystal/Beam/")
 {
     this.xTarget = xTarget;
     this.xSource = xSource;
     for (int i = 0; i < 30; i++)
     {
         this.lxBeamParts.Add(new RC_BeamPart(fVirtualHeight, fBeamHeightOffset, sAssetPath));
         Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(this.lxBeamParts[i]);
     }
 }
示例#16
0
 public WinterMageAI(Enemy xEnemy)
 {
     this.fTargetDistance = 110f;
     this.fFleeDistance = 60f;
     this.xOwner = xEnemy;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fFurthestAllowedDistance = 1000f;
     }
 }
示例#17
0
 public SummerKnightAI(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     this.sSubAction = "Wait";
     this.iCounter = -60;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fAggroDistance = 1000f;
     }
 }
 public MiniBossHPRenderComponent(Enemy p_xEnemy, ContentManager Content, int iWidth = 211)
 {
     this.iBarLength = iWidth;
     this.xEnemy = p_xEnemy;
     this.txBar = Content.Load<Texture2D>("GUI/HUD/MinibossHP/Bar");
     this.txHP1px = Content.Load<Texture2D>("GUI/HUD/HP1px");
     this.txNameLeft = Content.Load<Texture2D>("GUI/HUD/MinibossHP/name_left");
     this.txNameMid = Content.Load<Texture2D>("GUI/HUD/MinibossHP/name_mid");
     this.txNameRight = Content.Load<Texture2D>("GUI/HUD/MinibossHP/name_right");
     this.font = FontManager.Reg7;
 }
示例#19
0
 public SeasonHydraAI(Enemy xEnemy)
 {
     this.bActive = false;
     this.xOwner = xEnemy;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fAggroDistance = 1000f;
     }
     this.xOwner.xCollisionComponent.DeactivateGroup(CollisionComponent.ColliderGroup.Combat);
     this.xOwner.xBaseStats.bUntargetable = true;
 }
示例#20
0
 public AutumnMageAI(Enemy xEnemy)
 {
     this.fTargetDistance = 110f;
     this.fFleeDistance = 60f;
     this.iLastSpecialAttackAt = -180;
     this.xOwner = xEnemy;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fFurthestAllowedDistance = 1000f;
     }
 }
示例#21
0
 public SummerMageAI(Enemy xEnemy)
 {
     this.fTargetDistance = 110f;
     this.fFleeDistance = 60f;
     int iOtherMages = Program.game.GetEnemiesOfType(EnemyCodex.EnemyTypes.SeasonMage_Summer).Count;
     this.iLastSpecialAttackAt = -450 + 250 * iOtherMages;
     this.xOwner = xEnemy;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fFurthestAllowedDistance = 1000f;
     }
 }
示例#22
0
 public JackLanternLight(Enemy xEn)
 {
     this.xMountObject = xEn;
     this.xTransform = xEn.xTransform;
     this.xRenderComponent.xTransform = this.xTransform;
     this.xEnemy = xEn;
     this.enDestructionType = DynamicLight.DestructionType.Fade;
     base.SetScale(0.3f);
     this.fFlicker = 0.3f;
     this.iFlickerInterval = 40;
     this.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Program.GetTheGame().xRenderMaster.dstxLightSources["OmniLightRad100"], new Vector2(100f, 100f), 4, 1, 200, 200, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
 }
示例#23
0
 public TerrorweedAI(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     this.bRunClientUpdate = true;
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fFurthestAllowedDistance = 1000f;
     }
     if (Program.game.xStateMaster.enGameMode == StateMaster.GameModes.RogueLike)
     {
         this.fActivationDistance = 200f;
     }
 }
示例#24
0
 public PhasemanAI(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     this.xTracerRC = new StaticRenderComponent(RenderMaster.txCircleRad25, new TransformComponent(Vector2.Zero));
     this.xTracerRC.v2Offset = new Vector2(25f, 25f);
     this.xTracerRC.fScale = 0.05f;
     this.llv2ZapTargets.Add(new List<Vector2>());
     this.llv2ZapTargets[0].Add(new Vector2(1070f, 300f));
     this.llv2ZapTargets[0].Add(new Vector2(1070f, 408f));
     this.llv2ZapTargets[0].Add(new Vector2(958f, 408f));
     this.llv2ZapTargets[0].Add(new Vector2(958f, 300f));
     this.llv2ZapTargets[0].Add(new Vector2(1014f, 295f));
     this.llv2ZapTargets[0].Add(new Vector2(1073f, 354f));
     this.llv2ZapTargets[0].Add(new Vector2(1014f, 412f));
     this.llv2ZapTargets[0].Add(new Vector2(955f, 354f));
     this.llv2ZapTargets.Add(new List<Vector2>());
     this.llv2ZapTargets[1].Add(new Vector2(921f, 353f));
     this.llv2ZapTargets[1].Add(new Vector2(984f, 322f));
     this.llv2ZapTargets[1].Add(new Vector2(1014f, 267f));
     this.llv2ZapTargets[1].Add(new Vector2(1044f, 323f));
     this.llv2ZapTargets[1].Add(new Vector2(1106f, 354f));
     this.llv2ZapTargets[1].Add(new Vector2(1044f, 382f));
     this.llv2ZapTargets[1].Add(new Vector2(1014f, 438f));
     this.llv2ZapTargets[1].Add(new Vector2(985f, 382f));
     this.llv2ZapTargets.Add(new List<Vector2>());
     this.llv2ZapTargets[2].Add(new Vector2(880f, 337f));
     this.llv2ZapTargets[2].Add(new Vector2(880f, 375f));
     this.llv2ZapTargets[2].Add(new Vector2(1148f, 337f));
     this.llv2ZapTargets[2].Add(new Vector2(1148f, 375f));
     this.llv2ZapTargets[2].Add(new Vector2(880f, 337f));
     this.llv2ZapTargets[2].Add(new Vector2(880f, 375f));
     this.llv2ZapTargets[2].Add(new Vector2(1148f, 337f));
     this.llv2ZapTargets[2].Add(new Vector2(1148f, 375f));
     this.llv2ZapTargets.Add(new List<Vector2>());
     this.llv2ZapTargets[3].Add(new Vector2(920f, 296f));
     this.llv2ZapTargets[3].Add(new Vector2(1125f, 300f));
     this.llv2ZapTargets[3].Add(new Vector2(909f, 435f));
     this.llv2ZapTargets[3].Add(new Vector2(1019f, 252f));
     this.llv2ZapTargets[3].Add(new Vector2(1087f, 420f));
     this.llv2ZapTargets[3].Add(new Vector2(919f, 296f));
     this.llv2ZapTargets[3].Add(new Vector2(1014f, 296f));
     this.llv2ZapTargets.Add(new List<Vector2>());
     this.llv2ZapTargets[4].Add(new Vector2(834f, 323f));
     this.llv2ZapTargets[4].Add(new Vector2(1206f, 307f));
     this.llv2ZapTargets[4].Add(new Vector2(831f, 284f));
     this.llv2ZapTargets[4].Add(new Vector2(1207f, 267f));
     this.llv2ZapTargets[4].Add(new Vector2(822f, 247f));
     this.llv2ZapTargets[4].Add(new Vector2(1015f, 234f));
 }
示例#25
0
 public override void InstructionsFromServer(byte byInstructionID, params float[] afParams)
 {
     if (byInstructionID == 0)
     {
         ushort iID = (ushort)afParams[0];
         if (Program.game.dixEnemyList.ContainsKey(iID))
         {
             this.xOwnerEnemy = Program.game.dixEnemyList[iID];
             if (this.xOwnerEnemy.enType == EnemyCodex.EnemyTypes.SeasonKnight_Autumn)
             {
                 (this.xOwnerEnemy.xBehaviour as AutumnKnightAI).xOccupiedTornado = this;
             }
         }
     }
 }
示例#26
0
		public void Set(string p_sName, Enemy xEnemy)
		{
			if (this.xEnemy != xEnemy)
			{
				this.fHPPercent = (float)xEnemy.xBaseStats.iHP / (float)xEnemy.xBaseStats.iMaxHP;
			}
			this.sName = p_sName;
			if (this.iDisplayCycle == 0)
			{
				this.iDisplayCycle = 1;
			}
			else if (this.iDisplayCycle > 10)
			{
				this.iDisplayCycle = 10;
			}
			this.xEnemy = xEnemy;
		}
 public void AddMonsterToDefeatOrder(Enemy x)
 {
     base.AttachEnemy(x);
     this.lxDefeatOrder.Add(x);
     if (this.lxDefeatOrder.Count > 1)
     {
         x.xBaseStats.bUltimateGuard = true;
         SortedAnimated xEffe = Program.game._EffectMaster_AddEffect(new SortedAnimated(x.xTransform.v2Pos, SortedAnimated.SortedAnimatedEffects._EnemyEffects_Crystal_ShieldEffect)) as SortedAnimated;
         xEffe.xRenderComponent.fVirtualHeight += x.xRenderComponent.fVirtualHeight;
         xEffe.xRenderComponent.xTransform = x.xTransform;
         xEffe.xTransform = x.xTransform;
         xEffe.xRenderComponent.v2OffsetRenderPos = x.xEnemyDescription.v2ApproximateOffsetToMid;
         RenderComponent expr_B0_cp_0 = xEffe.xRenderComponent;
         expr_B0_cp_0.v2OffsetRenderPos.Y = expr_B0_cp_0.v2OffsetRenderPos.Y + 16f;
         this.dxxEffectWatchers[x] = (Program.game._EntityMaster_AddWatcher(new EnemyAttachedEffectWatcher(x, xEffe)) as EnemyAttachedEffectWatcher);
     }
 }
示例#28
0
 public NPC_Naniva(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     this.xOwner.bSyncAnimationWithServer = false;
     this.xOwner.bSynchNetworkPosition = false;
     this.xOwner.bInstantiateInNetwork = false;
     Program.game.OnEnemyKilledEvent += new Game1.GenericEnemyEvent(this.OnEnemyDestroyed);
     Program.game.OnLevelUnloadEvent += new Game1.GenericEmptyEvent(this.OnLevelUnload);
     Program.game.OnEnemyDamagedEvent += new Game1.EnemyDamageRecall(this.OnEnemyHurt);
     Program.game.lxCallOnPlayerDamage.Add(new Game1.PlayerDamageRecall(this.OnPlayerHurt));
     this.xChatBubble = new ChatbubbleRendercomponent(ChatbubbleRendercomponent.ChatTileSet.Regular, this.xOwner.xTransform, "Let's go!");
     Program.GetTheGame().xRenderMaster.RegisterGUIRenderComponent(this.xChatBubble, true);
     this.xChatBubble.xBubble.iPopupTimer = 180;
     this.xChatBubble.xBubble.iDisplayTimer = 0;
     this.xCombatBubble = new ChatbubbleRendercomponent(ChatbubbleRendercomponent.ChatTileSet.Regular, this.xOwner.xTransform, "Let's go!");
     Program.GetTheGame().xRenderMaster.RegisterGUIRenderComponent(this.xCombatBubble, true);
     this.xCombatBubble.xBubble.iPopupTimer = 60;
     this.xCombatBubble.xBubble.iDisplayTimer = 0;
     this.xCombatBubble.fAlpha = 0.7f;
 }
示例#29
0
 public Enemy AddEnemyToPlayerList(int iList, Enemy xEnemy)
 {
     if (iList == 1)
     {
         this.lxPlayer1Chickens.Add(xEnemy);
     }
     if (iList == 2)
     {
         this.lxPlayer2Chickens.Add(xEnemy);
     }
     if (iList == 3)
     {
         this.lxPlayer3Chickens.Add(xEnemy);
     }
     if (iList == 4)
     {
         this.lxPlayer4Chickens.Add(xEnemy);
     }
     return xEnemy;
 }
示例#30
0
 public FreddyFirst_MK2(Enemy xEnemy)
 {
     this.xOwner = xEnemy;
     this.bActive = false;
 }