Adding Game Entities (Armor, Spells etc.)
...
Prerequisites
Here is a small list with stuff you should have ready for things to work.
- Get the source
Look here for more information
Note: For windows there are some prebuild binaries for everything (client, server, nel tools, ryzom tools). Look hereLook at Downloads for Windows to find out more.
- Client / Server
Well this should be clear but of course you need a working client to test the additions and a working server with access to it as we have to add files on it. There are a bunch of tutorials in the wiki for the plattform of your choice. E.g.:
...
As you can see there's also a parent defined which declares some standard matis armor values. We dont need it at the moment but if you want to have a look at it you'll find the file at leveldesign/game_element/sitem/armor/_parent/matis
So now we need to change the values to match a vest (already modified file provided below) :
- change the "
EquipmentSlot
" fromValue="Feet"
toValue="Chest" (line 10)
- change the "
CraftPlan
" to "bcmaea11.sbrick
". This is the needed corresponding sbrick file i mentioned earlier. We will create it later. (line 13)Anchor bcmaea11 bcmaea11 - change "
shape
" and "shape_female
" to the shape names we found out earlier (MA_HOM_armor00_gilet.shape
andMA_HOF_armor00_gilet.shape
) (lines 16 ; 17) - change "
icon
" to "AR_gilet.tga
" (see icons above) (line 19) - if you like you can add another "
ATOM
" below "icon background
" in the "3D
" "STRUCT
". Name it "color
" and give it the value "White
" (Black, Beige, Green, Red, Turquoise, Blue, Violet are also available) (between lines 20-21) - save the file which should now look something like this:
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0"?> <FORM Revision="$Revision: 1.0 $" State="modified"> <PARENT Filename="_gma_l.sitem"/> <STRUCT> <STRUCT Name="basics"> <ATOM Name="name" Value="matis light vest"/> <ATOM Name="ItemType" Value="Light vest"/> <STRUCT Name="EquipmentInfo"> <ARRAY Name="EquipmentSlots"> <ATOM Value="Chest"/> </ARRAY> </STRUCT> <ATOM Name="CraftPlan" Value="bcmaea11.sbrick"/> </STRUCT> <STRUCT Name="3d"> <ATOM Name="shape" Value="MA_HOM_armor00_gilet.shape"/> <ATOM Name="shape_female" Value="MA_HOF_armor00_gilet.shape"/> <ATOM Name="map_variant" Value="Low Quality"/> <ATOM Name="icon" Value="AR_gilet.tga"/> <ATOM Name="icon background" Value="BK_matis.tga"/> <ATOM Name="color" Value="White"/> </STRUCT> <STRUCT Name="faber"> <ATOM Name="Tool type" Value="ArmorTool"/> </STRUCT> </STRUCT> <LOG>created by aquiles</LOG> </FORM> |
Creating Armor SBrick
So far so good! Now we need to add the brick for crafting. Have a look into the sbrick folder
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
ls $RYZOM_HOME/code/ryzom/common/data_leveldesign/leveldesign/game_element/sbrick/craft/effect/armor/matis/light_armor |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0"?> <FORM Revision="$Revision: 1.22 $" State="modified"> <STRUCT> <STRUCT Name="Basics"> <ATOM Name="FamilyId" Value="BCMAEA"/> <ATOM Name="IndexInFamily" Value="1"/> <ATOM Name="SPCost" Value="30"/> <ATOM Name="LearnRequiresOneOfSkills" Value="SC 0"/> <ATOM Name="Action Nature" Value="CRAFT"/> <ATOM Name="Skill" Value="SCALBEM"/> <ATOM Name="LearnRequiresBricks" Value="bcpa10.sbrick"/> <ATOM Name="CivRestriction" Value="matis"/> </STRUCT> <STRUCT Name="Client"> <ATOM Name="Icon" Value="AR_botte.tga"/> <ATOM Name="IconBack" Value="BK_matis_brick.tga"/> <ATOM Name="IconOver" Value="FP_over.tga"/> <ATOM Name="IconOver2"/> </STRUCT> <STRUCT Name="faber"> <ATOM Name="Tool type" Value="ArmorTool"/> <ATOM Name="Item Max Level" Value="100"/> <STRUCT Name="Create"> <ATOM Name="Crafted Item" Value="icmalb.sitem"/> <ATOM Name="Nb built items" Value="1"/> <ATOM Name="MP 1" Value="Raw Material for Clothes"/> <ATOM Name="Quantity 1" Value="2"/> <ATOM Name="MP 2" Value="Raw Material for Armor interior coating"/> <ATOM Name="Quantity 2" Value="2"/> <ATOM Name="MP 3" Value="Raw Material for Armor interior stuffing"/> <ATOM Name="Quantity 3" Value="1"/> <ATOM Name="MP 4" Value="Raw Material for Armor clip"/> <ATOM Name="Quantity 4" Value="1"/> <ATOM Name="MP 5"/> <ATOM Name="Quantity 5" Value="0"/> </STRUCT> </STRUCT> </STRUCT> <LOG>Default one</LOG> </FORM> |
Again we are going to change it now to resemble a vest craft plan
- change IndexInFamily to 11 as this is the 11th item in the BCMAEA family (line 6)
- change Skill to SCALVEM (Master Light Vest Crafting) (line 10)
- change icon to AR_gilet.tga (line 15)
- change "Crafted Item" to icmalv.sitem (line 24)
- for simplicity i shortened the raw material list :)
...
Add crafting plan to trainer (todo)
Todo
Adding Spells
As for the current system a spell consists of different components:
- The general type (heal, damage, affliction etc.)
- An effect type for that general type (e.g. cold and acid are dmg spell effects)
- The explicit spell level component (eventually while leveling you can e.g. replace your old boring acid damage spell lvl 4 with the brand new lvl 5)
- Options for the spell like area damage or ricochet
- Credits to equal the costs of the spell (common credits are Mana (SAP as with ryzom ;) ) or cast time etc.)
...
A sphrase is a list of sbrick.
We will list all the sbrick (spell, credit, effect, etc) that we need.
We will learn all of them at once:
- bmpa01.sbrick General damage spell component
- bmoetea02.sbrick Cold spell effect
- bmoetmc00005.sbrick Cold spell damage
- bmcr00001.sbrick Range credit
- bmca00002.sbrick Sap credit
...