summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/System.c4g/Sun.c
blob: 9a52923c38c275de5688845ba276d158cbb96635 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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());
		}
}