#pragma once #include #include // Globals float g_footsteps, g_grappling_hook; float g_warmup_allguns; float g_warmup_allow_timeout; float warmup_stage; float g_jetpack; bool sv_ready_restart; bool sv_ready_restart_after_countdown; bool sv_ready_restart_repeatable; float sv_clones; float sv_foginterval; // Fields .void(entity this, entity inflictor, entity attacker, float damage, int deathtype, .entity weaponentity, vector hitloc, vector force) event_damage; .bool(entity targ, entity inflictor, float amount, float limit) event_heal; //.string wad; //.string map; //.float worldtype; .float pain_finished; //Added by Supajoe .float pain_frame; //" .float superweapons_finished; // NOTE: this field is used only by map entities, it does not directly apply the superweapons stat const .float air_finished = _STAT(AIR_FINISHED); .float cnt; // used in too many places .float count; //.float cnt2; .float death_time; .float fade_time; .float fade_rate; .string mdl; .string playermodel; .string playerskin; .float species; .float scheduledrespawntime; .float respawntime; .float respawntimejitter; .float respawntimestart; //.float chasecam; //.float gravity; .float dmg; // for railgun damage (hitting multiple enemies) .bool railgunhit; .float railgunhitsolidbackup; .vector railgunhitloc; .float dmgtime; .float killcount; .float damage_dealt, typehitsound, killsound; .float watersound_finished; .float iscreature; .float damagedbycontents; .float damagedbytriggers; .float teleportable; .vector oldvelocity; .float pauseregen_finished; .float pauserothealth_finished; .float pauserotarmor_finished; .float pauserotfuel_finished; // string overrides entity .string item_pickupsound; .entity item_pickupsound_ent; .entity item_model_ent; // WEAPONTODO .float autoswitch; float intermission_running; float intermission_exittime; float alreadychangedlevel; // footstep interval .float nextstep; float blockSpectators; //if set, new or existing spectators or observers will be removed unless they become a player within g_maxplayers_spectator_blocktime seconds .float spectatortime; //point in time since the client is spectating or observing .float winning; .float jointime; // time of connecting .float startplaytime; // time of switching from spectator to player .float alivetime; // time of being alive .float motd_actived_time; // used for both motd and campaign_message .float spawnshieldtime; .int playerid; .float noalign; // if set to 1, the item or spawnpoint won't be dropped to the floor .vector death_origin; float default_player_alpha; float default_weapon_alpha; .float cvar_cl_handicap; .int cvar_cl_gunalign; .float cvar_cl_clippedspectating; .float cvar_cl_autoscreenshot; .float cvar_cl_jetpack_jump; .float cvar_cl_movement_track_canjump; .float cvar_cl_newusekeysupported; .float cvar_cl_cts_noautoswitch; .bool cvar_cl_weapon_switch_reload; .bool cvar_cl_weapon_switch_fallback_to_impulse; .string cvar_g_xonoticversion; .string cvar_cl_weaponpriority; .string cvar_cl_weaponpriorities[10]; .float cvar_cl_noantilag; .string weaponorder_byimpulse; .float cvar_cl_allow_uid2name; .float cvar_cl_allow_uidtracking; .bool cvar_cl_allow_uidranking; .string stored_netname; string gamemode_name; float bot_waypoints_for_items; // speedrun: when 1, player auto teleports back when capture timeout happens .float speedrunning; // database float ServerProgsDB; float TemporaryDB; .int team_saved; bool some_spawn_has_been_used; int have_team_spawns; // 0 = no team spawns requested, -1 = team spawns requested but none found, 1 = team spawns requested and found int have_team_spawns_forteams; // if Xth bit is 1 then team X has spawns else it has no spawns; team 0 is the "no-team" .bool canteamdamage; // WEAPONTODO #define DMG_NOWEP (weaponentities[0]) float sv_maxidle; float sv_maxidle_spectatorsareidle; int sv_maxidle_slots; bool sv_maxidle_slots_countbots; // autotaunt system .float cvar_cl_autotaunt; .float cvar_cl_voice_directional; .float cvar_cl_voice_directional_taunt_attenuation; int autocvar__independent_players; bool independent_players; #define INDEPENDENT_PLAYERS (autocvar__independent_players ? (autocvar__independent_players > 0) : independent_players) #define IS_INDEPENDENT_PLAYER(e) ((e).solid == SOLID_TRIGGER) #define MAKE_INDEPENDENT_PLAYER(e) (((e).solid = SOLID_TRIGGER), ((e).frags = FRAGS_PLAYER_OUT_OF_GAME)) string clientstuff; .float phase; .int pressedkeys; .string fog; string cvar_changes; string cvar_purechanges; float cvar_purechanges_count; //float game_starttime; //point in time when the countdown to game start is over //float round_starttime; //point in time when the countdown to round start is over .int projectiledeathtype; .string message2; // reset to 0 on weapon switch // may be useful to all weapons .float bulletcounter; // Nexball float g_nexball_meter_period; .void(entity this) reset; // if set, an entity is reset using this .void(entity this) reset2; // if set, an entity is reset using this (after calling ALL the reset functions for other entities) .bool wasplayer; string matchid; bool radar_showenemies; .int minelayer_mines; .float vortex_charge; .float vortex_charge_rottime; .float vortex_chargepool_ammo; .float oknex_charge; .float oknex_charge_rottime; .float oknex_chargepool_ammo; .int hagar_load; .int grab; // 0 = can't grab, 1 = owner can grab, 2 = owner and team mates can grab, 3 = anyone can grab #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_CORPSE; (e).dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE // when doing this, hagar can go through clones // #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_BBOX .int spectatee_status; .bool zoomstate; .int restriction; .entity clientdata; .entity personal; string deathmessage; .bool just_joined; .float cvar_cl_weaponimpulsemode; .int selectweapon; // last selected weapon of the player .float ballistics_density; //const int FROZEN_NOT = 0; const int FROZEN_NORMAL = 1; const int FROZEN_TEMP_REVIVING = 2; const int FROZEN_TEMP_DYING = 3; .entity realowner; //float serverflags; .bool player_blocked; .float revival_time; // time at which player was last revived .float revive_speed; // NOTE: multiplier (anything above 1 is instaheal) .float freeze_time; .entity iceblock; .entity frozen_by; // for ice fields .float misc_bulletcounter; // replaces uzi & hlac bullet counter. string modname; //// .string cvar_cl_physics; .WepSet dual_weapons; IntrusiveList g_monsters; IntrusiveList g_waypoints; IntrusiveList g_vehicles; IntrusiveList g_turrets; IntrusiveList g_mines; IntrusiveList g_projectiles; IntrusiveList g_items; IntrusiveList g_initforplayer; IntrusiveList g_clones; IntrusiveList g_spawnpoints; IntrusiveList g_bot_targets; IntrusiveList g_bot_dodge; IntrusiveList g_damagedbycontents; IntrusiveList g_railgunhit; IntrusiveList g_ladders; IntrusiveList g_locations; IntrusiveList g_saved_team; IntrusiveList g_monster_targets; IntrusiveList g_pathlib_nodes; IntrusiveList g_moveables; STATIC_INIT(defs) { g_monsters = IL_NEW(); g_waypoints = IL_NEW(); g_vehicles = IL_NEW(); g_turrets = IL_NEW(); g_mines = IL_NEW(); g_projectiles = IL_NEW(); g_items = IL_NEW(); g_initforplayer = IL_NEW(); g_clones = IL_NEW(); g_spawnpoints = IL_NEW(); g_bot_targets = IL_NEW(); g_bot_dodge = IL_NEW(); g_damagedbycontents = IL_NEW(); g_railgunhit = IL_NEW(); g_ladders = IL_NEW(); g_locations = IL_NEW(); g_saved_team = IL_NEW(); g_monster_targets = IL_NEW(); g_pathlib_nodes = IL_NEW(); g_moveables = IL_NEW(); }