Keine Angst... (Morgoth, 21. Feb 2005, 14:40:45):
noch gibts die Gilde nicht offiziell, es fehlt naemlich noch was.
Gildenquests :)

Wer hat Ideen fuer Gildenquests fuer die netten kleinen Orkies? Dies koennen
bereits bestehende (Mini-)Quests sein oder ach gerne neu Programmierte.

Ideen bitte hier in diese Rubrik.

M*

P.S.: Da ich mich fuer die Rubrik verantwortlich fuehle werd ich Spam
kommentarlos loeschen.

-----------------------------------------------------------------------------



Re: Keine Angst... (Muadib, 21. Feb 2005, 15:04:57):
~#! rn=Morgoth rt=1108993245 rg=gilden.urukhai
~#! tid=1108993245
Gildenquest: Lass Dir den Kopf abreissen!
Ablauf: Um seinen Mut zu beweisen, muss sich der Ork auf die Hochebene begeben
und dort angekommen Muadib ueber seine Anwesenheit informieren. Ueberlebt der
Ork 20 Minuten, ist die Quest geloest. Der Tod durch Muadib loest die Quest
sofort.

-----------------------------------------------------------------------------



Re: Keine Angst... (Huraxprax, 28. Feb 2005, 18:59:35):
~#! rn=Morgoth rt=1108993245 rg=gilden.urukhai
~#! tid=1108993245
Mir faellt dazu gerade die einzige Pro-Ork-Miniquest ein die ich kenne, die
gefangene Orkfamilie im Duesterwald. Ist aber recht kurz und nicht leicht zum
metzeln.

huraxprax

-----------------------------------------------------------------------------



Re: Re: Keine Angst... (Shaeena,  5. Mar 2005, 18:45:43):
~#! rn=Huraxprax rt=1109613575 rg=gilden.urukhai
~#! tid=1108993245
Wo ich das lese, gibt es nicht auch noch die Orksuppenquest in Cronoertal oder
zumindest dort in der Naehe?

-----------------------------------------------------------------------------



Re^3: Keine Angst... (Darklor,  5. Mar 2005, 18:55:57):
~#! rn=Shaeena rt=1110044743 rg=gilden.urukhai
~#! tid=1108993245
Wie waers mit Sandhaie jagen aeh angelen?

Darklor

-----------------------------------------------------------------------------



Re^3: Keine Angst... (Taranis,  5. Mar 2005, 19:43:21):
~#! rn=Shaeena rt=1110044743 rg=gilden.urukhai
~#! tid=1108993245
Ja, unterm Warok in den Hoehlen gibt es so eine Orkfamilie, der man bei der
Suppe helfen kann. :-) Ist lustig, aber eigentlich allenfalls eine
Mini-Mini-Quest. *g*


-----------------------------------------------------------------------------



Re^4: Keine Angst... (Darklor,  5. Mar 2005, 19:43:59):
~#! rn=Taranis rt=1110048201 rg=gilden.urukhai
~#! tid=1108993245
Man koennte es ja ausbauen...

Darklor

-----------------------------------------------------------------------------



Re^4: Keine Angst... (Liara,  5. Mar 2005, 19:44:29):
~#! rn=Taranis rt=1110048201 rg=gilden.urukhai
~#! tid=1108993245
Geht es jetzt darum, alte Quests, die sich eignen, aufzuzaehlen?
Dachte, er sucht Ideen fuer etwas Neues?

-----------------------------------------------------------------------------



Re^5: Keine Angst... (Darklor,  5. Mar 2005, 19:45:27):
~#! rn=Liara rt=1110048269 rg=gilden.urukhai
~#! tid=1108993245
Also ich hab das so verstanden, dass sie nach altem oder neuem Suchen, was
geeignet erscheint...

Darklor

-----------------------------------------------------------------------------



Re^6: Keine Angst... (Darklor,  5. Mar 2005, 19:47:21):
~#! rn=Chagall rt=1110048289 rg=gilden.urukhai
~#! tid=1108993245
Waer das nich zu einfach? - aber vielleicht koennte er ja einen Ausbruch
verhindern?

Darklor

-----------------------------------------------------------------------------



Re^8: Keine Angst... (Darklor,  5. Mar 2005, 19:51:12):
~#! rn=Chagall rt=1110048520 rg=gilden.urukhai
~#! tid=1108993245
Apropos - Er koennte ja auch Anfuehrer der Orks werden... (sich nach oben
kaempfen/intrigieren fuer die schwachen Orks unter uns...) 

Darklor

-----------------------------------------------------------------------------



Re^9: Keine Angst... (Apophis,  5. Mar 2005, 21:20:52):
~#! rn=Darklor rt=1110048672 rg=gilden.urukhai
~#! tid=1108993245
steht der Anfuehrer der Orks nicht oben in der SSP und ist dauerplatt? :)
Keine guten Aussichten ;)

