package eu.smoser.dungeongenerator.dungeon.objects;

import eu.smoser.dungeongenerator.dungeon.Dungeon;
import eu.smoser.dungeongenerator.util.Dice;

/**
 * This holds information about a special phenomenon
 * @author MrMcX
 */
public class Special extends ADungeonObject{
    /**
     * Constructs a new random special phenomenon in a given type of room
     * @param type type of environment
     */
    public Special(Dungeon.Type type){
        descString = "";
        if(Dungeon.Natural(type)){
            switch(Dice.Roll(20, 1)){
                case 1: 
                    descString = "Die magische Dunkelheit in dieser Höhle ist absolut undurchdringlich.";
                    break;
                case 2:
                    descString = "Im Zentrum der magischen Dunkelheit ist eine 3 Meter tiefe Grube versteckt.";
                    break;
                case 3:
                    descString = "Ein grünlich glänzendes Wasserbecken befindet sich in einer Nische dieser Höhle. Das Wasser ist trinkbar und gewährt eine sofortige Extraregeneration der Astralkraft.";
                    break;
                case 4:
                    descString = "Dieser Raum ist komplett unsichtbar. Auch alles, was hineingeht, wird für die Dauer des Aufenthaltes unsichtbar.";
                    break;
                case 5: 
                    descString = "Die Gedanken der diese Höhle betretenden Helden hallen laut durch das Gewölbe.";
                    break;
                case 6:
                    descString = "Über jedem Helden schweben mehrere Mindergeister, die sie belästigen.";
                    break;
                case 7: 
                    descString = "Die Helden hören Stimmen, die ihnen einflüstern, dass sie alle sterben werden.";
                    break;
                case 8: 
                    descString = "Der Glanz einiger Kristalle an den Wänden wirkt wie Ikanariaschmetterlinge.";
                    break;
                case 9:
                    descString = "Ein rauschender Fluss kommt direkt aus einer Wand und fließt rasend schnell durch den Raum, um im gegenüberliegenden Fels zu verschwinden. Es handelt sich um eine Illusion.";
                    break;
                case 10: 
                    descString = "Geräusche in dieser Kaverne verhallen nicht – ihre Echos stauen sich langsam zu einem unglaublichen Lärm.";
                    break;
                case 11: 
                    descString = "Einer der Helden wird das Gefühl nicht los, dass jemand hinter ihm steht. Das Gefühl hält noch " + Dice.Roll(6, 1) + " Stunden an.";
                    break;
                case 12: 
                    descString = "Die Illusion eines Höhlendrachen greift ohne zu zögern für 2 KR an.";
                    break;
                case 13:
                    descString = "Aus kleinen Rissen in der Höhlenwand strömt ein ungiftiges bläuliches Gas und wabert dann träge über den Boden.";
                    break;
                case 14:
                    descString = "Die Helden verlieren pro Spielrunde in dieser Höhle einen Klugheitspunkt bis zu einer Klugheit von 3. Die Punkte regenerieren sich sofort nach Verlassen der Höhle.";
                    break;
                case 15:
                    descString = "Eine magische Barriere aus flimmerndem Licht zieht sich quer durch den Raum.";
                    break;
                case 16: 
                    descString = "Kristalle in dieser Höhle bersten, wenn in ihrer Nähe gezaubert wird – und verursachen durch herumfliegende Splitter W6+2 Trefferpunkte.";
                    break;
                case 17: 
                    descString = "In der Höhle fließt ein Wasserfall von unten nach oben.";
                    break;
                case 18: 
                    descString = "Im Raum herrscht keine Schwerkraft.";
                    break;
                case 19: 
                    descString = "Magisch leuchtender Treibsand aus Kristallstaub bedeckt den kompletten Boden. Er ist allerdings nur 60 Zentimeter tief.";
                    break;
                case 20: 
                    descString = "In diesem Raum unterliegt alles einem umgekehrten AXXELERATUS.";   
                    break;
            }
        } else {
            switch(Dice.Roll(20, 1)){
                case 1: 
                    descString = Dice.Roll(6, 2) + " Skelette tanzen einen Totentanz und kümmern sich nicht um die Helden.";
                    break;
                case 2: 
                    descString = "Die beiden Augen der Statue im Zentrum des Raumes leuchten glühend rot.";
                    break;
                case 3: 
                    descString = "Ein merkwürdiger Nebel breitet sich schnell aus. Er zerstört jeden Stoff in Sekundenschnelle.";
                    break;
                case 4: 
                    descString = "Direkt bei Betreten des Raumes fühlen sich die Helden merkwürdig entspannt und schlafen innerhalb kürzester Zeit ein. Während ihres Schlafes droht ihnen keine Gefahr, aber sie haben Träume, die ihnen kleine Fingerzeige geben, was sie in der Zukunft erwartet.";
                    break;
                case 5: 
                    descString = "Magiebegabte Helden übergeben sich ganz fürchterlich und bekommen im Raum arge Kopfschmerzen.";
                    break;
                case 6: 
                    descString = "Jeder, der aus der Mineralquelle in der Höhle trinkt, erhält bei der nächsten Regeneration seine vollen Lebenspunkte wieder. Das Wasser wirkt nur direkt aus der Quelle.";
                    break;
                case 7: 
                    descString = "Eine merkwürdige Wasserlache bedeckt den Boden dieses Raumes. Wer mit ihr in Hautkontakt kommt, wird W6 Stunden von Mindergeistern belästigt.";
                    break;
                case 8: 
                    descString = "Direkt hinter der Eingangstür ist Blut auf dem Boden. Kommt ein Held damit in Kontakt, gerät er in einen Blutrausch (WdH 261).";
                    break;
                case 9: 
                    descString = "Gifte haben in diesem Raum keinerlei Wirkung.";
                    break;
                case 10: 
                    descString = "Sämtliche Zauber in diesem Raum sind mit einer Erschwernis von 12 Punkten belegt.";
                    break;
                case 11: 
                    descString = "Ein kleiner glühender Mindergeist fegt mit einem leisen Pfeifen durch den Raum. Jeder, der ihn berührt, muss Schaden durch Hitze hinnehmen.";
                    break;
                case 12: 
                    descString = "Ein schwerer Foliant ist an einem kleinen steinernen Lesepult festgekettet. Der Foliant lässt sich nicht öffnen, egal was man versucht.";
                    break;
                case 13: 
                    descString = "Ein kleiner Drache aus einem bläulichen Edelstein steht auf einen Sockel und beantwortet wahrheitsgemäß nach bestem Wissen und Gewissen zwei Fragen, bevor er zerfällt.";
                    break;
                case 14: 
                    descString = "Sobald alle Helden den Raum betreten haben, verschließt eine karmale Barriere diesen Raum, dessen Decke eine gewaltige Sonne ziert. Erst ein Gebet zu Praios lässt diese Barriere wieder verschwinden.";
                    break;
                case 15: 
                    descString = "In einer Glaskugel kann man immer wieder die gleiche absurde Szenerie aus uralter Zeit betrachten.";
                    break;
                case 16: 
                    descString = "Im Raum dreht sich die Schwerkraft um – unten ist oben, oben ist unten.";
                    break;
                case 17: 
                    descString = "Im Raum spiegelt sich alles Lebende – auch die Helden werden ‚anders‘-händig und haben damit ihre Waffen an der falschen Körperseite hängen.";
                    break;
                case 18: 
                    descString = "Die Schatten der Helden wenden sich wie bei einem ECLIPTIFACTUS.";
                    break;
                case 19: 
                    descString = "An der Wand befinden sich Dutzende von Augen, die die Helden bei jedem Schritt mit Blicken verfolgen.";
                    break;
                case 20: 
                    descString = "Die Zeit in diesem Raum vergeht zehnmal so schnell wie normal.";
                    break;
            }
        }
    }
}
