private static IEnumerator EXP(ObjectiveScript __instance) { int exp = Random.Range(10, 50) + GameScript.challengeLevel * 255; GadgetCoreAPI.SpawnExp(new Vector3(__instance.transform.position.x, __instance.transform.position.y, 0f), exp, 0.2f); yield break; }
void Start() { character1 = transform.Find("Character1").gameObject.GetComponent <CharacterScript>(); character2 = transform.Find("Character2").gameObject.GetComponent <CharacterScript>(); character3 = transform.Find("Character3").gameObject.GetComponent <CharacterScript>(); characters = new List <CharacterScript> { character1, character2, character3 }; foreach (CharacterScript character in characters) { character.priority = firePriority.LOWHP; } // allVisibleEnemyLocations = new HashSet<Vector3>(); // allAttackedFromLocations = new List<Vector3>(); middleObjective = GameObject.Find("MiddleObjective").GetComponent <ObjectiveScript>(); leftObjective = GameObject.Find("LeftObjective").GetComponent <ObjectiveScript>(); rightObjective = GameObject.Find("RightObjective").GetComponent <ObjectiveScript>(); allObjectives = new List <ObjectiveScript> { middleObjective, leftObjective, rightObjective }; targetObjective = new List <ObjectiveScript> { null, null, null }; ourTeamColor = character1.getTeam(); if (ourTeamColor == team.blue) { ourBase = zone.BlueBase; enemyBase = zone.RedBase; } else { ourBase = zone.RedBase; enemyBase = zone.BlueBase; } }
void Start() { character1 = transform.Find("Character1").gameObject.GetComponent <CharacterScript>(); character2 = transform.Find("Character2").gameObject.GetComponent <CharacterScript>(); character3 = transform.Find("Character3").gameObject.GetComponent <CharacterScript>(); middleObjective = GameObject.Find("MiddleObjective").GetComponent <ObjectiveScript>(); leftObjective = GameObject.Find("LeftObjective").GetComponent <ObjectiveScript>(); rightObjective = GameObject.Find("RightObjective").GetComponent <ObjectiveScript>(); teamName = "none"; characterOneShouldCaptureObjective = false; characterTwoShouldCaptureObjective = true; characterThreeShouldCaptureObjective = true; characterOneShouldSpawnCamp = false; characterTwoShouldSpawnCamp = false; characterThreeShouldSpawnCamp = false; characterOneShouldRotate = true; characterTwoShouldRotate = true; characterThreeShouldRotate = true; characterOneShouldGetItems = true; degrees1 = 1; degrees2 = 1; degrees3 = 1; InvokeRepeating("gameTimer", 0.0f, 0.5f); }
void Combat() { ActiveObjective = ChooseNewObjective(); //Find closest enemy to rotation foreach (var item in Self.visibleEnemyLocations) { CurrentEnemy = item; } foreach (var item in Self.attackedFromLocations) { CurrentEnemy = item; } Self.SetFacing(CurrentEnemy); Self.MoveChar(Self.FindClosestCover(CurrentEnemy)); //if out of combat time return to objective state if (CombatTime < 0) { switchedStates = true; state = 0; } Self.attackedFromLocations.Clear(); }
public Agent(CharacterScript character, ObjectiveScript firstObjective) { Self = character; ActiveObjective = firstObjective; Self.addDyingListener(onDeath); Self.addHitListener(combatRefresh1); Self.addShotListener(combatRefresh2); }
void Update() { if (objective == null) { objective = ObjectiveScript.instance; } transform.localEulerAngles = Utils.RotateTo(objective.transform.position - transform.position); }
// Update is called once per frame void Update() { if (life > 0) { life -= Time.deltaTime; //check if bullet will hit anything in front of it because bullet moves too fast RaycastHit hit; if (Physics.Raycast(transform.position, transform.forward, out hit, 2.4f)) { if (hit.transform.name == "Player(Clone)") { if (Network.isServer) { PlayerScript script = hit.transform.gameObject.GetComponent("PlayerScript") as PlayerScript; script.rpcGetHit(ad, sd, hit.transform.networkView.owner); } destroy(); } if (hit.transform.name == "Tank(Clone)") { if (Network.isServer) { TankScript script = hit.transform.gameObject.GetComponent("TankScript") as TankScript; script.rpcGetHit(ad, sd, hit.transform.networkView.owner); } destroy(); } if (hit.transform.name == "Jet(Clone)") { if (Network.isServer) { JetScript script = hit.transform.gameObject.GetComponent("JetScript") as JetScript; script.rpcGetHit(ad, sd, hit.transform.networkView.owner); } destroy(); } if (hit.transform.gameObject.tag == "Objective") { if (Network.isServer) { ObjectiveScript script = hit.transform.parent.gameObject.GetComponent("ObjectiveScript") as ObjectiveScript; script.objectiveHit(ad, sd); } destroy(); } } } else { destroy(); } }
void Start() { // populate the objectives middleObjective = GameObject.Find("MiddleObjective").GetComponent <ObjectiveScript>(); leftObjective = GameObject.Find("LeftObjective").GetComponent <ObjectiveScript>(); rightObjective = GameObject.Find("RightObjective").GetComponent <ObjectiveScript>(); character1 = transform.Find("Character1").gameObject.GetComponent <CharacterScript>(); character2 = transform.Find("Character2").gameObject.GetComponent <CharacterScript>(); character3 = transform.Find("Character3").gameObject.GetComponent <CharacterScript>(); }
void Start() { character1 = transform.Find("Character1").gameObject.GetComponent <CharacterScript>(); character2 = transform.Find("Character2").gameObject.GetComponent <CharacterScript>(); character3 = transform.Find("Character3").gameObject.GetComponent <CharacterScript>(); middleObjective = GameObject.Find("MiddleObjective").GetComponent <ObjectiveScript>(); leftObjective = GameObject.Find("LeftObjective").GetComponent <ObjectiveScript>(); rightObjective = GameObject.Find("RightObjective").GetComponent <ObjectiveScript>(); teamName = "none"; }
protected void DrawScript(ObjectiveScript script, ObjectiveState objective, int scriptIndex) { miniButtonStyle.stretchWidth = true; switch (script.GetType().Name) { //should be done with reflection case "ObjectiveGetQuestItem": ObjectiveGetQuestItem ogqe = (ObjectiveGetQuestItem)script; GUILayout.Label("Item Name:", MiniLabelStyle); ogqe.ItemName = GUILayout.TextField(ogqe.ItemName); break; case "ObjectiveConversationExchange": ObjectiveConversationExchange oce = (ObjectiveConversationExchange)script; GUILayout.Label("Conversation Name:", MiniLabelStyle); oce.ConversationName = GUILayout.TextField(oce.ConversationName); GUILayout.Label("Exchange Name:", MiniLabelStyle); oce.ExchangeName = GUILayout.TextField(oce.ExchangeName); break; case "ObjectiveCharacterReachQuestNode": ObjectiveCharacterReachQuestNode ocrqn = (ObjectiveCharacterReachQuestNode)script; GUILayout.Label("Character Name:", MiniLabelStyle); ocrqn.CharacterName = GUILayout.TextField(ocrqn.CharacterName); GUILayout.Label("Quest Node Name:", MiniLabelStyle); ocrqn.QuestNodeName = GUILayout.TextField(ocrqn.QuestNodeName); break; case "ObjectiveVisitLocation": ObjectiveVisitLocation ovl = (ObjectiveVisitLocation)script; DrawMobileReference(ovl.LocationReference); break; case "ObjectivePreventCharacterDeath": ObjectivePreventCharacterDeath opcd = (ObjectivePreventCharacterDeath)script; GUILayout.Label("Character Name:", MiniLabelStyle); opcd.CharacterName = GUILayout.TextField(opcd.CharacterName); break; default: GUILayout.Label("(Unknown script type)", MiniLabelStyle); break; } miniButtonStyle.stretchWidth = false; GUI.color = Color.red; if (GUILayout.Button("X")) { deleteScriptObjective = objective; objectiveScriptIndexToDelete = scriptIndex; } }
void Start() { character1 = transform.Find("Character1").gameObject.GetComponent <CharacterScript>(); character2 = transform.Find("Character2").gameObject.GetComponent <CharacterScript>(); character3 = transform.Find("Character3").gameObject.GetComponent <CharacterScript>(); middleObjective = GameObject.Find("MiddleObjective").GetComponent <ObjectiveScript>(); leftObjective = GameObject.Find("LeftObjective").GetComponent <ObjectiveScript>(); rightObjective = GameObject.Find("RightObjective").GetComponent <ObjectiveScript>(); ourTeamColor = character1.getTeam(); agent1 = new Agent(character1, leftObjective); agent2 = new Agent(character2, middleObjective); agent3 = new Agent(character3, rightObjective); }
private void ObjectiveSecured(team t, ObjectiveScript objectiveScript) { HUDScript.NotifyObjective(t); if (objectiveScript == objective0) { securedObjectives[0] = t; } else if (objectiveScript == objective1) { securedObjectives[1] = t; } else if (objectiveScript == objective2) { securedObjectives[2] = t; } }
void Start() { // Set up code. This populates your characters with their controlling scripts character1 = transform.Find("Character1").gameObject.GetComponent <CharacterScript>(); character2 = transform.Find("Character2").gameObject.GetComponent <CharacterScript>(); character3 = transform.Find("Character3").gameObject.GetComponent <CharacterScript>(); // populate the objectives middleObjective = GameObject.Find("MiddleObjective").GetComponent <ObjectiveScript>(); leftObjective = GameObject.Find("LeftObjective").GetComponent <ObjectiveScript>(); rightObjective = GameObject.Find("RightObjective").GetComponent <ObjectiveScript>(); // save our team, changes every time ourTeamColor = character1.getTeam(); //Makes gametimer call every second InvokeRepeating("gameTimer", 0.0f, 1.0f); }
void Objective() { switchedStates = false; //Check if there is combat. if (Self.visibleEnemyLocations.Count != 0 || Self.attackedFromLocations.Count != 0) { CombatTime = .5f; state = 1; } //Check if target objective has been taken if (ActiveObjective.getControllingTeam() == KEYBOARD_WARRIORS.ourTeamColor) { ActiveObjective = ChooseNewObjective(); } //Spin Self.rotateAngle(150); //If low hp then get items foreach (var item in Self.getItemList()) { if (Self.getHP() < 50 && Self.getItemList().Count > 0 && Mathf.Abs((item.transform.position - Self.transform.position).magnitude) < 40) { itemTime = 5; switchedStates = true; state = 2; } } //If an item is near and not an objective get item foreach (var item in Self.getItemList()) { if (Mathf.Abs((item.transform.position - Self.transform.position).magnitude) < 10) { switchedStates = true; itemTime = 2; state = 2; } } //Move to objective. Self.MoveChar(ActiveObjective.getObjectiveLocation()); }
void Start() { // get game specific objects character1 = transform.Find("Character1").gameObject.GetComponent <CharacterScript>(); character2 = transform.Find("Character2").gameObject.GetComponent <CharacterScript>(); character3 = transform.Find("Character3").gameObject.GetComponent <CharacterScript>(); prefab1 = character1.getPrefabObject(); prefab2 = character2.getPrefabObject(); prefab3 = character3.getPrefabObject(); middleObjective = GameObject.Find("MiddleObjective").GetComponent <ObjectiveScript>(); leftObjective = GameObject.Find("LeftObjective").GetComponent <ObjectiveScript>(); rightObjective = GameObject.Find("RightObjective").GetComponent <ObjectiveScript>(); // determine color and zone ourTeamColor = character1.getTeam(); if (ourTeamColor == team.red) { ourTeamZone = zone.RedBase; closeObjective = leftObjective; farObjective = rightObjective; } else { ourTeamZone = zone.BlueBase; closeObjective = rightObjective; farObjective = leftObjective; } // set priority // I choose LOWHP since it facilitates more 2 on 1 scenario // and a faster 5 points for the first kill character1.priority = firePriority.LOWHP; character2.priority = firePriority.LOWHP; character3.priority = firePriority.LOWHP; }
//bullet hits something void OnCollisionEnter(Collision hit) { if (Network.isServer) { if (hit.transform.gameObject.tag == "Objective") { ObjectiveScript script = hit.transform.parent.gameObject.GetComponent("ObjectiveScript") as ObjectiveScript; script.objectiveHit(ad, sd); } if (hit.transform.name == "Player(Clone)") { if (Network.isServer) { PlayerScript script = hit.transform.gameObject.GetComponent("PlayerScript") as PlayerScript; script.rpcGetHit(ad, sd, hit.transform.networkView.owner); } } if (hit.transform.name == "Tank(Clone)") { if (Network.isServer) { TankScript script = hit.transform.gameObject.GetComponent("TankScript") as TankScript; script.rpcGetHit(ad, sd, hit.transform.networkView.owner); } } if (hit.transform.name == "Jet(Clone)") { if (Network.isServer) { JetScript script = hit.transform.gameObject.GetComponent("JetScript") as JetScript; script.rpcGetHit(ad, sd, hit.transform.networkView.owner); } } } destroy(); }
void nullping(team t, ObjectiveScript o) { }
void OnEnable() { instance = this; }
public static void Postfix(ObjectiveScript __instance) { LootTables.DropLoot("special:objective", new Vector3(__instance.transform.position.x, __instance.transform.position.y, 0f), 0.1f); }
void Update() { if (objective == null) objective = ObjectiveScript.instance; transform.localEulerAngles = Utils.RotateTo(objective.transform.position - transform.position); }
void OnEnable() { instance = this; }
void OnObjectComplete(ObjectiveScript targetThatFinished) {//when something with an objectivescript says that the target is finished it changes to win state //this is used with the touch the exit or goal gameState = StateGame.win; }
// Update is called once per frame void Update() { if (Network.isServer) { //Debug.Log(Network.connections.Length); if (state == GameState.cooldown) { //Debug.Log(timer); setTimer(timer); //set everyone's timer timer -= Time.deltaTime; //start countdown if (timer <= 0) { state = GameState.play; //set to play state setGameState("p"); //set everyone's play state currentwave++; //add wave setWave(currentwave); //add wave for everyone //reset spawnedenemies = 0; killedenemies = 0; currentenemies = 0; //totalenemies = 5 * currentwave + (Network.connections.Length) * 5 * currentwave; //determine how many enemies based on wave and number of players totalenemies = 4 * currentwave + (Network.connections.Length) * 5 * currentwave; //determine how many enemies based on wave and number of players /* * Debug.Log("KILLEDENEMIES:"+killedenemies); * Debug.Log("TOTALENEMIES:"+totalenemies);*/ //set killed and total enemies counters for everyone setEnemiesKilled(killedenemies); setTotalEnemies(totalenemies); //spawn enemies for (int c = 0; c < MAXENEMIES && c < totalenemies; c++) { SpawnEnemy(); } //tell objective a new wave is starting ObjectiveScript script = GameObject.Find("Objective(Clone)").GetComponent("ObjectiveScript") as ObjectiveScript; script.newWave(currentwave); } } else if (state == GameState.play) { //if all killed if (killedenemies == totalenemies) { //if last wave end if (currentwave == TOTALWAVES) { state = GameState.win; setGameState("w"); } //go to next wave else { state = GameState.cooldown; timer = COOLDOWNTIMER; setGameState("c"); setTimer(timer); } } else { //if not all killed if (spawnedenemies < totalenemies) { //if more enemies can be spawned if (currentenemies < MAXENEMIES) { SpawnEnemy(); } } } } else if (state == GameState.win) { } else if (state == GameState.lose) { } } }
public static bool Prefix(ObjectiveScript __instance, ref IEnumerator __result) { __result = EXP(__instance); return(false); }
void OnObjectComplete(ObjectiveScript targetThatFinished) { // gameState = StateGame.win; }
float DistanceToObjective(ObjectiveScript s, CharacterScript c) { return(Mathf.Abs((s.getObjectiveLocation() - c.transform.position).magnitude)); }