Inheritance: MonoBehaviour
Example #1
0
    // Use this for initialization
    void Awake()
    {
        weaponType      = -3;
        swingSmackSpeed = 20f;
        swingSmashSpeed = 25f;

        cockSmashSpeed = .5f;
        cockSmackSpeed = .8f;

        cockSmackTime = 1f / 8f;
        smackTime     = 1f / 5.5f;   //(3x per second)

        cockSmashTime = 1f / 1f;
        smashTime     = 1.5f / 1f;   //(1x per second)

        smashRecoverTime = 1f;

        smackDamage = 5;
        smashDamage = 10;

        smacking = false;
        smashing = false;
        cocking  = false;

        hammerCol         = GetComponent <BoxCollider2D> ();
        hammerCol.enabled = false;

        GetComponent <SpriteRenderer> ().enabled = false;

        rigidbody2D.centerOfMass = Vector2.zero;
        rigidbody2D.mass         = 0f;

        if (gameObject.name == "Hammer1")
        {
            weaponDetectorScript = GameObject.Find("WeaponDetector1").GetComponent <WeaponDetectorScript>();
            character            = GameObject.Find("Hero1");
            armRotate            = GameObject.Find("Arm1").GetComponent <ArmRotate>();
            hammerTip            = GameObject.Find("HammerTip1").transform;
        }
        else
        {
            weaponDetectorScript = GameObject.Find("WeaponDetector2").GetComponent <WeaponDetectorScript>();
            character            = GameObject.Find("Hero2");
            armRotate            = GameObject.Find("Arm2").GetComponent <ArmRotate>();
            hammerTip            = GameObject.Find("HammerTip2").transform;
        }
        player        = character.GetComponent <Player> ();
        armHingePoint = transform;
        controller    = character.GetComponent <Controller> ();

        playerCols = player.GetComponents <Collider2D> ();

        foreach (Collider2D col in playerCols)
        {
            Physics2D.IgnoreCollision(hammerCol, col);
        }
    }
 void Start()
 {
     rb                = GetComponent <Rigidbody2D>();
     playerCollider    = GetComponent <BoxCollider2D>();
     collisionsCheck2D = GetComponent <CollisionsCheck2D>();
     anim              = GetComponent <Animator>();
     cameraShake       = Camera.main.GetComponent <CameraShake>();
     armRotate         = GameObject.FindGameObjectWithTag("Arms").GetComponent <ArmRotate>();
     Physics2D.queriesStartInColliders = false;
     timeBtwShots = startTimeBtwShots;
 }
Example #3
0
    public IEnumerator Welcome()      //Gets the player controller IDs
    {
        transform.localScale = Vector3.one * 3f;
        //blows away things a little bit for a fun entry effect, and also to clear space
        rigidbody2D.gravityScale = 0;
        if (wepDSID == 1)
        {
            characterName = "Hero1";
            wepDTran      = GameObject.Find("WeaponDetector1").transform;
            character     = GameObject.Find("Hero1");
            armRotate     = GameObject.Find("Arm1").GetComponent <ArmRotate>();
        }
        else if (wepDSID == 2)
        {
            characterName = "Hero2";
            wepDTran      = GameObject.Find("WeaponDetector2").transform;
            character     = GameObject.Find("Hero2");
            armRotate     = GameObject.Find("Arm2").GetComponent <ArmRotate>();
        }
        weaponDetectorScript = wepDTran.GetComponent <WeaponDetectorScript>();
        controller           = character.GetComponent <Controller>();
        player         = character.GetComponent <Player>();
        heroSpot       = armRotate.transform;
        heroRotation   = character.transform.rotation;
        allObjects     = Physics2D.OverlapCircleAll(transform.position, exRadius);
        allGameObjects = new GameObject[allObjects.Length];

        i = 0;
        foreach (Collider2D coller in allObjects)
        {
            allGameObjects[i] = coller.gameObject;
            i++;
        }

        i = 0;
        foreach (Collider2D thing in allObjects)
        {
            if (!dontBlowStrings.Contains(thing.name) && thing.name != characterName && thing.gameObject != this.gameObject)
            {
                bPos     = transform.position;
                thingPos = thing.transform.position;
                exDir    = Vector3.Normalize(thingPos - bPos);

                float dist2exploder = Vector3.Distance(bPos, thingPos);

                rayThings = Physics2D.RaycastAll(bPos, exDir, dist2exploder);
                foreach (RaycastHit2D rayThing in rayThings)
                {
                    if (rayThing.collider.gameObject == thing.gameObject)
                    {
                        hitPointThing = rayThing.point;
                        break;
                    }
                }
                rayExps = Physics2D.RaycastAll(thingPos, -exDir, dist2exploder);
                foreach (RaycastHit2D rayExp in rayExps)
                {
                    if (rayExp.collider.gameObject == this.gameObject)
                    {
                        hitPointExp = rayExp.point;
                        break;
                    }
                }

                dist2exploder = Vector3.Distance(hitPointExp, hitPointThing);
                exMultiplier  = Mathf.Exp(-.6f * dist2exploder);

                exForce = exForceBaseline * exMultiplier;

                if (weaponStrings.Contains(thing.tag))
                {
                    if (thing.GetComponent <WeaponBlockScript>())
                    {
                        if (thing.GetComponent <WeaponBlockScript>().toggleCount <= 0)
                        {
                            thing.rigidbody2D.AddForce(exDir * exForce);
                        }
                    }
                    else if (thing.GetComponent <MiniCopterBlock>())
                    {
                        if (thing.GetComponent <MiniCopterBlock>().toggleCount <= 0)
                        {
                            thing.rigidbody2D.AddForce(exDir * exForce);
                        }
                    }
                }
                else
                {
                    if (thing.rigidbody2D)
                    {
                        thing.rigidbody2D.AddForce(exDir * exForce);
                    }
                }
            }
            i++;
        }
        yield return(StartCoroutine(Telekinize()));
    }
