Scriptname VampireScript
;Krankheit
short doonce
short hasdisease
short diseaseday
short diseasedaycount
;Variablen für Vampirstufe
short vampstatusupdate
float vampstatushour
float vampstatusday
float vampstatusdaycount
;Variablen für Vampirstatus
short vampmax
short vampnow
float vamphour
float vamphourcount
;Traum
short randomdream
float fQuestDelayTime
begin gamemode
if ( doonce == 0 )
set randomdream to -1
set fQuestDelayTime to 0.5
set doonce to 1
;Falls bereits Vampir, anpassen
if (PCVampire == 1)
set vampmax to 25
elseif (PCVampire == 2)
set vampmax to 50
elseif (PCVampire == 3)
set vampmax to 75
elseif (PCVampire == 4)
set vampmax to 100
endif
endif
;bereits geheilter Vampir
if ( PCVampire == -1 )
return
endif
;VAMPIRISMUS BEKOMMEN
;---------------------------------------------------------------------------------------------------------------------
If ( hasdisease == 0 )
if ( Player.IsSpellTarget VampDisease == 1 )
set hasdisease to 1
endif
endif
;vor Ablaufen der 3 Tage geheilt
if ( hasdisease == 1 )
if ( Player.IsSpellTarget VampDisease == 0 )
set hasdisease to 0
endif
endif
if ( hasdisease == 1 )
if ( diseaseday == 0 )
set diseaseday to GameDay
else
if ( diseaseday != gameday )
set diseasedaycount to ( diseasedaycount + 1 )
set diseaseday to GameDay
endif
endif
endif
;If hasdisease still == 1, this is the first time the player has been in this state
;Nachricht, Stufe 25 Fähigkeiten, 'hasdisease' zurücksetzen
if ( PCVampire == 1 )
if ( hasdisease == 1 )
Messagebox "Ihr träumt von jemandem, der friedlich in seinem Bett schläft, als ein hagerer Schatten lautlos ins Zimmer gleitet. Er nähert sich dem Bett, beugt sich über den Schlafenden und versenkt seine Reißzähne in dessen Hals. Nach einer Weile erhebt sich die blasse Figur, das Kinn tropfend von Blut. Als die Farbe in das Gesicht des Vampirs zurückkehrt und seine Züge sich wieder herausbilden, erkennt Ihr Euer eigenes Gesicht. Schreiend wacht Ihr auf."
set hasdisease to -1
player.addspell Vampirism25
Player.addspell Vampirism25Att
Player.addspell Vampirism25Skills
Player.addspell VampireHuntersSight
player.removespell VampDisease
player.setfactionrank playervampirefaction 0
addtopic CureforVampirism
StartQuest MS40
set vampstatusday to GameDay
set vampstatushour to GameHour
endif
endif
;VAMPIRISMUS STUFEN
;--------------------------------------------------------------------------------------------------------------------
;Blut trinken
if ( PCVampire >= 1 )
if ( Player.HasVampireFed == 1 )
set vampnow to 25
;Variablen für Timer aktualisieren
set vamphour to GameHour
MessageBox "Euer Hunger auf Blut ist gestillt... für den Augenblick."
endif
endif
;Vampirstufe alle 3 Tage aktualisieren
;'PCVampire' == 4 bzw. 'vampmax' == 100 ist maximaler Wert, daher ab 4 bzw. 100 nicht mehr aktualisieren
if (( PCVampire >= 1 ) && ( vampstatusupdate != 1 ))
if (( PCVampire < 4 ) && ( vampmax < 100 ))
;Tag vorbei
if ( vampstatusday != GameDay )
set vampstatusday to 0
set vampstatusdaycount to ( vampstatusdaycount + 1 )
if ( vampstatusdaycount >= 3 )
set vampstatusdaycount to 0
set vampstatusupdate to 1
endif
endif
endif
endif
;Vampirstatus alle 2 Stunden aktualisieren
;Solange noch nicht maximaler Status erreicht ist
if ( vampnow < vampmax )
if ( PCVampire >= 1 )
;Stunde vorbei
if ( vamphour != GameHour )
set vamphourcount to ( vamphourcount + 1)
if ( vamphourcount >= 2 )
set vamphourcount to 0
set vampnow to ( vampnow + 5)
endif
;aktualisieren
set vamphour to GameHour
endif
endif
endif
;Vampirfähigkeiten aktualisieren
if (( vampnow < 50 ) && ( vampnow >= 25))
;Vampir Stufe 2-4 Fähigkeiten entfernen
Player.removespell Vampirism50
Player.removespell Vampirism50Att
Player.removespell Vampirism50Skills
Player.removespell VampireSeduction
Player.removespell Vampirism75
Player.removespell Vampirism75Att
Player.removespell Vampirism75Skills
Player.removespell VampireReignofTerror
Player.removespell Vampirism100
Player.removespell Vampirism100Att
Player.removespell Vampirism100Skills
Player.removespell VampireEmbraceofShadows
;Vampir Stufe 1 Fähigkeiten hinzufügen
Player.addspell Vampirism25
Player.addspell Vampirism25Att
Player.addspell Vampirism25Skills
set PCVampire to 1
elseif (( vampnow < 75 ) && ( vampnow >= 50))
set PCVampire to 2
Player.removespell Vampirism25
Player.removespell Vampirism25Att
Player.removespell Vampirism25Skills
Player.addspell Vampirism50
Player.addspell Vampirism50Att
Player.addspell Vampirism50Skills
Player.addspell VampireSeduction
elseif (( vampnow < 100 ) && ( vampnow >= 75))
set PCVampire to 3
Player.removespell Vampirism50
Player.removespell Vampirism50Att
Player.removespell Vampirism50Skills
Player.addspell Vampirism75
Player.addspell Vampirism75Att
Player.addspell Vampirism75Skills
Player.addspell VampireReignofTerror
elseif ( vampnow == 100)
set PCVampire to 4
Player.removespell Vampirism75
Player.removespell Vampirism75Att
Player.removespell Vampirism75Skills
Player.Addspell Vampirism100
Player.addspell Vampirism100Att
Player.addspell Vampirism100Skills
Player.addspell VampireEmbraceofShadows
endif
;Traumtext auswählen (Zufall)
if ( randomdream >= 0 )
if ( randomdream <= 9 )
MessageBox "Ihr träumt von langen Tagen, an denen Ihr im Sonnenlicht Eures Heimatlandes badet. Ihr fühlt die Wärme und die Hitze und spürt, wie Euer Körper erfrischt wird. Dann wacht Ihr auf und erkennt, es war nur ein Traum."
set randomdream to -1
elseif ( randomdream <= 19 )
MessageBox "In Eurem Traum seht Ihr eine schöne junge Frau, die ein Kind an ihre Brust drückt. Erst als Ihr näherkommt, wird Euch klar, dass die Frau eine verdorrte Leiche ist und dass das Kind violett und aufgedunsen ist und an der Pest stirbt. Als Mutter und Kind zu Staub zerfallen, wacht Ihr auf. "
set randomdream to -1
elseif ( randomdream <= 29 )
MessageBox "In Eurem Traum behandelt eine alte Hexe die Verbrennungen an Euren Händen. Als sie eine Salbe auf Eure Haut aufträgt, fühlt Ihr das Prickeln der Magie, als der Schmerz nachzulassen beginnt. Doch während Ihr zuschaut, beginnt das Fleisch Eurer Hände Blasen zu werfen, rissig zu werden und aufzureißen und in Fetzen auf den Boden ihrer Hütte zu fallen. Mit dem Lächeln der Hexe vor Augen wacht Ihr auf."
set randomdream to -1
elseif ( randomdream <= 39 )
MessageBox "In einem Traum über Eure Kindheit erinnert Ihr Euch an Versteckspiele, mit denen Ihr und Eure Freunde Euch an einem warmen Sommernachmittag die Zeit vertriebt. Ihr versteckt Euch in der elterlichen Scheune in der sicheren Annahme, dort nicht gefunden zu werden. Bald schon wird der süße Heugeruch von einem düsteren, ekligen Hauch überdeckt."
set randomdream to -1
elseif ( randomdream <= 49 )
MessageBox "Ihr träumt von einem üppigen Bankett, das vor Euch ausgebreitet ist. Ihr tut Euch gütlich an einer besonders feinen Portion Fleisch, und der Duft lässt Euch das Wasser im Mund zusammenlaufen. Erst als Ihr in das letzte Stück schneidet, seht Ihr die Maden, die sich darin winden. Ihr hustet Blut aus, während die Maden beginnen, sich durch Euren Magen nach draußen zu fressen."
set randomdream to -1
elseif ( randomdream <= 59 )
MessageBox "Ihr liegt auf dem Rücken, und ein seliges Gefühl des Friedens erfüllt Euren Verstand. "
set randomdream to -1
elseif ( randomdream <= 69 )
MessageBox "Eine warme, sanfte Brise kitzelt Euer Antlitz, doch als Ihr versucht, über Euer Gesicht zu wischen, stellt Ihr fest, dass Ihr Eure Arme nicht bewegen könnt. Als Ihr auf Eure Haut schaut, seht Ihr, dass sie sich in kaltes, grünes Glas verwandelt hat. Ihr steht stocksteif, nehmt rasche, flache Atemzüge, da Ihr wisst, dass eine Bewegung Eure Haut in Tausende von Stücken bersten lässt. Euer Gesicht juckt noch schlimmer, und Ihr wisst, Ihr werdet niesen."
set randomdream to -1
elseif ( randomdream <= 79 )
MessageBox "In Eurem Traum öffnet Ihr Eure Augen und schaut in einen wundervollen blauen Himmel. Die Sonne scheint, doch Ihr fühlt Euch kalt, sogar ein wenig feucht. Ihr nehmt einen Atemzug, doch beginnt zu husten, als Ihr Blut und Erde aushustet, die Ihr in Eure Lunge gezogen habt. "
set randomdream to -1
elseif ( randomdream <= 89 )
MessageBox "In Eurem Traum nähert Ihr Euch einem uralten Vampir. Da Ihr soeben einen gefährlichen Auftrag für ihn ausgeführt habt, seid Ihr stolzgeschwellt und sicher, dass er Euch nun noch größere Macht verleihen wird. Die Augen des gesamten Clans ruhen auf Euch. Während Ihr zum Podium schreitet, auf dem er wartet, wird Euch klar, dass der Auftrag in Wirklichkeit noch nicht abgeschlossen ist und dass Euch all Eure Vampirkräfte verlassen haben. "
set randomdream to -1
elseif ( randomdream <= 99 )
MessageBox "In Eurem Traum wandert Ihr durch die kühle Nachtluft. Euer Körper schreit nach Blut, da Ihr seit Tagen nicht mehr gespeist habt. Schwach stolpert Ihr zu einem kleinen Teich. Als Ihr Euch hinabneigt, seht Ihr, dass in diesem Teich kein Wasser ist, sondern warmes, frisches Blut, von dem Dampf aufsteigt. Ihr senkt Euren Kopf, um zu trinken, doch könnt Euren Mund nicht öffnen."
set randomdream to -1
endif
endif
End
Begin MenuMode
;3 Tage lang infiziert und schlafen => Vampirismusstufe 1
if ( hasdisease == 1 )
if ( diseaseday == 0 )
set diseaseday to GameDay
else
if diseaseday != gameday
set diseasedaycount to ( diseasedaycount + 1 )
set diseaseday to GameDay
endif
endif
endif
if ( hasdisease == 1 )
if ( diseasedaycount >= 3 )
if ( IsPCSleeping == 1 )
WakeUpPC
set PCVampire to 1
set vampmax to 25
endif
endif
endif
;Vampirstufenwechsel wenn 'vampirstatusupdate' == 1
if ( PCVampire >= 1 )
if ( vampstatusupdate == 1 )
if ( IsPCSleeping == 1 )
set PCVampire to ( PCVampire + 1 )
set vampmax to ( vampmax + 25 )
;Variablen für Vampstufe Timer aktualisieren
set vampstatusupdate to 0
set vampstatusdaycount to 0
set vampstatusday to GameDay
set vampstatushour to GameHour
;Traum
set randomdream to GetRandomPercent
set vampnow to vampmax
endif
endif
endif
End