1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
personnage:
actAs:
Sluggable:
fields: [ nom ]
columns:
user_id: integer
# nom: nom du perso, pas du joueur
nom:
type: string(30)
unique: true
cellule_id: integer
# carte_id: hors FN pour accélérer les recherches
# pas de relation
carte_id: integer
classe_id: integer
sante: integer
puissance: integer
magie: integer
# nombre de piece d'or du personnage
piece: integer
mode_vendeur: boolean
relations:
user:
class: sfGuardUser
local: user_id
foreignAlias: personnages
cellule:
foreignAlias: personnages
classe:
foreignAlias: personnages
cellule:
actAs:
I18n:
fields: [ description ]
columns:
positionX: integer
positionY: integer
# img: nom de l'image de fond de la cellule
img: string(40)
# ouvert: si vrai, un joueur où un monstre peut s'y trouver
ouvert: boolean
# monstre: si vrai, un monstre peut y prendre place
monstre: boolean
# item: si non null, un objet s'y trouve
item_id: integer
# description: description de la cellule pour les mal voyant
description: string(50)
carte_id: integer
# change: si non null, la cellule (d'une autre carte ou de la
# même carte) où arrive le joueur s'il ce positionne
# sur cette cellule. Une cellule avec change non nul doit avoir
# monstre a false
change_id: integer
indexes:
position:
fields: [ carte_id, positionX, positionY ]
type: unique
relations:
item:
foreignAlias: cellules
carte:
foreignAlias: cellules
carte:
actAs:
I18n:
fields: [ nom, description ]
actAs:
Sluggable:
fields: [ nom ]
uniqueBy: [ nom, lang ]
columns:
nom: string(50)
description: string(200)
img: string(40)
itemPersonnage:
columns:
personnage_id:
type: integer
primary: true
item_id:
type: integer
primary: true
nombre: integer
# prix: si non null, le prix de vente de l'objet pour le mode vendeur
prix: integer
relations:
personnage:
foreignAlias: itemPersonnages
item:
foreignAlias: itemPersonnages
item:
actAs:
I18n:
fields: [ nom, description ]
actAs:
Sluggable:
field: [ nom ]
uniqueBy: [ nom, lang ]
columns:
nom: string(50)
description: string(200)
img: string(40)
type:
type: enum
values: [ arme, soin, force ]
# proba: probablité de voir cet item arriver sur une cellule
proba: integer
# classe: si non nul, la classe qui peut utiliser cet objet
classe_id: integer
relations:
classe:
foreignAlias: items
personnages:
class: personnage
refClass: itemPersonnage
foreignAlias: items
classe:
actAs:
I18n:
fields: [ nom, description ]
actAs:
Sluggable:
fileds: [ nom ]
uniqueBy: [ nom, lang ]
columns:
nom: string(50)
description: string(50)
img: string(40)
puissance_max: integer
magie_max: integer |
Partager