-----------------------------------------------------------------------------



Gildenquestvorschlag (Endor, 21. Mai 2005, 05:10:49):
Einen Halbing von einer Gruppe Abenteurer entfuehren und zu einem Zauberer
in einem Turm bringen.

Ein Baum faellen/verbrennen. Koennte aber ein Ent sein, der sich entsprechend
wehrt.

Ein Dorf ueberfallen, rauben und morden.

-----------------------------------------------------------------------------



Gildentitel... (Zesstra, 24. Feb 2013, 14:56:22):
Ab dem naechsten Erhoehen, solltet ihr auch ordentlichen Gildentitel haben.
Also zum einen auch die richtigen fuer weibliche Orks und zum anderen auch
andere als "der hoffnungsvolle Anfaenger".

Zesstra

-----------------------------------------------------------------------------



Gildenebene (Humni, 26. Feb 2013, 14:28:31):
Es werden vermutlich schon alle mitbekommen haben, aber die Uruk-Hai haben
natuerlich auch eine eigene Ebene (-uruk-hai). Jetzt neu entstehende Orks
haben die defaultmaessig an, alle anderen koennen sie natuerlich einschalten.

Humni

-----------------------------------------------------------------------------



Markenrecht? (Gloinson, 26. Feb 2013, 14:39:23):
Hier mal die Frage festgehalten: Ist die Verwendung von 'Uruk Hai'
unbedenklich fuer uns? Fuer Spielzeuge/Devotionalien haelt eine kalifornische
Firma (Saul Zaentz) das Trademark.


-----------------------------------------------------------------------------



Re: Markenrecht? (Zesstra, 26. Feb 2013, 20:10:30):
~#! rn=Gloinson rt=1361885963 rg=gilden.urukhai
~#! tid=1361885963
Wuerde mich auch interessieren.

Zesstra

-----------------------------------------------------------------------------



Re: Markenrecht? (Ark, 26. Feb 2013, 20:30:09):
~#! rn=Gloinson rt=1361885963 rg=gilden.urukhai
~#! tid=1361885963
Naja ... muessen wir da wirklich ein TM ueberall einbauen? Schau mal hier:
http://thehobbit.lego.com/de-de/characters/gloin/
Wenn man da anfangen will, wo hoert es auf? Verletzt Du auch in der
Rollenspielrunde das Recht anderer? Ich kenne die Diskussion um die
Drakoniertypen noch, ok, da muss man Abmahner vielleicht fuerchten, aber wenn
Du bei Tolkiens Erbe durchgreifen willst, dann viel Spass dabei. Wir geben zu
wenig her an moeglichem Strafzoll. Das klingt leichtsinnig, aber sonst kann
man hier ja einpacken.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Re: Markenrecht? (Zesstra, 26. Feb 2013, 20:33:03):
~#! rn=Ark rt=1361907009 rg=gilden.urukhai
~#! tid=1361885963
Gerade die Tolkienleute (bzw. die die Rechte gerade halten), haben nach meinem
letzten Stand im Netz den Ruf, recht rabiat zu sein.

Zesstra

-----------------------------------------------------------------------------



Re^3: Markenrecht? (Ark, 26. Feb 2013, 20:35:00):
~#! rn=Zesstra rt=1361907183 rg=gilden.urukhai
~#! tid=1361885963
Du meinst, wir muessten deshalb viel umbenennen? Na denn Prost, glaub, der
Gildenname waere nur der Anfang.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Markenrecht? (Gloinson, 26. Feb 2013, 20:46:08):
~#! rn=Ark rt=1361907300 rg=gilden.urukhai
~#! tid=1361885963
Afaik ist die Verwendung von markenrechtlich geschuetztem Kram im
Privatbereich unproblematisch. Du kannst "Happy Birthday" alleine fuer dich
singen, du kannst dich in einem Spiel Saruman nennen. 

Das MUD ist allerdings nicht so recht privat. Insbesondere die Gilden und
Rassen werden auch deutlich zur Werbung nach aussen getragen.


-----------------------------------------------------------------------------



Beisse ... (Bugfix, 27. Feb 2013, 10:45:36):
... Darf bei einem Ork nicht besser wirken als bei einem Drachen, fand Humni.
Und deshalb tut es das jetzt nichtmehr.

BF

-----------------------------------------------------------------------------



Re: Beisse ... (Rumata, 27. Feb 2013, 11:14:08):
~#! rn=Bugfix rt=1361958336 rg=gilden.urukhai
~#! tid=1361958336
Wie jetzt? Humni beissen wirkt besser als Ork beissen? ;-)

