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); } } } } }
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]; } }
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; } }
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; }
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); } }
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; } }
public NanoBombContext(AltArtiPassive passive, AltArtiPassive.BatchHandle handle) { this.passive = passive; this.handle = handle; this.timer = 0f; }
public PrepWallContext(AltArtiPassive passive, AltArtiPassive.BatchHandle handle) { this.passive = passive; this.handle = handle; }
public FlamethrowerContext(AltArtiPassive passive) { this.passive = passive; this.timer = 0f; }