first commit

This commit is contained in:
2019-12-30 17:23:05 +01:00
commit 7fe19ee89f
1149 changed files with 271279 additions and 0 deletions

View File

@@ -0,0 +1,119 @@
/*==========
SUB_PainNull
==========*/
void(entity attacker, float damage) SUB_PainNull = {};
/*==========
SUB_Null
==========*/
void() SUB_Null = {};
/*==========
SUB_Remove
==========*/
void() SUB_Remove = {remove(self);};
/*==========
SUB_Fade
==========*/
void() SUB_Fade =
{
if (self.alpha == 0)
self.alpha = 1;
self.alpha = self.alpha - 0.1;
if (self.alpha <= 0)
{
remove(self);
return;
}
self.think = SUB_Fade;
self.nextthink = time + 0.1;
};
/*==========
SetMoveDir
the angle field in map editors is a single float, so up and down are constant values
==========*/
void() SetMovedir =
{
if (self.angles == '0 -1 0') // up
self.movedir = '0 0 1';
else if (self.angles == '0 -2 0') // down
self.movedir = '0 0 -1';
else
{
makevectors (self.angles);
self.movedir = v_forward;
}
self.angles = '0 0 0';
};
/*==========
SUB_CalcMoveDone
After moving, set origin to exact final destination and run think1
==========*/
void() SUB_CalcMoveDone =
{
setorigin(self, self.finaldest);
self.velocity = '0 0 0';
self.think = SUB_Null;
self.nextthink = -1;
if (self.think1)
self.think1();
};
/*==========
SUB_CalcMove
calculate self.velocity and self.nextthink to reach dest from
self.origin traveling at speed
==========*/
void(vector dst, float spd, void() thnk) SUB_CalcMove =
{
if (!spd)
{
objerror("SUB_CalcMove: no speed defined");
return;
}
self.think = SUB_CalcMoveDone;
self.think1 = thnk;
self.finaldest = dst;
if (dst == self.origin)
{
self.velocity = '0 0 0';
if (self.movetype == MOVETYPE_PUSH)
self.nextthink = self.ltime + 0.01;
else
self.nextthink = time + 0.01;
return;
}
vector delta = dst - self.origin;
float traveltime = vlen(delta) / spd;
if (traveltime < 0.01)
{
self.velocity = '0 0 0';
if (self.movetype == MOVETYPE_PUSH)
self.nextthink = self.ltime + 0.01;
else
self.nextthink = time + 0.01;
return;
}
self.velocity = delta / traveltime;
if (self.movetype == MOVETYPE_PUSH)
self.nextthink = self.ltime + traveltime;
else
self.nextthink = time + traveltime;
};
void(float normal) SUB_AttackFinished =
{
self.cnt = 0; // refire count for nightmare
if (skill != 3)
self.attack_finished = time + normal;
};