/*public static void UseMove(Monster.SubMonster atk, Monster.SubMonster def, Move.SubMove themove) * { * double dam = 0; * double origdam = 0; * int paracheck = 100; * int numhits = 0; * bool multihit = false; * bool movefailed = false; * * * TheQueue.AddQueue(atk.Name + " used " + themove.Name + "!"); * * if (atk.status.Contains(Monster.Status.paralyze) || atk.status.Contains(Monster.Status.frozen)) * { * paracheck = (int)UnityEngine.Random.Range((int)0, (int)3); * if (paracheck != 0) * { * TheQueue.AddQueue(atk.Name + "'s status prevented it from moving!"); * return; * } * } * * else if (atk.status.Contains(Monster.Status.asleep)) * { * if ((int)UnityEngine.Random.Range((int)0, (int)5) == 0) * { * TheQueue.AddQueue(atk.Name + " is still sleeping!"); * TheQueue.AddQueue(atk.Name + " just woke up"); * atk.SetStatus(Monster.Status.none, 1); * * } * else * { * TheQueue.AddQueue(atk.Name + " is still sleeping!"); * return; * } * } * * themove.Use(); * * if (def.status.Contains(Monster.Status.evading)) * { * if ((themove.dodamage || (!themove.self && themove.status != Monster.Status.none))) * { * if ((int)UnityEngine.Random.Range((int)0, (int)4) > 0) * { * TheQueue.AddQueue(def.Name + " evaded the move!"); * if (themove.hurtself) * { * * TheQueue.AddQueue(atk.Name + " hurt itself!"); * TheQueue.AddQueue("It caused " + themove.hurtselfdam + " damage!"); * //health bar animation * atk.Damage(themove.hurtselfdam); * if (atk.isDead()) * TheQueue.AddQueue(atk.Name + " died!!!"); * } * return; * } * } * } * * if (themove.multihit && UnityEngine.Random.Range(0, 100f) < themove.MHP) * { * multihit = true; * TheQueue.AddQueue("Multi hit move!"); * } * * if (themove.Hit()) * { * if (themove.dodamage) * { * dam = themove.GiveDam(); * dam *= (1 + (atk.ATK / 200)); * //dam = System.Math.Round(dam, 2); * if (atk.status.Contains(Monster.Status.doubled)) * { * dam *= 2; * TheQueue.AddQueue(atk.Name + "'s status caused double damage!"); * } * else if (atk.status.Contains(Monster.Status.halved)) * { * dam *= .5; * TheQueue.AddQueue(atk.Name + "'s status caused half damage!"); * } * else if (atk.status.Contains(Monster.Status.high)) * { * dam *= .7; * TheQueue.AddQueue(atk.Name + "'s status caused reduced damage!"); * } * else if (atk.status.Contains(Monster.Status.mixedup)) * { * if ((int)UnityEngine.Random.Range((int)0, (int)2) == 0) * { * TheQueue.AddQueue(atk.Name + " hurt itself instead!"); * atk.Damage(dam); * TheQueue.AddQueue("It did " + dam + " damage!"); * movefailed = true; * } * } * * if (def.status.Contains(Monster.Status.annoyed)&&!movefailed) * { * //print("poopoo"); * dam *= 1.4; * TheQueue.AddQueue(def.Name + "'s status caused increased damage!"); * } * else if (def.status.Contains(Monster.Status.cold)&&!movefailed) * { * dam *= 1.4; * TheQueue.AddQueue(def.Name + "'s status caused increased damage!"); * } * } * * if (!movefailed) * { * dam = Math.Round(dam, 2); * origdam = dam; * //def.ReceiveDam(atk, themove, dam); * * if (multihit) * { * numhits = 2; * dam = origdam * (double)UnityEngine.Random.Range(.9f, 1.1f); * dam = Math.Round(dam, 2); * //def.ReceiveDam(atk, themove, dam); * if (themove.maxhits > 2) * { * for (int i = 3; i <= themove.maxhits; i++) * { * if (UnityEngine.Random.Range(0, 100f) < themove.MHP) * { * dam = origdam * (double)UnityEngine.Random.Range(.8f, 1.2f); * dam = Math.Round(dam, 2); * //def.ReceiveDam(atk, themove, dam); * numhits = i; * } * else break; * } * } * TheQueue.AddQueue(numhits + " hits!"); * } * } * * if (def.isDead()) * { * TheQueue.AddQueue(def.Name + " died!!!"); * * } * if (atk.isDead()) * { * TheQueue.AddQueue(atk.Name + " died!!!"); * } * * } * else * { * TheQueue.AddQueue(atk.Name + "'s attack missed!"); * } * }*/ //need ??? void Awake() { if (curInstance == null) { curInstance = this; } UnityEngine.Random.InitState((int)System.DateTime.Now.Ticks); p1ready = false; p2ready = false; //player1 = player1m.GetPlayer(); //player2 = player2m.GetPlayer(); }
void OnEnable() { if (isLocalPlayer) { i = 1; } else { i = 2; } you = BMMulti.GetYou(i); UpSlots(); }
// Use this for initialization //void Start (){} void UpSlots() { acts = BMMulti.PlayerPick(i).moninv.ReturnActives(); for (int i = 0; i < 3; i++) { if (acts[i] != null) { if (acts[i].Name != "") { acticons[i].GetComponent <SpriteRenderer>().sprite = Resources.Load("MonsterSprites/" + acts[i].imagepath, typeof(Sprite)) as Sprite; acticons[i].GetComponent <InvSlot>().curMonster = acts[i]; texts[i].text = acts[i].Name; acticons[i].GetComponent <SpriteRenderer>().color = Color.white; acticons[i].GetComponent <BoxCollider>().enabled = true; if (acts[i] == BMMulti.GetYou(i)) { acticons[i].GetComponent <SpriteRenderer>().color = Color.gray; acticons[i].GetComponent <BoxCollider>().enabled = false; } } else { texts[i].text = ""; acticons[i].GetComponent <BoxCollider>().enabled = false; acticons[i].GetComponent <SpriteRenderer>().sprite = null; acticons[i].GetComponent <SpriteRenderer>().color = Color.white; acticons[i].GetComponent <InvSlot>().curMonster = null; acticons[i].GetComponent <InvSlot>().curItem = null; } //acticons[i].GetComponent<InvSlot>().ISNULL = false; } else { texts[i].text = ""; acticons[i].GetComponent <BoxCollider>().enabled = false; acticons[i].GetComponent <SpriteRenderer>().sprite = null; acticons[i].GetComponent <SpriteRenderer>().color = Color.white; acticons[i].GetComponent <InvSlot>().curMonster = null; acticons[i].GetComponent <InvSlot>().curItem = null; //acticons[i].GetComponent<InvSlot>().ISNULL = true; } } }
// Use this for initialization void Start() { //GetComponent<PlayerMain>().SetPlayer(GameObject.Find("SinglePlayer").GetComponent<PlayerMain>().GetPlayer()); //SaveLoad.Load(SaveCallBack); if (isLocalPlayer) { GetComponent <PlayerMain>().SetPlayer(GameObject.Find("SinglePlayer").GetComponent <PlayerMain>().GetPlayer()); GetComponent <MBattlePlayer>().enabled = true; BMMulti.PlayerSet(GetComponent <PlayerMain>(), 1); //BMMulti.SetLocal(GetComponent<PlayerMain>()); doneyet = true; } else { //BMMulti.PlayerSet(GetComponent<PlayerMain>(), 2); GetComponent <NetworkView>().RPC("GetOtherPlayer", RPCMode.AllBuffered, GameObject.Find("SinglePlayer").GetComponent <PlayerMain>()); buttons.layer = 2; menus.layer = 2; foreach (Transform child in buttons.transform) { child.gameObject.layer = 2; } foreach (Transform child in menus.transform) { child.gameObject.layer = 2; foreach (Transform child2 in child) { child2.gameObject.layer = 2; } } doneyet = true; } }
public void GetOtherPlayer(PlayerMain pmtemp) { BMMulti.PlayerSet(pmtemp, 2); }
IEnumerator DeadYou() { if (instance.test == SM.S) { deadselect = true; if (BattleMain3.GetYou() != null) { if (BattleMain3.GetYou().Name != "") { BattleMain3.Player1().moninv.RemoveMonster(BattleMain3.GetYou()); } } BattleMain3.SetYou(new Monster.SubMonster()); SaveLoad.Save(SaveCallBack); while (true) { cont = false; UpMenu.SetMenu(UpMenu.curMenu.mon); if (BattleMain3.GetYou().Name != "") { break; } yield return(new WaitForEndOfFrame()); } UpMenu.SetMenu(UpMenu.curMenu.none); cont = true; yield return(new WaitForSeconds(.01f)); } else { deadselect = true; while (true) { cont = false; if (BMMulti.GetYou(1).Name == "" && BMMulti.GetYou(2).Name == "") { BMMulti.MPlayerPick(1).transform.FindChild("MenuMother").gameObject.GetComponent <MUpMenu>().SetMenu(MUpMenu.curMenu.mon); BMMulti.MPlayerPick(2).transform.FindChild("MenuMother").gameObject.GetComponent <MUpMenu>().SetMenu(MUpMenu.curMenu.mon); //if (BMMulti.GetYou(1).Name != "" && BMMulti.GetYou(2).Name!="") break; yield return(new WaitForEndOfFrame()); } else if (BMMulti.GetYou(1).Name == "") { BMMulti.MPlayerPick(2).transform.FindChild("MenuMother").gameObject.GetComponent <MUpMenu>().SetMenu(MUpMenu.curMenu.none); BMMulti.MPlayerPick(1).transform.FindChild("MenuMother").gameObject.GetComponent <MUpMenu>().SetMenu(MUpMenu.curMenu.mon); if (BMMulti.GetYou(1).Name != "") { break; } yield return(new WaitForEndOfFrame()); } else if (BMMulti.GetYou(2).Name == "") { BMMulti.MPlayerPick(1).transform.FindChild("MenuMother").gameObject.GetComponent <MUpMenu>().SetMenu(MUpMenu.curMenu.none); BMMulti.MPlayerPick(2).transform.FindChild("MenuMother").gameObject.GetComponent <MUpMenu>().SetMenu(MUpMenu.curMenu.mon); if (BMMulti.GetYou(2).Name != "") { break; } yield return(new WaitForEndOfFrame()); } } BMMulti.MPlayerPick(1).transform.FindChild("MenuMother").gameObject.GetComponent <MUpMenu>().SetMenu(MUpMenu.curMenu.none); BMMulti.MPlayerPick(2).transform.FindChild("MenuMother").gameObject.GetComponent <MUpMenu>().SetMenu(MUpMenu.curMenu.none); cont = true; yield return(new WaitForSeconds(.01f)); } }
IEnumerator TextEvents() { while (true) { if (instance.test == SM.S) { if (!BattleMain3.TurnGet() && events.Count > 0 && cont) { eventtext.text = events.Dequeue(); yield return(new WaitForSeconds(.5f)); while (!(Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Began) && !Input.GetKey(KeyCode.C)) { yield return(new WaitForEndOfFrame()); } if (events.Count == 0) { if (curdead) { cont = false; StartCoroutine("DeadYou"); } else if (!gohome && !goadventure && !curdead && !monturn && !youturn) { BattleMain3.TurnSet(true); eventtext.text = ""; textbg.SetActive(false); } else if (goadventure) { SaveLoad.Save(SaveCallBack); StartCoroutine("Fader", "Adventure"); } else if (gohome) { SaveLoad.Save(SaveCallBack); StartCoroutine("Fader", "TownTest"); } } } else { yield return(new WaitForSeconds(.01f)); } } else { if (!BMMulti.TurnGet() && events.Count > 0 && cont) { eventtext.text = events.Dequeue(); yield return(new WaitForSeconds(.5f)); while (!(Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Began) && !Input.GetKey(KeyCode.C)) { yield return(new WaitForEndOfFrame()); } if (events.Count == 0) { if (curdead) { cont = false; StartCoroutine("DeadYou"); } else if (!gohome && !goadventure && !curdead && !monturn && !youturn) { BMMulti.TurnSet(true); eventtext.text = ""; textbg.SetActive(false); } else if (goadventure) { //SaveLoad.Save(SaveCallBack); StartCoroutine("Fader", "Adventure"); } else if (gohome) { //SaveLoad.Save(SaveCallBack); StartCoroutine("Fader", "TownTest"); } } } else { yield return(new WaitForSeconds(.01f)); } } } }
/*public override void OnStartLocalPlayer() * { * if (isClient) playernum = 2; * else if (isServer) playernum = 1; * print(playernum); * BMMulti.PlayerSet(GetComponent<PlayerMain>(), playernum); * }*/ void Update() { if (!doneyet) { player = GetComponent <PlayerMain>().GetPlayer(); if (isLocalPlayer) { playernum = 1; } else { playernum = 2; } doneyet = true; } /*if (BMMulti.IsActive() && !doneyet) * { * * if (isLocalPlayer) playernum = 1; * else playernum = 2; * //print(playernum); * //print(isServer); * BMMulti.PlayerSet(GetComponent<PlayerMain>(), playernum); * doneyet = true; * }*/ buttons.SetActive(BMMulti.TurnGet()); if (BMMulti.TurnGet() || menumother.upnow != MUpMenu.curMenu.none) { if (Input.touchCount == 1 && onehit) { // touch on screen if (Input.GetTouch(0).phase == TouchPhase.Began) { Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position); RaycastHit hit = new RaycastHit(); moving = Physics.Raycast(ray, out hit); if (moving) { go = hit.transform.gameObject; } else { onehit = false; } } // release touch/dragging if ((Input.GetTouch(0).phase == TouchPhase.Ended || Input.GetTouch(0).phase == TouchPhase.Canceled || Input.touchCount != 1) && go != null && onehit) { Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position); RaycastHit hit = new RaycastHit(); moving = Physics.Raycast(ray, out hit); if (moving) { go2 = hit.transform.gameObject; } moving = false; //Debug.Log("Touch Released from : " + go.name); if (go == atk && go == go2) { //atk menu appears menumother.SetMenu(MUpMenu.curMenu.atk); } else if (go == chng && go == go2) { //active player1.moninvmenu appears menumother.SetMenu(MUpMenu.curMenu.mon); } else if (go == esc && go == go2) { //DISCONNECT } if (go == movebuttons[0] && go2 == go) { menumother.SetMenu(MUpMenu.curMenu.none); BMMulti.SetMove(BMMulti.GetYou(playernum).moves[0], playernum); BMMulti.InitTurn(BMMulti.TurnType.attack, playernum); } else if (go == movebuttons[1] && go2 == go) { menumother.SetMenu(MUpMenu.curMenu.none); BMMulti.SetMove(BMMulti.GetYou(playernum).moves[1], playernum); BMMulti.InitTurn(BMMulti.TurnType.attack, playernum); } else if (go == movebuttons[2] && go2 == go) { menumother.SetMenu(MUpMenu.curMenu.none); BMMulti.SetMove(BMMulti.GetYou(playernum).moves[2], playernum); BMMulti.InitTurn(BMMulti.TurnType.attack, playernum); } if (go == monbuttons[0] && go2 == go) { BMMulti.SetNewMon(monbuttons[0].GetComponent <InvSlot>().curMonster, playernum); UpMenu.SetMenu(UpMenu.curMenu.none); if (!TheQueue.deadselect) { BMMulti.InitTurn(BMMulti.TurnType.change, playernum); } else { BMMulti.SetYou(monbuttons[0].GetComponent <InvSlot>().curMonster, playernum); BMMulti.SetNewMon(new Monster.SubMonster(), playernum); BMMulti.UpHealth(); TheQueue.AddQueue("You've changed to " + BMMulti.GetYou(playernum).Name + "!"); TheQueue.deadselect = false; TheQueue.curdead = false; } } else if (go == monbuttons[1] && go2 == go) { BMMulti.SetNewMon(monbuttons[1].GetComponent <InvSlot>().curMonster, playernum); UpMenu.SetMenu(UpMenu.curMenu.none); if (!TheQueue.deadselect) { BMMulti.InitTurn(BMMulti.TurnType.change, playernum); } else { BMMulti.SetYou(monbuttons[1].GetComponent <InvSlot>().curMonster, playernum); BMMulti.SetNewMon(new Monster.SubMonster(), playernum); BMMulti.UpHealth(); TheQueue.AddQueue("You've changed to " + BMMulti.GetYou(playernum).Name + "!"); TheQueue.deadselect = false; TheQueue.curdead = false; } } else if (go == monbuttons[2] && go2 == go) { BMMulti.SetNewMon(monbuttons[2].GetComponent <InvSlot>().curMonster, playernum); UpMenu.SetMenu(UpMenu.curMenu.none); if (!TheQueue.deadselect) { BMMulti.InitTurn(BMMulti.TurnType.change, playernum); } else { BMMulti.SetYou(monbuttons[2].GetComponent <InvSlot>().curMonster, playernum); BMMulti.SetNewMon(new Monster.SubMonster(), playernum); BMMulti.UpHealth(); TheQueue.AddQueue("You've changed to " + BMMulti.GetYou(playernum).Name + "!"); TheQueue.deadselect = false; TheQueue.curdead = false; } } } } else { go = null; go2 = null; onehit = true; } } else { go = null; go2 = null; onehit = true; } }