So I know this is a little far fetched, but one day I intend to finish and release The Core. After that, I will likely continue modding but something a little more interesting. One of my favourite genres is RPGs and I would really like to create one, but my only real ability is Goldsource mapping, so that's out. I could probably get by with Source if need be.
The idea would be to have the maps be fairly linear, but allow the player to bypass obstacles in different ways.
What I want to know is how easy/difficult it would be to add the following functionality to the Goldsource engine, maybe even say if it would be easier with Source.
1. Inventory System
The player would have a limited number of slots, say 16. Every single item from keys to health kits would take up a slot. Health and Armour would be applied from the Inventory screen. The player would have the ability to drop things if they needed to pick up a specific item and their inventory was full. Quest items (keys, repair tools) would need to be removable using triggers.
2. Weapon slots
The player would have 5 weapon slots, similar to standard HL. Melee, pistol, rifle, heavy and explosives. The player could only carry one item in each category and have the ability to swap out weapons they find in the level.
3. Dialogue Boxes (Essential and probably hardest :P)
Whether it's to respond to an NPC speech, or prompted by a certain action in the game (attempt to repair the machine), it would feature multiple choice dialog boxes. This would be a popup in the game with options the player can click.
In the editor, it would be a textbox up to 4 text fields. These text fields will also have trigger targets. Example of the fields in the editor.
Name: repairDialog
Message: The generator is not working. You can see the problem and could easily fix it with the right tools.
Option1: Attempt to fix the generator by hand
Option1target: repairFail
Option2: Attempt to fix with Tools.
Option2target: repairSuccess
Option3: Leave it alone
Option3target:
Option4:
Option4target:
Then repairFail would simply trigger another dialog box such as
Name: repairFail
Message: You attempt to correct the problem by hand, but it is not possible without the right tools.
Option1: Leave it alone
Option1target:
Option2:
Option2target:
Option3:
Option3target:
Option4:
Option4target: