source: 2015/26/MikkoL/JRPG/JRPG/JRPG/Overworld/RandomEncounter.cs @ 6467

Revision 6467, 2.7 KB checked in by mijoliim, 5 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Jypeli;
6
7public class RandomEncounter
8{
9    public static int StepsToAnEncounter = 5;
10    public static int StepsTaken { get; set; }
11    public static int Probability = 25;
12
13    public static List<EnemyGroup> CurrentEnemies = new List<EnemyGroup>();
14    static EnemyGroup CurrentEnemyGroup { get; set; }
15
16    public void LoadEncounterProbabilities(string MapName)
17    {
18       
19    }
20
21    public static void Step(Tile UnderTile)
22    {
23        StepsTaken++;
24
25        if (StepsTaken >= StepsToAnEncounter)
26        {
27            StepsTaken = 0;
28
29            if (UnderTile.Type == TileType.Floor
30                || UnderTile.Type == TileType.Lava
31                || UnderTile.Type == TileType.Water)
32            {
33                if (Probability > RandomGen.NextInt(0, 100))
34                {
35                    LoadRandomEncounter(UnderTile.Type);
36                }
37            }
38        }
39        //else
40    }
41
42    static void LoadRandomEncounter(TileType tileType)
43    {
44        if (tileType == TileType.Floor)
45        {
46            JRPG.Game.ClearControls();
47
48            CurrentEnemies = OverworldView.CurrentMapData.EnemiesList();
49
50            Random r = new Random();
51            CurrentEnemyGroup = OverworldView.CurrentMapData.PickRandomWeightedGroup(CurrentEnemies, r);
52
53            JRPG.Game.UseShaders = true;
54
55            JRPG.Game.RandomEncounterAnimation(
56                delegate
57                {
58                    JRPG.BattleView = new BattleView();
59                    JRPG.BattleView.LoadBattle(CurrentEnemyGroup);
60                },
61                delegate
62                {
63                    JRPG.Game.MediaPlayer.Play("Music//Song12");
64                });
65        }
66        else if (tileType == TileType.Water)
67        {
68
69        }
70
71    }
72
73    public static void Boss()
74    {
75        EnemyBase Tele1 = EnemyList.Tele(1);
76        EnemyBase Tele2 = EnemyList.Tele(2);
77        EnemyBase Tele3 = EnemyList.Tele(3);
78        EnemyBase Tele4 = EnemyList.Tele(4);
79
80        EnemyGroup Group = new EnemyGroup();
81        Group.Add(Tele1);
82        Group.Add(Tele2);
83        Group.Add(Tele3);
84        Group.Add(Tele4);
85
86        CurrentEnemyGroup = Group;
87
88        JRPG.Game.UseShaders = true;
89
90            JRPG.Game.RandomEncounterAnimation(
91                delegate
92                {
93                    JRPG.BattleView = new BattleView(true);
94                    JRPG.BattleView.LoadBattle(CurrentEnemyGroup);
95                },
96                delegate
97                {
98                    JRPG.Game.MediaPlayer.Play("Music//Hunt");
99                });
100    }
101}
Note: See TracBrowser for help on using the repository browser.