Bucheron

Bucheron

Post by Ex-Mélodie - April 23, 2006 at 11:26 PM

Ce post sert a ceux qui ont choisit cette branche pour travailler. Le post initial sera mit a jour afin de contenir le materiel final a chaque étape de votre travail.

Il suffit que vous marquiez d'un * chaque chose prette a ce que je regarde ( souvent on en aura discuté aussi ) et si je l'accepte je le passe dans ce poste.


Post by Argon Zombalèze, Banni - November 17, 2006 at 11:03 PM

J'ai le fichier que Morgathys ma donnez mais je crois pas pouvoir le donnez par forum..Alors Mélo tu voudrais peut-être que je le donne a Ariel pour qu'il te le donne ?


Post by Mr. Morgathys - November 17, 2006 at 11:06 PM

Je peux le faire si tu veux


Post by Argon Zombalèze, Banni - November 17, 2006 at 11:06 PM

Vas-y dans se cas


Post by Mr. Morgathys - November 17, 2006 at 11:16 PM

Description de sorte de bois (1)

Catégorie : Log%s
Nom de l’item : Brogilum
Skin ( ID ) de l’item : voir si dessous
% skill requis : % succes = (Skill Lumberjacking / 1,25 – 5)
Damage min/max :
Vitesse :
Range :
Protection AR :
Protection Feu :
Protection Eau :
Protection Electrique :
Protection Poison :
Flip possible ( ID ) : voir si dessous
Composition :
Attribue Magique :
Effet : -7% de difficulter à crafter
Poids : 0% (3)
Couleur : Brun foncé (0x6BD)
Layers :

Catégorie : Log%s
Nom de l’item : Fagus
Skin ( ID ) de l’item : voir si dessous
% skill requis : % succes = (Skill Lumberjacking / 1,25 – 10)
Damage min/max :
Vitesse :
Range :
Protection AR :
Protection Feu :
Protection Eau :
Protection Electrique :
Protection Poison :
Flip possible ( ID ) : voir si dessous
Composition :
Attribue Magique :
Effet : +5% de difficulter à crafter
Poids : -33% (2)
Couleur : Creme (0x33)
Layers :

Catégorie : Log%s
Nom de l’item : Forestis
Skin ( ID ) de l’item : voir si dessous
% skill requis : % succes = (Skill Lumberjacking / 1,25 – 15)
Damage min/max :
Vitesse :
Range :
Protection AR :
Protection Feu :
Protection Eau :
Protection Electrique :
Protection Poison :
Flip possible ( ID ) : voir si dessous
Composition :
Attribue Magique :
Effet : +5% de difficulter à crafter
Poids : +33% (4)
Couleur : Vert foncé (0x59A)
Layers :

Catégorie : Log%s
Nom de l’item :
Skin ( ID ) de l’item : voir si dessous
% skill requis : % succes = (Skill Lumberjacking / 1,25 – 25)
Damage min/max :
Vitesse :
Range :
Protection AR :
Protection Feu :
Protection Eau :
Protection Electrique :
Protection Poison :
Flip possible ( ID ) : voir si dessous
Composition :
Attribue Magique :
Effet : +7% de difficulter à crafter
Poids : 0% (3)
Couleur : Bleuté (0x848)
Layers :

Catégorie : Log%s
Nom de l’item : Boskerin
Skin ( ID ) de l’item : voir si dessous
% skill requis : % succes = (Skill Lumberjacking / 1,25 – 35)
Damage min/max :
Vitesse :
Range :
Protection AR :
Protection Feu :
Protection Eau :
Protection Electrique :
Protection Poison :
Flip possible ( ID ) : voir si dessous
Composition :
Attribue Magique :
Effet : +10% de difficulter à crafter
Poids : 0% (3)
Couleur : Rouge foncé (0x676)
Layers :

Catégorie : Log%s
Nom de l’item : Silva
Skin ( ID ) de l’item : voir si dessous
% skill requis : % succes = (Skill Lumberjacking / 1,25 – 45)
Damage min/max :
Vitesse :
Range :
Protection AR :
Protection Feu :
Protection Eau :
Protection Electrique :
Protection Poison :
Flip possible ( ID ) : voir si dessous
Composition :
Attribue Magique :
Effet : +10% de difficulter à crafter
Poids : -66% (1)
Couleur : Argenté (0x80C)
Layers :

