public override void Die() { // check if player killed the mutant and increase aggression if (base.targetSwitcher.currentAttackerGo != null) { if ((!base.setup.search.fsmInCave.Value) && (!base.setup.dayCycle.creepy)) { if (base.targetSwitcher.currentAttackerGo.CompareTag("Player") || base.targetSwitcher.currentAttackerGo.CompareTag("PlayerNet") || base.targetSwitcher.currentAttackerGo.CompareTag("PlayerRemote")) { if (!base.doStealthKill) { if (NoAutoAggression.debugDeath) { ModAPI.Log.Write("Death from player weapon!"); } NoAutoAggression.IncreaseAggression(base.setup.ai); } else if (base.doStealthKill && base.setup.animator.GetBool("trapBool")) { if (NoAutoAggression.debugDeath) { ModAPI.Log.Write("Death from player stealth kill in trap!"); } NoAutoAggression.IncreaseAggression(base.setup.ai); } } } } // original code base.Die(); }
protected override void addToMutantAmounts() { // original code base.addToMutantAmounts(); // lower aggression once a day by 1 NoAutoAggression.LowerAggression(); }
protected override void setDayConditions() { // original code base.setDayConditions(); // set/reset aggression values if ((!base.setup.search.fsmInCave.Value) && (!base.creepy)) { base.aggression = NoAutoAggression.GetAggression(base.ai, base.aggression); bool attackUpdate = (base.fsmAggresion.Value != base.aggression); base.fsmAggresion.Value = base.aggression; this.UpdateBehaviour(attackUpdate); } }
protected override void DieTrap(int type) { // check if player-trap killed mutant and increase aggression // types: 0 = largeSpike, 1 = largeDeadfall), 2 = largeNoose, 3 = largeSwingingRock if ((!base.setup.search.fsmInCave.Value) && (!base.setup.dayCycle.creepy)) { if ((base.deathFromTrap) && ((type == 0) || (type == 1) || (type == 3))) { if (NoAutoAggression.debugDeath) { ModAPI.Log.Write("Death from player trap!"); } NoAutoAggression.IncreaseAggression(base.setup.ai); } } // original code base.DieTrap(type); }
protected void OnDisable() { // save aggression to file - potential override in future game versions NoAutoAggression.SaveAggression(); }
protected void OnEnable() { // create aggressionStore - potential override in future game versions NoAutoAggression.CreateAggressionStore(); }