Merge branch 'garymoon/show-server-name-in-info' into 'master'
authorMario <mario.mario@y7mail.com>
Mon, 18 May 2020 09:47:06 +0000 (09:47 +0000)
committerMario <mario.mario@y7mail.com>
Mon, 18 May 2020 09:47:06 +0000 (09:47 +0000)
Display server hostname in welcome message and info

See merge request xonotic/xonotic-data.pk3dir!797

1  2 
qcsrc/server/client.qc

diff --combined qcsrc/server/client.qc
@@@ -334,9 -334,9 +334,9 @@@ void PutObserverInServer(entity this
        this.fade_time = 0;
        this.pain_frame = 0;
        this.pain_finished = 0;
 -      this.strength_finished = 0;
 -      this.invincible_finished = 0;
 -      this.superweapons_finished = 0;
 +      STAT(STRENGTH_FINISHED, this) = 0;
 +      STAT(INVINCIBLE_FINISHED, this) = 0;
 +      STAT(SUPERWEAPONS_FINISHED, this) = 0;
        this.air_finished = 0;
        //this.dphitcontentsmask = 0;
        this.dphitcontentsmask = DPCONTENTS_SOLID;
@@@ -589,7 -589,7 +589,7 @@@ void PutPlayerInServer(entity this
  
        PS(this).dual_weapons = '0 0 0';
  
 -      this.superweapons_finished = (STAT(WEAPONS, this) & WEPSET_SUPERWEAPONS) ? time + autocvar_g_balance_superweapons_time : 0;
 +      STAT(SUPERWEAPONS_FINISHED, this) = (STAT(WEAPONS, this) & WEPSET_SUPERWEAPONS) ? time + autocvar_g_balance_superweapons_time : 0;
  
        this.items = start_items;
  
        this.punchangle = '0 0 0';
        this.punchvector = '0 0 0';
  
 -      this.strength_finished = 0;
 -      this.invincible_finished = 0;
 +      STAT(STRENGTH_FINISHED, this) = 0;
 +      STAT(INVINCIBLE_FINISHED, this) = 0;
        this.fire_endtime = -1;
        STAT(REVIVE_PROGRESS, this) = 0;
        this.revival_time = 0;
@@@ -1042,7 -1042,9 +1042,9 @@@ string getwelcomemessage(entity this
        modifications = substring(modifications, 2, strlen(modifications) - 2);
  
        string versionmessage = GetClientVersionMessage(this);
-       string s = strcat(versionmessage, "^8\n^8\nmatch type is ^1", gamemode_name, "^8\n");
+       string s = strcat(versionmessage, "^8\n^8\nhost is ^9", autocvar_hostname, "^8\n");
+       s = strcat(s, "^8\nmatch type is ^1", gamemode_name, "^8\n");
  
        if(modifications != "")
                s = strcat(s, "^8\nactive modifications: ^3", modifications, "^8\n");
@@@ -1415,9 -1417,9 +1417,9 @@@ void player_powerups(entity this
        {
                if (this.items & ITEM_Strength.m_itemid)
                {
 -                      play_countdown(this, this.strength_finished, SND_POWEROFF);
 +                      play_countdown(this, STAT(STRENGTH_FINISHED, this), SND_POWEROFF);
                        this.effects = this.effects | (EF_BLUE | EF_ADDITIVE | EF_FULLBRIGHT);
 -                      if (time > this.strength_finished)
 +                      if (time > STAT(STRENGTH_FINISHED, this))
                        {
                                this.items = this.items - (this.items & ITEM_Strength.m_itemid);
                                //Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_POWERDOWN_STRENGTH, this.netname);
                }
                else
                {
 -                      if (time < this.strength_finished)
 +                      if (time < STAT(STRENGTH_FINISHED, this))
                        {
                                this.items = this.items | ITEM_Strength.m_itemid;
                                if(!g_cts)
                }
                if (this.items & ITEM_Shield.m_itemid)
                {
 -                      play_countdown(this, this.invincible_finished, SND_POWEROFF);
 +                      play_countdown(this, STAT(INVINCIBLE_FINISHED, this), SND_POWEROFF);
                        this.effects = this.effects | (EF_RED | EF_ADDITIVE | EF_FULLBRIGHT);
 -                      if (time > this.invincible_finished)
 +                      if (time > STAT(INVINCIBLE_FINISHED, this))
                        {
                                this.items = this.items - (this.items & ITEM_Shield.m_itemid);
                                //Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_POWERDOWN_SHIELD, this.netname);
                }
                else
                {
 -                      if (time < this.invincible_finished)
 +                      if (time < STAT(INVINCIBLE_FINISHED, this))
                        {
                                this.items = this.items | ITEM_Shield.m_itemid;
                                if(!g_cts)
                {
                        if (!(STAT(WEAPONS, this) & WEPSET_SUPERWEAPONS))
                        {
 -                              this.superweapons_finished = 0;
 +                              STAT(SUPERWEAPONS_FINISHED, this) = 0;
                                this.items = this.items - (this.items & IT_SUPERWEAPON);
                                //Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_SUPERWEAPON_LOST, this.netname);
                                Send_Notification(NOTIF_ONE, this, MSG_CENTER, CENTER_SUPERWEAPON_LOST);
                        }
                        else
                        {
 -                              play_countdown(this, this.superweapons_finished, SND_POWEROFF);
 -                              if (time > this.superweapons_finished)
 +                              play_countdown(this, STAT(SUPERWEAPONS_FINISHED, this), SND_POWEROFF);
 +                              if (time > STAT(SUPERWEAPONS_FINISHED, this))
                                {
                                        this.items = this.items - (this.items & IT_SUPERWEAPON);
                                        STAT(WEAPONS, this) &= ~WEPSET_SUPERWEAPONS;
                }
                else if(STAT(WEAPONS, this) & WEPSET_SUPERWEAPONS)
                {
 -                      if (time < this.superweapons_finished || (this.items & IT_UNLIMITED_SUPERWEAPONS))
 +                      if (time < STAT(SUPERWEAPONS_FINISHED, this) || (this.items & IT_UNLIMITED_SUPERWEAPONS))
                        {
                                this.items = this.items | IT_SUPERWEAPON;
                                if(!(this.items & IT_UNLIMITED_SUPERWEAPONS))
                        }
                        else
                        {
 -                              this.superweapons_finished = 0;
 +                              STAT(SUPERWEAPONS_FINISHED, this) = 0;
                                STAT(WEAPONS, this) &= ~WEPSET_SUPERWEAPONS;
                        }
                }
                else
                {
 -                      this.superweapons_finished = 0;
 +                      STAT(SUPERWEAPONS_FINISHED, this) = 0;
                }
        }
  
@@@ -1682,9 -1684,9 +1684,9 @@@ void SpectateCopy(entity this, entity s
        this.items = spectatee.items;
        STAT(LAST_PICKUP, this) = STAT(LAST_PICKUP, spectatee);
        STAT(HIT_TIME, this) = STAT(HIT_TIME, spectatee);
 -      this.strength_finished = spectatee.strength_finished;
 -      this.invincible_finished = spectatee.invincible_finished;
 -      this.superweapons_finished = spectatee.superweapons_finished;
 +      STAT(STRENGTH_FINISHED, this) = STAT(STRENGTH_FINISHED, spectatee);
 +      STAT(INVINCIBLE_FINISHED, this) = STAT(INVINCIBLE_FINISHED, spectatee);
 +      STAT(SUPERWEAPONS_FINISHED, this) = STAT(SUPERWEAPONS_FINISHED, spectatee);
        this.air_finished = spectatee.air_finished;
        STAT(PRESSED_KEYS, this) = STAT(PRESSED_KEYS, spectatee);
        STAT(WEAPONS, this) = STAT(WEAPONS, spectatee);
@@@ -1989,11 -1991,11 +1991,11 @@@ int nJoinAllowed(entity this, entity ig
        else if(currentlyPlaying < player_limit)
                free_slots = min(maxclients - totalClients, player_limit - currentlyPlaying);
  
 -      static float join_prevent_msg_time = 0;
 -      if(this && ignore && !free_slots && time > join_prevent_msg_time)
 +      static float msg_time = 0;
 +      if(this && !this.caplayer && ignore && !free_slots && time > msg_time)
        {
                Send_Notification(NOTIF_ONE_ONLY, this, MSG_CENTER, CENTER_JOIN_PREVENT);
 -              join_prevent_msg_time = time + 3;
 +              msg_time = time + 0.5;
        }
  
        return free_slots;
@@@ -2606,14 -2608,10 +2608,14 @@@ void PlayerPreThink (entity this
  
  void DrownPlayer(entity this)
  {
 -      if(IS_DEAD(this) || game_stopped || time < game_starttime)
 +      if(IS_DEAD(this) || game_stopped || time < game_starttime || this.vehicle
 +              || STAT(FROZEN, this) || this.watertype != CONTENT_WATER)
 +      {
 +              this.air_finished = 0;
                return;
 +      }
  
 -      if (this.waterlevel != WATERLEVEL_SUBMERGED || this.vehicle)
 +      if (this.waterlevel != WATERLEVEL_SUBMERGED)
        {
                if(this.air_finished && this.air_finished < time)
                        PlayerSound(this, playersound_gasp, CH_PLAYER, VOL_BASE, VOICETYPE_PLAYERSOUND);