Open Ssolvarain opened 4 years ago
It also avoids the two potential issues where a player cannot pick it up due to inventory weight/count restrictions, and the possibility that the prog could confuse the intended boots with a different pair in the room.
Thanks; I think you might be looking for safegive
(for use by mobs/imms), which is "give
but without checking for things that might mean they can't take it":
say Fine! Take th' stinkin' thing. I ain't gots no need fer it no more anyhow.
mob oload 14925
safegive ragged $n
(It came in a few months after LNJ went live)
I might be a decade, or so behind the times :3
Going to leave this here. I'm renaming the file, but removing all the references, etc. would be a hassle. Just a copy of Programs.doc from elsewhere that details most of the prog changes that have been added in to enhance what a builder is able to do with their prog scripting.
I love Prophecy, but the programs it uses are still close to their stock functionality. Even some of simpler improvements should be useful to increase the range of options available. Many of the improvements to the progs were added in initially for a specific project, and found continued use elsewhere to obtain a desired result. An eye to future application was always held in the estimation of whether or not an improvement was worth the effort involved in coding it. Cherry picking among them in similar fashion for one builder's current need still enriches the other builders as well.
For instance: In Lower Nyissan Jungle you can obtain a pair of boots by interacting with a mob in a certain way. The prog itself reads like this: load obj 1234 mob echo A puma makes a pair of boots magically appear! drop boots force $n get boots
The above prog makes my teeth hurt with how hacked together such a common thing is required to be to obtain the desired effect.
If a builder could directly load an object into a PC's inventory, it could be simplified like so: mob voload 1234 $n mob echo A puma makes a pair of boots magically appear! You pick them up.
This prog above is much cleaner, and simpler. It also avoids the two potential issues where a player cannot pick it up due to inventory weight/count restrictions, and the possibility that the prog could confuse the intended boots with a different pair in the room. Being able to provide a PC an item is a basic function in a MUD, found in almost any quest designed. Improved efficiency for both the player, and builder is the reward found in simplifying the actions required to achieve the desired result.
Extra musings: It'd probably involve quite a bit of work, but the ability to manipulate variables on mobs, and players is also a real game changer. Really opens up a world of possibility when you can begin to track different states, especially where quests are concerned. I'm only aware of one ROM game doing this currently with their progs. Variables set on mobs to persist are also saved at time-of-change to the .are file, like those set to players are saved to their pfile, so changes persist beyond a crash, copyover, or shut down. Being able to track a player's decisions within a quest to permanently affect the outcome, the option to reference their current completion of a quest by a mob on the other side of the game, the possibility of arranging a sequential order of dialog & events in presentation, for one player to interact with a mob capable of behavior that's based on the actions of other players, and more are all options that become available with the manipulation of variables.
A flexible scripting language (like python) instead of progs would probably also work just fine, if you're willing to support your staff in its usage. Considering where things stand, I can't really imagine that the amount of time required to port the current progs over into a new format would be too awful. I know Anheg's put in more than a few lines of code getting Prophecy GO up, and running, but I've put in more than a few of my own on a large number of scripts. Believe me when I say that writing the prog itself isn't hard, but filling it with interesting things is. Keeping those things, and wrapping them in a vastly more flexible language would, in my humble opinion, be worth the effort expended.
Closing words of wheedling inspiration: I know it's pretty late in the game, but if improvements are intended for Prophecy then there should be some intent to improve current content, and also provide new content for it. After all, a builder doesn't just spout random ideas with no ability to back them up. A builder is someone who takes something as forgettable as "That's a cool idea, but...", and puts in the time, and effort with the tools available to elevate a wishful thought into something alive, and very real for the players to enjoy.
Also, here's the scripting behind the most script-heavy content I've ever written to show off something you can do with a good set of tools when you have the knowledge, and will to use them: https://www.dropbox.com/s/rk114m3vqsxmvi4/isle%20of%20winterhold%20general.txt?dl=0
Programs (1).txt