Improved Theorn AI.
This commit is contained in:
@@ -73,102 +73,52 @@ public class Theorn extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
case "light_1":
|
case "light_1":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_1, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_1, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_1":
|
case "darkness_1":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_1, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_1, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_2":
|
case "light_2":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_2, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_2, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_2":
|
case "darkness_2":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_2, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_2, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_3":
|
case "light_3":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_3, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_3, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_3":
|
case "darkness_3":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_3, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_3, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_4":
|
case "light_4":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_4, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_4, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_4":
|
case "darkness_4":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_4, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_4, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_5":
|
case "light_5":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_5, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_5, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_5":
|
case "darkness_5":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_5, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_5, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "stop_1":
|
case "stop_1":
|
||||||
@@ -256,17 +206,22 @@ public class Theorn extends AbstractNpcAI
|
|||||||
return "33897.html";
|
return "33897.html";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tryLuck(L2Npc npc, L2PcInstance player, Skill skill, boolean isLight)
|
private String tryLuck(L2Npc npc, L2PcInstance player, Skill skill, boolean isLight)
|
||||||
{
|
{
|
||||||
|
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
||||||
|
{
|
||||||
|
return "nosp.html";
|
||||||
|
}
|
||||||
takeItems(player, Inventory.ADENA_ID, 100000);
|
takeItems(player, Inventory.ADENA_ID, 100000);
|
||||||
player.setSp(player.getSp() - 500000);
|
player.setSp(player.getSp() - 500000);
|
||||||
if (isLight ? getRandom(10) > 4 : getRandom(10) < 5)
|
if (isLight ? getRandom(10) > 4 : getRandom(10) < 5)
|
||||||
{
|
{
|
||||||
SkillCaster.triggerCast(npc, player, skill);
|
SkillCaster.triggerCast(npc, player, skill);
|
||||||
return;
|
return null;
|
||||||
}
|
}
|
||||||
SkillCaster.triggerCast(npc, player, RESEARCH_FAIL);
|
SkillCaster.triggerCast(npc, player, RESEARCH_FAIL);
|
||||||
startQuestTimer("REMOVE_BUFF", 3000, npc, player);
|
startQuestTimer("REMOVE_BUFF", 3000, npc, player);
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -73,102 +73,52 @@ public class Theorn extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
case "light_1":
|
case "light_1":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_1, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_1, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_1":
|
case "darkness_1":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_1, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_1, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_2":
|
case "light_2":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_2, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_2, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_2":
|
case "darkness_2":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_2, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_2, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_3":
|
case "light_3":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_3, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_3, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_3":
|
case "darkness_3":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_3, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_3, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_4":
|
case "light_4":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_4, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_4, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_4":
|
case "darkness_4":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_4, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_4, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_5":
|
case "light_5":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_5, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_5, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_5":
|
case "darkness_5":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_5, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_5, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "stop_1":
|
case "stop_1":
|
||||||
@@ -256,17 +206,22 @@ public class Theorn extends AbstractNpcAI
|
|||||||
return "33897.html";
|
return "33897.html";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tryLuck(L2Npc npc, L2PcInstance player, Skill skill, boolean isLight)
|
private String tryLuck(L2Npc npc, L2PcInstance player, Skill skill, boolean isLight)
|
||||||
{
|
{
|
||||||
|
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
||||||
|
{
|
||||||
|
return "nosp.html";
|
||||||
|
}
|
||||||
takeItems(player, Inventory.ADENA_ID, 100000);
|
takeItems(player, Inventory.ADENA_ID, 100000);
|
||||||
player.setSp(player.getSp() - 500000);
|
player.setSp(player.getSp() - 500000);
|
||||||
if (isLight ? getRandom(10) > 4 : getRandom(10) < 5)
|
if (isLight ? getRandom(10) > 4 : getRandom(10) < 5)
|
||||||
{
|
{
|
||||||
SkillCaster.triggerCast(npc, player, skill);
|
SkillCaster.triggerCast(npc, player, skill);
|
||||||
return;
|
return null;
|
||||||
}
|
}
|
||||||
SkillCaster.triggerCast(npc, player, RESEARCH_FAIL);
|
SkillCaster.triggerCast(npc, player, RESEARCH_FAIL);
|
||||||
startQuestTimer("REMOVE_BUFF", 3000, npc, player);
|
startQuestTimer("REMOVE_BUFF", 3000, npc, player);
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -73,102 +73,52 @@ public class Theorn extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
case "light_1":
|
case "light_1":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_1, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_1, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_1":
|
case "darkness_1":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_1, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_1, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_2":
|
case "light_2":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_2, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_2, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_2":
|
case "darkness_2":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_2, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_2, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_3":
|
case "light_3":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_3, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_3, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_3":
|
case "darkness_3":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_3, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_3, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_4":
|
case "light_4":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_4, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_4, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_4":
|
case "darkness_4":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_4, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_4, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "light_5":
|
case "light_5":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_5, true);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_5, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "darkness_5":
|
case "darkness_5":
|
||||||
{
|
{
|
||||||
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
htmltext = tryLuck(npc, player, RESEARCH_SUCCESS_5, false);
|
||||||
{
|
|
||||||
htmltext = "nosp.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
tryLuck(npc, player, RESEARCH_SUCCESS_5, false);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "stop_1":
|
case "stop_1":
|
||||||
@@ -256,17 +206,22 @@ public class Theorn extends AbstractNpcAI
|
|||||||
return "33897.html";
|
return "33897.html";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tryLuck(L2Npc npc, L2PcInstance player, Skill skill, boolean isLight)
|
private String tryLuck(L2Npc npc, L2PcInstance player, Skill skill, boolean isLight)
|
||||||
{
|
{
|
||||||
|
if ((player.getSp() < 500000) || (player.getAdena() < 100000))
|
||||||
|
{
|
||||||
|
return "nosp.html";
|
||||||
|
}
|
||||||
takeItems(player, Inventory.ADENA_ID, 100000);
|
takeItems(player, Inventory.ADENA_ID, 100000);
|
||||||
player.setSp(player.getSp() - 500000);
|
player.setSp(player.getSp() - 500000);
|
||||||
if (isLight ? getRandom(10) > 4 : getRandom(10) < 5)
|
if (isLight ? getRandom(10) > 4 : getRandom(10) < 5)
|
||||||
{
|
{
|
||||||
SkillCaster.triggerCast(npc, player, skill);
|
SkillCaster.triggerCast(npc, player, skill);
|
||||||
return;
|
return null;
|
||||||
}
|
}
|
||||||
SkillCaster.triggerCast(npc, player, RESEARCH_FAIL);
|
SkillCaster.triggerCast(npc, player, RESEARCH_FAIL);
|
||||||
startQuestTimer("REMOVE_BUFF", 3000, npc, player);
|
startQuestTimer("REMOVE_BUFF", 3000, npc, player);
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Reference in New Issue
Block a user