Catégorie : Log%s
Nom de l’item : Waldon
Skin ( ID ) de l’item : Voir si dessous
% skill requis : % succes = (Skill Lumberjacking / 1,25 – 55)
Damage min/max :
Vitesse :
Range :
Protection AR :
Protection Feu :
Protection Eau :
Protection Electrique :
Protection Poison :
Flip possible ( ID ) : voir si dessous
Composition :
Attribue Magique :
Effet : +15% de difficulter à crafter
Poids : +66% (5)
Couleur : Noire foncé (0x774)
Layers :

Quantité pour les Skin ID

1 bois => 0x1BDD, flip 0x1BE0
2 à 99 bois => 0x1BDE, flip 0x1BE1
100+ bois => 0x1BDF, flip 0x1BE2


Post by Feydanith, dit la Carpe - November 18, 2006 at 2:19 AM

Est-ce qu'il existe déjà différents bois en jeu ?


Post by Coordinateur Apoc - November 18, 2006 at 2:21 AM

"Umrae, CP" wrote: Est-ce qu'il existe déjà différents bois en jeu ?

Je crois bien que non, ce qui implique que j'ai aucune idée s'il sera possible d'implanter cela en jeu facilement.

Il faudra mettre cela un par un sur des arbres en particulier?


Post by Feydanith, dit la Carpe - November 18, 2006 at 2:22 AM

Le jeu s'en charge automatiquement comme pour les minerais normallement


Post by Feydanith, dit la Carpe - November 18, 2006 at 2:55 AM

Aie, je vais faire mon chiant... mais pour les effet et le poids, je crois qu'il va soit falloir modifier soit falloir faire une bidouille monstre dans les scripts.

Les attributs possibles pour une ressource sont :

\t\tprivate int m_WeaponFireDamage;
\t\tprivate int m_WeaponColdDamage;
\t\tprivate int m_WeaponPoisonDamage;
\t\tprivate int m_WeaponEnergyDamage;
\t\tprivate int m_WeaponDurability;
\t\tprivate int m_WeaponLuck;
\t\tprivate int m_WeaponGoldIncrease;
\t\tprivate int m_WeaponLowerRequirements;

\t\tprivate int m_ArmorPhysicalResist;
\t\tprivate int m_ArmorFireResist;
\t\tprivate int m_ArmorColdResist;
\t\tprivate int m_ArmorPoisonResist;
\t\tprivate int m_ArmorEnergyResist;
\t\tprivate int m_ArmorDurability;
\t\tprivate int m_ArmorLuck;
\t\tprivate int m_ArmorGoldIncrease;
\t\tprivate int m_ArmorLowerRequirements;

A savoir en français :

Arme :

Armure :


Post by Feydanith, dit la Carpe - November 18, 2006 at 3:23 AM

Le système de bois tourne en local, reste à choisir des attributs plus adéquats et à les implémenter ^^


Post by Feydanith, dit la Carpe - November 18, 2006 at 3:30 AM

Mon chiant again : Pour le skill/chance

Il faut fixer une limite chiffrée pour l'utilisation et pour la récolte ainsi qu'un pourcentage du bois dans la nature... ou refaire tout le système de craft/harvest ^^

Donc il me faudrait :


Post by Mr. Morgathys - November 18, 2006 at 4:55 AM

C'est ce que nous avions pensez lors de leurs créations, ca convients ?

% skill requis : % succes = (Skill Lumberjacking / 1,25 – 5) Skill minimum pour la récolte

Effet : -5% de difficulter à crafter Le skill minimum pour l'utilisation ( craft )

La jugeotte, j'ai tenter de les placer en ordre de prestige, donc emplacement a ajuster selon le jugement décisionnel. Répartition en % pour tous les bois ( normal compris, total = 100% bien sur )

L'impacte du poids est aussi terrible que tu le prétend ? c'est un facteur important qui influence l'exploitation de ressource dans une region éloignée ( qui apporte une rareté ) Bref.. sinon c'est pas plus mal


Post by Ex-Mélodie - November 18, 2006 at 8:18 AM

ca me semble bon pour le moment continuez a bosser ce secteur


Post by Mr. Morgathys - November 18, 2006 at 12:03 PM

Nota : La difficulter de craftage des bois est déterminé tel que suit

-X% = plus facile au craftage (Enlevant le X% au exigence déjà en place)

+X% = Plus difficile au craftage (ajoutant le X% au exigence déja en place)


Post by Feydanith, dit la Carpe - November 18, 2006 at 3:56 PM

En fait, ça fonctionne pas vraiment comme ça pour pour l'exploitation des matières au craft ( genre carpentry et co )

Tu fixes la limite à X% et elle est pour tous les objets. C'est juste que dans le menu, lorsque tu choisis ton bois, si tu as pas les X% ( en carpentry par exemple ), il t'envoi chier. Tu sais pas modifier le % pour chaque objet en particulier...

