Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
66 lines
2.2 KiB
Plaintext
66 lines
2.2 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Drawing include - PRC-created functions
|
|
//:: inc_draw_prc
|
|
//::///////////////////////////////////////////////
|
|
/** @file
|
|
PRC extensions and additions to gaoneng's
|
|
Pentagrams & Summoning Circles system.
|
|
|
|
@author Ornedan
|
|
@date Created - 2005.12.05
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////
|
|
/* Function prototypes */
|
|
//////////////////////////////////////////////////
|
|
|
|
/**
|
|
* An attempt at conical VFX. Draws a bunch from the center towards the edge
|
|
* of a quarter-circle.
|
|
*
|
|
* @param nLines Number of lines to draw
|
|
* @param fLength Length of the cone
|
|
* @param lOrigin The origin of the cone
|
|
* @param fDirection The direction of the cone
|
|
*
|
|
* @param nDurationType The duration type of the applied VFX
|
|
* @param nVFX Visual effect to use
|
|
* @param fDuration Duration of the visualeffects, if temporary
|
|
* @param nFrequency How many VFX per line
|
|
* @param fTime How long it takes to draw the whole thing
|
|
*/
|
|
void DrawLinesInACone(int nLines, float fLength, location lOrigin, float fDirection,
|
|
int nDurationType, int nVFX, float fDuration, int nFrequency, float fTime);
|
|
|
|
|
|
//////////////////////////////////////////////////
|
|
/* Includes */
|
|
//////////////////////////////////////////////////
|
|
|
|
#include "inc_draw"
|
|
|
|
|
|
//////////////////////////////////////////////////
|
|
/* Function definitions */
|
|
//////////////////////////////////////////////////
|
|
|
|
void DrawLinesInACone(int nLines, float fLength, location lOrigin, float fDirection,
|
|
int nDurationType, int nVFX, float fDuration, int nFrequency, float fTime)
|
|
{
|
|
float fTheta = 90.0f / nLines;
|
|
vector vCenter = GetPositionFromLocation(lOrigin);
|
|
object oArea = GetAreaFromLocation(lOrigin);
|
|
|
|
int i;
|
|
float f, fAngle;
|
|
vector vTarget;
|
|
for(i = 0; i < nLines; i++)
|
|
{
|
|
f = IntToFloat(i);
|
|
fAngle = fTheta * f + (fDirection - 45.0);
|
|
vTarget = vCenter + Vector(cos(fAngle), sin(fAngle), 0.0f);
|
|
DrawLineFromVectorToVector(nDurationType, nVFX, oArea, vCenter, vTarget, fDuration, nFrequency, fTime);
|
|
}
|
|
}
|