Cíle jsou šikovná věc, kterou vůbec nemusíte používat (a nic zásadního se nestane), ale když je použijete, můžete tím docílit zajímavých efektů.
Pokusím se to vysvětlit na příkladu: Mějme předmět Kladivo, které bude mít příkaz Použít kladivo.
Nejběžnějším způsobem realizace je nepoužít žádný cíl. Tj. u příkazu bude mít položka Cíl hodnotu Není. V takovém případě, jakmile hráč příkaz vybere, se okamžitě spustí obslužný kód. Tento způsob v drtivé většině her bude stačit. Nejčastěji totiž lze předmět použít jenom jednou a jenom v jedné konkrétní situaci. Případně lze situaci poznat z kontextu (hráč se nachází v určité fázi hry). Autor hry pak podle kontextu nechá vykonat příslušný kód (může k tomu třeba použít příkaz Když/jinak). Pro hráče to představuje nejjednodušší způsob hraní - vyberu příkaz, pokud ho lze v tuto chvíli použít, tak se použije, pokud ho nelze použít, tak se nic nestane. Někteří autoři příkazy skrývají a zobrazují podle kontextu, takže většinou to je tak, že když příkaz vidím, tak ho taky hned můžu použít.
Můžete však jako autoři chtít hráči situaci trochu ztížit. V reálném životě můžete kladivo použít samozřejmě na spoustu jiných věcí a pokaždé to může mít jiný efekt. Pokud budete chtít tuto situaci aspoň přibližně nasimulovat, ještě stále se můžete obejít bez volby cíle. Stačí, pokud zobrazíte hráči vstup s výběrem předmětů, na které lze kladivo použít. Hráč si zvolí a vy pak v kódu zareagujete na každou z nabízených možností. Musíte ale nějakým způsobem vědět, jaké předměty jsou zrovna v tuhle chvíli k dispozici. Ale i to se dá celkem jednoduše zvládnout.
Ale právě tady přichází možnost použít vlastnost příkazu Cíl. Z nabídky zvolíte Specifické objekty a ve spodním okně s titulkem Specifické cíle jednoduše zaškrtnete ty předměty, na které se může hráč pokusit kladivo použít. Jak se změní hráčův způsob hry? Tak, že když vybere příkaz u kladiva, ještě se mu nabídne seznam předmětů, na které lze kladivo použít. To jsou ty předměty, které jste zaškrtli. Ale pozor, a to je podle mě výhoda tohoto řešení, v nabídce budou jenom ty ze zaškrtnutých, které v daný okamžik hráč buď vlastní, nebo je vidí (např. jsou ve stejné zóně jako on). Jako autor se tedy nemusíte starat o to, které předměty hráč zrovna v tuhle chvíli vidí, wherigo si to při hraní zjistí automaticky samo. V kódu pak můžete použít příkaz Když/jinak a v něm porovnat Cíl příkazu s konkrétními možnými předměty a pro každý předmět napsat jiný kód. Např. pro předmět Kámen může dojít k jeho rozbití (a hráč může v kameni něco najít), pro předmět Hřebík může dojít k jeho zatlučení apod. Další vlastností tohoto postupu (a já ji považuji za výhodu) je to, že se příkaz objeví i u o toho cílové objektu, tj. Kámen a Hřebík budou mít také příkaz Použít kladivo, přičemž vám jako autorovi bude stačit napsat pouze jeden kód, a to u Kladiva.
Pokud nechcete dopředu zaškrtávat konkrétní specifické cíle (a po vytvoření nového seznam upravovat), můžete zvolit volbu Všechny objekty.
Jako specifické cíle můžete vybírat Věci, Postavy a Zóny. U věcí a postav je situace asi zřejmá, zóny by měly fungovat obdobně - jakmile je zóna viditelná (ani v ní hráč nemusí být), lze na ni příkaz použít. Pozor, zjistil jsem, že zóny se v nabídce objeví pouze v případě, že je vybráno Specifické cíle a jsou zaškrtnuty. Pokud zvolíte Všechny cíle, zóny se v nabídce nezobrazí.