-----------------------------------------------------------------------------



Bogenschiessen (Bugfix, 28. Mar 2013, 21:02:27):
Moin,

Wenn irgendwer von euch den Eindruck hat beim Bogenschiessen nichts zu lernen,
dann ist das mit an Sicherheit grenzender Wahrscheinlichkeit tatsaechlich nur
ein Eindruck. Und ihr lernt auch nicht so langsam, wie ihr vermutlich glaubt.

BF

-----------------------------------------------------------------------------



Angepasste TinyMacros fuer die Uruk-Hai (Rhoakka,  6. Apr 2013, 17:10:49):
Hallo Orks,

in folgendem github repo findet ihr von mir angepasste TinyMacros zur Nutzung
fuer die Uruk-Hai. Leider habe ich selber noch nicht alle Skills und alle
Informationen ueber Abstufungen der Skillgrenzen, dass ich daher noch nicht
alles implementieren konnte.

Das Repo findet ihr unter:
https://github.com/cmetz/TinyMacros/

Gruesse Rhoakka

-----------------------------------------------------------------------------



Neu, neu, neu: Hilfeseiten (Humni, 10. Aug 2013, 13:21:24):
Huhu,

es gibt jetzt Hilfeseiten fuer die Urukhai! Also, die einzelnen Sprueche sind
erklaert und "hilfe urukhai" geht nun auch.

Beschwerden an Bugfix. Na gut, oder an mich.

Humni

-----------------------------------------------------------------------------



Neuer Gildenmagier fuer die Uruks (Rhovan, 24. Mai 2015, 12:03:45):
Throm'ka,

Bugfix hat Unterstuetzung bekommen.
Nun bin auch ich fuer das quaelen der Urukhai verantwortlich.
Wenn es fragen wuensche und/oder Anregungen gibt nur her damit.

Gruss
Rhovan

-----------------------------------------------------------------------------



Neuer Gildenmagier (Rhovan,  1. Apr 2016, 11:58:06):
Murks Murks,
Ich darf verkuenden das wir ein neues Gildenoberhaupt haben.
Notstrom hat sich bereit erklaert auch denn GM Posten bei uns Urukhais zu
beschreiten.
Moegen seine Hufe immer auf gruenem Gras Wandeln.

Gruss
Rhovan

-----------------------------------------------------------------------------



Steinhaut (Bugfix, 30. Jan 2018, 19:39:34):
Moin,

Ich habe soeben einen schon ewig vorhandenen aber gluecklicherweise nicht all
zu gravierenden Bug in Steinhaut behoben. In manchen Situationen koennte sie
jetzt besser wirken, in anderen schlechter.

Bugfix

-----------------------------------------------------------------------------



Lernmeldungen (Bugfix, 27. Apr 2021, 14:47:29):
Moin,

Auf Anregung von Rydlogg, erfaehrt man jetzt beim misslingen von Spells, ob
man daraus etwas gelernt hat.

Bugfix

-----------------------------------------------------------------------------



Trollstaerke (Bugfix, 27. Apr 2021, 14:54:20):
Moin,

Und gleich weiter mit den frohen Botschaften. Die Trollstaerke ist jetzt etwas
weniger zufaellig. Das sollte sich vor allem bei hohem Skill auszahlen.

Danke an Rydlogg fuer den Hinweis und an Humni fuer die Genehmigung.

Bugfix

-----------------------------------------------------------------------------



Leichenfledder (Bugfix, 27. Apr 2021, 15:09:36):
Moin,
Ihr bekommt jetzt eine Meldung, wenn euer Blutrausch nachlaesst. Das heisst
allerdings nicht, dass ihr dann sofort einen neuen starten koennt.

Danke an ... ach ihr wisst schon.

Bugfix

-----------------------------------------------------------------------------



Einschaetzung des Faehigkeitsdurchschnitts (Bugfix, 28. Apr 2021, 16:50:20):
Moin,

Hragznor hat sich beim berechnen des Durchschnitts eurer Faehigkeiten bisher
etwas verrechnet. Das habe ich soeben behoben, fuer die meisten duerfte damit
der Durchschnittswert etwas steigen.

Der Dank fuer den Bugreport geht dieses mal an Gorblakh.

Bugfix

-----------------------------------------------------------------------------



Einschaetzung (Bugfix, 28. Apr 2021, 17:41:07):
Moin,

Die bisherigen Einschaetzungen der Urukhai waren etwas ungenau und seltsam
verteilt. Um es euch und mir nicht schwieriger zu machen als noetig, habe ich
mich kurzer Hand bei einer anderen Gilde bedient, die neuen Einschaetzngen
durch Hragznor koennten also einigen von euch bekannt vorkommen.

Bugfix

-----------------------------------------------------------------------------