Pour le poids, je peux changer celui des bûches ou des planches, mais pas celui des objets fabriqués avec... Enfin si, y'aurai moyen mais faudrait bidouiller tous les objets craftables en conséquences ( jouer sur la hue pour définir le poids ).


Post by Feydanith, dit la Carpe - November 18, 2006 at 6:05 PM

Quantité pour les Skin ID

1 bois => 0x1BDD, flip 0x1BE0
2 à 99 bois => 0x1BDE, flip 0x1BE1
100+ bois => 0x1BDF, flip 0x1BE2

Les items stackable ou non sont gérés par le client, donc ça on sait pas modif. Si on modif, on pourra les empiler, mais plus les diviser


Post by Feydanith, dit la Carpe - November 18, 2006 at 6:43 PM

Alors voici les planches et les rondins déjà ( nom, poids, hue )
Si ça vous semble débile d'avoir à chaque fois créé une classe pour chaque bois au lieu de faire une fonction qui change simplement les 3 paramètres précédements cités, c'est normal... C'est à cause du système de Craft et haverst

Les fichiers étant déjà existants dans le runuo de base, je mets l'endroit où les trouver.

Les planches : Scripts\Items\Skill Items\Carpenter Items\Board.cs

using System;

namespace Server.Items
{
\t[FlipableAttribute(0x1BD7, 0x1BDA)]
\tpublic class Board : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} board" : "{0} boards", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic Board() : this(1)
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic Board(int amount) : base(0x1BD7)
\t\t{
\t\t\tStackable = true;
\t\t\tWeight = 0.3;
\t\t\tAmount = amount;
\t\t}

\t\tpublic Board(Serial serial) : base(serial)
\t\t{
\t\t}

\t\tpublic override Item Dupe(int amount)
\t\t{
\t\t\treturn base.Dupe(new Board(amount), amount);
\t\t}

\t\tpublic override void Serialize(GenericWriter writer)
\t\t{
\t\t\tbase.Serialize(writer);

\t\t\twriter.Write((int) 0);
\t\t}

\t\tpublic override void Deserialize(GenericReader reader)
\t\t{
\t\t\tbase.Deserialize(reader);

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute(0x1BD7, 0x1BDA)]
\tpublic class BrogilumBoard : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} Brogilum board" : "{0} Brogilum boards", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic BrogilumBoard() : this(1)
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic BrogilumBoard(int amount) : base(0x1BD7)
\t\t{
\t\t\tStackable = true;
\t\t\tWeight = 0.3;
\t\t\tName = "Planche de Brogilum";
\t\t\tHue = 0x6BD;
\t\t\tAmount = amount;
\t\t}

\t\tpublic BrogilumBoard(Serial serial) : base(serial)
\t\t{
\t\t}

\t\tpublic override Item Dupe(int amount)
\t\t{
\t\t\treturn base.Dupe(new BrogilumBoard(amount), amount);
\t\t}

\t\tpublic override void Serialize(GenericWriter writer)
\t\t{
\t\t\tbase.Serialize(writer);

\t\t\twriter.Write((int) 0);
\t\t}

\t\tpublic override void Deserialize(GenericReader reader)
\t\t{
\t\t\tbase.Deserialize(reader);

\t\t\tint version = reader.ReadInt();
\t\t}
\t}\t
\t
\t[FlipableAttribute(0x1BD7, 0x1BDA)]
\tpublic class FagusBoard : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} Fagus board" : "{0} Fagus boards", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic FagusBoard() : this(1)
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic FagusBoard(int amount) : base(0x1BD7)
\t\t{
\t\t\tStackable = true;
\t\t\tWeight = 0.2;
\t\t\tName = "Planche de Fagus";
\t\t\tHue = 0x5E3;
\t\t\tAmount = amount;
\t\t}

\t\tpublic FagusBoard(Serial serial) : base(serial)
\t\t{
\t\t}

\t\tpublic override Item Dupe(int amount)
\t\t{
\t\t\treturn base.Dupe(new FagusBoard(amount), amount);
\t\t}

\t\tpublic override void Serialize(GenericWriter writer)
\t\t{
\t\t\tbase.Serialize(writer);

\t\t\twriter.Write((int) 0);
\t\t}

