From 7a9e2a8436c9ee526a9f1ff20458e1182dfb2fbb Mon Sep 17 00:00:00 2001 From: Cekis Date: Thu, 19 Nov 2020 19:21:26 -0500 Subject: [PATCH] Fixed static NPC questing and Kitster Banai questline --- .../spawning/static_npc/kitster_banai.tab | 4 ++-- .../script/npc/static_quest/quest_convo.java | 18 ++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/sku.0/sys.server/compiled/game/datatables/spawning/static_npc/kitster_banai.tab b/sku.0/sys.server/compiled/game/datatables/spawning/static_npc/kitster_banai.tab index 75cb20b97..57f2b4f21 100755 --- a/sku.0/sys.server/compiled/game/datatables/spawning/static_npc/kitster_banai.tab +++ b/sku.0/sys.server/compiled/game/datatables/spawning/static_npc/kitster_banai.tab @@ -2,7 +2,7 @@ quest_type convo quest_giver_convo quest_npc_convo overall_objvar temp_objvar de s s s[normal] s[normal] s s s[none] s[none] s s s s s[none] s i s[none] s i s[none] s i s[none] s i s[none] i s[none] i s[none] i s[none] i i[0] i i i s i s s s s s s s s s[none] i i i i s s s s s s destroy static_npc/tatooine/kitster_banai static.kister_banai kitster_banai npc.static_quest.quest_player npc.static_quest.quest_npc jawa_engineer object/tangible/loot/quest/anakin_helmet.iff 1500 jawa_thief aggro jawa_thief aggro jawa_thief aggro -destroy static_npc/tatooine/kitster_banai static.kister_banai kitster_banai npc.static_quest.quest_player npc.static_quest.quest_npc tough_thug_male_rodian Deeng Jabba -50 1800 +destroy static_npc/tatooine/kitster_banai static.kister_banai kitster_banai npc.static_quest.quest_player npc.static_quest.quest_npc tough_thug_male_rodian Deeng jabba -50 1800 destroy static_npc/tatooine/kitster_banai static.kister_banai kitster_banai npc.static_quest.quest_player npc.static_quest.quest_npc tough_thug_aqualish_male Sont Toipo object/tangible/component/droid/droid_brain.iff 2000 moisture_farmer moisture_farmer moisture_farmer moisture_farmer escort static_npc/tatooine/kitster_banai static.kister_banai kitster_banai npc.static_quest.quest_player npc.static_quest.quest_npc commoner_twilek_female Krin Vel 2300 desert_demon_marksman aggro desert_demon aggro desert_demon aggro -smuggle static_npc/tatooine/kitster_banai static.kister_banai kitster_banai object/tangible/mission/quest_item/kitster_banai_q5_needed.iff npc.static_quest.quest_player npc.static_quest.quest_npc wandering_kitonak Thermal Det Jabba 75 2500 desert_demon_marksman aggro desert_demon_brawler aggro desert_demon_brawler aggro +smuggle static_npc/tatooine/kitster_banai static.kister_banai kitster_banai object/tangible/mission/quest_item/kitster_banai_q5_needed.iff npc.static_quest.quest_player npc.static_quest.quest_npc wandering_kitonak Thermal Det jabba 75 2500 desert_demon_marksman aggro desert_demon_brawler aggro desert_demon_brawler aggro diff --git a/sku.0/sys.server/compiled/game/script/npc/static_quest/quest_convo.java b/sku.0/sys.server/compiled/game/script/npc/static_quest/quest_convo.java index 60fe21a3b..1459f729b 100755 --- a/sku.0/sys.server/compiled/game/script/npc/static_quest/quest_convo.java +++ b/sku.0/sys.server/compiled/game/script/npc/static_quest/quest_convo.java @@ -117,6 +117,7 @@ public class quest_convo extends script.base_script { } } + // If you've done all this guys missions he uses the "next" line to tell you. if (gating > maxGating) { CONVO = dataTableGetString(datatable, 1, "convo"); chat.chat(self, new string_id(CONVO, "next")); @@ -208,12 +209,6 @@ public class quest_convo extends script.base_script { // If the NPC is busy fighting, or the player for that matter, well then they shouldn't be talking about quests if (ai_lib.isInCombat(self) || ai_lib.isInCombat(speaker)) return SCRIPT_OVERRIDE; - // If you've done all this guys missions he uses the "next" line to tell you. - else if (questNum >= maxGating) { - System.out.println("hitting max gating: " + maxGating); - chat.chat(self, new string_id(CONVO, "next")); - return SCRIPT_OVERRIDE; - } // Now we're getting into it. This means you've failed his mission and you've come back for punishment. else if (hasObjVar(speaker, questID + ".failed")) { string_id failMessage = new string_id(CONVO, "npc_failure_" + questNum); @@ -723,16 +718,19 @@ public class quest_convo extends script.base_script { sendSystemMessage(player, credits + " credits have been deposited in your bank account.", null); } - String factionReward; + String factionReward = dataTableGetString(datatable, questNum, "faction reward"); + int factionAmt; + int maxFactionReward = 4; - for(int x = 1; x <= 4; x++) { - factionReward = dataTableGetString(datatable, questNum, "faction reward" + (x > 1 ? x : "")); + for(int x = 1; x <= maxFactionReward; x++) { if(!factionReward.equals("none")) { - int factionAmt = dataTableGetInt(datatable, questNum, "faction_reward" + (x > 1 ? x : "") + "_amount"); + factionAmt = dataTableGetInt(datatable, questNum, "faction_reward" + (x > 1 ? x : "") + "_amount"); if (factionAmt != 0) { factions.addFactionStanding(player, factionReward, factionAmt); } } + if(x < maxFactionReward) + factionReward = dataTableGetString(datatable, questNum, "faction_reward" + (x + 1)); } obj_id waypoint = getObjIdObjVar(player, questID + ".waypointhome");