diff --git a/sku.0/sys.server/compiled/game/script/item/tool/reverse_engineering_tool.java b/sku.0/sys.server/compiled/game/script/item/tool/reverse_engineering_tool.java index 0888825ff..3e89dbbce 100755 --- a/sku.0/sys.server/compiled/game/script/item/tool/reverse_engineering_tool.java +++ b/sku.0/sys.server/compiled/game/script/item/tool/reverse_engineering_tool.java @@ -491,6 +491,8 @@ public class reverse_engineering_tool extends script.base_script obj_id powerup = static_item.createNewItemFunction(getGemTemplateByClass(player, ratio, 1), inventory); if (isIdValid(powerup)) { + if(power > 117) + power = 117; setObjVar(powerup, "reverse_engineering.reverse_engineering_power", power); setObjVar(powerup, "reverse_engineering.reverse_engineering_modifier", mod); setObjVar(powerup, "reverse_engineering.reverse_engineering_ratio", ratio); diff --git a/sku.0/sys.server/compiled/game/script/player/player_instance.java b/sku.0/sys.server/compiled/game/script/player/player_instance.java index a4ef083fb..4b4f45474 100755 --- a/sku.0/sys.server/compiled/game/script/player/player_instance.java +++ b/sku.0/sys.server/compiled/game/script/player/player_instance.java @@ -705,6 +705,15 @@ public class player_instance extends script.base_script } public int handleAwardtoken(obj_id self, dictionary params) throws InterruptedException { + obj_id instanceController = instance.getAreaInstanceController(self); + if (!isIdValid(instanceController)) + { + return SCRIPT_CONTINUE; + } + if (!instance.isPlayerInPlayerList(self, instance.getPlayerList(instanceController))) + { + return SCRIPT_CONTINUE; + } int tokenIndex = params.getInt("tokenIndex"); int count = 1; if (params.containsKey("tokenCount")) diff --git a/sku.0/sys.server/compiled/game/script/player/player_saga_quest.java b/sku.0/sys.server/compiled/game/script/player/player_saga_quest.java index 9e66764d4..234a4dc3c 100755 --- a/sku.0/sys.server/compiled/game/script/player/player_saga_quest.java +++ b/sku.0/sys.server/compiled/game/script/player/player_saga_quest.java @@ -510,7 +510,14 @@ public class player_saga_quest extends script.base_script { name = new string_id("saga_system", "holocron_reward_unknown"); } - if (utils.isNestedWithin(rewardItem, self)) + final obj_id itemContainer = getContainedBy(rewardItem); + if (!isValidId(itemContainer) || !isValidId(playerInventory)) + { + pp = prose.getPackage(new string_id("saga_system", "holocron_reward_not_in_inventory"), name); + sendSystemMessageProse(self, pp); + pgc_quests.logReward(self, questHolocron, "Player attempted to donate a reward item but it was not in their inventory: " + name + "(" + rewardItem + ")"); + } + else if (itemContainer == playerInventory) { if (pgc_quests.isEligiblePgcReward(rewardItem)) { diff --git a/sku.0/sys.server/compiled/game/script/systems/storyteller/prop_controller.java b/sku.0/sys.server/compiled/game/script/systems/storyteller/prop_controller.java index 7f39faa15..79ac6a6d6 100755 --- a/sku.0/sys.server/compiled/game/script/systems/storyteller/prop_controller.java +++ b/sku.0/sys.server/compiled/game/script/systems/storyteller/prop_controller.java @@ -23,6 +23,14 @@ public class prop_controller extends script.base_script messageTo(self, "handleStorytellerPropInitialize", null, 5, false); return SCRIPT_CONTINUE; } + public int OnAboutToBeTransferred(obj_id self, obj_id destContainer, obj_id transferer) throws InterruptedException + { + if (isPlayer(getContainedBy(destContainer))) + { + return SCRIPT_OVERRIDE; + } + return SCRIPT_CONTINUE; + } public int handleStorytellerPropInitialize(obj_id self, dictionary params) throws InterruptedException { if (!hasObjVar(self, "eventTeamCleaupOverride") && !utils.hasScriptVar(self, "storytellerOnAttachFired")) diff --git a/sku.0/sys.server/compiled/game/script/terminal/terminal_character_builder.java b/sku.0/sys.server/compiled/game/script/terminal/terminal_character_builder.java index d6c93316d..7f23d99c6 100755 --- a/sku.0/sys.server/compiled/game/script/terminal/terminal_character_builder.java +++ b/sku.0/sys.server/compiled/game/script/terminal/terminal_character_builder.java @@ -77,6 +77,27 @@ public class terminal_character_builder extends script.base_script public static final String[] BUFF_OPTIONS = { "Apply GOD Buffs" }; + public static final String[] CHRONICLER_SKILLS = { + "class_chronicles", + "class_chronicles_novice", + "class_chronicles_1", + "class_chronicles_2", + "class_chronicles_3", + "class_chronicles_4", + "class_chronicles_5", + "class_chronicles_6", + "class_chronicles_7", + "class_chronicles_8", + "class_chronicles_9", + "class_chronicles_10", + "class_chronicles_11", + "class_chronicles_12", + "class_chronicles_13", + "class_chronicles_14", + "class_chronicles_15", + "class_chronicles_16", + "class_chronicles_master" + }; public static final String[] DEV_TESTING_OPTIONS = { "Halloween tokens", "Lifeday rebel tokens", @@ -1363,7 +1384,8 @@ public class terminal_character_builder extends script.base_script "Select Roadmap", "Earn Current Skill", "Set Level", - "Reset Respec" + "Reset Respec", + "Master Chronicles" }; public static final String[] JEDI_OPTIONS = { @@ -9971,6 +9993,10 @@ public class terminal_character_builder extends script.base_script sendSystemMessageTestingOnly(player, "Respecced to level 90 and respecs cleared."); cleanScriptVars(player); break; + case 4: + grantChronicleSkills(player, CHRONICLER_SKILLS); + sendSystemMessageTestingOnly(player, "Skills granted"); + break; default: cleanScriptVars(player); return SCRIPT_CONTINUE; @@ -11456,4 +11482,11 @@ public class terminal_character_builder extends script.base_script sendSystemMessageTestingOnly(player, "Weapon Issued!"); } } + public void grantChronicleSkills(obj_id objPlayer, String[] strSkillList) throws InterruptedException + { + for (int intI = 0; intI < strSkillList.length; intI++) + { + grantSkill(objPlayer, strSkillList[intI]); + } + } } \ No newline at end of file