Alcazarfr / Jetilo

Jeu
2 stars 0 forks source link

Effets #1

Open Duncan-Idaho opened 13 years ago

Duncan-Idaho commented 13 years ago

Table effet : bonus de croissances pour les territoires, malus pour ceux ennemis, malus de bonheur d'un territoire ...

Alcazarfr commented 13 years ago

J'ai très bien avancé sur ce point.

Voici un guide pour les utiliser

  1. Créer un effet

Si tu souhaite que l'effet soit créer directement après un clic sur un lien, je t'encourage, en raison du grand nombre de caractère, à utiliser la fonction FormaterLien($Mode, $Tableau);

Cette fonction permet de formater un tableau et le renvoie sous une forme "fonction ajax", où chaque élément du tableau devient un argument d'une fonction.

Le tableau à utiliser, dans le cas des effets, est le suivant :

                $ModelEffet = Array(
                    "CibleType" => "TERRITOIRE",
                    "CibleID" => $Territoire,
                    "SourceType" => "ETAT",
                    "SourceID" => $TerritoireEtat,
                    "Nom" => "Bonus de défense + 10",
                    "TimeDebut" => time(),
                    "TimeFin" => time()+660,
                    "Table" => "Territoire",
                    "Variable" => "TerritoireDefense",
                    "Type" => "ADDITION",
                    "Valeur" => 10
                );

Il s'agit ici d'un effet qui ajoute une bonus défensif à un territoire.

Une fois ce tableau compléter, on génère la fonction :

                $LienEffet = FormaterLien("EffetCreer", $ModelEffet);

Puis on l'insère dans un lien :

<a href=\"#\" onClick=\"".$LienEffet."\">Créer un bonus défensif

Lorsque l'on clique dessus, cela va appeler la fonction EffetCreer(blabla) avec les arguments que tu as précisé dans le tableau.

La fonction appelle le fichier includes/ajax/partie.php qui va appeler la fonction (dans includes/fonctions.php) EffetCreer() puis créer l'effet, toujours avec les mêmes paramètres.

  1. Chercher un effet

La fonction a utilisé est : ChercherEffet($SourceType, $SourceID, $SourceVariable, $SourceValeur)

Dans mon précédent exemple, cela donne : $TerritoireDefense = ChercherEffet("TERRITOIRE", $TerritoireID, "TerritoireDefense", $data['TerritoireDefense']);

La défense d'un territoire, originellement égale à $data['TerritoireDefense'], passe par la fonction, qui va analyser si la variable "TerritoireDefense" de ce territoire, dont l'ID est $TerritoireID, subit des effets ou non. La fonction renvoie ensuite la valeur.

Tu peux essayer en cliquant sur "Créer un bonus défensif", dans n'importe quel territoire.

Alcazarfr commented 13 years ago

Bien sur, les fonctions sont commentées

Duncan-Idaho commented 13 years ago

Elle est marquée en Open? L'aurais-tu réouvert par erreur?

Alcazarfr commented 13 years ago

Non, je l'ai fait intentionnellement car il reste à préciser si l'effet à une valeur fixe ou une valeur dépendant des points qui lui sont consacrés