MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / TriggerTonyEffect

Function TriggerTonyEffect

TombEngine/Objects/TR3/Entity/tr3_tony.cpp:88–118  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86 };
87
88 static void TriggerTonyEffect(const TonyFlame& flame)
89 {
90 int fxNumber = CreateNewEffect(flame.RoomNumber);
91 if (fxNumber == NO_VALUE)
92 return;
93
94 auto& fx = EffectList[fxNumber];
95
96 fx.pos.Position = flame.Position;
97 fx.fallspeed = flame.VerticalVelocity;
98 fx.pos.Orientation = EulerAngles(0, flame.yRot, 0);
99 fx.objectNumber = ID_TONY_BOSS_FLAME;
100 fx.flag1 = (short)flame.Type;
101 fx.speed = flame.speed;
102 fx.color = Vector4::Zero;
103
104 switch (flame.Type)
105 {
106 case TonyFlameType::InFrontDebris:
107 fx.flag2 *= 2;
108 break;
109
110 case TonyFlameType::InFront:
111 fx.flag2 = 0;
112 break;
113
114 default:
115 fx.flag2 = (GetRandomControl() & 3) + 1;
116 break;
117 }
118 }
119
120 static void TriggerTonyFlame(short itemNumber, int hand)
121 {

Callers 1

TriggerFireBallFunction · 0.85

Calls 3

CreateNewEffectFunction · 0.85
GetRandomControlFunction · 0.85
EulerAnglesClass · 0.50

Tested by

no test coverage detected