Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SetStateByPlayerInfo()

void Terraria.GameContent.PlayerEyeHelper.SetStateByPlayerInfo ( Player player)
inlineprivate

Definition at line 75 of file PlayerEyeHelper.cs.

76 {
77 if (player.blackout || player.blind)
78 {
79 SwitchToState(EyeState.IsBlind);
80 }
81 else
82 {
83 if (_state == EyeState.JustTookDamage && _timeInState < 20)
84 {
85 return;
86 }
87 if (player.sleeping.isSleeping)
88 {
89 bool resetStateTimerEvenIfAlreadyInState = player.itemAnimation > 0;
90 SwitchToState(EyeState.InBed, resetStateTimerEvenIfAlreadyInState);
91 return;
92 }
94 {
95 SwitchToState(EyeState.IsModeratelyDamaged);
96 return;
97 }
98 if (player.tipsy)
99 {
100 SwitchToState(EyeState.IsTipsy);
101 return;
102 }
103 if (player.poisoned || player.venom || player.starving)
104 {
105 SwitchToState(EyeState.IsPoisoned);
106 return;
107 }
108 bool flag = player.ZoneSandstorm || (player.ZoneSnow && Main.IsItRaining);
109 if (player.behindBackWall)
110 {
111 flag = false;
112 }
113 if (flag)
114 {
115 SwitchToState(EyeState.InStorm);
116 }
117 else
118 {
119 SwitchToState(EyeState.NormalBlinking);
120 }
121 }
122 }
bool DoesPlayerCountAsModeratelyDamaged(Player player)
void SwitchToState(EyeState newState, bool resetStateTimerEvenIfAlreadyInState=false)

References Terraria.GameContent.PlayerEyeHelper._state, Terraria.GameContent.PlayerEyeHelper._timeInState, Terraria.Player.behindBackWall, Terraria.Player.blackout, Terraria.Player.blind, Terraria.GameContent.PlayerEyeHelper.DoesPlayerCountAsModeratelyDamaged(), Terraria.Main.IsItRaining, Terraria.Player.poisoned, Terraria.Player.sleeping, Terraria.Player.starving, Terraria.GameContent.PlayerEyeHelper.SwitchToState(), Terraria.Player.tipsy, and Terraria.Player.venom.

Referenced by Terraria.GameContent.PlayerEyeHelper.Update().