Exemplo n.º 1
0
 private void GlobalEventManager_OnCharacterDeath(DamageReport damageReport)
 {
     if (NetworkServer.active)
     {
         if (damageReport != null && damageReport.victimBody && damageReport.victimBody.healthComponent)
         {
             if (damageReport.victimBody.healthComponent.isInFrozenState)
             {
                 if (this.frozenBy.ContainsKey(damageReport.victim.gameObject))
                 {
                     GameObject body = this.frozenBy[damageReport.victim.gameObject];
                     if (AltArtiPassive.instanceLookup.ContainsKey(body))
                     {
                         AltArtiPassive passive = AltArtiPassive.instanceLookup[body];
                         passive.DoExecute(damageReport);
                     }
                 }
             }
             else if (damageReport.damageInfo.damageType.HasFlag(DamageType.Freeze2s))
             {
                 if (AltArtiPassive.instanceLookup.ContainsKey(damageReport.attacker))
                 {
                     AltArtiPassive.instanceLookup[damageReport.attacker].DoExecute(damageReport);
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
        public override void OnEnter()
        {
            base.OnEnter();

            this.inputSpace            = new GameObject("inputSpace").transform;
            this.inputSpace.position   = Vector3.zero;
            this.inputSpace.rotation   = Quaternion.identity;
            this.inputSpace.localScale = Vector3.one;

            this.stepTime = stepHalt + dashTime;
            this.duration = (this.stepTime * steps) - stepHalt;
            for (Int32 i = 0; i < steps; i++)
            {
                this.stepTimes[i] = (this.stepTime * i) - stepHalt;
            }
            this.stepTimes[steps] = this.duration;
            this.stepTime         = (this.duration / steps) - stepHalt;

            this.modelTransform = base.GetModelTransform();
            this.rotator        = this.modelTransform.Find("MageArmature").GetComponent <Components.Rotator>();

            base.characterMotor.useGravity  = false;
            base.cameraTargetParams.aimMode = CameraTargetParams.AimType.Aura;

            if (AltArtiPassive.instanceLookup.ContainsKey(base.gameObject))
            {
                this.passive = AltArtiPassive.instanceLookup[base.gameObject];
            }
        }
Exemplo n.º 3
0
        private void Flamethrower_OnEnter(On.EntityStates.Mage.Weapon.Flamethrower.orig_OnEnter orig, Flamethrower self)
        {
            orig(self);
            GameObject obj = self.outer.gameObject;

            if (AltArtiPassive.instanceLookup.ContainsKey(obj))
            {
                AltArtiPassive passive = AltArtiPassive.instanceLookup[obj];
                var            context = new FlamethrowerContext(passive);
                passive.SkillCast();
                this.flamethrowerContext[self] = context;
            }
        }
Exemplo n.º 4
0
            public ProjectileNode( Vector3 position, Transform parent, AltArtiPassive passive )
            {
                this.location = new GameObject( "ProjNode" ).transform;
                this.location.parent = parent;
                this.location.localPosition = position;
                this.location.localRotation = Quaternion.identity;
                this.location.localScale = Vector3.one;

                this.queue = new List<ProjectileData>();

                this.fireRadius = nodeFireRadius;
                this.fireTime = nodeFireRate;
                this.passive = passive;
            }
Exemplo n.º 5
0
        private void ChargeNovabomb_OnEnter(On.EntityStates.Mage.Weapon.ChargeNovabomb.orig_OnEnter orig, ChargeNovabomb self)
        {
            orig(self);
            GameObject obj = self.outer.gameObject;

            if (AltArtiPassive.instanceLookup.ContainsKey(obj))
            {
                AltArtiPassive passive = AltArtiPassive.instanceLookup[obj];
                var            handle  = new AltArtiPassive.BatchHandle();
                var            context = new NanoBombContext(passive, handle);
                this.nanoBombContext[self] = context;
                passive.SkillCast(handle);
            }
        }
Exemplo n.º 6
0
        private void PrepWall_OnEnter(On.EntityStates.Mage.Weapon.PrepWall.orig_OnEnter orig, PrepWall self)
        {
            orig(self);
            GameObject obj = self.outer.gameObject;

            if (AltArtiPassive.instanceLookup.ContainsKey(obj))
            {
                AltArtiPassive passive = AltArtiPassive.instanceLookup[obj];
                var            handle  = new AltArtiPassive.BatchHandle();
                passive.SkillCast(handle);
                var context = new PrepWallContext(passive, handle);
                this.prepWallContext[self] = context;
            }
        }
Exemplo n.º 7
0
 public NanoBombContext(AltArtiPassive passive, AltArtiPassive.BatchHandle handle)
 {
     this.passive = passive;
     this.handle  = handle;
     this.timer   = 0f;
 }
Exemplo n.º 8
0
 public PrepWallContext(AltArtiPassive passive, AltArtiPassive.BatchHandle handle)
 {
     this.passive = passive;
     this.handle  = handle;
 }
Exemplo n.º 9
0
 public FlamethrowerContext(AltArtiPassive passive)
 {
     this.passive = passive;
     this.timer   = 0f;
 }