Core 2651 - Coding Guidelines
Here it is... the list of "dos and dont's". Obviously, 1 document can't
possibly address every single situation that will come up. That's why
this will also be general in nature, to help you understand the reasoning
behind what is legal and what is not.
-- Grey
Specific things we won't allow
Here's a list of things that were coded in Core 2696 that we've learned
are too destructive to the playing environment:
Any object that a player can carry must have set_material() and set_materialunits() called in it. The material(s) used must be deducted from your area (Company dome or Rebellion bunker).
Any object or room that contains a technology command must consume power (gerks). If it is a room, the gerks come from your area. If it is an object, the gerks come from a powercell or power implant. The amount of gerks used should be proportional to the complexity and/or usefulness of the command.
Teleportation is forbidden. There is really no need for this extra convenience, as the world has been designed to be compact and sensibly laid out. Teleportation also allows for sloppy coding (mapping), and makes it harder for the player to conceptualize the layout of the world. Not to mention that its like the "magic blue portal" you see on so many MUDs.
All rooms, whether in Company or Resistance territory, are required to use the x/y/z coordinate mapping system. The people who are most opposed to this are people who learned to code on a sloppy magic-based MUD. So sorry, but I'm imposing a coding standard here. If your resistance to using this method is because you just don't understand it, please ask for help. Provided you're using a room skeleton to code with, adding x/y/z coordinates is only a matter of a few additional seconds of your time.
All rooms will be coded with a skeleton. I hope to have a weapon skeleton, and an armour skeleton, available soon. Using a skeleton makes your code standard (so someone else can read through it easier), ensures that you don't forget important features, and takes away the hard work of "coding from scratch". Why code from scratch when you don't have to? :) Using a skeleton is a method I was taught when I became a professional programmer.
Instant Kill Rooms/Monsters -- such as Goldie's infamous "Death" monster, are forbidden. Yes, it is within your coding ability. No, I don't want to deal with the whining that results from it! If you don't want a specific individual in your area, post a clear warning. When the individual enters the restricted area, have a 10-15 second call_out() before bringing in a reasonable guard squad ("reasonable" in terms of level and number of guards). It should be possible to escape without dying instantly.
Level 20+ Zones and/or PK Zones - There must be a clearly posted warning prior to entering this area. The warning must state the nature of the area, and advise against entering without due caution.
Projectile Weapons. The damage must be confined to the user's room. Allowing the weapon to go into the next room will lead to quest abuses, security abuses, etc. Projectile weapons must consume ammunition purchased by the user, or a large amount of gerks. It should be possible for the monster to dodge and avoid being hit. A player may not be the target, unless they're in a PK zone and combat is already in progress.
Medical Technology. This includes healing implants, food, drugs, drinks, "emergency medkits", and the like. All medical technology that deviates from the standard mudlib must be approved. Without central control over these items, the mud can fall out of Balance quickly.
Files from the /oldcore directory. The files from Core 2696 have been preserved for those coders who were coders at that time. They have also been preserved for reference. Do not re-introduce files from Core 2696 into today's game without permission, unless you are the original owner of the code and the old code "fits" with the current vision of Core.
Spaceships or Space Stations. All Core 2651 development will take place on the planet's surface.
The 'Z' Coordinate. You can go as far down as you want. Resistance bunkers shouldn't go that far up (no more than 2 levels), as they're supposed to be hidden/inconspicuous. When going up in a dome, consider that you need to preserve a dome shape. In English, this means: don't even consider having more than 5 upper floors, unless you've got a HUGE diameter on the ground floor!