#include "Audio/Sounds.hpp"
#include "Game.hpp"
#include "Level/Awards.hpp"
+#include "Tutorial.hpp"
extern float multiplier;
extern Terrain terrain;
extern float viewdistance;
extern float blackout;
extern bool freeze;
-extern int tutoriallevel;
extern int numthrowkill;
Model Weapon::throwingknifemodel;
if (whichhit != -1) {
if (Object::objects[k]->type == treetrunktype) {
Object::objects[k]->model.MakeDecal(breakdecal, DoRotation(colpoint - Object::objects[k]->position, 0, -Object::objects[k]->yaw, 0), .1, 1, Random() % 360);
- normalrot = DoRotation(Object::objects[k]->model.facenormals[whichhit], 0, Object::objects[k]->yaw, 0);
+ normalrot = DoRotation(Object::objects[k]->model.Triangles[whichhit].facenormal, 0, Object::objects[k]->yaw, 0);
velocity = 0;
if (type == knife)
position = colpoint - normalrot * .1;
Person::players[j]->jointVel(neck) += velocity * 2;
Person::players[j]->jointVel(rightshoulder) += velocity * 2;
Person::players[j]->jointVel(leftshoulder) += velocity * 2;
- if (bloodtoggle && tutoriallevel != 1)
+ if (bloodtoggle && !Tutorial::active)
Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 0, 0, .8, .3);
- if (tutoriallevel == 1)
+ if (Tutorial::active)
Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 1, 1, .8, .3);
footvel = tippoint - position;
Normalise(&footvel);
- if (bloodtoggle && tutoriallevel != 1)
+ if (bloodtoggle && !Tutorial::active)
Sprite::MakeSprite(bloodflamesprite, footpoint, footvel * -1, 1, 0, 0, .6, 1);
- if (tutoriallevel != 1) {
+ if (!Tutorial::active) {
if (Person::players[j]->weaponstuckwhere == 0)
Person::players[j]->DoBloodBig(2, 205);
if (Person::players[j]->weaponstuckwhere == 1)
if (whichhit != -1) {
hitsomething = 1;
position = colpoint;
- terrainnormal = DoRotation(Object::objects[k]->model.facenormals[whichhit], 0, Object::objects[k]->yaw, 0) * -1;
+ terrainnormal = DoRotation(Object::objects[k]->model.Triangles[whichhit].facenormal, 0, Object::objects[k]->yaw, 0) * -1;
ReflectVector(&velocity, &terrainnormal);
position += terrainnormal * .002;
if (whichhit != -1) {
hitsomething = 1;
tippoint = colpoint;
- terrainnormal = DoRotation(Object::objects[k]->model.facenormals[whichhit], 0, Object::objects[k]->yaw, 0) * -1;
+ terrainnormal = DoRotation(Object::objects[k]->model.Triangles[whichhit].facenormal, 0, Object::objects[k]->yaw, 0) * -1;
ReflectVector(&tipvelocity, &terrainnormal);
tippoint += terrainnormal * .002;
if (whichhit != -1) {
hitsomething = 1;
mid = colpoint;
- terrainnormal = DoRotation(Object::objects[k]->model.facenormals[whichhit], 0, Object::objects[k]->yaw, 0) * -1;
+ terrainnormal = DoRotation(Object::objects[k]->model.Triangles[whichhit].facenormal, 0, Object::objects[k]->yaw, 0) * -1;
ReflectVector(&velocity, &terrainnormal);
bounceness = terrainnormal * findLength(&velocity) * (abs(normaldotproduct(velocity, terrainnormal)));
if (whichhit != -1) {
hitsomething = 1;
mid = colpoint;
- terrainnormal = DoRotation(Object::objects[k]->model.facenormals[whichhit], 0, Object::objects[k]->yaw, 0) * -1;
+ terrainnormal = DoRotation(Object::objects[k]->model.Triangles[whichhit].facenormal, 0, Object::objects[k]->yaw, 0) * -1;
ReflectVector(&tipvelocity, &terrainnormal);
bounceness = terrainnormal * findLength(&tipvelocity) * (abs(normaldotproduct(tipvelocity, terrainnormal)));
Weapons::Weapons()
{
}
-
-Weapons::~Weapons()
-{
- Weapon::stafftextureptr.destroy();
- Weapon::knifetextureptr.destroy();
- Weapon::lightbloodknifetextureptr.destroy();
- Weapon::bloodknifetextureptr.destroy();
- Weapon::swordtextureptr.destroy();
- Weapon::lightbloodswordtextureptr.destroy();
- Weapon::bloodswordtextureptr.destroy();
-}
-