Example #4
0
    // Use this for initialization
    void Awake()
    {
        horAx = 0;
        vertAx = 0;
        weaponState = 0;

        armVec = Vector3.zero;
        pause = false;
        timer = 0f;
        pleaseShoot = false;
        keyboard = false;

        spawnBlocks = false;
        spawnEnemies = false;

        controlsImage = GameObject.Find ("ControlsImage").GetComponent<SpriteRenderer> ();

        if (GameObject.Find ("BlockSpawner")){
            spawnBlocks = true;
            blockSpawner = GameObject.Find ("BlockSpawner");
        }

        if (GameObject.Find ("EnemySpawner")){
            spawnEnemies = true;
            enemySpawner = GameObject.Find("EnemySpawner");
        }

        if (gameObject.name == "Hero1"){
            chargeDisplay = GameObject.Find ("ChargeBar1").GetComponent<ChargeDisplay> ();
            weaponDetectorScript = GameObject.Find ("WeaponDetector1").GetComponent<WeaponDetectorScript> ();
            player = GameObject.Find ("Hero1").GetComponent<Player> ();
            shieldScript = GameObject.Find("Shield1").GetComponent<Shield>();
            hammerScript = GameObject.Find("Hammer1").GetComponent<Hammer>();
            armRotate = GameObject.Find("Arm1").GetComponent<ArmRotate>();
            playerName = "Hero1";

            start = "P1Start";
            rightTrigger = "P1RightTrigger";
            leftTrigger = "P1LeftTrigger";
            rightBumper = "P1ToggleWeapons";
            leftBumper = "P1CombineWeapons";
            leftHorStick = "P1MoveHor";
            leftVerStick = "P1MoveVer";
            rightHorStick = "P1AimHor";
            rightVerStick = "P1AimVer";
            yBut = "P1Y";
            xBut = "P1X";
            aBut = "P1A";
            bBut = "P1B";
            lBut = "P1L";
            dBut = "P1D";
            rBut = "P1R";
            uBut = "P1U";
            rjBut = "P1RJ";
            ljBut = "P1LJ";
            switchBut = "Switch";
            resetBut = "Reset";
        }
        else {
            chargeDisplay = GameObject.Find ("ChargeBar2").GetComponent<ChargeDisplay> ();
            weaponDetectorScript = GameObject.Find ("WeaponDetector2").GetComponent<WeaponDetectorScript> ();
            player = GameObject.Find ("Hero2").GetComponent<Player> ();
            shieldScript = GameObject.Find("Shield2").GetComponent<Shield>();
            hammerScript = GameObject.Find("Hammer2").GetComponent<Hammer>();
            armRotate = GameObject.Find("Arm2").GetComponent<ArmRotate>();
            playerName = "Hero2";

            rightTrigger = "P2RightTrigger";
            leftTrigger = "P2LeftTrigger";
            start = "P2Start";
            rightBumper = "P2ToggleWeapons";
            yBut = "P2Jump";
            leftBumper = "P2CombineWeapons";
            leftHorStick = "P2MoveHor";
            leftVerStick = "P2MoveVer";
            rightHorStick = "P2AimHor";
            rightVerStick = "P2AimVer";
            xBut = "P2X";
            aBut = "P2A";
            bBut = "P2B";
            lBut = "P2L";
            dBut = "P2D";
            rBut = "P2R";
            uBut = "P2U";
            rjBut = "P2RJ";
            ljBut = "P2LJ";
            resetBut = "Reset";
        }
    }
