====== Information and Tips ====== ===== Commenting .arc Files ===== * The number sign (#) may be used as a comment character in .arc files. ====== Making Archetypes ====== Monsters, walls, tiles, and practically everything else in Crossfire are Archetypes. Archetype is often abbreviated to "arch". To make and test your own archetype, you will need: * [[:the_source|the server sources]] * if you are under Linux {FIXME other architectures}, you need to have the server built * a working Crossfire server * the archetypes collection * Perl. * It is highly recommended that you also have the [[:gridarta|crossfire editor]] ===== Items ===== ==== Potions === === Making a New Potion === Some may find it easier to take an existing potion and tweak all the stats on it to ultimately create a "new potion." * If you want it to show up in shops, the shop file needs to be updated. This file is located in the **archetypes** directory at: shop/Floors/shop_potion.trs * Be sure to follow this format: more arch potion_ chance * If you want players to be able to create the potion through alchemy, you will need to update the alchemy formula file. This file is located in the **server** directory at: lib/formula * Be sure to follow this format or syntax: # -- Object arch chance diff exp yield skill alchemy cauldron cauldron ingred * If you want players to be able to find the potion in dungeons or through random chance, you will need to update the treasure generation file. This is located in the **server** directory at: lib/treasures * Be sure to follow this format: more arch potion_ chance === Modify Existing Potion === FIXME -- Modify Existing Potion section is a draft and work in progress - Locate the //object name// of the potion in question. You can find this while in game and in DM mode by using the //dump// command on an existing potion id number. - Locate or search for the object name in the archetype files. You can use the grep command or search for text in the Archetype files that contains a key word in the potion name, this will probably require some trial and error. - Edit the .arc file with the changes you want to make. Examples include changing the name, modifying the potion duration, the potion appearance (aka graphic), and so on. - Save the file with your changes. == If the potion name changed == * You will need to update the shop file. This file is located in the **archetypes** directory at: shop/Floors/shop_potion.trs * FIXME - where is the shop_potion.trs file in branch? * You will need to update the alchemy formula file. This file is located in the **server** directory at: lib/formulae * You will need to update the treasure generation file. This is located in the **server** directory at: lib/treasures * You will need to search through all the **map** files and update any references to the old (object) name as well. * Let the developers on the Gridarta (map editor) project know about the change so they can update the pickmap (ex: trunk/crossfire/resource/pickmaps/treasure) ===== Map Features ===== ==== Buildings ==== FIXME describe multi-tile building special requirements and address how to specify which tile is the "head", and what/where attributes are placed. Some note s describing object types seem to imply that it is not necessary to replicate properties on parts other than the "head". ===== Monsters ===== ==== Modify Existing Monster (Example) ==== We will create a new goblin called "Goblin War Lord". - cd into your base arch directory - Then go under: monsters/goblin/ - Copy the file goblin.arc to goblinwarlord.arc - Open goblinwarlord.arc file - Change the file to this: Object goblinwarlord name Goblin War Lord randomitems goblin race goblin face goblin.111 color_fg green anim goblin.111 goblin.112 mina monster 1 sleep 1 Wis 13 no_pick 1 alive 1 exp 140 ac 10 wc 14 dam 5 hp 20 maxhp 20 level 3 speed 0.1 weight 50000 run_away 10 will_apply 2 pick_up 24 can_apply 25 can_use_wand 1 can_use_bow 1 can_use_ring 1 can_use_shield 1 can_use_armour 1 can_use_weapon 1 editable 1 body_finger 2 body_torso 1 body_head 1 body_shulder 1 body_foot 2 body_wrist 2 body_hand 2 body_waist 1 body_arm 2 body_range 1 end ====== Testing Archetypes ====== If you have compiled before go into the crossfire/lib directory (if not go here: [[server:server_compiling]]): $ cd /home//server.svn/lib delete the old archetypes file: $ rm archetypes and then build the new archetypes file: $ make archetypes navigate back to the server server directory: $ cd .. Double check that you are in the correct directory which is the server directory: $ pwd /home//server.svn compile the server: $ sh autogen.sh && make && sudo make install FIXME describe more in detail, explain about the manual ''perl collect.pl'' method then make install, stuff like that :) To see what you have made, either put it in a map, or create it using a Dungeon Master command. A handy all in one command from your server.svn directory is: $ cd lib && rm archetypes && make archetypes && cd .. && sh autogen.sh && make && sudo make install