\t\tpublic override void Deserialize(GenericReader reader)
\t\t{
\t\t\tbase.Deserialize(reader);

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute(0x1BD7, 0x1BDA)]
\tpublic class ForestisBoard : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} Forestis board" : "{0} Forestis boards", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic ForestisBoard() : this(1)
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic ForestisBoard(int amount) : base(0x1BD7)
\t\t{
\t\t\tStackable = true;
\t\t\tWeight = 0.4;
\t\t\tName = "Planche de Forestis";
\t\t\tHue = 0x59A;
\t\t\tAmount = amount;
\t\t}

\t\tpublic ForestisBoard(Serial serial) : base(serial)
\t\t{
\t\t}

\t\tpublic override Item Dupe(int amount)
\t\t{
\t\t\treturn base.Dupe(new ForestisBoard(amount), amount);
\t\t}

\t\tpublic override void Serialize(GenericWriter writer)
\t\t{
\t\t\tbase.Serialize(writer);

\t\t\twriter.Write((int) 0);
\t\t}

\t\tpublic override void Deserialize(GenericReader reader)
\t\t{
\t\t\tbase.Deserialize(reader);

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute(0x1BD7, 0x1BDA)]
\tpublic class BoskerinBoard : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} Boskerin board" : "{0} Boskerin boards", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic BoskerinBoard() : this(1)
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic BoskerinBoard(int amount) : base(0x1BD7)
\t\t{
\t\t\tStackable = true;
\t\t\tWeight = 0.3;
\t\t\tName = "Planche de Boskerin";
\t\t\tHue = 0x659;
\t\t\tAmount = amount;
\t\t}

\t\tpublic BoskerinBoard(Serial serial) : base(serial)
\t\t{
\t\t}

\t\tpublic override Item Dupe(int amount)
\t\t{
\t\t\treturn base.Dupe(new BoskerinBoard(amount), amount);
\t\t}

\t\tpublic override void Serialize(GenericWriter writer)
\t\t{
\t\t\tbase.Serialize(writer);

\t\t\twriter.Write((int) 0);
\t\t}

\t\tpublic override void Deserialize(GenericReader reader)
\t\t{
\t\t\tbase.Deserialize(reader);

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute(0x1BD7, 0x1BDA)]
\tpublic class SilvaBoard : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} Silva board" : "{0} Silva boards", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic SilvaBoard() : this(1)
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic SilvaBoard(int amount) : base(0x1BD7)
\t\t{
\t\t\tStackable = true;
\t\t\tWeight = 0.1;
\t\t\tName = "Planche de Silva";
\t\t\tHue = 0x393;
\t\t\tAmount = amount;
\t\t}

\t\tpublic SilvaBoard(Serial serial) : base(serial)
\t\t{
\t\t}

\t\tpublic override Item Dupe(int amount)
\t\t{
\t\t\treturn base.Dupe(new SilvaBoard(amount), amount);
\t\t}

\t\tpublic override void Serialize(GenericWriter writer)
\t\t{
\t\t\tbase.Serialize(writer);

\t\t\twriter.Write((int) 0);
\t\t}

\t\tpublic override void Deserialize(GenericReader reader)
\t\t{
\t\t\tbase.Deserialize(reader);

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute(0x1BD7, 0x1BDA)]
\tpublic class WaldonBoard : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} Waldon board" : "{0} Waldon boards", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic WaldonBoard() : this(1)
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic WaldonBoard(int amount) : base(0x1BD7)
\t\t{
\t\t\tStackable = true;
\t\t\tWeight = 0.5;
\t\t\tName = "Planche de Waldon";
\t\t\tHue = 0x772;
\t\t\tAmount = amount;
\t\t}

\t\tpublic WaldonBoard(Serial serial) : base(serial)
\t\t{
\t\t}

\t\tpublic override Item Dupe(int amount)
\t\t{
\t\t\treturn base.Dupe(new WaldonBoard(amount), amount);
\t\t}

\t\tpublic override void Serialize(GenericWriter writer)
\t\t{
\t\t\tbase.Serialize(writer);

\t\t\twriter.Write((int) 0);
\t\t}

\t\tpublic override void Deserialize(GenericReader reader)
\t\t{
\t\t\tbase.Deserialize(reader);

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
}

Les rondins : Scripts\Items\Skill Items\Lumberjack\Logs.cs

using System;
using Server.Items;

namespace Server.Items
{
\t[FlipableAttribute( 0x1bdd, 0x1be0 )]
\tpublic class Log : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} log" : "{0} logs", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic Log() : this( 1 )
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic Log( int amount ) : base( 0x1BDD )
\t\t{
\t\t\tStackable = true;
\t\t\tWeight = 3.0;
\t\t\tAmount = amount;
\t\t}