Example #5
0
    // Use this for initialization
    void Awake()
    {
        horAx       = 0;
        vertAx      = 0;
        weaponState = 0;

        armVec      = Vector3.zero;
        pause       = false;
        timer       = 0f;
        pleaseShoot = false;
        keyboard    = false;

        spawnBlocks  = false;
        spawnEnemies = false;

        controlsImage = GameObject.Find("ControlsImage").GetComponent <SpriteRenderer> ();

        if (GameObject.Find("BlockSpawner"))
        {
            spawnBlocks  = true;
            blockSpawner = GameObject.Find("BlockSpawner");
        }

        if (GameObject.Find("EnemySpawner"))
        {
            spawnEnemies = true;
            enemySpawner = GameObject.Find("EnemySpawner");
        }

        if (gameObject.name == "Hero1")
        {
            chargeDisplay        = GameObject.Find("ChargeBar1").GetComponent <ChargeDisplay> ();
            weaponDetectorScript = GameObject.Find("WeaponDetector1").GetComponent <WeaponDetectorScript> ();
            player       = GameObject.Find("Hero1").GetComponent <Player> ();
            shieldScript = GameObject.Find("Shield1").GetComponent <Shield>();
            hammerScript = GameObject.Find("Hammer1").GetComponent <Hammer>();
            armRotate    = GameObject.Find("Arm1").GetComponent <ArmRotate>();
            playerName   = "Hero1";


            start         = "P1Start";
            rightTrigger  = "P1RightTrigger";
            leftTrigger   = "P1LeftTrigger";
            rightBumper   = "P1ToggleWeapons";
            leftBumper    = "P1CombineWeapons";
            leftHorStick  = "P1MoveHor";
            leftVerStick  = "P1MoveVer";
            rightHorStick = "P1AimHor";
            rightVerStick = "P1AimVer";
            yBut          = "P1Y";
            xBut          = "P1X";
            aBut          = "P1A";
            bBut          = "P1B";
            lBut          = "P1L";
            dBut          = "P1D";
            rBut          = "P1R";
            uBut          = "P1U";
            rjBut         = "P1RJ";
            ljBut         = "P1LJ";
            switchBut     = "Switch";
            resetBut      = "Reset";
        }
        else
        {
            chargeDisplay        = GameObject.Find("ChargeBar2").GetComponent <ChargeDisplay> ();
            weaponDetectorScript = GameObject.Find("WeaponDetector2").GetComponent <WeaponDetectorScript> ();
            player       = GameObject.Find("Hero2").GetComponent <Player> ();
            shieldScript = GameObject.Find("Shield2").GetComponent <Shield>();
            hammerScript = GameObject.Find("Hammer2").GetComponent <Hammer>();
            armRotate    = GameObject.Find("Arm2").GetComponent <ArmRotate>();
            playerName   = "Hero2";

            rightTrigger  = "P2RightTrigger";
            leftTrigger   = "P2LeftTrigger";
            start         = "P2Start";
            rightBumper   = "P2ToggleWeapons";
            yBut          = "P2Jump";
            leftBumper    = "P2CombineWeapons";
            leftHorStick  = "P2MoveHor";
            leftVerStick  = "P2MoveVer";
            rightHorStick = "P2AimHor";
            rightVerStick = "P2AimVer";
            xBut          = "P2X";
            aBut          = "P2A";
            bBut          = "P2B";
            lBut          = "P2L";
            dBut          = "P2D";
            rBut          = "P2R";
            uBut          = "P2U";
            rjBut         = "P2RJ";
            ljBut         = "P2LJ";
            resetBut      = "Reset";
        }
    }
