1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
#ifndef WEAPON_FLAGS_H
#define WEAPON_FLAGS_H
#include "globalincs/flagset.h"
namespace Weapon {
FLAG_LIST(Info_Flags) {
Homing_heat, // if set, this weapon homes via seeking heat
Homing_aspect, // if set, this weapon homes via chasing aspect
Electronics, // Takes out electronics systems.
Spawn, // Spawns projectiles on detonation.
Remote, // Can be remotely detonated by parent.
Puncture, // Punctures armor, damaging subsystems.
Supercap, // This is a weapon which does supercap class damage (meaning, it applies real damage to supercap ships)
Cmeasure, // Weapon acts as a countermeasure
Homing_javelin, // WC Saga Javelin HS style heatseeker, locks only on target's engines
Turns, // Set this if the weapon ever changes heading. If you don't set this and the weapon turns, collision detection won't work, I promise!
Swarm, // Missile "swarms".. ie changes heading and twists on way to target
Trail, // Has a trail
Big_only, // Only big ships (cruiser, capital, etc.) can arm this weapon
Child, // No ship can have this weapon. It gets created by weapon detonations.
Bomb, // Bomb-type missile, can be targeted
Huge, // Huge damage (generally 500+), probably only fired at huge ships.
No_dumbfire, // Missile cannot be fired dumbfire (ie requires aspect lock)
No_doublefire, // Disables linked firing for secondaries - EatThePath
Thruster, // Has thruster cone and/or glow
In_tech_database,
Player_allowed, // allowed to be on starting wing ships/in weaponry pool
Default_player_weapon, // added to the weapons pool by default
Bomber_plus, // Fire this missile only at a bomber or big ship. But not a fighter.
Corkscrew, // corkscrew style missile
Particle_spew, // spews particles as it travels
Emp, // weapon explodes with a serious EMP effect
Energy_suck, // energy suck primary (impact effect)
Flak, // use for big-ship turrets - flak gun
Beam, // if this is a beam weapon : NOTE - VERY SPECIAL CASE
Tag, // this weapon has a tag effect when it hits
Shudder, // causes the weapon to shudder. shudder is proportional to the mass and damage of the weapon
Mflash, // has muzzle flash
Lockarm, // if the missile was fired without a lock, it does significanlty less damage on impact
Ballistic, // ballistic primaries - Goober5000
Pierce_shields, // shield pierceing -Bobboau
Default_in_tech_database, // this entry's default tech database status, as specified in weapons.tbl; used when the tech db is "reset to default" - Goober5000
Local_ssm, // localized ssm. ship that fires ssm is in mission. ssms also warp back in during mission
Tagged_only, // can only fire if target is tagged
Cycle, // will only fire from (shots (defalts to 1)) points at a time
Small_only, // can only be used against small ships like fighters or bombers
Same_turret_cooldown, // the weapon has the same cooldown time on turrets
Mr_no_lighting, // don't render with lighting, regardless of user options
Transparent, // render as transparent
Training, // Weapon does shield/hull damage, but doesn't hurt subsystems, whack you, or put marks on your ship.
Smart_spawn, // Spawn weapon that is fired via turrets like normal weapons
Inherit_parent_target, // child weapons home in on the target their parent is homing on.
No_emp_kill, // though weapon has hitpoints it can not be disabled by EMP
Variable_lead_homing, // allows user defined scaler to be added to lead (to enable, lead, pure or lag pursuit for missiles)
Untargeted_heat_seeker, // forces heat seeker to lose target immeadiately (and acquire a random new one)
No_radius_doubling, // removes the radius doubling effect bombs have for collisions
Non_subsys_homing, // spreads fired missiles around the target ships hull
No_life_lost_if_missed, // prevents game from shortening the lifeleft of the missed but still homing missiles
Custom_seeker_str, // sets the game to use custom seeker strengths instead of default values
Can_be_targeted, // allows non-bomb weapons to be targeted
Shown_on_radar, // allows non-bombs be visible on radar
Show_friendly, // allows friendly weapon radar dots be drawn
Capital_plus, // AI will not use this weapon on fighters or bombers
External_weapon_fp, // will try to use external models FPs if possible
External_weapon_lnch, // render external secondary as a launcher
Takes_blast_damage, // This weapon can take blast damage
Takes_shockwave_damage, // This weapon can take shockwave damage
Dont_show_on_radar, // Force a weapon to not show on radar
Render_flak, // Even though this is a flak weapon, render the shell
Ciws, // This weapons' burst and shockwave damage can damage bombs (Basically, a reverse for TAKES_BLAST/SHOCKWAVE_DAMAGE
Antisubsysbeam, // This beam can target subsystems as per normal
Nolink, // This weapon can not be linked with others
Use_emp_time_for_capship_turrets, // override MAX_TURRET_DISRUPT_TIME in emp.cpp - Goober5000
No_linked_penalty, // This weapon does not count into linked firing penalty
No_homing_speed_ramp, // Disables the 1s long speed ramping when firing locked-on secondaries
Cmeasure_aspect_home_on, // This countermeasure flag makes aspect seekers home on the countermeasure instead of going into dumbfire mode
Turret_Interceptable, // These two flags mark a weapon as being interceptable by the AI
Fighter_Interceptable, // (like WIF_BOMB), without forcing it to be tagetable -MageKing17
Aoe_Electronics, // Apply electronics effect across the weapon's entire area of effect instead of just on the impacted ship -MageKing17
Apply_Recoil, // Apply Recoil using weapon and ship info
Dont_spawn_if_shot, // Prevent shot down parent weapons from spawning children (DahBlount)
Die_on_lost_lock, // WIF_LOCKED_HOMING missiles will die if they lose their lock
Has_display_name, // Goober5000
No_impact_spew, // Goober5000
Require_exact_los, // If secondary or in turret, will only fire if ship has line of sight to target
Can_damage_shooter, // this weapon and any of its descendants can damage its shooter - Asteroth
Heals, // 'damage' heals instead of actually damaging - Asteroth
Vampiric, // damage applied also brings back health to the shooter - Strygon
SecondaryNoAmmo, // Secondaries that only use energy
No_collide,
Multilock_target_dead_subsys,
No_evasion, // AI will not attempt to dodge this weapon - Asteroth
Dont_merge_indicators, // This secondary lead indicator won't be merged with the primary lead indicator even if this is a homing weapon.
No_fred, // not available in fred
Detonate_on_expiration, // Secondary weapons always detonate when their lifetime runs out, but now primary weapons can too
Ignores_countermeasures, // The weapon will never be affected by countermeasures
NUM_VALUES
};
FLAG_LIST(Weapon_Flags) {
Lock_warning_played, // set when a lock warning sound is played for the player (needed since we don't want to play multiple lock sounds)
Already_applied_stats, // for use in ship_apply_local and ship_apply_global damage functions so that we don't record multiple hits (stats) for one impact
Played_flyby_sound, // flyby sound has been played for this weapon
Consider_for_flyby_sound, // consider for flyby
Dead_in_water, // a missiles engines have died
Locked_when_fired, // fired with a lock
Destroyed_by_weapon, // destroyed by damage from other weapon
Spawned, //Spawned from a spawning type weapon
No_homing, // this weapon should ignore any homing behavior it'd usually have
Overridden_homing, // Homing is overridden by an external source (probably scripting)
Multi_homing_update_needed, // this is a newly spawned homing weapon which needs to update client machines
Multi_Update_Sent, // Marks this missile as already being updated once by the server
Begun_detonation, // The engine has set this weapon to detonate momentarily
NUM_VALUES
};
FLAG_LIST(Burst_Flags) {
Fast_firing,
Random_length,
Resets,
Num_firepoints_burst_shots, // Burst shots is set to however many firepoints the firer has
Burst_only_loop_sounds, // start/loop/end sounds trigger on the start and end of bursts in addition to the trigger state
NUM_VALUES
};
FLAG_LIST(Beam_Info_Flags) {
Burst_share_random,
Track_own_texture_tiling,
NUM_VALUES
};
}
#endif
|