\t\tpublic Log( Serial serial ) : base( serial )
\t\t{
\t\t}

\t\tpublic override Item Dupe( int amount )
\t\t{
\t\t\treturn base.Dupe( new Log( amount ), amount );
\t\t}

\t\tpublic override void Serialize( GenericWriter writer )
\t\t{
\t\t\tbase.Serialize( writer );

\t\t\twriter.Write( (int) 0 ); // version
\t\t}

\t\tpublic override void Deserialize( GenericReader reader )
\t\t{
\t\t\tbase.Deserialize( reader );

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute( 0x1BDD, 0x1BE0 )]
\tpublic class BrogilumLog : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} BrogilumLog" : "{0} BrogilumLogs", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic BrogilumLog() : this( 1 )
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic BrogilumLog( int amount ) : base( 0x1BDD )
\t\t{
\t\t\tStackable = true;
Name = "Rondin de Brogilum";
\tHue = 0x6BD;
\t\t\tWeight = 3.0;
\t\t\tAmount = amount;
\t\t}

\t\tpublic BrogilumLog( Serial serial ) : base( serial )
\t\t{
\t\t}

\t\tpublic override Item Dupe( int amount )
\t\t{
\t\t\treturn base.Dupe( new BrogilumLog( amount ), amount );
\t\t}

\t\tpublic override void Serialize( GenericWriter writer )
\t\t{
\t\t\tbase.Serialize( writer );

\t\t\twriter.Write( (int) 0 ); // version
\t\t}

\t\tpublic override void Deserialize( GenericReader reader )
\t\t{
\t\t\tbase.Deserialize( reader );

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute( 0x1BDD, 0x1BE0 )]
\tpublic class FagusLog : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} FagusLog" : "{0} FagusLogs", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic FagusLog() : this( 1 )
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic FagusLog( int amount ) : base( 0x1BDD )
\t\t{
\t\t\tStackable = true;
Name = "Rondin de Fagus";
\tHue = 0x5E3;
\t\t\tWeight = 2.0;
\t\t\tAmount = amount;
\t\t}

\t\tpublic FagusLog( Serial serial ) : base( serial )
\t\t{
\t\t}

\t\tpublic override Item Dupe( int amount )
\t\t{
\t\t\treturn base.Dupe( new FagusLog( amount ), amount );
\t\t}

\t\tpublic override void Serialize( GenericWriter writer )
\t\t{
\t\t\tbase.Serialize( writer );

\t\t\twriter.Write( (int) 0 ); // version
\t\t}

\t\tpublic override void Deserialize( GenericReader reader )
\t\t{
\t\t\tbase.Deserialize( reader );

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute( 0x1BDD, 0x1BE0 )]
\tpublic class ForestisLog : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} ForestisLog" : "{0} ForestisLogs", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic ForestisLog() : this( 1 )
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic ForestisLog( int amount ) : base( 0x1BDD )
\t\t{
\t\t\tStackable = true;
Name = "Rondin de Forestis";
\tHue = 0x59A;
\t\t\tWeight = 4.0;
\t\t\tAmount = amount;
\t\t}

\t\tpublic ForestisLog( Serial serial ) : base( serial )
\t\t{
\t\t}

\t\tpublic override Item Dupe( int amount )
\t\t{
\t\t\treturn base.Dupe( new ForestisLog( amount ), amount );
\t\t}

\t\tpublic override void Serialize( GenericWriter writer )
\t\t{
\t\t\tbase.Serialize( writer );

\t\t\twriter.Write( (int) 0 ); // version
\t\t}

\t\tpublic override void Deserialize( GenericReader reader )
\t\t{
\t\t\tbase.Deserialize( reader );

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute( 0x1BDD, 0x1BE0 )]
\tpublic class BoskerinLog : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} BoskerinLog" : "{0} BoskerinLogs", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic BoskerinLog() : this( 1 )
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic BoskerinLog( int amount ) : base( 0x1BDD )
\t\t{
\t\t\tStackable = true;
Name = "Rondin de Boskerin";
\tHue = 0x659;
\t\t\tWeight = 3.0;
\t\t\tAmount = amount;
\t\t}

\t\tpublic BoskerinLog( Serial serial ) : base( serial )
\t\t{
\t\t}

\t\tpublic override Item Dupe( int amount )
\t\t{
\t\t\treturn base.Dupe( new BoskerinLog( amount ), amount );
\t\t}

\t\tpublic override void Serialize( GenericWriter writer )
\t\t{
\t\t\tbase.Serialize( writer );

\t\t\twriter.Write( (int) 0 ); // version
\t\t}