Example #6
0
    /*Animation BreakDown
     * 0 - Standing Still
     * 1 - Running
     * 2 - Squatting
     * 3 - Reverse Squatting
     * 4 - Squatting Still
     * 5 - Squat Running
     */
    void Awake()
    {
        controller = GetComponent<Controller> ();
        getDamage = GetComponent<GetDamage> ();
        allKnow = GameObject.Find ("theOmniscient").GetComponent<GatherAllKnowledge> ();
        crouching = false;
        uncrouching = false;
        onMyKnees = false;
        Physics2D.IgnoreLayerCollision (8, 8);

        conAnchs = new Vector2[] {
            new Vector2 (0.025f,0.37f),
            new Vector2 (0.025f, 0.315f),
            new Vector2 (0.025f, 0.2605f),
            new Vector2 (0.025f, 0.2055f),
            new Vector2 (0.015f, 0.15f),
        };

        if (GameObject.Find ("CheckPoints")) {
            checkPoint = GameObject.Find ("CheckPoints").GetComponent<CheckPoint>();
        }

        char1 = false;
        char2 = false;
        teleHovering = false;
        copterHovering = false;

        recoRotoSpeed = 25f;
        angleTol = 3f;
        liftForce = 75f;
        jetSpeed = 300f;
        unitTimeFrame = .083f;
        platforms = new Collider2D[20];
        minMoveRad = .4f;

        if (GameObject.Find("ZoomZone")){
            zoomZone = GameObject.Find("ZoomZone").GetComponent<ZoomZone>();
        }

        if (gameObject.name == "Hero1"){
            char1 = true;
            hud = GameObject.Find("HUD1").GetComponent<HUD> ();
            healthBar = GameObject.Find ("HealthBar1").GetComponent<HealthBar> ();
            arm = GameObject.Find("Arm1");
            shield = GameObject.Find("Shield1");
            hammer = GameObject.Find("Hammer1");
            tractorBeam = GameObject.Find("TractorBeam1");
            weaponDetectorScript = GameObject.Find ("WeaponDetector1").GetComponent<WeaponDetectorScript> ();
            chargeDisplay = GameObject.Find ("ChargeBar1").GetComponent<ChargeDisplay> ();
        }
        else{
            char2 = true;
            hud = GameObject.Find("HUD2").GetComponent<HUD> ();
            healthBar = GameObject.Find ("HealthBar2").GetComponent<HealthBar> ();
            arm = GameObject.Find("Arm2");
            shield = GameObject.Find("Shield2");
            hammer = GameObject.Find("Hammer2");
            tractorBeam = GameObject.Find("TractorBeam2");

            weaponDetectorScript = GameObject.Find ("WeaponDetector2").GetComponent<WeaponDetectorScript> ();
            chargeDisplay = GameObject.Find ("ChargeBar2").GetComponent<ChargeDisplay> ();

        }

        polyCols = GetComponents<PolygonCollider2D> ();
        cirCol = GetComponent<CircleCollider2D> ();

        hamCol = hammer.GetComponent<BoxCollider2D> ();
        shieldCol = shield.GetComponent<PolygonCollider2D> ();
        tractorBeamCol = tractorBeam.GetComponent<PolygonCollider2D> ();
        weaponCol = weaponDetectorScript.GetComponent<CircleCollider2D> ();

        spriteArm = arm.GetComponent<SpriteRenderer> ();
        spriteShield = shield.GetComponent<SpriteRenderer> ();
        spriteHero = GetComponent<SpriteRenderer> ();
        spriteHammer = hammer.GetComponent<SpriteRenderer> ();

        startingBounce = cirCol.sharedMaterial.bounciness;
        startingFriction = cirCol.sharedMaterial.friction;
        armRotateScript = arm.GetComponent<ArmRotate> ();
        armRot = arm.transform.rotation;
        armHinge = arm.GetComponent<HingeJoint2D>();
        shieldHinge = shield.GetComponent<HingeJoint2D>();
        hammerHinge = hammer.GetComponent<HingeJoint2D> ();

        alive = true;
        //transform.position = Vector3.zero;

        if (Application.loadedLevelName == "BattleArena"){
            spawnSpots = new Vector3[6];
            spawnSpots[0] = new Vector3 (0f,-2f,0f);
            spawnSpots [1] = new Vector3 (-2f,-1f,0f);
            spawnSpots [2] = new Vector3 (2f,-1f,0f);
            spawnSpots [3] = new Vector3 (0f,0f,0f);
            spawnSpots [4] = new Vector3 (0f,-2f,0f);
            spawnSpots [5] = new Vector3 (0f,-2f,0f);
        }
        else if (Application.loadedLevelName == "BattleShrine"){
            spawnSpots = new Vector3[6];
            spawnSpots [0] = new Vector3 (0f,2.5f,0f);
            spawnSpots [1] = new Vector3 (-1f,0f,0f);
            spawnSpots [2] = new Vector3 (1f,0f,0f);
            spawnSpots [3] = new Vector3 (0f,-2.5f,0f);
            spawnSpots [4] = new Vector3 (-3.5f,-.75f,0f);
            spawnSpots [5] = new Vector3 (3.5f,-.75f,0f);
        }
        else{
            spawnSpots = new Vector3[6];
            spawnSpots [0] = new Vector3 (0f,-2f,0f);
            spawnSpots [1] = new Vector3 (-2f,-1f,0f);
            spawnSpots [2] = new Vector3 (2f,-1f,0f);
            spawnSpots [3] = new Vector3 (0f,0f,0f);
            spawnSpots [4] = new Vector3 (0f,-2f,0f);
            spawnSpots [5] = new Vector3 (0f,-2f,0f);
        }

        wallJumpLagTime = .7f;

        runningVelThresh = .3f;
        runningCrouchVelThresh = .1f;
        wallDelay = false;

        heroAnimator = GetComponent<Animator>();

        time2Respawn = 2f;

        startingHealth = 100;

        fallTimeDelay = 1f;
        runningSpeed = 7.5f;
        floatingSpeed = runningSpeed;
        jumpSpeed = 200f;
        fallSpeed = -50f;
        maxVelocity = new Vector2 (2f, 5f);
        maxFloatVelocity = new Vector2 (2.5f, 2.5f);
        floorDetectionBoxHeights = new Vector2 (0.023f,0.2f);
        forceX = 0;
        forceY = 0;
        i = 0;
        damage = 0;

        startingJumpSpeed = jumpSpeed;
        startingRunningSpeed = runningSpeed;
        startingFallSpeed = fallSpeed;
        startingMaxVelocity = maxVelocity.x;

        followP1 = true;
    }
    public IEnumerator Welcome()
    {
        //Gets the player controller IDs
        transform.localScale = Vector3.one * 3f;
        //blows away things a little bit for a fun entry effect, and also to clear space
        rigidbody2D.gravityScale = 0;
        if (wepDSID == 1) {
            characterName = "Hero1";
            wepDTran = GameObject.Find ("WeaponDetector1").transform;
            character = GameObject.Find("Hero1");
            armRotate = GameObject.Find("Arm1").GetComponent<ArmRotate>();
        }
        else if (wepDSID == 2){
            characterName = "Hero2";
            wepDTran = GameObject.Find ("WeaponDetector2").transform;
            character = GameObject.Find("Hero2");
            armRotate = GameObject.Find("Arm2").GetComponent<ArmRotate>();
        }
        weaponDetectorScript = wepDTran.GetComponent<WeaponDetectorScript>();
        controller = character.GetComponent<Controller>();
        player = character.GetComponent<Player>();
        heroSpot = armRotate.transform;
        heroRotation = character.transform.rotation;
        allObjects = Physics2D.OverlapCircleAll (transform.position,exRadius);
        allGameObjects = new GameObject[allObjects.Length];

        i = 0;
        foreach (Collider2D coller in allObjects){
            allGameObjects[i] = coller.gameObject;
            i++;
        }

        i = 0;
        foreach (Collider2D thing in allObjects){
            if (!dontBlowStrings.Contains(thing.name) && thing.name != characterName && thing.gameObject != this.gameObject){
                bPos = transform.position;
                thingPos = thing.transform.position;
                exDir = Vector3.Normalize(thingPos - bPos);

                float dist2exploder = Vector3.Distance(bPos,thingPos);

                rayThings = Physics2D.RaycastAll (bPos,exDir,dist2exploder);
                foreach (RaycastHit2D rayThing in rayThings){
                    if (rayThing.collider.gameObject == thing.gameObject){
                        hitPointThing = rayThing.point;
                        break;
                    }
                }
                rayExps = Physics2D.RaycastAll (thingPos,-exDir,dist2exploder);
                foreach (RaycastHit2D rayExp in rayExps){
                    if (rayExp.collider.gameObject == this.gameObject){
                        hitPointExp = rayExp.point;
                        break;
                    }
                }

                dist2exploder = Vector3.Distance(hitPointExp,hitPointThing);
                exMultiplier = Mathf.Exp(-.6f * dist2exploder);

                exForce = exForceBaseline * exMultiplier;

                if (weaponStrings.Contains (thing.tag)){
                    if (thing.GetComponent<WeaponBlockScript>()){
                        if (thing.GetComponent<WeaponBlockScript>().toggleCount<=0){
                            thing.rigidbody2D.AddForce ( exDir * exForce ) ;
                        }
                    }
                    else if (thing.GetComponent<MiniCopterBlock>()){
                        if (thing.GetComponent<MiniCopterBlock>().toggleCount<=0){
                            thing.rigidbody2D.AddForce ( exDir * exForce ) ;
                        }
                    }
                }
                else {
                    if (thing.rigidbody2D){
                        thing.rigidbody2D.AddForce ( exDir * exForce ) ;
                    }
                }
            }
            i++;
        }
        yield return StartCoroutine(Telekinize());
    }
