Ships(Builder)
CoffeeMUD |
---|
Administrator Builder Player |
=CoffeeMUD Builder Information= | |||
---|---|---|---|
Basics | Praetor Player Support Commands Zapper Masks | Advanced | Races Classes Abilities Socials Scripting |
Building | Behaviors Properties Areas Rooms Exits Items Mobs | Systems | Achievements Crafting Help Info Ships Planes of Existence Quests Triumphs |
This page is for constructing GenSailingShips. For GenBoats, please see the ITEMS page.
GenSailingShips are special portals connected to a series of rooms with special SAILING commands. GenSailingShips can be purchased, sold, and traded like Property(CoffeeMUD). GenSailingShips have a unique combat system.
Contents
Creating a GenSailingShip
As with all things in CoffeeMUD there are two ways to create, through the Command Line (CL) and through the MUD Grinder.
CL Method
Go to a room in which you are creating the ship. You may wish to have FLY, WATERWALKING or some other affect active while modifying the ship. This room may be a restricted room.
- CREATE ITEM GENSAILINGSHIP
- EDIT the item fields:
- Name
- Display
- Description
- Price
- Base Value
- Weight
- Moves per Tick
- SAVE ROOM
- ENTER (shipname)
- Modify rooms on the ship.
- Make sure you create an exit by using LINK (room number that the ship was created in) PORT. Most gangplanks are on the PORT side of the ship. You can link to any room outside of the ship, really...it is just creating the dynamic link to exiting the ship.
- CREATE ROOM FORE to create a room in front of the exiting room (you are on a ship, so you need to use ship directions).
- You can link internal rooms to each other by referencing their room numbers.
- EXIT your ship
- SAVE ROOM again, just in case.
MUD Grinder Method
Go to a room in which you are creating the ship. This room may be a restricted room (non-player room, just to contain the inventory which you will use elsewhere later).
- Under items, click the NEW button.
- On the Item Screen, select GenSailingShip. Modify information and save the item.
- Edit the item, completing the following items:
- Name
- Display
- Description
- Price
- Base Value
- Weight
- Moves per Tick
- Click EDIT ROOMS button
- This will open up a new area editor with the base room. Ships should generally be laid out in a North-South configuration. The NORTH exit in the editor is the same as FORE on the ship.
- Make sure at least ONE room links to an external area. This will become a gangplank for the ship, and link to the room the ship is currently in.
- After you are finished creating and modifying rooms, finish out of the area.
- Save the GenSailingShip
- Save the Room
- You can now add the ship to any other room or shopkeeper inventory for as long as the ship remains in the item queue.
GenSailingShip fields
- 1. Name - Note, using the bracketed [NEWNAME] parameter will allow players to specify the name of the ship. IE. SS [NEWNAME] would prompt a player to input a name after they purchase he ship from a shopkeeper. If they input MINNOW, then the ship name would become the SS MINNOW.
- 2. Display - This is the short text seen by others in the room of the ship. Again, using the bracketed [NEWNAME] will allow the ship name to be displayed in the display.
- 3. Description - This should be the general description for a ship of this class. Generally, the name of the ship is not used in the description, but using the bracketed [NEWNAME] will allow the ship name to be displayed.
- 4. Level - Ship level is only significant for picking up vessels, which is not recommended.
- 5. Rejuv/Pct - 0 for never, which player ships should not rejuv. Enemy ships should be set to 100.
- 6. Capacity - Leave set to 0. Capacity will be on a room-by-room basis. Setting this to a higher number would allow players to store things in the ship object itself, which they could only get access to from outside the ship.
- 7. Can Contain - Leave set to ANYTHING. Again, true capacity is set on a room-by-room basis.
- 8. Owner - This field contains the name of the player or clan that owns the ship. An Owner name that starts with the "#" character denotes a special property that should be treated as owned for certain legal purposes, but not by any real Clan or Player.
- 9. Price - Total price=cost + price + sum of all items costs on the ship.
- 10. Has a lid - leave set at FALSE. This works similar to capacity, and is only significant if capacity is greater than 0.
- 11. Material Type - This determines what materials will be received if the ship is scrapped. Setting to NOTHING will effectively prevent the ship from being scrapped (great for ghost-ships).
- 12. Secret Identity - Not generally used.
- 13. Base Value - Total price=cost + price + sum of all items costs on the ship.
- 14. Uses Remaining - This is how damaged the ship is (percentage).
- 15. Weight - I recommend at least 2000 pounds per room. This is significant for clever players who scrap the ship (what a waste!).
- 16. Dispositions - Set these dispositions as desired to make invisible, hidden, etc. Do not set IS FLYING, IS CLIMBING, IS SWIMMING = TRUE.
- The "Is Unattackable" disposition will prevent players and mobs from attacking this ship, which is useful for public service vessels.
- 17.
- IS GETTABLE - Leave set to FALSE for normal use. It is not a good idea to enable the ship to be picked up (lots of potential unexplored conflicts with players in rooms in other players inventories), although builders may wish to temporarily allow this so they can put ships in specific locations and then modify the flag again to disable GET.
- IS DROPPABLE - Leave set to TRUE
- IS REMOVABLE - Leave set to TRUE
- NON-LOCATABLE - Set to TRUE if you desire the ship to avoid detection (such as scrying).
- BLEND DISPLAY - Set to TRUE if you desire the ship to not show up in the room (perhaps police frigates or some such). Normally leave as FALSE.
- CONTENTS ACCESS - Leave set to FALSE. This field would allow access to items stored inside the ship's capacity (6) to be usable by a character holding the ship (like a key ring allows keys to be accessed). Has no effect if 6 is set to zero OR IS GETTABLE is set to FALSE.
- 18. There is no 18. Don't modify.
- 19. Assigned Room IDs - This is autogenerated. To change the ship's area, first enter the ship and MODIFY AREA, changing the name. Then return to this CL editor and edit this field to point to the new area name. If using the [NEWNAME] function as the ship id from option 1 and 2, then do not modify this field.
- 20. Behaviors - Any behaviors you wish applied to the ship object. Normally, you will want the behaviors on the mobs inside the ships.
- 21. Effects - Any effects you wish applied to the ship itself.
- 22. Rideable Type - Leave set as ENTER-IN (otherwise there are different items that you desire)
- 23. Number of MOBs held - Leave set at 1. This would be significant if you modified the RIDEABLE TYPE to be something else, but really makes no sense.
- 24. Exit Direction - The title of the door used to enter/leave the ship.
- 25. Exit Closed Text - normally left blank, but could be set if you were creating a ship like an ironside.
- 26. Mount Strings - A list of slash(/) delimited descriptors for entering/exiting the ship.
- 27. Moves per Tick - This is the combat speed of the ship. A value of 1-5 is recommended. Having too large of a value will make ship-to-ship combat too unpredictable.
- 28. MXP Image filename - The filename of the MXP graphic.
Creating Multiple Ships
Since GenSailingShips are basically miniature areas, some care should be taken when creating multiple ships. Similar to areas, each ship should have it's own area name (ideally, matching the ship name, so when players are on the ship, they will see that in the appropriate commands).
The Methodical Method
- Create your ship (per above) in a builder-only room with it being the only item in the room.
- SAVE the room.
- EXPORT ROOM ITEMS [FILE]
- Create your mobs and items in a different builder-only room.
- TEMPLATE Template each item/mob.
- In the room you desire your first ship, IMPORT your ship.
- Modify the ship to have the desired ship name. It is important to modify your ship after importing it so that the gangplank is properly loaded, so even if you don't need to change the name, modify the ship and make no changes to it after an import.
- Enter the ship and modify the ship's area name to your desired area name (It will probably have been changed when you change the ship name).
- Exit the ship, and make sure the GenSailingShip item has the correct name and area linkage.
- Enter the ship, and start populating the ship with your templated mobs and items.
- To avoid having your crew move around on you while you are adding them, you may wish to temporarily add Prop_ReqNoMOB to the ship area while adding the mobs.
- Save each ship room as you go.
- Exit the ship and BEACON [SHIPNAME] HERE (Just in case...it's always best to make sure it will appear in this room after a reboot).
- Save the room.
- Enter the ship, remove the prop_reqnomob from the ship area, if you put it on. Your mobs may move around a little before the next save, but they will all be onboard somewhere.
- Exit the ship, and save the room one last time.
- Repeat for each additional ship.
The Quick Method
- Create your ship (per above).
- Add your crew and items to the ship.
- SAVE the room.
- Enter the ship, Change the area name to something generic, and EXPORT the area.
- Change the area name back to your original ship's area name, and verify the GenSailingShip is pointing to the correct room.
- COPY your ship.
- Modify your ship's name.
- Check ship 1 and ship 2 to determine which ship needs a correct pointer
- IMPORT the ship area. Goto the imported area, and name it appropriately (either ship 1 or ship 2).
- Repeat for each additional ship.
Sailing Ship Guidelines
These guidelines are specific to the Original CoffeeMUD server. Other administrators may use different values.
- Sailing ships should be designed in a north-south fashion. The bow of the ship should be the northern most room, the stern of the ship the southern-most room.
- Sailing ships should be longer north-south than they are wide east-west.
- Sailing ships should have at least 1 deck room, since all current siege weapons require an open deck to shoot from.
- Deck rooms should have weight limits, to control how many siege weapons can be placed on them.
- The WoodenDeck locale is the basic room type for ships. It provides a flat, open-air surface upon which players may fish from (if adjacent to water) and siege weapons may fire from.
- Non-weapon deck rooms should have prop_reqcapacity(items=20 weight=300 siegeweapon=0). This is the default setting for the ShipDeck room locale.
- Light-Weapon deck rooms should have prop_reqcapacity(items=20 weight=400 siegeweapon=1). This is the default setting for the ShipLightGunDeck locale.
- Normal Weapon deck rooms should have prop_reqcapacity(items=20 weight=600 siegeweapon=2). This is the default setting for the ShipMedGunDeck locale.
- Heavy Weapon deck rooms should have prop_reqcapacity(items=20 weight=1000 siegeweapon=3). This is the default setting for the ShipHeavyGunDeck locale.
- Any Cargo hold rooms (woodroom or stoneroom, generally below deck) should have prop_req(items=1000 weight=10000). This is the default setting for the ShipHold locale. This creates a large hold, but helps limit the overall carry capacity of the ship, making larger ships more useful for hauling big cargos.
- Any other enclosed (wood/stone) rooms should have prop_reqcapacity(items=100 weight=1000). This is the default setting for the ShipQuarter locale. This allows players to create a variety of rooms without worrying directly about weight.
- The ShipMagazine is an enclosed wooden room with prop_reqcapacity(items=200 weight=1000). The intent is for this room type to be located next to a ShipHeavyGunDeck with no other links, to provide a storage location for ammunition.
- Ship Moves per Tick should be between 1 and 5 inclusive. Larger values will make combat between two very fast ships too random.
Updating Shipbuilding Skills
To create a specialized listing of available ship:
- Create each of your ships individually in your design room.
- Be sure to include a gangplank from your ship (an exit off of the ship), which may be linked to your ship building room. The Shipbuilding skill will change this link to reference wherever the ship is located at the time.
- Save the room and then EXPORT ROOM ITEMS (your ship saving directory).
- Repeat for each ship desired to be added to your list.
- Create a text file called Shipbuilding.cmare
- Copy the files from each exported ship into your Shipbuilding.cmare text file.
- Delete the ITEMS tag from the start of each ship file, and the /ITEMS tag from the end of each file.
- When you are done adding ships, make add in an ITEMS tag at the start of the file and a /ITEMS tag at the end of the file.
- Save your Shipbuilding.cmare file.
- Delete the Shipbuilding.cmare file in /Resources/Skills
- Delete the shipwright.txt file in /Resources/Skills
- Using the command line, UNLOAD RESOURCE SHIPWRIGHT.TXT
- Using the command line, UNLOAD RESOURCE SHIPWRIGHT
- On any character with shipbuilding or clanshipbuilding, do the SHIPBUILD LIST command to see your new ships.
Other Sailing Ship Tricks
These are builder hacks for designing a better ship:
- If you don't want your ship to be controlled by a player, then create a new room in your ship with the captain in it, and remove the link to get there. Provide Prop_NoTeleport and Prop_NoSummon to this room so players can't access it. Make your captain have a Prop_SafePet, as an extra precaution (and to keep him from being counted as the base-area population).
- If you don't want a ship to be attacked, there are three ways to do this. You can set the ship's Is unattackable flag to TRUE. You could give the ship Prop_SafePet. Or you could grant every mob on the ship Prop_SafePet. The first two methods are the best, overall.
- Ships are basically miniature areas. As such, players enjoy seeing custom decorations, loot, and other scenery on the ship. Try to add a little uniqueness to each ship.
- Once you have your captain (MOB with SAILOR behavior with peacemover), you ship will try to escape your build room. To avoid this, have an archon with SYSMSGS on in the build room or prop_ReqNoMOB on the area(s) that the room leads to (and probably the area the room is in, if that is different).