using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Otter; using _1869_Remake.Entities; namespace _1869_Remake { public class Globals { public static Game Remake = null; //Spielersteuerung public static Session PlayerSession; public static List SpielerListe = new List(); //Dictionary aller Spieler und Ihrer zugehörigen Kredite ( Wenn int Betrag nicht = 0, dann Kredit offen und kein neuer Kredit nehmbar) public static Dictionary KreditListe = new Dictionary(); //Deklarierung der Häfen -> Vordefiniert (Kann im Remake gegebenenfalls erweitert werden -> Nur mit intensiven Recherchen zum Handel //bezüglich dieses neuen Welthafens zu dieser Zeit public static Dictionary AlleHäfen = new Dictionary(); //Dictianry aller existierenden Schiffe public static Dictionary AlleSchiffe = new Dictionary(); //Deklarieren der Meeresknotenpunkte und Meeresstraßen //To Do: Einbauen was global an Knoten und Straßen bekannt sein Soll public static Dictionary AlleMeeresKnoten = new Dictionary(); public static Dictionary AlleSeeStraßen = new Dictionary(); //Deklarierung der Waren-> Vordefiniert (Kann im Remake gegebenenfalls erweitert werden -> Nur mit intensiven Recherchen zum Handel //bezüglich dieses neuen Produkts zu dieser Zeit public static List WarenListe = new List(); //Deklarieren der Möglichen Schiffstypen public static List AlleSchiffsTypen; public static List AlleWarenTypen; //Eingestellte MaximaleSpieldauer public static int Spieldauer; public static bool SpielEnde; //Anzahl Spieler 1-4 [Vorerst nur einer implementiert] public static int AnzahlSpieler; public static Spieler AktuellerSpieler; //Aktuelle Spielzeit (Ingame Datum) public static int AktuellerTag_Z; public static int AktuellerTag_E; public static int AktuellerMonat; public static int AktuellesJahr_T; public static int AktuellesJahr_H; public static int AktuellesJahr_Z; public static int AktuellesJahr_E; public static DateTime AktuellesDatum; /*Mannschaftskosten Konstanten*/ //Kosten je Mann der unerfahrensten Stufe pro Monat public static int MannschaftskostenMin = 400; //Array der Preissteigerung je Erfahrungsstufe public static int[] ErfahrungsFaktor = new int[] { //EF wird zum regulären 1-Mann Wert hinzuaddiert und mal anzahl der Maxgröße gerechnet //im Schema 0,2->0,2->0,2->0,4->0,4->0,9->0,8->2,0->2,8->2,7->5,5->... 810, 530, 330, 250, 140, 100, 60, 40, 20, 0 }; //Zeitrad Verwaltet alle Events und triggert alle Handlungen für die jeweiligen Objekte public static List EventListe = new List(); public static Queue> NächsterHaltepunktInZeitLeiste = new Queue>(); //Spielmodus // 1 = Original // 2 = Remake public static int SpielModus; //Geladener Weltkartenteil public static string weltKarte; // Tracking-Felder public static string LetzteSzene; public static string aktuelleSzene; public static Dictionary PreisListe_UnerwünschteWare = new Dictionary(); // UI-Elemente (Farben,Formen etc) public static Color StdGrün = new Color("137747"); public static Color HighLightMagenta = new Color("ba275f"); public static Color SprachRot = new Color("ba2727"); public static Color StatGrün = new Color("234343"); public static Color OptionGrau = new Color("6b6b6b"); public static Color TafelGrau = new Color("a7a7a7"); public static Color ConfigGrau = new Color("636383"); public static Color AnzeigeBraun = new Color("836323"); public static Color MeeresRoutenGrau = new Color("c3c3c3"); public static Color MeeresRoutenGrün = new Color("aad0a6"); public static Color MeeresRoutenGelb = new Color("d0d982"); public static Color MeeresRoutenRot = new Color("d98282"); public static bool DisplaySubElementAktiv = false; #region Texte //Angezeigte Textpassagen eventuell in eine CSV umpflanzen und dort mit allen restlichen Sammeln zum schnellen Aufrufen /*ConfigBildschirm*/ //SpielModus public static Text CONFIGTEXT0 = new Text("WELCHE VERSION MÖCHTEN SIE SPIELEN?", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT0_1 = new Text("Original Amiga \"O\"", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT0_2 = new Text("Modernere Remake \"R\"", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT1 = new Text("EIN ALTES SPIEL LADEN \"J\" SONST DIE LEERTASTE.", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT2 = new Text("WIE VIELE SPIELER 1-4", Assets.FONT_AMIGA4EVER2, 10); //Für jeden Spieler ein Text public static Text CONFIGTEXT3_A = new Text("DEN NAMEN DES 1 SPIELERS EINGEBEN.", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT3_B = new Text("DEN NAMEN DES 2 SPIELERS EINGEBEN.", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT3_C = new Text("DEN NAMEN DES 3 SPIELERS EINGEBEN.", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT3_D = new Text("DEN NAMEN DES 4 SPIELERS EINGEBEN.", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT4 = new Text("\"M\" - MÄNNLICH ODER \"W\" - WEIBLICH", Assets.FONT_AMIGA4EVER2, 10); //Firmennamen für jeden Spieler public static Text CONFIGTEXT5_A = new Text("WIE SOLL DIE FIRMA DES 1 SPIELERS HEISSEN", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT5_B = new Text("WIE SOLL DIE FIRMA DES 2 SPIELERS HEISSEN", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT5_C = new Text("WIE SOLL DIE FIRMA DES 3 SPIELERS HEISSEN", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT5_D = new Text("WIE SOLL DIE FIRMA DES 4 SPIELERS HEISSEN", Assets.FONT_AMIGA4EVER2, 10); //Starthafen public static Text CONFIGTEXT6_A = new Text("IN WELCHEM HAFEN WOLLEN SIE STARTEN?", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT6_B = new Text("\"1\" LIVERPOOL KÖNIGREICH ENGLAND", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT6_C = new Text("\"2\" LONDON KÖNIGREICH ENGLAND", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT6_D = new Text("\"3\" LES HAVRES KÖNIGREICH FRANKREICH", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT6_E = new Text("\"4\" NEW YORK VEREINIGTE STAATEN", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT6_F = new Text("\"5\" SAVANNAH VEREINIGTE STAATEN", Assets.FONT_AMIGA4EVER2, 10); // Bestätigungsscreen public static Text CONFIGTEXT7 = new Text("SIND DIESE EINSTELLUNGEN RICHTIG? \"J\" ODER \"N\" ", Assets.FONT_AMIGA4EVER2, 10); // Spieldauer public static Text CONFIGTEXT8_A = new Text("WIE LANGE WOLLEN SIE SPIELEN?", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT8_B = new Text(" A - 5 Jahre", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT8_C = new Text(" B - 10 Jahre", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT8_D = new Text(" C - 15 Jahre", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT8_E = new Text(" D - 20 Jahre", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT8_F = new Text(" E - 26 Jahre", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT8_G = new Text("", Assets.FONT_AMIGA4EVER2, 10); public static Text CONFIGTEXT8_H = new Text(" F - 5 Jahre \"EINSTEIGER SPIEL\"", Assets.FONT_AMIGA4EVER2, 10); /*BankBildschirm*/ // Hauptbildschirm public static Text BANKTEXT1_A = new Text("ICH BRAUCHE EINEN KREDIT.", Assets.FONT_AMIGA4EVER2, 8); public static Text BANKTEXT1_B = new Text("ICH MÖCHTE MEINEN KREDIT ABBEZAHLEN.", Assets.FONT_AMIGA4EVER2, 8); // Kredit nehmen Screen public static Text BANKTEXT11_A = new Text("... ICH BRAUCHE $ #,# .", Assets.FONT_AMIGA4EVER2, 8); public static Text BANKTEXT11_B = new Text("OK, ICH NEHME DEN KREDIT.", Assets.FONT_AMIGA4EVER2, 8); public static Text BANKTEXT11_D = new Text("ICH HABE ES MIR ANDERS ÜBERLEGT.", Assets.FONT_AMIGA4EVER2, 8); // Kredit bezahlen Screen public static Text BANKTEXT12_A = new Text("...ICH ZAHLE $#,# ZURÜCK.", Assets.FONT_AMIGA4EVER2, 8); public static Text BANKTEXT12_B = new Text("OK, HIER IST DAS GELD.", Assets.FONT_AMIGA4EVER2, 8); public static Text BANKTEXT12_D = new Text("NEIN, ICH BRAUCHE DAS GELD NOCH.", Assets.FONT_AMIGA4EVER2, 8); /*BankBildschirm*/ public static Text TEXT_BEENDEN = new Text("BEENDEN", Assets.FONT_AMIGA4EVER2, 8); /*AllroundTexte*/ public static Text BEGRÜßUNG_DECOY = new Text("WILLKOMMEN, WIE KANN ICH HELFEN?", Assets.FONT_AMIGA4EVER2, 8); public static Text TEXT_WEITER = new Text("WEITER", Assets.FONT_AMIGA4EVER2, 8); public static Text TEXT_ENDE = new Text("ENDE", Assets.FONT_AMIGA4EVER2, 8); public static Text TEXT_ABSCHIED = new Text("AUF WIEDERSEHEN, DANKE.", Assets.FONT_AMIGA4EVER2, 8); public static Text TEXT_ABBRUCH = new Text("NEIN DANKE, ICH HABE ES MIR ÜBERLEGT.", Assets.FONT_AMIGA4EVER2, 8); public static Text TEXT_ABBRUCH2 = new Text("ICH HABE ES MIR ANDERS ÜBERLEGT.", Assets.FONT_AMIGA4EVER2, 8); // 1. # = Artikel + Geldquelle + verfügt oder verfüge ich, 2. # = volle Dollar, 3.# = Cent public static Text BUDGETTEXT = new Text("# ÜBER $ #,# .", Assets.FONT_AMIGA4EVER2, 8); public static Text BUDGETREICHTNICHT = new Text("ICH FÜRCHTE, FÜR MEHR REICHT IHR KAPITAL NICHT...", Assets.FONT_AMIGA4EVER2, 8); public static Text ZAHLMENGE = new Text("ICH ZAHLE $ #,#", Assets.FONT_AMIGA4EVER2, 8); public static Text ZAHLENFÜR = new Text("OK, ICH ZAHLE FÜR DIE \"#\"", Assets.FONT_AMIGA4EVER2, 8); public static Text KOSTEN = new Text("DAS WÜRDE SIE $ #,# KOSTEN", Assets.FONT_AMIGA4EVER2, 8); public static Text KEINEKOSTEN = new Text("FÜR NICHTS KANN ICH SCHLECHT ETWAS VERLANGEN", Assets.FONT_AMIGA4EVER2, 8); public static Text RESTBETRAG = new Text("ES SIND NOCH $#,# ZU BEZAHLEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text KEINRESTBETRAG = new Text("DIE # IST BEREITS ABBEZAHLT.", Assets.FONT_AMIGA4EVER2, 8); public static Text KEINZAHLBETRAG = new Text("MIT EINEM HÄNDEDRUCK ZAHLT SICH DAS SCHIFF LEIDER NICHT SCHNELLER AB.", Assets.FONT_AMIGA4EVER2, 8); public static Text BESTENDANK = new Text("BESTEN DANK", Assets.FONT_AMIGA4EVER2, 8); public static Text DANKEZUFRIEDEN = new Text("ICH HOFFE SIE SIND MIT UNS ZUFRIEDEN.", Assets.FONT_AMIGA4EVER2, 8); // Demotexte (Werden entfernt in Vollversion) public static Text DEMOTEXT_KEINEREPARATUR = new Text("UNSER TROCKENDOCK IST AKTUELL NICHT IN BETRIEB(DEMO)", Assets.FONT_AMIGA4EVER2, 8); /*Werftbildschirm*/ public static Text WERFT_HELFEN = new Text("WIE KANN ICH IHNEN HELFEN?", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_REPERATUR = new Text("MEIN SCHIFF MÜSSTE REPARIERT WERDEN!", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_SCHIFFBAUEN = new Text("WELCHE SCHIFFE BAUEN SIE?", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_SCHIFFGEBRAUCHT = new Text("ICH SUCHE EIN GEBRAUCHTES SCHIFF!", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_SCHIFFVERKAUFEN = new Text("ICH MÖCHTE IHNEN EIN SCHIFF VERKAUFEN!", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_SCHIFFBEZAHLEN = new Text("ICH MÖCHTE MEIN SCHIFF BEZAHLEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WELCHESSCHIFF = new Text("WELCHES IHRER SCHIFFE?", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_REPARATUR_MUSCHELN = new Text("DEN MUSCHELBEWUCHS ENTFERNEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_REPARATUR_RUMPF = new Text("DEN RUMPF ABDICHTEN UND STREICHEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_REPARATUR_ABSCHIED = new Text("AUF WIEDERSEHEN, DANKE.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_REPARATUR_ANTRIEB = new Text("DIE TAKELAGE ODER DAMPFMASCHINE REPARIEREN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_REPARATUR_ALLES = new Text("DAS SCHIFF GENERALÜBERHOLEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_NÄCHSTES_SCHIFF = new Text("ZEIGEN SIE MIR DAS NÄCHSTE MODEL.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_LETZTES_SCHIFF = new Text("KÖNNEN ICH DAS LETZTE MODEL NOCHMAL SEHEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_BESTÄTIGEN = new Text("OK, BAUEN SIE MIR DIESES SCHIFF.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_ABBRUCH = new Text("ICH HABE ES MIR ANDERS ÜBERLEGT.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_BESTÄTIGUNG_PREIS = new Text("WIE HOCH IST DIE ANZAHLUNG?", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_BESTÄTIGUNG_BESTELLUNG = new Text("OK BAUEN SIE DAS SCHIFF.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_BESTÄTIGUNG_GELDQUELLE = new Text("# ÜBER $ #,# .", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_BESTÄTIGUNG_ABBRUCH = new Text("ICH HABE ES MIR ANDERS ÜBERLEGT.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_NAME_HINWEIS1 = new Text("BITTE WÄHLE EINEN SCHIFFS NAMEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_NAME_HINWEIS2 = new Text("WÄHLE KEINEN NAMEN, DEN EINES", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_NAME_HINWEIS3 = new Text("DEINER SCHIFFE BEREITS TRÄGT.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_ANZAHLUNG1 = new Text("WENN SIE $#,# ANZAHLEN", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_ANZAHLUNG2 = new Text("KÖNNEN WIR MIT DEM BAU BEGINNEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_ABSCHLUSS1 = new Text("DAS SCHIFF WIRD IN CA. # # GELIEFERT.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_ABSCHLUSS2 = new Text("NOCHMALS VIELEN DANK FÜR DEN AUFTRAG.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAUEN_GELDMANGEL = new Text("LEIDER REICHT DAS BUDGET DIESES KONTOS NICHT AUS.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_GEBRAUCHT_NÄCHSTES_SCHIFF = new Text("HABEN SIE NOCH ANDERE GEBRAUCHTE?", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_GEBRAUCHT_BESTÄTIGEN = new Text("OK, ICH NEHME DEN KAHN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BEZAHLEN_KEINESCHULDEN = new Text("SIE HABEN KEINE SCHULDEN BEI UNS!", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_GEBRAUCHT_KEINESCHIFFE = new Text("WIR HABEN ZUR ZEIT KEINE GEBRAUCHTEN SCHIFFE!", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAU_KEINPLATZ1 = new Text("TUT UNS LEID.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BAU_KEINPLATZ2 = new Text("WIR KÖNNEN MOMENTAN KEINE WEITEREN AUFTRÄGE ÜBERNEHMEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_VERKAUF_WELCHESSCHIFF = new Text("WELCHES IHRER SCHIFFE?", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_VERKAUF_KEINESCHIFF1 = new Text("SIE BESITZEN KEINE SCHIFFE IN DIESEM HAFEN", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_VERKAUF_KEINESCHIFF2 = new Text("DIE SIE UNS ANBIETEN KÖNNTEN!", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_VERKAUF_PREIS = new Text("WIE VIEL GEBEN SIE MIR FÜR DIESES SCHÖNE SCHIFF?", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_VERKAUF_BESTÄTIGUNG = new Text("OK ICH VERKAUFE ES IHNEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_VERKAUF_ANGEBOT = new Text("FÜR DIE # ZAHLE ICH IHNEN $#,#.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_VERKAUF_ABSCHLUSS = new Text("WIR HABEN DIE $#.# IN DIE # EINGEZAHLT.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BEZAHLEN_ALLEBEZAHLT = new Text("ALLE IHRE SCHIFFE SIND BEZAHLT.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BEZAHLEN_XBEZAHLT = new Text("DIE # IST BEREITS BEZAHLT.", Assets.FONT_AMIGA4EVER2, 8); public static Text WERFT_BEZAHLEN_KEINESCHIFFE = new Text("SIE HABEN BEI UNS KEINE SCHULDEN.", Assets.FONT_AMIGA4EVER2, 8); /*Handelsbildschirm*/ public static Text HANDEL_HELFEN = new Text("WIE KANN ICH IHNEN HELFEN?", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_WÄHLEN = new Text("BITTE WÄHLEN SIE!", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_WÄHLEN_ZIEL = new Text("WOHIN SOLLEN WIR DIE WAREN DANN GEBEN?", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_KAUFEN = new Text("WELCHE WAREN KÖNNEN SIE ANBIETEN?", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_VERKAUFEN = new Text("ICH MÖCHTE IHNEN ETWAS VERKAUFEN!", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_ANGEBOT = new Text("WIR BIETEN AN:", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_NACHFRAGE = new Text("WIR KAUFEN?", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_AUSVERKAUFT = new Text("LEIDER SIND WIR MOMENTAN TOTAL AUSVERKAUFT!", Assets.FONT_AMIGA4EVER2, 8); // 1. # Menge der Ware, 2. # Lademittel, 3. # Warenbezeichnung public static Text HANDEL_RESTPOSTEN = new Text("LEIDER HABE ICH NUR # # # LAGERND.", Assets.FONT_AMIGA4EVER2, 8); // 1. # Menge der Ware, 2. # Lademittel, 3. # Preis in DOLLAR, 4.# Preis in CENT public static Text HANDEL_RESTPOSTEN2 = new Text("ABER FÜR DIE # # VERLANGE ICH $ #,#", Assets.FONT_AMIGA4EVER2, 8); // 1. # = Menge, 2. # = Lademittel, 3. # = Ware public static Text HANDEL_PREIS_PRO_MENGE_EINKAUF = new Text("WIE VIEL KOSTEN MICH # # # ?", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_PREIS_PRO_MENGE_VERKAUF = new Text("WIE VIEL ZAHLEN SIE FÜR # # # ?", Assets.FONT_AMIGA4EVER2, 8); // # = (a. IN MEIN LAGER) oder (b. AUF DIE ) public static Text HANDEL_ABSCHLUSS_EINKAUF = new Text("OK, GEBEN SIE ES #", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_ABSCHLUSS_VERKAUF = new Text("OK, ICH VERKAUFE DIE WARE.", Assets.FONT_AMIGA4EVER2, 8); // 1. # = Warenbezeichnung, 2. # = Preis Dollar, 3. # = Preis Cent, 4. # = Lademittel public static Text HANDEL_ERLÄUTERUNG1 = new Text("# ERHALTEN SIE FÜR $ #,# je # !", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_ERLÄUTERUNG2 = new Text("DIE # # KOSTEN SIE DAHER $ #,#", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_ABBRUCH_QUELLLAGER = new Text("EINEN ANDEREN QUELL-LAGERORT WÄHLEN", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_VERKAUF_AUS_LAGER = new Text("ICH VERKAUFE WARE AUS DEM LAGER", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_WARENLOS = new Text("SIE VERFÜGEN ÜBER KEINE WAREN IN DIESEM HAFEN!", Assets.FONT_AMIGA4EVER2, 8); // 1. # = Zielname(Ihr Lager || Die ), 2. # = Lademittel public static Text HANDEL_GELDLOS = new Text("# VERFÜGT NICHT ", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_GELDLOS2 = new Text("ÜBER GENÜGEND GELD FÜR MINDESTENS 1 #", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_GELDLOS3 = new Text("BITTE WÄHLEN SIE EINE ANDERE GELDQUELLE!", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_VERKAUFSQUELLE = new Text("WOHER WOLLEN SIE IHRE WAREN VERKAUFEN?", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_WARENWAHL = new Text("WELCHE WAREN # WOLLEN SIE MIR ANBIETEN?", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_WARENQUELLE_WECHSEL = new Text("EINE ANDERE WARENQUELLE WÄHLEN", Assets.FONT_AMIGA4EVER2, 8); /*Ortsspezifische Texte*/ public static Text HANDEL_BEGRÜßUNG_LIVERPOOL = new Text("WILLKOMMEN IN LIVERPOOL", Assets.FONT_AMIGA4EVER2, 8); public static Text HANDEL_BEGRÜßUNG_LONDON = new Text("HALLO SIR, WILLKOMMEN IN LIVERPOOL", Assets.FONT_AMIGA4EVER2, 8); /*BarTexte*/ public static Text BAR_SUCHEMANNSCHAFT = new Text("ICH SUCHE EINE MANNSCHAFT.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_KOSTENFILIALE = new Text("WIE VIEL KOSTET MICH EINE FILIALE?", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_FILIALEVORHANDEN = new Text("WAS SOLL DAS, SIE HABEN DOCH EINE FILIALE HIER!", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_ABSCHIED = new Text("BIS ZUM NÄCHSTEN MAL, JUNGS.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_GELDTRANSFER = new Text("ICH GEBE GELD AUF EIN ANDERES SCHIFF.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_KEINE2SCHIFFE = new Text("DU HAST KEINE 2 SCHIFFE IM HAFEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_HINWEISE = new Text("FÜR EIN PAAR TIPS, GEBE ICH EINE RUNDE AUS, JUNGS.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_KEINESCHIFFE = new Text("DU HAST DOCH KEINE SCHIFFE IM HAFEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_WELCHESSCHIFF = new Text("FÜR WELCHES SCHIFF?", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_GUTESSCHIFF = new Text("WIRKLICH EIN SCHÖNES SCHIFF, DIE #.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESTÄTIGUNG = new Text("OK, BESORG MIR DIE LEUTE.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESCHREIBUNG1 = new Text("ICH SUCHE # SPITZENLEUTE FÜR DIE #.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESCHREIBUNG2 = new Text("ICH BRAUCHE # WIRKLICH ERFAHRENE SEELEUTE.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESCHREIBUNG3 = new Text("ICH SUCHE # LEUTE, DIE RICHTIG ZUPACKEN KÖNNEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESCHREIBUNG4 = new Text("WAS KOSTEN # ZUVERLÄSSIGE LEUTE.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESCHREIBUNG5 = new Text("FÜR DIE # SUCHE ICH # LEUTE.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESCHREIBUNG6 = new Text("SUCH MIR # FÄHIGE LEUTE, DIE KEIN VERMÖGEM KOSTEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESCHREIBUNG7 = new Text("ICH SUCHE # BRAUCHBARE LEUTE FÜR DIE #.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESCHREIBUNG8 = new Text("ICH BRAUCHE # GUTE ABER MÖGLICHST BILLIGE LEUTE.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESCHREIBUNG9 = new Text("ICH SUCHE # GRÜNSCHNÄBEL, DIE FAST UMSONST ARBEITEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_BESCHREIBUNG10 = new Text("FANG MIR # MÖGLICHST BILLIGE IDIOTEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_ABBRUCH = new Text("WENN DU MEINST.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_PREIS = new Text("DIE # MANN WÜRDEN DICH IM MONAT $#,# KOSTEN.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTSWAHL_WELCHELEUTE = new Text("MICH WÜRDE INTERESSIEREN, WAS FÜR LEUTE DU SUCHST..??", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTWAHL_ANHEUERN = new Text("OK DIE JUNGS MELDEN SICH IN # TAGEN AUF DER \"#\"", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_MANNSCHAFTWAHL_GENUGLEUTE = new Text("IN DIESEM HAFEN HAST DU DOCH AUF JEDEM SCHIFF GENUG LEUTE!", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_GELDTRANSFER_ZIEL = new Text("DAS GELD IST FÜR #.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_GELDTRANSFER_BETRAG = new Text("ICH BRAUCHE $#,#.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_GELDTRANSFER_BESTÄTIGUNG = new Text("OK, DAS GELD KOMMT #.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_HINWEIS_KEIN1 = new Text("ES GIBT WIRKLICH NIX NEUES HEUTE...", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_HINWEIS_KEIN2 = new Text("...ABER TROTZDEM DANKE FÜR DIE RUNDE BIER.", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_HINWEIS_KEINGELD1 = new Text("DAS SIND DIE RICHTIGEN, KEIN GELD IN DER TASCHE...", Assets.FONT_AMIGA4EVER2, 8); public static Text BAR_HINWEIS_KEINGELD2 = new Text("...ABER GROßE SPRÜCHE KLOPFEN.", Assets.FONT_AMIGA4EVER2, 8); #endregion public static void registriereEntität(Spieler SP) { SpielerListe.Add(SP); } public static void registriereEntität(Schiff SCHIFF) { AlleSchiffe.Add(SCHIFF.NAME, SCHIFF); } public static void registriereEntität(Hafen H) { AlleHäfen.Add(H.NAME, H); } public static void registriereEntität(SeeStraße SST) { AlleSeeStraßen.Add(SST.BEZEICHNUNG, SST); } public static void registriereEntität(MeeresKnotenpunkt MKP) { AlleMeeresKnoten.Add(MKP.ORT, MKP); } public static void registriereEntität(Ware W) { WarenListe.Add(W.BEZEICHNUNG); } public static void registriereSchiffsTyp(Schiff s) { AlleSchiffsTypen.Add(s); } public static void registriereWarenTyp(string w) { AlleWarenTypen.Add(w); } public static void EventAktion(WeltEvent ev, string Aktion) { switch (Aktion) { case "EINFÜGEN": // Einfügen eines Events in die SortedList aller Events WeltEvent TempEvent = new WeltEvent(ev); EventListe.Add(TempEvent); break; case "ENTFERNEN": EventListe.Remove(ev); break; default: //Fehler Console.WriteLine("Fehler: Eventaktion ist unbekannt!"); break; } } public static void kreditAktionen(Spieler Schuldner, int Betrag, string Aktion) { switch (Aktion) { case "REGISTRIEREN": KreditListe.Add(Schuldner, Betrag); break; case "ERHÖHEN": KreditListe[Schuldner] += Betrag; break; case "VERMINDERN": //Hinweis absicherung gegen Mehrbezahlen findet auf der Bezahlseite statt -> Entität das abbezahlen will muss zuerst berechnen wie viel noch zu bezahlen ist und den user nicht mehr bezahlen lassen. KreditListe[Schuldner] -= Betrag; break; case "LÖSCHEN": if (KreditListe[Schuldner] > 0) { //Fehler Console.WriteLine("Fehler: Kredit ist noch nicht abbezahlt!"); } else { KreditListe.Remove(Schuldner); } break; default: //Fehler Console.WriteLine("Fehler Kreditaktion ist unbekannt"); break; } } } }