Configuration for Attackable corpse camping.

This commit is contained in:
MobiusDevelopment 2022-07-23 01:09:01 +00:00
parent 563794ef55
commit 9e41afee0a
84 changed files with 195 additions and 32 deletions

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -627,6 +627,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2100,6 +2101,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -637,6 +637,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2123,6 +2124,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -637,6 +637,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2136,6 +2137,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -624,6 +624,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2116,6 +2117,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -623,6 +623,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2125,6 +2126,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -623,6 +623,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2132,6 +2133,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -624,6 +624,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2171,6 +2172,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -630,6 +630,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2187,6 +2188,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -622,6 +622,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2163,6 +2164,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -622,6 +622,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2199,6 +2200,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -622,6 +622,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2199,6 +2200,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -622,6 +622,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2199,6 +2200,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -605,17 +605,20 @@ MinMonsterAnimation = 5
MaxMonsterAnimation = 60
# Show the level of monsters.
# Default: false
# Default: False
ShowNpcLevel = False
# Show aggression of monsters.
# Default: false
# Default: False
ShowNpcAggression = False
# Show clan, alliance crests for territory NPCs.
# Default: False
ShowNpcClanCrest = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Record the location of the characters in the file before the off / restarting the server?
ActivatePositionRecorder = False

View File

@ -178,6 +178,7 @@ public class Config
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean SHOW_NPC_CLAN_CREST;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static int ZONE_TOWN;
public static int DEFAULT_PUNISH;
public static int DEFAULT_PUNISH_PARAM;
@ -1486,6 +1487,7 @@ public class Config
SHOW_NPC_LEVEL = generalConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = generalConfig.getBoolean("ShowNpcAggression", false);
SHOW_NPC_CLAN_CREST = generalConfig.getBoolean("ShowNpcClanCrest", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = generalConfig.getBoolean("AttackablesCampPlayerCorpses", false);
FORCE_INVENTORY_UPDATE = generalConfig.getBoolean("ForceInventoryUpdate", false);
FORCE_COMPLETE_STATUS_UPDATE = generalConfig.getBoolean("ForceCompletePlayerStatusUpdate", true);
CHAR_DATA_STORE_INTERVAL = generalConfig.getInt("CharacterDataStoreInterval", 15) * 60 * 1000;

View File

@ -492,7 +492,7 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || (getTarget().isPlayer() && (!getTarget().getActingPlayer().isAlikeDead() || getTarget().getActingPlayer().getAppearance().isInvisible()))))
if (!npc.isWalker() && ((getTarget() == null) || (getTarget().isPlayer() && ((!Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead()) || getTarget().getActingPlayer().getAppearance().isInvisible()))))
{
npc.setWalking();
npc.returnHome();

View File

@ -633,17 +633,20 @@ MinMonsterAnimation = 5
MaxMonsterAnimation = 60
# Show the level of monsters.
# Default: false
# Default: False
ShowNpcLevel = False
# Show aggression of monsters.
# Default: false
# Default: False
ShowNpcAggression = False
# Show clan, alliance crests for territory NPCs.
# Default: False
ShowNpcClanCrest = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Record the location of the characters in the file before the off / restarting the server?
ActivatePositionRecorder = False

View File

@ -195,6 +195,7 @@ public class Config
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean SHOW_NPC_CLAN_CREST;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static int ZONE_TOWN;
public static int DEFAULT_PUNISH;
public static int DEFAULT_PUNISH_PARAM;
@ -1539,6 +1540,7 @@ public class Config
SHOW_NPC_LEVEL = generalConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = generalConfig.getBoolean("ShowNpcAggression", false);
SHOW_NPC_CLAN_CREST = generalConfig.getBoolean("ShowNpcClanCrest", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = generalConfig.getBoolean("AttackablesCampPlayerCorpses", false);
FORCE_INVENTORY_UPDATE = generalConfig.getBoolean("ForceInventoryUpdate", false);
FORCE_COMPLETE_STATUS_UPDATE = generalConfig.getBoolean("ForceCompletePlayerStatusUpdate", true);
CHAR_DATA_STORE_INTERVAL = generalConfig.getInt("CharacterDataStoreInterval", 15) * 60 * 1000;

View File

@ -492,7 +492,7 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || (getTarget().isPlayer() && (!getTarget().getActingPlayer().isAlikeDead() || getTarget().getActingPlayer().getAppearance().isInvisible()))))
if (!npc.isWalker() && ((getTarget() == null) || (getTarget().isPlayer() && ((!Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead()) || getTarget().getActingPlayer().getAppearance().isInvisible()))))
{
npc.setWalking();
npc.returnHome();

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -695,6 +695,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2122,6 +2123,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -615,7 +615,7 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -720,6 +720,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2212,6 +2213,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -615,7 +615,7 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -725,6 +725,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2217,6 +2218,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -615,7 +615,7 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -644,6 +644,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2068,6 +2069,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -644,6 +644,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2072,6 +2073,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -644,6 +644,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2072,6 +2073,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -644,6 +644,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2072,6 +2073,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -644,6 +644,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2081,6 +2082,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -649,6 +649,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2126,6 +2127,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -651,6 +651,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2083,6 +2084,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -653,6 +653,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2166,6 +2167,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -655,6 +655,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2267,6 +2268,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -656,6 +656,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2274,6 +2275,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}

View File

@ -34,6 +34,9 @@ ShowNpcLevel = False
# Default: False
ShowNpcAggression = False
# Attackables do not leave player corpses.
AttackablesCampPlayerCorpses = False
# Show clan, alliance crests for territory NPCs without quests
# Default: False
ShowCrestWithoutQuest = False

View File

@ -656,6 +656,7 @@ public class Config
public static boolean ALT_GAME_VIEWNPC;
public static boolean SHOW_NPC_LEVEL;
public static boolean SHOW_NPC_AGGRESSION;
public static boolean ATTACKABLES_CAMP_PLAYER_CORPSES;
public static boolean SHOW_CREST_WITHOUT_QUEST;
public static boolean ENABLE_RANDOM_ENCHANT_EFFECT;
public static int MIN_NPC_LEVEL_DMG_PENALTY;
@ -2274,6 +2275,7 @@ public class Config
ALT_GAME_VIEWNPC = npcConfig.getBoolean("AltGameViewNpc", false);
SHOW_NPC_LEVEL = npcConfig.getBoolean("ShowNpcLevel", false);
SHOW_NPC_AGGRESSION = npcConfig.getBoolean("ShowNpcAggression", false);
ATTACKABLES_CAMP_PLAYER_CORPSES = npcConfig.getBoolean("AttackablesCampPlayerCorpses", false);
SHOW_CREST_WITHOUT_QUEST = npcConfig.getBoolean("ShowCrestWithoutQuest", false);
ENABLE_RANDOM_ENCHANT_EFFECT = npcConfig.getBoolean("EnableRandomEnchantEffect", false);
MIN_NPC_LEVEL_DMG_PENALTY = npcConfig.getInt("MinNPCLevelForDmgPenalty", 78);

View File

@ -474,8 +474,9 @@ public class AttackableAI extends CreatureAI
}
// Order this attackable to return to its spawn because there's no target to attack
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !getTarget().getActingPlayer().isAlikeDead())))
if (!npc.isWalker() && ((getTarget() == null) || getTarget().isInvisible() || (getTarget().isPlayer() && !Config.ATTACKABLES_CAMP_PLAYER_CORPSES && getTarget().getActingPlayer().isAlikeDead())))
{
npc.setWalking();
npc.returnHome();
return;
}