protected virtual int GetProgress(ConquestState state, PlayerMobile victim) { if (victim == null) { return(0); } if (state.User == null) { return(0); } PvPBattle battle = AutoPvP.FindBattle(state.User); if (Battle.IsNotNull && !battle.TypeEquals(Battle, BattleChildren)) { if (ChangeBattleReset) { return(-state.Progress); } return(0); } return(1); }
protected virtual int GetProgress(ConquestState state, PlayerConquestContainer args) { if (state.User == null) { return(0); } if (args == null || args.Mobile == null || args.Killer is PlayerMobile && args.Killer.Account != state.User.Account) { return(0); } if (IsDuel && args.Mobile is PlayerMobile && args.Killer is PlayerMobile && ((PlayerMobile)args.Killer).DuelContext == null) { return(0); } if (IsDungeon && !args.Mobile.InRegion <DungeonRegion>()) { return(0); } PvPBattle battle = AutoPvP.FindBattle(args.Killer as PlayerMobile); if (Battle.IsNotNull && !battle.TypeEquals(Battle, BattleChildren)) { if (ChangeBattleReset) { return(-state.Progress); } return(0); } if (AccessPlayer > args.Mobile.AccessLevel) { return(0); } if (AccessKiller > args.Killer.AccessLevel) { return(0); } if (NotoCompare != NotorietyType.None && NotoCompare != args.Killer.ComputeNotoriety(args.Mobile)) { return(0); } if (NotoPlayer != NotorietyType.None && NotoPlayer != args.Mobile.ComputeNotoriety()) { return(0); } if (NotoKiller != NotorietyType.None && NotoKiller != args.Killer.ComputeNotoriety()) { return(0); } if (Map != null && Map != Map.Internal && (args.Mobile.Map == null || args.Mobile.Map != Map)) { return(0); } if (!String.IsNullOrWhiteSpace(RegionName) && (args.Mobile.Region == null || !args.Mobile.Region.IsPartOf(RegionName))) { return(0); } return(1); }