예제 #1
0
        public override void OnEnemyDamaged(Enemy enemy, ref int damage, ref byte type)
        {
            var currentFloor = (double)LocalGame.GetCurrentFloor();
            var factor       = 1 - 0.15 * currentFloor;

            damage = (int)Math.Floor(damage * factor);
        }
예제 #2
0
        public override void OnPlayerDamaged(ref int damage, ref byte type)
        {
            // disable this code for now
            if (!grant)
            {
                grant = true;

                /*
                 * alex.SpawnOn(LocalGame, LocalPlayer);
                 * GordonFreeman.SpawnOn(LocalGame, LocalPlayer);
                 * InstaRepair.SpawnOn(LocalGame, LocalPlayer);
                 * Weapon.SpawnOn(LocalGame, LocalPlayer);
                 * WeaponOne.SpawnOn(LocalGame, LocalPlayer);
                 * Hattus.SpawnOn(LocalGame, LocalPlayer);
                 */
            }

            return;

            damage = (3 * LocalGame.GetCurrentFloor()) * damage; //e.g 300%, 600%, 900%... dmg

            Type    gameType = Utils.GetGameType("SoG.Game1");
            dynamic game     = LocalGame.GetUnderlayingGame();
            dynamic player   = game.xLocalPlayer;
            var     function = ((TypeInfo)gameType).GetDeclaredMethods("_EntityMaster_AddItem").First();

            //function.Invoke(LocalGame.GetUnderlayingGame(), new[] { GetModItemFromString("BagKnight"), player.xEntity.xTransform.v2Pos, player.xEntity.xRenderComponent.fVirtualHeight, player.xEntity.xCollisionComponent.ibitCurrentColliderLayer, Vector2.Zero });
            //function.Invoke(LocalGame.GetUnderlayingGame(), new[] { GetModItemFromString("BananaMan"), player.xEntity.xTransform.v2Pos, player.xEntity.xRenderComponent.fVirtualHeight, player.xEntity.xCollisionComponent.ibitCurrentColliderLayer, Vector2.Zero });
        }
예제 #3
0
        public override void OnPlayerKilled()
        {
            if (LocalGame.GetCurrentFloor() < 5)
            {
                Dialogue.AddDialogueLineTo(LocalGame, "I am not going to lie, but it's not looking good...");
            }
            if (LocalGame.GetCurrentFloor() >= 5)
            {
                Dialogue.AddDialogueLineTo(LocalGame,
                                           "Looking but I am sorry to tell you, it's floor 10 now....just joking" + Environment.NewLine +
                                           "Grab your reward!");

                questFinished = true;
            }
        }