

 CLEFS ET SERRURES
 CLEFS ET SERRURES Un des points fondamentaux concernant la notion d’objets dans Dark Project 
      est qu’un objet peut être verrouillé. Le cas le plus évident est celui d’une 
      porte, mais le concept de serrure est générique et peut être appliqué à 
      une grande variété d'objets. Ainsi, par exemple, les contenants peuvent 
      être fermés pour éviter que quelqu’un ne les pille et les leviers peuvent 
      être verrouillés pour empêcher quelqu’un de les actionner. 
      
      En fait, la propriété lock détermine si un objet 
      possède une serrure et s’il est fermé ou ouvert. Si un objet a cette propriété, 
      il possède une serrure (indépendamment de son état). Si la valeur de cette 
      propriété est true, le service de serrure considérera 
      l'objet fermé. Si la valeur est false, il est 
      considéré ouvert. La différence est que si la propriété lock 
      n’existe pas, l’objet ne peut en aucun cas devenir verrouillé alors que 
      si la propriété existe et est à false, l’objet 
      est ouvert mais possède une serrure et peut donc devenir verrouillé. 
      
      De plus, il peut y avoir des circonstances où nous voulons que l'état d’une 
      serrure soit dépendant d’un autre objet. Par exemple, une porte peut être 
      commandée par l’état d’une autre porte ou d’un autre objet. En considérant 
      cela, une serrure peut être dépendante de l’état de plusieurs objets. Si 
      un de ces objets est verrouillé, la serrure sera considérée comme verrouillée, 
      indépendamment de son état propre ou de l’état des autres objets liés. 
      Exemple : une porte commandée par 3 boîtes à clés 
      qui doivent être toutes déverrouillées pour que la porte soit ouverte ; 
      si une seule des boites à clés reste à l’état fermé, la porte ne s’ouvrira 
      pas. 
      
      En plus du service de serrure, il y a un service clef dont le but est de 
      déterminer ce qui influe sur une serrure, via la propriété KeySrc 
      sur l’objet intervenant (ex : clef) et la propriété KeyDst 
      pour l’objet commandé (ex : porte). Chacune de ces propriétés a trois champs 
      : un MasterBit, un Région ID 
      et un Lock ID. MasterBit 
      peut être employée pour définir qu’il existe une clé passe-partout (clé 
      principale) qui englobe la fonction de plusieurs autres clés. Région 
      ID est employée principalement pour définir sur quelles serrures 
      un passe-partout (clé principale) peut intervenir. Dans le cas le plus simple, 
      il n’y a pas de passe partout de défini et Lock ID 
      détermine si une clef particulière travaille sur une serrure donnée. 
      
      Le minimum à savoir : si aucun Master 
      Bit n’est coché, alors chaque Region ID 
      doit être renseigné avec la même valeur (binaire et différente de 0). De 
      plus, dans ce cas, il faut renseigner le Lock ID 
      de chaque clé avec la même valeur que le Lock ID 
      de l’objet qu’elle commande. 
      
      Dans une mission qui comporte des passe-partout (clés principales), les 
      correspondances des propriétés KeySrc et KeyDst 
      suivent les règles suivantes (dans l’ordre) : 
      
      1 : Si leur Region ID 
      n’ont pas la même valeur, la clé ne fonctionne pas. Sinon on teste l’étape 
      2 
      
      2 : Si le MasterBit 
      du KeySrc (clé) est coché, la clé fonctionne. 
      Sinon on teste l’étape 3 
      
      3 : Si les Lock ID 
      des KeySrc et KeyDst 
      sont les mêmes, la clé fonctionne. 
      
      4 : Sinon, la clé ne fonctionne pas.
      
      Notez que la notion de Region ID ne doit pas être 
      forcément comprise en tant qu’entité géographique. On peut donner une même 
      valeur à toutes les portes d’un manoir. La notion est alors géographique. 
      On peut attribuer une valeur à toutes les portes d’une mission et une autre 
      valeur à tous les coffres de cette mission. La notion n’est plus géographique. 
    
Forcer les portes 
      
      Les portes peuvent subir des dégâts et être «abîmées», comme d’autres objets. 
      Elles ne seront pas détruites mais le fait «d’abîmer» une porte modifie 
      ses propriétés. Notamment la propriété Lock et 
      tous les liens avec d’autres objets telles que la clé qui l’ouvrait. Le 
      forçage d'une porte exigera généralement des coups répétés ; ces coups seront 
      considérés au niveau des sons dans le jeu comme des bruits de combat. Ce 
      qui fait que cette action n'est en aucun cas une action discrète. 
      
      Toutes les portes ne sont pas susceptibles d’être forcées. Si une porte 
      n'a pas la propriété HitPoints, elle ne subira 
      aucun dégât et ne pourra donc pas être abîmée. En règle générale, les portes 
      en métal ne peuvent pas être forcées, alors que celles en bois renforcées 
      de métal le peuvent. Ces dernières demanderont plus de coups que celles 
      en bois 
Conception de portes 
      
      Les différents types de portes
      
      Il y a deux types principaux de portes employées Dark Project, différenciées 
      par leurs modes de mouvement. Celles qui glissent et celles qui tournent. 
      Le mode d’actionnement de la serrure pourra être diffèrent suivant le type 
      de porte (action sur la porte ou action sur un élément extérieur, type boite 
      à clé ou levier). 
      
      Le paramétrage de la translation d’une porte passe par la propriété «Door/Translating 
      ». Ses paramètres indiquent l’amplitude et la direction de mouvement. Le 
      paramétrage de la rotation d’une porte passe par la propriété « Door/Rotating 
      ». Ses paramètres indiquent l'axe de rotation, la direction de mouvement 
      (dans le sens des aiguilles d'une montre ou en sens inverse des aiguilles 
      d'une montre) et l’amplitude du mouvement (exprimée en degrés). Notez que 
      le contrôle de l’axe de rotation indique seulement l'orientation de l'axe 
      et pas son emplacement. La porte tourne toujours autour du centre de gravité 
      qui est défini dans la propriété « Physics/Model/Type ». Si une porte ne 
      tourne pas autour de l'axe désiré, ça signifie que ce paramètre est mauvais. 
      Testez les, ça peut être drôle (qu’est ce qu’on s’marre…) 
      
      Les portes à deux battants sont constituées de 2 objets et peuvent agir 
      en synchronisation. Cette synchronisation assure qu’une action sur une des 
      2 portes agira sur la deuxième de la même manière. Toutefois cette synchronisation 
      peut être perturbée si par exemple les vitesses d’ouverture des 2 portes 
      sont différentes ou si quelque chose entrave l’ouverture d’une des 2 portes. 
    
Représentation des serrures
      
      Les représentations des poignées de portes et leviers de boites à clé seront 
      variables suivant l'état de la serrure (voir schémas ci dessous). Si la 
      serrure est fermée, le levier sera en position horizontale ; si elle est 
      ouverte, il sera en position verticale. Dans le cas de serrure crochetable 
      en plusieurs étapes, le bras pourra être dans des positions intermédiaires. 
      C'est principalement destiné à montrer au joueur quand la serrure se ferme 
      ou s’ouvre et pour les serrures crochetables, ça montre l’état d’avancement 
      de crochetage. 
 
 
    
Trucs et astuces sur dromed -- la Bible 
      de Dromed
       dromed.tutoriel.free.fr