\t\tpublic override void Deserialize( GenericReader reader )
\t\t{
\t\t\tbase.Deserialize( reader );

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute( 0x1BDD, 0x1BE0 )]
\tpublic class SilvaLog : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} SilvaLog" : "{0} SilvaLogs", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic SilvaLog() : this( 1 )
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic SilvaLog( int amount ) : base( 0x1BDD )
\t\t{
\t\t\tStackable = true;
Name = "Rondin de Silva";
\tHue = 0x393;
\t\t\tWeight = 1.0;
\t\t\tAmount = amount;
\t\t}

\t\tpublic SilvaLog( Serial serial ) : base( serial )
\t\t{
\t\t}

\t\tpublic override Item Dupe( int amount )
\t\t{
\t\t\treturn base.Dupe( new SilvaLog( amount ), amount );
\t\t}

\t\tpublic override void Serialize( GenericWriter writer )
\t\t{
\t\t\tbase.Serialize( writer );

\t\t\twriter.Write( (int) 0 ); // version
\t\t}

\t\tpublic override void Deserialize( GenericReader reader )
\t\t{
\t\t\tbase.Deserialize( reader );

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
\t
\t[FlipableAttribute( 0x1BDD, 0x1BE0 )]
\tpublic class WaldonLog : Item, ICommodity
\t{
\t\tstring ICommodity.Description
\t\t{
\t\t\tget
\t\t\t{
\t\t\t\treturn String.Format( Amount == 1 ? "{0} WaldonLog" : "{0} WaldonLogs", Amount );
\t\t\t}
\t\t}

\t\t[Constructable]
\t\tpublic WaldonLog() : this( 1 )
\t\t{
\t\t}

\t\t[Constructable]
\t\tpublic WaldonLog( int amount ) : base( 0x1BDD )
\t\t{
\t\t\tStackable = true;
Name = "Rondin de Waldon";
\tHue = 0x772;
\t\t\tWeight = 5.0;
\t\t\tAmount = amount;
\t\t}

\t\tpublic WaldonLog( Serial serial ) : base( serial )
\t\t{
\t\t}

\t\tpublic override Item Dupe( int amount )
\t\t{
\t\t\treturn base.Dupe( new WaldonLog( amount ), amount );
\t\t}

\t\tpublic override void Serialize( GenericWriter writer )
\t\t{
\t\t\tbase.Serialize( writer );

\t\t\twriter.Write( (int) 0 ); // version
\t\t}

\t\tpublic override void Deserialize( GenericReader reader )
\t\t{
\t\t\tbase.Deserialize( reader );

\t\t\tint version = reader.ReadInt();
\t\t}
\t}
}


Post by Feydanith, dit la Carpe - November 18, 2006 at 7:00 PM

En fait, je me rends compte que c'est plus simple de vous montrer comment le système marche ( celui de base dans runuo ) plutôt que de le dire en français ^^

Pour ajouter un bois, ça marche comme ça :

new HarvestResource( 20.0, 10.0, 110.0, "Vous rangez quelques bûches de brogilum dans votre sac à dos.", typeof( BrogilumLog ) )

Le premier élément ( 20 ) désigne le skill minimum pour en récolter.

Le second et le troisième élément ( 10 et 110 ) définissent la difficulté de récolte ou le success chance. Exemple :
A 110% vous aurez 100% de chance de récolte
A 20% vous aurez (20 - 10)/(110 - 10) % de chance de récolte
A X% vous aurez (X - 10)/(110 - 10) % de chance de récolte
Ou en règle générale : (X - MinDiff)/(MaxDiff - MinDiff)

La phrase entre "" c'est ce qui est affiché quand vous récoltez la ressource, tout simplement

Le typeof( BrogilumLog ) indique au serveur ce qu'il doit mettre dans le sac du bucheron, ici, un objet de type BrogilumLog. Ou comme définit au poste précédent des rondins de brogilum ^^

En résumé :

new HarvestResource( MinSkill, MinDiff, MaxDiff, "Texte de récolte", typeof( TypeLog ) )

*Les chiffres sont mis à titre d'exemple.

Ensuite, la répartition des ressources sur la carte ( automatique et gérée par le runuo de base )

new HarvestVein( 10.0, 0.0, res[1], res[0] )

Le premier chiffre indique le % dans la nature. A noter que la somme de toutes les entrées doit faire 100.

Le second chiffre ( ici 0.0 ) indique la répartition entre res et res. Comme un arbre ne donne qu'un seul type de bois, on laisse à 0 ^^

