terom@236: terom@236: #include "Weapons.hh" terom@236: terom@236: static struct WeaponParams { terom@236: TickCount age; terom@236: float speed; saiam@253: float recoil; ekku@305: int damage; terom@236: float explosionRadius; terom@263: float radius; terom@236: TickCount reloadTime; terom@279: float bounce; terom@338: float mass; terom@236: std::string name; terom@236: } WEAPON_PARAMS[] = { terom@338: /* age speed recoil damage expRadius radius reloadTime bounce mass name */ terom@338: { 10000, 5 * 80 + 50, 0 * 5 + 10000, 1, 0 * 6 + 5, 1, 0 * 100 + 50, 0.00, 10.0, "Weapon 1" }, terom@338: { 10000, 4 * 80 + 50, 2 * 5 + 5, 2, 1 * 6 + 5, 2, 1 * 100 + 50, 0.00, 10.0, "Weapon 2" }, terom@338: { 10000, 3 * 80 + 50, 3 * 5 + 5, 3, 2 * 6 + 5, 3, 2 * 100 + 50, 0.00, 10.0, "Weapon 3" }, terom@338: { 10000, 2 * 80 + 50, 4 * 5 + 5, 5, 3 * 6 + 5, 4, 3 * 100 + 50, 0.00, 10.0, "Weapon 4" }, terom@338: { 10000, 1 * 80 + 50, 5 * 5 + 5, 8, 4 * 6 + 5, 5, 4 * 100 + 50, 0.00, 10.0, "Weapon 5" }, terom@338: { 1000, 600, 999000, 13, 100, 10, 1000, 1.05, 10.0, "BounceBounce" }, terom@338: { 1000, 400, 100000, 0, 250, 10, 1200, 0.00, 10.0, "DigDig" }, terom@338: { 0, 0, 0, 0, 0, 0, 0, 0.00, 10.0, "" } terom@236: }; terom@236: terom@236: std::vector buildWeaponsList (void) { terom@236: std::vector weapons; terom@271: int idx = 0; terom@236: saiam@253: for (WeaponParams *wp = WEAPON_PARAMS; ekku@305: wp->age || wp->speed || wp->recoil || wp->damage || wp->explosionRadius || wp->radius || wp->bounce || wp->reloadTime; terom@338: wp++, idx++ terom@338: ) { terom@338: weapons.push_back(new Weapon(idx, terom@338: wp->age, wp->speed, wp->recoil, wp->damage, wp->explosionRadius, wp->radius, terom@338: wp->reloadTime, wp->name, wp->bounce, wp->mass terom@338: )); terom@236: } terom@236: terom@236: return weapons; terom@236: } terom@236: