peteR_pg

Full list of features (Automatic Gate Motors)

Aug 4th, 2023 (edited)
1,782
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.71 KB | None | 0 0
  1. Full list of features:
  2.  
  3. This mod is a complete rewrite.
  4. Literally, EVERY line of code was written from scratch.
  5. In other words, this is a completely new mod.
  6. But, if you still want to know the differences from the mod I've got inspiration from, here they are:
  7.  
  8. Installation TimedAction Overhaul:
  9. The installation TimedAction wasn't that great. It lacks sound, correctly equipping, setting delta times and names for the items(progress bar shown on the item when you look it in the inventory),
  10. and didn't even consume the Blowtorch at all (which now any action with a Blowtorch consumes it).
  11. These are the changes that where made:
  12. Use and deplete Blowtorch on installation
  13. Made it also use Welding Rods on installation
  14. Always check for the Blowtorch and Welding Rods with most uses (and avoid unequipping)
  15. Checks on the whole player inventory (including backpacks)
  16. To avoid unequipping and reequipping, check if currently equipped items have enough uses to install gate motor
  17. Now only need MetalWorking knowledge to do.
  18. Standardize to be similar to others TimedActions (SoundEffects, Delta on the items used in inventory, correctly equip animation, etc.)
  19.  
  20. User Feedback Overhaul:
  21. Whenever the player did a specific action (e.g. installed a gate motor, paired or copied a controller), the way of returning to the user that the action was completed and successful, the
  22. "say" command was called. I changed it to use the same text that appears when the player level up a skill (with colors!):
  23. Now uses HaloTextHelper(same text that appears when you level up) to show that information.
  24.  
  25. Tooltips Overhaul:
  26. The tooltips where, quite meh. They lack the current colors changes, where formatted in a very different way then others in-game, and could show a lot of more information.
  27. These are the changes that where made:
  28. Standardize tooltips style and format to be the same as others in the game (e.g. the BuildingMenu).
  29. Shows information about how many items are needed and how many items the player has for every action.
  30. Shows how many charges are left on the battery inside the gate container when using a connected controller.
  31. If multiple batteries are present, shows the total charge of all of them.
  32. If none of them are present, shows a message saying that it needs a car battery inside.
  33. Also, if a gate is destroyed or reset, the tooltip shows a feedback to the player.
  34. Shows all required items/tools needed and currently with the player(including inside backpacks).
  35. Shows BIG advice that the action of resetting a gate or disconnecting a controller can't be undone.
  36. Uses colors correctly and get user desired colors from accessibility options: Good/Bad Highlighted Color
  37. Colors are automatically updated whenever the player changes them.
  38. (Some things said above are new features. I'll be talking about them in the end)
  39.  
  40. ContextMenu Overhaul:
  41. The ContextMenu was actually very good, there were just some things that in my view could be better, like options positioning, options not showing everytime,
  42. names not exactly showing the purpose of the option and so on.
  43. These are the changes that where made:
  44. Renamed options to be more obvious of their functionality.
  45. Placed all gate interaction options inside a submenu (except for use controller).
  46. Reposition all the options to a more suitable place:
  47. "Use Controller" always shows on top.
  48. The interactions menu for each object(gate or controller) always appears on the bottom.
  49. Hide/Lock options when certain conditions are not met:
  50. Main ContextMenu:
  51. "Install Gate"(on gate) option only appears on gate if the player have a BlowTorch and a WeldingMask on his inventory. (Same as MetalWelding Menu)
  52. "Use Controller"(on gate/controller) option only appears if the player has a controller that is currently connected to that gate, and it is within the controller's max range.
  53. Gate Submenu:
  54. "Lock/Unlock" option only appears if the player has a controller that is currently connected to that gate.
  55. "Connect Controller" option only appears if the gate is unlocked.
  56. "Reset Frequency" option only appears if the gate is unlocked.
  57. Controller Submenu:
  58. "Lock/Unlock"(on controller) option only appears if the player has a controller that is currently connected and the gate exists.
  59. "Disconnect"(on controller) option only appears if the player has a controller that was previously connected. (gate may not exist/may be reset)
  60. "Copy Frequency"(on controller) option only appears if the player has a controller that is currently connected.
  61. If a tooltip is not hidden, but locked, the tooltip will return the feedback to the player of what is wrong.
  62. (Some things said above are new features. I'll be talking about them in the end)
  63.  
  64. Items/Recipes Scripts Overhaul:
  65. There was just a few things that were quite off on the items and recipes side, e.g. some balancing issues with weight, recipe cost and so on.
  66. These are the changes that where made:
  67. On the recipes side:
  68. Balanced item costs for the controller and gate motor to standardize and make more sense.
  69. Added animations and sounds when crafting.
  70. Added free recipes for the engineer
  71. Added skill level requirements for recipes. (changeable via the SandboxSettings)
  72. On the items side:
  73. Adjusted weights to match the required items to craft.
  74. Added category tags to look "similar" to vanilla items (maybe reworked soon).
  75. Renamed items to the new standards of the mod.
  76. Added tooltips to the items to explain their use.
  77.  
  78. Translations Overhaul:
  79. There was no way of translating the mod, because the Strings for labels and descriptions where hard-coded in english, so you couldn't even make the translations files.
  80. These are the changes that where made:
  81. Added the option to make translations for every string. (Tooltips, Items, Recipes, ContextMenu, etc.)
  82. Used some official specific game translation Strings to ease the creation of translations.
  83. Corrected some strings for information to be more precise, understandable and follow the new standards of the mod.
  84.  
  85. The following features are totally new, none of them existed in the original mod/concept.
  86. These are the completely new features:
  87.  
  88. NEW: Gate Renaming
  89. Now you can change the name of any Automatic Gate (This is fully compatible with the RenameContainers Mod)
  90. Detailed features:
  91. If the gate is unlocked, in the "Automatic Gate" submenu, there's an option to rename the gate
  92. After selecting it, an TextBox will appear to set the new name
  93. After changes, the Gate Container compartment (corner) will change it's title to the new name
  94. Any new connected controllers will have the gate's new name
  95. Already connected ones will update their names after using them
  96. If you have the mod "RenameContainers", you can also change the name of the gate by clicking the title in the Gate Container compartment (corner) inventory screen
  97. I used the same modData table as that mod, so renaming in both ways works fine
  98.  
  99. NEW: Automatic Gate Controller on the Belt
  100. You can now put your Controllers on Belts! That opens up a new possibility!
  101. After pressing the controller slot bound key:
  102. If the controller IS NOT connected to a gate, nothing will happen.
  103. If the controller IS connected to a gate, it will try to activate the controller
  104. If the player is in range, and the gate still has charges left, it will be toggled!
  105. Full suport for Gamepad
  106. The controller can be used when in belt, using the Left DPad key
  107.  
  108. Gate Motor Sprite:
  109. When the motor is successfully installed, the sprite will now change to a new one, to make it easier to distinguish an automatic
  110. gate from a normal gate
  111. Detailed features:
  112. After the installation, the gate texture will change, visually installing the motor to the gate
  113. This is not the definitive version of that texture! It may change in the future...
  114.  
  115. Locking/Unlocking System:
  116. A top request system, gates can be locked/unlocked when used or manually, blocking anyone without a controller to interact with it.
  117. Also protects the batteries inside the gate.
  118. Detailed features:
  119. Now everytime the gate is CLOSED by a controller, it will be automatically locked. (changeable via the SandboxSettings)
  120. When locked by a controller, the gate can only be open/unlock again with a connected controller.
  121. The gate container where the batteries are located is also locked when gate is locked.
  122. Gates can be manually locked/unlocked with a connected controller
  123. Have good uses for multiplayer servers or mods that adds NPCs.
  124.  
  125. Connection System:
  126. The frequency is set on the moment that the motor is installed, which allows for better interaction between gates and controllers.
  127. Also with this new system, planned features will be better to implement
  128. Detailed features:
  129. The gate's frequency is defined when the automatic motor installation is done!
  130. There is no limit of controllers connected to a same gate
  131. New controllers can only be connected if the gate is unlocked
  132. Added an option to reset the gate's frequency code
  133. All connected controllers will not work anymore
  134. You can only reset a gate frequency if it is unlocked
  135. Added an option to clear a controller frequency
  136. Useful when gates are reset/destroyed
  137. If there are no controllers connected to a gate, and it is locked, there is no way to open/unlock it.
  138.  
  139. TimedActions to all interactions:
  140. Every interaction with a gate or controller have a TimedAction.
  141. Detailed features:
  142. Gate interaction:
  143. The actions are: Connect and Reset
  144. Require a Wrench to operate.
  145. Search on inventory and backpacks.
  146. Returns the item to the correct place.
  147. Need a bit of knowledge of Mechanics and Electrical to manage.
  148. Take less time the more knowledge of Mechanics the player have.
  149. Controller interaction:
  150. The actions are: Disconnect and Copy
  151. Require a Screwdriver to operate.
  152. Search on inventory and backpacks.
  153. Returns the item to the correct place.
  154. Needs a bit of knowledge of Electrical to manage.
  155. Take less time the more knowledge of Electrical the player have.
  156.  
  157. Sandbox Options:
  158. Almost everything that should need a change can be modified in the SandboxOptions.
  159. Settings that can be changed:
  160. Automatically Lock gates when using controller
  161. default = true
  162. Configurable effective range for the controller
  163. default: 35; max:50, min:8
  164. Configurable battery total uses
  165. default: 100; max:300, min:10
  166. Motor installation requirements (MetalWelding)
  167. default: 4; max:10, min:1
  168. Controller interaction requirements (Electrical)
  169. default: 1; max:10, min:1
  170. Gate interaction requirements (Mechanics)
  171. default: 1; max:10, min:1
  172. Crafting controllers requirements (Electrical)
  173. default: 2; max:10, min:1
  174. Crafting motors requirements (Electrical)
  175. default: 3; max:10, min:1
  176. Crafting motors requirements (Mechanics)
  177. default: 3; max:10, min:1
  178.  
  179.  
  180.  
  181. Planned features:
  182.  
  183. Models and Textures:
  184. Make a better model and texture for Controller
  185. Make a better model and texture for Components
  186. Make a better model and texture for Gate Magazine
  187.  
  188. Motion sensor:
  189. Automatically open gate using "sensors"
  190. Check only for players far x tiles near the gate
  191. Automatically close then player get far away
  192.  
  193. Master Controller:
  194. Double-click opens the nearest gate
  195. ContextMenu with all paired gates option
  196. Increased range?
  197.  
  198. Keybinding to use controller:
  199. ContextMenu option opens a small UI saying "Press any key"
  200. That key is then bound to that controller, using it when pressed
  201. Way to clear keybindings
  202. DevNote: I need to come up with a way to do that recursively (without limits)
  203.  
  204. Renaming gates:
  205. Be able to rename a gate (shows in container name)
  206. Rename every controller paired to said gate to the same name (stills with code)
  207.  
  208. UI for gates managing.
Advertisement
Add Comment
Please, Sign In to add comment