res va chercher dans le tableau où on a rangé les types de bois l'élément 1

res va chercher dans le tableau où on a rangé les types de bois l'élément 0

Ce point mérite un peu plus d'explication. Si on a pas le skill requis pour récupérer un type de bois défini par le premier champ de ressource ( res ) le jeu nous fait récolter un bois du type du second champ de ressource ( res ). En gros, si vous êtes devant un arbre qui donne du brogilum mais que vous avez pas le skill requis en lumberjacking, il vous donnera le bois en dessous, soit du bois simple


Post by Conan - November 18, 2006 at 7:05 PM

Bon alors moi aussi je vais faire mon "chiant", les noms des nouvelles essences de bois ne me parlent pas vraiment (du bois qu'on appelle "Forestis" ?), il faudrait si possible réfléchir a quelque chose de plus.. sémantiquement logique, voir de plus franchouillard/patoiesque, je voit mal les bucherons donner des noms a sonnance latine/scientifique aux arbres qu'ils coupent.

Et un grand merci a toi Umrae pour prendre le temps d'expliquer ton travail, comme on dit :

"donne un poisson a un pauvre et il mangera aujourd'hui
apprend lui a pecher et il mangera toute sa vie" ^^


Post by Mr. Morgathys - November 18, 2006 at 7:19 PM

Hey Umrae ont ta déjà dit que tu avait des beaux se... yeux ?
Mouhaha t la meilleure ! que dire de plus ?


Post by Ex-Mélodie - November 19, 2006 at 4:19 AM

j'en dit que il va falloir que je comprenne tout ca avant de donner un accord, puis que apoc passe dedans sans oublier le reste de l'equipe qui a sa voix bien sur si il veut


Post by Sharon, la vagabonde - November 19, 2006 at 6:08 AM

J'aimerait mieux prendre les vrai noms qui existe déja

Bambou
Châtaigner
Chêne
Ebène
Erable
Frêne
Merisier
Noyer
Pin
Sapin

Pour rendre cela plus réaliste, on pourrait prendre un gump d'arbre et celui si donne un bois précis. Comme sa, impossible de trouvée du bamboo dans une foret tempéré, faudra voyager.

Faudrait aussi permettre de changer le type de bois dans les menu de craft comme font les forgeron. Ainsi les arcs pourront changer de couleur et chaque bois pourrait donnée un attaque autre que neutre.


Post by Argon Zombalèze, Banni - November 19, 2006 at 8:01 AM

Moi jaime pas..Sa fait pas assez original..Ses partout les sortes de bois que tu viens de nommés..


Post by Sharon, la vagabonde - November 19, 2006 at 8:34 AM

J'aime mieux le classique que appeller le bois Fagus ou Boskerin


Post by Mr. Morgathys - November 19, 2006 at 10:09 AM

Étant donné que les minereaux sont nommés par des noms purement inventif, il serait logique de garder le même concept.
Mais ce n'est qu'un simple détail, faite qu'un GM décide de la sorte et passons...


Post by Polgrill Berku, AdC - November 19, 2006 at 7:15 PM

Et si je peu rajouter il serait bien que les sortes de bois change la couleur des meubles comme sur les armes, cela serait une autre attribut que nous pourrions jouer avec afin de faire des décorations.


Post by Conan - November 19, 2006 at 8:10 PM

Normalement oui ça fait partie du script


Post by Feydanith, dit la Carpe - November 23, 2006 at 6:43 PM

Ca serait sympathique d'avoir une liste finale avec des bois histoire de cloturer la chose pour apsser à la suivante ? ^^

Perso, me faut juste :


Post by Ex-Mélodie - November 23, 2006 at 9:36 PM

Pour le moment je laisse les idées venir.


Post by Mr. Morgathys - November 23, 2006 at 10:06 PM

Sa me prend un GM pour tester les Hues sur les bois, les caisse et les meubles afin de s'assurer que tout est convenable.

Pour ce qui est des noms de bois, Max et moi avons proposés et si vous souhaiter les changer pas de probleme, sauf faite le rapidement pour que l'ont puisse avancer.


Post by Ex-Mélodie - November 23, 2006 at 10:39 PM

Pourquio ne pas faire un petit post sur le forum public pour demander a la communauté de nous trouver des noms ?

faudrai juste decider combien de nom il nous faut


Post by Mr. Morgathys - November 23, 2006 at 11:22 PM

Bon voila, j'ai édité les bois en place et tout ce qui est en bleu est approuvé

Super ton idée de demander les noms sur le fofo general
Max ! je te laisse l'honneur vieux

Haaa un bois bleuté à été ajouté


Post by Mr. Morgathys - November 23, 2006 at 11:31 PM

Umrae, si ca peux t'aider, il me sera possible avec les autorisations, d'ajouter tout les bois, les métaux, les tissus etc etc dans le verdata.
Au lieu d'avoir un changement de poids selon le hues, de créer l'objet deja avec cette caractéristique.

Je sais pas si ca peux aider

Donc nous pourions avoir chaque sorte d'objet avec le Item ID à lui


Post by Feydanith, dit la Carpe - November 23, 2006 at 11:35 PM

Bah, que chaque bois ait son propre poids/nom/hue n'est pas un problème. Le problème réside de quand on va l'utiliser qu'il pedra ses particularité ( sauf hue ) pour l'objet fini...


Post by Mr. Morgathys - November 23, 2006 at 11:42 PM

C'est pour ca que je propose de créer un Item ID dans le verdata. Ainsi il gardera tout c'est valeur non ? Étant donné qu'il devient un Item indépendant...


Post by Feydanith, dit la Carpe - November 24, 2006 at 12:23 AM

Non... Quand tu fabriquera un objet avec ton bois, il sera simplement consommé ( ou supprimé si tu préfères ) et le serveur fera un add e l'item fini dans le sac en transférant certaines choses comme la hue. Hélàs, pas le poids -_-


Post by Sharon, la vagabonde - November 24, 2006 at 12:23 AM

Le mieux, serait de faire sa de façon réaliste.
Chaque type d'arbre donne un bois précis.

J'ai fait une liste des arbres

On pourrait choisir parmis ceux la


Post by Feydanith, dit la Carpe - November 24, 2006 at 12:24 AM

Avec les items id des arbres, je crois que c'est faisable ça


Post by Mr. Morgathys - November 24, 2006 at 2:21 AM

Good job Sharon ! (manque le ID Hexadecimal (0x****)

Pour ce qui est de scrypter chaque arbre...
Les forêts me semble faite de facon random, il ni a aucune biosphère dans crépuscule. C'est que selon le climat, sa influence grandement la végétation. Des séquoyas dans les forêts humide et des épinettes dans le grand nord.

Donc ont résume qu'il y a n'importe quel arbre dans n'importe quel foret.
Moi j'encourage des lieux spécifiques à l'exploitation de certaine ressource.
Une forêt soutéraine dans le fond d'un dungeon par exemple


Post by Argon Zombalèze, Banni - November 24, 2006 at 10:22 PM

M'ha donc je marques les noms en bleu dans un vote savoir quelle nom serais bien? Je comprends pas trop


Post by Sharon, la vagabonde - November 24, 2006 at 10:32 PM

Voila, mise a jour de ma liste


Post by Mr. Morgathys - November 30, 2006 at 9:55 PM

Bon bien continuons ^^

Voila la liste de nom ressortie du fofo general.

Argenté
Nerfium
Mystique

Brun foncé
Brinan
Aride

Creme
Merce
Tempéré

Vert foncé
Macrophylla
Marécageux

Bleuté
azuro
Nordique

Rouge foncé
Sparktan
Humide

Noire foncé
Euphorbe
Caverneux

Donc voila en gros les noms récoltés, à choisir maintenant.
Il serait interesssant aussi de mettre les climats propices à la pousse.
Donc voila quelques climats

Tempéré
Aride
Nordique
Humide
Marécageux
Caverneux
Mystique
Près des rivières


Post by Mr. Morgathys - November 30, 2006 at 10:06 PM

Manque également la confirmation et du poids des buches et du skill requis à bucher et à crafter...

Biquette s'ennuie la


Post by Ex-Mélodie - December 1, 2006 at 3:33 AM

A partir de Forestis, rajoute 5 % a chacun et ce de maniere empirique. donc Forestis c'est +5. le next c'est +10 etc.etc.etc.etc.

Si mes calcul sont bon au dernier on arrive a 75 % ce qui est correct. ca oblige d'Avoir un vrai bucheron comme presonnage, et non un role secondaire pour se faire du cash.

Sinon c bon.


Post by Mr. Morgathys - December 1, 2006 at 3:55 AM

Voila suite au ajustement, la première page des bois a été édité et confirmé par Mélo. Donc en gros ce qui reste est de choisir les noms et leurs habitats. En bien sur, les recettes de crafting !


Post by Mr. Morgathys - December 4, 2006 at 8:41 AM

J'ai édité le post plus haut pour les noms et les habitats, il y a des objections ? S'apprete à attendre 2 semaines

... demande de confirmation