예제 #1
0
 private static bool OnPersonalDamagePrefix(
     ref SPKillFeedVM __instance,
     int totalDamage,
     bool isFatalDamage,
     bool isVictimAgentMount,
     bool isFriendlyFire,
     string victimAgentName
     )
 {
     if (SubModule.Config.EnablePersonalKillFeed)
     {
         __instance.PersonalFeed.OnPersonalHit(totalDamage, isFatalDamage, isVictimAgentMount, isFriendlyFire, victimAgentName);
     }
     return(false);
 }
예제 #2
0
        private static bool OnAgentRemovedPrefix(
            ref SPKillFeedVM __instance,
            Agent affectedAgent,
            Agent affectorAgent
            )
        {
            var assistedAgent = (Agent)__instance.Call("GetAssistedAgent", affectedAgent, affectorAgent);

            if (SubModule.Config.EnablePersonalKillFeed)
            {
                if (Agent.Main != null && assistedAgent == Agent.Main)
                {
                    __instance.PersonalFeed.OnPersonalAssist(affectedAgent.Name);
                }
            }
            if (SubModule.Config.EnableGeneralKillFeed)
            {
                __instance.GeneralCasualty.OnAgentRemoved(affectedAgent, affectorAgent, assistedAgent);
            }
            return(false);
        }
예제 #3
0
            public BleedingComponent(Agent victim, Agent attacker, double tickDamage, Blow b, Config config, Mission mission, SPKillFeedVM hitFeed) : base(victim)
            {
                _victim     = victim;
                _attacker   = attacker;
                _b          = b;
                _config     = config;
                _mission    = mission;
                _tickDamage = tickDamage;
                _bandaged   = false;
                _hitFeed    = hitFeed;

                _dropRate = 0.8f;
                _timer    = new System.Timers.Timer()
                {
                    Interval  = _config.SecondsBetweenTicks * 1000,
                    AutoReset = false
                };

                _enabled = true;

                DealBleedingDamage();
            }