maaaaaaanproc,
Le prb de cette méthode, c'est qu'elle est formelle. Autrement dit, le jour ou tu ajoutes une nouvelle batte en bois (Rose), tu doit modifier tt le langage:
Batte avec un clou:
Necessite : (Batte de Base Ball en bois OU Batte de Base Ball en bois pointue OU Batte de Base Ball de Barbie) ET ((Marteau) ET (Clou)) OU (Atelier)
Il faudrait pouvoir dire que "tt les battes en bois sont capable de recevoir un clou si on dispose d'un marteau et du clou en question ou un atelier"..
En reprenant le """"langage"""" que j'utilise plus haut, ça peut donner:
// batte en bois
named Batte de base ball en bois
categ batte
meshe batte.tri
physics objet_frappe
weight 3
degat 10
allows bout_pointu at (..., ..., ...) with couteau
allows clou at (..., ..., ...) with marteau
allows clou at (..., ..., ...) with marteau
Reste a créer un "include", du genre:
// batte de baseball en alu
include batte_bois
named Batte de base balle en alu
meshe battealu.tri
weight +2
degat +5
Un des prb, c'est que les bouts pointus et les clous vont au même endroit que sur la batte en bois..
Mais ce permet de ne pas se répéter et d'avoir à se taper 300 fichiers juste passque tu veux rajouter un clou possible aux battes.. par contre, y'a surement de gros incovénnients que g pas vu...
le mot clef "with" précise ce qui est nécessaire pour rajouter qq chose a l'objet mais qui ne rentre pas dans sa contruction ! (un marteau est utilisé pour construire la batte à clou, mais ca ne le fait pas disparaitre de l'inventaire du joueur [contrairement au clou, qui est sur la batte]) ...
Faudrait être capable d'avoir certaines opérations booléennes, comme le précise
maaaaaaanproc, du genre:
allows (clou or clef_plate) at (..., ..., ...) with marteau
ou plutot
allows clou at EMPLACEMENT1 with marteau
allows clef_plate at EMPLACEMENT1 with ficelle
... pour reprendre le principe de
Jimbo .
Comme ca, qq1 peut piquer la clef_plate sur la batte pour monter la roue de sa jeep
PS: y'a une couille ici ... la ficelle, elle est déclarée en with alors qu'elle rentre bien dans la construction de l'objet ... donc l'utilisateur à de la ficelle a l'infini ... faudrait trouver une bidouille pour avoir un ET pour les allows: allows clef_plate AND ficelle at EMPLACEMENT1 .... Rhhhaaaaa, ça devient chaud à voir dans la globalité
Qu'en pensez vous ?