Mine::Mine() : WeaponLauncher(WEAPON_MINE, "minelauncher", MineConfig::GetInstance()) { UpdateTranslationStrings(); m_category = THROW; ReloadLauncher(); }
Cluzooka::Cluzooka() : WeaponLauncher(WEAPON_CLUZOOKA, "cluzooka", new CluzookaConfig()) { UpdateTranslationStrings(); m_category = HEAVY; ReloadLauncher(); }
FootBombLauncher::FootBombLauncher() : WeaponLauncher(WEAPON_FOOTBOMB, "footbomb", new FootBombConfig()) { UpdateTranslationStrings(); m_category = THROW; ignore_collision_signal = true; ReloadLauncher(); }
ClusterLauncher::ClusterLauncher() : WeaponLauncher(WEAPON_CLUSTER_BOMB, "cluster_bomb", new ClusterBombConfig()) { UpdateTranslationStrings(); m_category = THROW; ignore_collision_signal = true; ReloadLauncher(); }
DiscoGrenadeLauncher::DiscoGrenadeLauncher() : WeaponLauncher(WEAPON_DISCO_GRENADE, "disco_grenade", new ExplosiveWeaponConfig()) { UpdateTranslationStrings(); m_category = THROW; m_allow_change_timeout = true; ignore_collision_signal = true; ReloadLauncher(); }
PolecatLauncher::PolecatLauncher() : WeaponLauncher(WEAPON_POLECAT, "polecatlauncher", new ExplosiveWeaponConfig()), current_polecat(NULL), polecat_death_time(0) { UpdateTranslationStrings(); m_category = SPECIAL; ReloadLauncher(); // unit will be used when the polecat disappears use_unit_on_first_shoot = false; }
void Mine::Add(int x, int y) { projectile->SetXY(Point2i(x, y)); projectile->SetOverlappingObject(&ActiveCharacter()); // add the character speed if(ActiveCharacter().GetDirection() == 1) projectile->SetSpeed(1.0, -QUARTER_PI); else projectile->SetSpeed(1.0, -THREE * QUARTER_PI); ObjectsList::GetRef().AddObject (projectile); projectile = NULL; ReloadLauncher(); }
TuxLauncher::TuxLauncher() : WeaponLauncher(WEAPON_SUPERTUX, "tux", new SuperTuxWeaponConfig()) { UpdateTranslationStrings(); m_category = SPECIAL; current_tux = NULL; tux_death_time = 0; ReloadLauncher(); // unit will be used when the supertux disappears use_unit_on_first_shoot = false; // Supertux doesn't drown! it swims! ignore_drowning_signal = true; }