X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fdefs.qh;h=9d7421987c1ce254c5ce4da58139214d594a6d53;hb=cbaaedf5e63f6f24948c6f83d302c9ea9125a32c;hp=afe5814a516140630f3e9a1f60d39943e2e9b129;hpb=4afba1cb5f5e1526d4f8c26dae616b6bc32e9461;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index afe5814a5..9d7421987 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -25,9 +25,7 @@ float currentbots; float bots_would_leave; void UpdateFrags(entity player, int f); -.float totalfrags; - -float team1_score, team2_score, team3_score, team4_score; +.int totalfrags; // flag set on worldspawn so that the code knows if it is dedicated or not float server_is_dedicated; @@ -36,12 +34,14 @@ float server_is_dedicated; .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; // Needed for dynamic clientwalls -.float inactive; // Clientwall disappears when inactive +.bool inactive; // Clientwall disappears when inactive .float alpha_max, alpha_min; .float fade_start, fade_end, fade_vertical_offset; .float default_solid; // Variable to store default .solid for clientwalls @@ -50,7 +50,8 @@ float server_is_dedicated; .float pain_frame; //" .float crouch; // Crouching or not? -.float superweapons_finished = _STAT(SUPERWEAPONS_FINISHED); +.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; @@ -92,7 +93,6 @@ const float MAX_DAMAGEEXTRARADIUS = 16; .float railgunhitsolidbackup; .vector railgunhitloc; -.float air_finished; .float dmgtime; .float killcount; @@ -140,7 +140,6 @@ float blockSpectators; //if set, new or existing spectators or observers will be .float spectatortime; //point in time since the client is spectating or observing void checkSpectatorBlock(entity this); -float game_completion_ratio; // 0 at start, 1 near end .float winning; .float jointime; // time of connecting .float startplaytime; // time of switching from spectator to player @@ -163,11 +162,15 @@ 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; @@ -178,6 +181,7 @@ float default_weapon_alpha; .float cvar_cl_allow_uid2name; .float cvar_cl_allow_uidtracking; +.bool cvar_cl_allow_uidranking; .string stored_netname; string gamemode_name; @@ -187,11 +191,6 @@ string W_Apply_Weaponreplace(string in); void FixIntermissionClient(entity e); void FixClientCvars(entity e); -// WEAPONTODO: remove this -//WepSet weaponsInMap; - -#define weapons _STAT(WEAPONS) - .float respawn_countdown; // next number to count float bot_waypoints_for_items; @@ -203,10 +202,7 @@ float bot_waypoints_for_items; #else #define ATTACK_FINISHED_FOR(ent, w, slot) ((ent).attack_finished_single[slot]) #endif -#define ATTACK_FINISHED(ent, slot) ATTACK_FINISHED_FOR(ent, ent.(weaponentity).m_weapon.m_id, slot) - -// assault game mode: Which team is attacking in this round? -float assault_attacker_team; +#define ATTACK_FINISHED(ent, w) ATTACK_FINISHED_FOR(ent, ent.(w).m_weapon.m_id, weaponslot(w)) // speedrun: when 1, player auto teleports back when capture timeout happens .float speedrunning; @@ -215,15 +211,12 @@ float assault_attacker_team; float ServerProgsDB; float TemporaryDB; -.float team_saved; +.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" -// set when showing a kill countdown -.entity killindicator; - .bool canteamdamage; void Damage (entity targ, entity inflictor, entity attacker, float damage, int deathtype, .entity weaponentity, vector hitloc, vector force); @@ -231,8 +224,6 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, int d // WEAPONTODO #define DMG_NOWEP (weaponentities[0]) -float lockteams; - float sv_maxidle; float sv_maxidle_spectatorsareidle; int sv_maxidle_slots; @@ -251,7 +242,7 @@ 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_NONSOLID)) +#define MAKE_INDEPENDENT_PLAYER(e) (((e).solid = SOLID_TRIGGER), ((e).frags = FRAGS_PLAYER_OUT_OF_GAME)) string clientstuff; .float phase; @@ -279,9 +270,6 @@ void W_Porto_Remove (entity p); // Nexball float g_nexball_meter_period; -void SUB_DontUseTargets(entity this, entity actor, entity trigger); -void SUB_UseTargets(entity this, entity actor, entity trigger); - .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) @@ -308,16 +296,11 @@ string matchid; bool radar_showennemies; -#ifdef PROFILING -float client_cefc_accumulator; -float client_cefc_accumulatortime; -#endif - .float weapon_load[Weapons_MAX]; .int ammo_none; // used by the reloading system, must always be 0 -.float clip_load; -.float old_clip_load; -.float clip_size; +.int clip_load; +.int old_clip_load; +.int clip_size; .int minelayer_mines; .float vortex_charge; @@ -334,9 +317,9 @@ float client_cefc_accumulatortime; // when doing this, hagar can go through clones // #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_BBOX -.float spectatee_status; -.float zoomstate; -.float restriction; +.int spectatee_status; +.bool zoomstate; +.int restriction; .entity clientdata; .entity personal; @@ -346,24 +329,27 @@ string deathmessage; .bool just_joined; .float cvar_cl_weaponimpulsemode; -.float selectweapon; // last selected weapon of the player +.int selectweapon; // last selected weapon of the player -.float ballistics_density; // wall piercing factor, larger = bullet can pass through more +.float ballistics_density; -const float ACTIVE_NOT = 0; -const float ACTIVE_ACTIVE = 1; -const float ACTIVE_IDLE = 2; -const float ACTIVE_BUSY = 2; -const float ACTIVE_TOGGLE = 3; -.float active; +//const int FROZEN_NOT = 0; +const int FROZEN_NORMAL = 1; +const int FROZEN_TEMP_REVIVING = 2; +const int FROZEN_TEMP_DYING = 3; + +const int ACTIVE_NOT = 0; +const int ACTIVE_ACTIVE = 1; +const int ACTIVE_IDLE = 2; +const int ACTIVE_BUSY = 2; +const int ACTIVE_TOGGLE = 3; +.int active; .void (entity this, int act_state) setactive; .entity realowner; //float serverflags; -.float team_forced; // can be a team number to force a team, or 0 for default action, or -1 for forced spectator - -.float player_blocked; +.bool player_blocked; .float revival_time; // time at which player was last revived .float revive_speed; // NOTE: multiplier (anything above 1 is instaheal) @@ -374,8 +360,6 @@ const float ACTIVE_TOGGLE = 3; .entity muzzle_flash; .float misc_bulletcounter; // replaces uzi & hlac bullet counter. -.int killindicator_teamchange; - void PlayerUseKey(entity this); USING(spawn_evalfunc_t, vector(entity this, entity player, entity spot, vector current)); @@ -383,7 +367,7 @@ USING(spawn_evalfunc_t, vector(entity this, entity player, entity spot, vector c string modname; -.float missile_flags; +.int missile_flags; const int MIF_SPLASH = BIT(1); const int MIF_ARC = BIT(2); const int MIF_PROXY = BIT(3); @@ -427,6 +411,7 @@ 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(); @@ -448,4 +433,5 @@ STATIC_INIT(defs) g_saved_team = IL_NEW(); g_monster_targets = IL_NEW(); g_pathlib_nodes = IL_NEW(); + g_moveables = IL_NEW(); }