src/Weapon.cc
author ekku
Mon, 08 Dec 2008 15:59:33 +0000
changeset 287 f59c8dee7f91
parent 282 e0e4dfc3e528
child 305 56799ec8d7be
permissions -rw-r--r--
getType added for physics object
212
4389c1e6b9b8 Weapon.cc&hh
nireco
parents:
diff changeset
     1
#include "Weapon.hh"
4389c1e6b9b8 Weapon.cc&hh
nireco
parents:
diff changeset
     2
271
bf6784a95b08 touch up weapon/projectile with comments and slight tweaking
terom
parents: 263
diff changeset
     3
Weapon::Weapon(WeaponID id, TickCount expire, float velocity, float recoil, float explosionRadius, float radius,
279
e36f5e1a1c8d let projectiles bounce, the new BounceBounce weapon puts the Physics engine into an infinite loop
terom
parents: 271
diff changeset
     4
        TimeMS reloadTime, std::string name, float bounce) : 
282
e0e4dfc3e528 compiles cleanly with -Wall -Wextra -Wconversion, not tested, but that shouldn't break anything :)
terom
parents: 279
diff changeset
     5
    id(id), 
e0e4dfc3e528 compiles cleanly with -Wall -Wextra -Wconversion, not tested, but that shouldn't break anything :)
terom
parents: 279
diff changeset
     6
    name(name), 
e0e4dfc3e528 compiles cleanly with -Wall -Wextra -Wconversion, not tested, but that shouldn't break anything :)
terom
parents: 279
diff changeset
     7
    velocity(velocity), 
e0e4dfc3e528 compiles cleanly with -Wall -Wextra -Wconversion, not tested, but that shouldn't break anything :)
terom
parents: 279
diff changeset
     8
    explosionRadius(explosionRadius), 
e0e4dfc3e528 compiles cleanly with -Wall -Wextra -Wconversion, not tested, but that shouldn't break anything :)
terom
parents: 279
diff changeset
     9
    radius(radius),
e0e4dfc3e528 compiles cleanly with -Wall -Wextra -Wconversion, not tested, but that shouldn't break anything :)
terom
parents: 279
diff changeset
    10
    reloadTime(reloadTime), 
e0e4dfc3e528 compiles cleanly with -Wall -Wextra -Wconversion, not tested, but that shouldn't break anything :)
terom
parents: 279
diff changeset
    11
    recoil(recoil), 
e0e4dfc3e528 compiles cleanly with -Wall -Wextra -Wconversion, not tested, but that shouldn't break anything :)
terom
parents: 279
diff changeset
    12
    expire(expire), 
e0e4dfc3e528 compiles cleanly with -Wall -Wextra -Wconversion, not tested, but that shouldn't break anything :)
terom
parents: 279
diff changeset
    13
    reloadTimer(0), 
e0e4dfc3e528 compiles cleanly with -Wall -Wextra -Wconversion, not tested, but that shouldn't break anything :)
terom
parents: 279
diff changeset
    14
    bounce(bounce)
221
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    15
{
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    16
212
4389c1e6b9b8 Weapon.cc&hh
nireco
parents:
diff changeset
    17
}
4389c1e6b9b8 Weapon.cc&hh
nireco
parents:
diff changeset
    18
221
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    19
void Weapon::tickReload (TimeMS dt) {
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    20
    reloadTimer -= dt;
271
bf6784a95b08 touch up weapon/projectile with comments and slight tweaking
terom
parents: 263
diff changeset
    21
221
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    22
    if (reloadTimer < 0)
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    23
        reloadTimer = 0;
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    24
}
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    25
271
bf6784a95b08 touch up weapon/projectile with comments and slight tweaking
terom
parents: 263
diff changeset
    26
bool Weapon::canShoot() const {
221
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    27
    return (reloadTimer == 0);
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    28
}
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    29
223
2fcaf54ed37b basic network-projectiles
terom
parents: 221
diff changeset
    30
void Weapon::reload (void) {
221
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    31
    // set the reload timer
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    32
    reloadTimer = reloadTime;
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    33
}
fbc5db6fce45 reorganize the weapons code and input handling code
terom
parents: 212
diff changeset
    34