Example #8
0
    /*Animation BreakDown
     * 0 - Standing Still
     * 1 - Running
     * 2 - Squatting
     * 3 - Reverse Squatting
     * 4 - Squatting Still
     * 5 - Squat Running
     */


    void Awake()
    {
        controller  = GetComponent <Controller> ();
        getDamage   = GetComponent <GetDamage> ();
        allKnow     = GameObject.Find("theOmniscient").GetComponent <GatherAllKnowledge> ();
        crouching   = false;
        uncrouching = false;
        onMyKnees   = false;
        Physics2D.IgnoreLayerCollision(8, 8);

        conAnchs = new Vector2[] {
            new Vector2(0.025f, 0.37f),
            new Vector2(0.025f, 0.315f),
            new Vector2(0.025f, 0.2605f),
            new Vector2(0.025f, 0.2055f),
            new Vector2(0.015f, 0.15f),
        };

        if (GameObject.Find("CheckPoints"))
        {
            checkPoint = GameObject.Find("CheckPoints").GetComponent <CheckPoint>();
        }

        char1          = false;
        char2          = false;
        teleHovering   = false;
        copterHovering = false;

        recoRotoSpeed = 25f;
        angleTol      = 3f;
        liftForce     = 75f;
        jetSpeed      = 300f;
        unitTimeFrame = .083f;
        platforms     = new Collider2D[20];
        minMoveRad    = .4f;

        if (GameObject.Find("ZoomZone"))
        {
            zoomZone = GameObject.Find("ZoomZone").GetComponent <ZoomZone>();
        }

        if (gameObject.name == "Hero1")
        {
            char1                = true;
            hud                  = GameObject.Find("HUD1").GetComponent <HUD> ();
            healthBar            = GameObject.Find("HealthBar1").GetComponent <HealthBar> ();
            arm                  = GameObject.Find("Arm1");
            shield               = GameObject.Find("Shield1");
            hammer               = GameObject.Find("Hammer1");
            tractorBeam          = GameObject.Find("TractorBeam1");
            weaponDetectorScript = GameObject.Find("WeaponDetector1").GetComponent <WeaponDetectorScript> ();
            chargeDisplay        = GameObject.Find("ChargeBar1").GetComponent <ChargeDisplay> ();
        }
        else
        {
            char2       = true;
            hud         = GameObject.Find("HUD2").GetComponent <HUD> ();
            healthBar   = GameObject.Find("HealthBar2").GetComponent <HealthBar> ();
            arm         = GameObject.Find("Arm2");
            shield      = GameObject.Find("Shield2");
            hammer      = GameObject.Find("Hammer2");
            tractorBeam = GameObject.Find("TractorBeam2");

            weaponDetectorScript = GameObject.Find("WeaponDetector2").GetComponent <WeaponDetectorScript> ();
            chargeDisplay        = GameObject.Find("ChargeBar2").GetComponent <ChargeDisplay> ();
        }

        polyCols = GetComponents <PolygonCollider2D> ();
        cirCol   = GetComponent <CircleCollider2D> ();

        hamCol         = hammer.GetComponent <BoxCollider2D> ();
        shieldCol      = shield.GetComponent <PolygonCollider2D> ();
        tractorBeamCol = tractorBeam.GetComponent <PolygonCollider2D> ();
        weaponCol      = weaponDetectorScript.GetComponent <CircleCollider2D> ();

        spriteArm    = arm.GetComponent <SpriteRenderer> ();
        spriteShield = shield.GetComponent <SpriteRenderer> ();
        spriteHero   = GetComponent <SpriteRenderer> ();
        spriteHammer = hammer.GetComponent <SpriteRenderer> ();

        startingBounce   = cirCol.sharedMaterial.bounciness;
        startingFriction = cirCol.sharedMaterial.friction;
        armRotateScript  = arm.GetComponent <ArmRotate> ();
        armRot           = arm.transform.rotation;
        armHinge         = arm.GetComponent <HingeJoint2D>();
        shieldHinge      = shield.GetComponent <HingeJoint2D>();
        hammerHinge      = hammer.GetComponent <HingeJoint2D> ();

        alive = true;
        //transform.position = Vector3.zero;

        if (Application.loadedLevelName == "BattleArena")
        {
            spawnSpots     = new Vector3[6];
            spawnSpots[0]  = new Vector3(0f, -2f, 0f);
            spawnSpots [1] = new Vector3(-2f, -1f, 0f);
            spawnSpots [2] = new Vector3(2f, -1f, 0f);
            spawnSpots [3] = new Vector3(0f, 0f, 0f);
            spawnSpots [4] = new Vector3(0f, -2f, 0f);
            spawnSpots [5] = new Vector3(0f, -2f, 0f);
        }
        else if (Application.loadedLevelName == "BattleShrine")
        {
            spawnSpots     = new Vector3[6];
            spawnSpots [0] = new Vector3(0f, 2.5f, 0f);
            spawnSpots [1] = new Vector3(-1f, 0f, 0f);
            spawnSpots [2] = new Vector3(1f, 0f, 0f);
            spawnSpots [3] = new Vector3(0f, -2.5f, 0f);
            spawnSpots [4] = new Vector3(-3.5f, -.75f, 0f);
            spawnSpots [5] = new Vector3(3.5f, -.75f, 0f);
        }
        else
        {
            spawnSpots     = new Vector3[6];
            spawnSpots [0] = new Vector3(0f, -2f, 0f);
            spawnSpots [1] = new Vector3(-2f, -1f, 0f);
            spawnSpots [2] = new Vector3(2f, -1f, 0f);
            spawnSpots [3] = new Vector3(0f, 0f, 0f);
            spawnSpots [4] = new Vector3(0f, -2f, 0f);
            spawnSpots [5] = new Vector3(0f, -2f, 0f);
        }


        wallJumpLagTime = .7f;

        runningVelThresh       = .3f;
        runningCrouchVelThresh = .1f;
        wallDelay = false;

        heroAnimator = GetComponent <Animator>();

        time2Respawn = 2f;

        startingHealth = 100;

        fallTimeDelay            = 1f;
        runningSpeed             = 7.5f;
        floatingSpeed            = runningSpeed;
        jumpSpeed                = 200f;
        fallSpeed                = -50f;
        maxVelocity              = new Vector2(2f, 5f);
        maxFloatVelocity         = new Vector2(2.5f, 2.5f);
        floorDetectionBoxHeights = new Vector2(0.023f, 0.2f);
        forceX = 0;
        forceY = 0;
        i      = 0;
        damage = 0;


        startingJumpSpeed    = jumpSpeed;
        startingRunningSpeed = runningSpeed;
        startingFallSpeed    = fallSpeed;
        startingMaxVelocity  = maxVelocity.x;

        followP1 = true;
    }