From de97f8b2898e8fd00c5d6108e2832b7e6cd3668f Mon Sep 17 00:00:00 2001 From: Jan <> Date: Mon, 2 Feb 2015 18:49:15 +0100 Subject: TemplePushingB.c4s --- TemplePushing.c4s/System.c4g/Sun.c | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 TemplePushing.c4s/System.c4g/Sun.c (limited to 'TemplePushing.c4s/System.c4g/Sun.c') diff --git a/TemplePushing.c4s/System.c4g/Sun.c b/TemplePushing.c4s/System.c4g/Sun.c new file mode 100644 index 0000000..9a52923 --- /dev/null +++ b/TemplePushing.c4s/System.c4g/Sun.c @@ -0,0 +1,47 @@ +/*-- Sun --*/ + +#strict + +#appendto SONE + +private func BerechneSonneY() +{ + var ZeitObjekt = FindObject(TIME); + if(!ZeitObjekt) + SonneY = 30; + + else return _inherited(); +} + +protected func TuWasBraves() +{ + // Bei vorhandenem Lenseflare (mit integrierter Sonne) kann dieses Objekt gelöscht werden + if(ObjectCount(LENS)) + { + RemoveObject(this()); + return(); + } + // Hat es seinen Besitzer verloren? :( + if((!GetPlayerName(GetOwner())) || GetOwner()==-1) + { + RemoveObject(this()); + return(); + } + // Sonnenposition anpassen + BerechneSonne(); + SetPosition(SonneX,SonneY); + // Nachts ausblenden + if(IsDay()) + SetVisibility (VIS_Owner()); + else + SetVisibility (VIS_None()); + // Bei Nähe zur Sonne blenden + var VektorDist=GibVektorDist(GetOwner()); + if(IsDay()) + { + var Gelbstich = BoundBy((500-VektorDist)/5,0,100); // Prozentangabe 0 = weit weg, 100 = nahe; 500 Pixel sind dabei "weit weg" + SetGamma (RGB(000+(30*Gelbstich)/100,000+(30*Gelbstich)/100,000), + RGB(128+(60*Gelbstich)/100,128+(60*Gelbstich)/100,128), + RGB(255,255,255), GammaRampe_Lenseflare()); + } +} \ No newline at end of file -- cgit v1.2.3-54-g00ecf