X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcl_client.qc;h=71efa5f9d931233f32899305692f023ceaea5d96;hb=a97b89297fa91ae42b9d56c262662eb34ede3e45;hp=b31d4d55666dc747c5bd8f24126874ce1f872f0a;hpb=d5fdcf33ed6bf561a90134526bc2d4c1814d35a8;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index b31d4d556..71efa5f9d 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -53,8 +53,8 @@ void send_CSQC_teamnagger() { WriteByte(MSG_BROADCAST, TE_CSQC_TEAMNAGGER); } -float ClientData_Send(entity to, int sf) -{SELFPARAM(); +bool ClientData_Send(entity this, entity to, int sf) +{ if(to != self.owner) { error("wtf"); @@ -205,6 +205,7 @@ void PutObserverInServer (void) } self.frags = FRAGS_SPECTATOR; + self.bot_attack = false; MUTATOR_CALLHOOK(MakePlayerObserver); @@ -510,10 +511,10 @@ void PutClientInServer() if(g_weaponarena_random) // WEAPONTODO: more stuff that should be in a mutator. also: rename those cvars { if(g_weaponarena_random_with_blaster) - self.weapons &= ~WEPSET_BLASTER; + self.weapons &= ~WEPSET(BLASTER); W_RandomWeapons(self, g_weaponarena_random); if(g_weaponarena_random_with_blaster) - self.weapons |= WEPSET_BLASTER; + self.weapons |= WEPSET(BLASTER); } self.items = start_items; @@ -619,7 +620,8 @@ void PutClientInServer() // reset fields the weapons may use for (int j = WEP_FIRST; j <= WEP_LAST; ++j) { - WEP_ACTION(j, WR_RESETPLAYER); + Weapon w = get_weaponinfo(j); + w.wr_resetplayer(w); // all weapons must be fully loaded when we spawn entity e = get_weaponinfo(j); @@ -665,8 +667,8 @@ void PutClientInServer() .float ebouncefactor, ebouncestop; // electro's values // TODO do we need all these fields, or should we stop autodetecting runtime // changes and just have a console command to update this? -float ClientInit_SendEntity(entity to, int sf) -{SELFPARAM(); +bool ClientInit_SendEntity(entity this, entity to, int sf) +{ WriteByte(MSG_ENTITY, ENT_CLIENT_INIT); WriteByte(MSG_ENTITY, g_nexball_meter_period * 32); WriteInt24_t(MSG_ENTITY, compressShotOrigin(hook_shotorigin[0])); @@ -1214,7 +1216,7 @@ void ClientConnect (void) else stuffcmd(self, "set _teams_available 0\n"); - attach_entcs(); + attach_entcs(self); bot_relinkplayerlist(); @@ -1235,7 +1237,7 @@ void ClientConnect (void) Send_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER, CENTER_MOTD, getwelcomemessage()); } - if(autocvar_g_bugrigs || (g_weaponarena_weapons == WEPSET_TUBA)) + if(autocvar_g_bugrigs || (g_weaponarena_weapons == WEPSET(TUBA))) stuffcmd(self, "cl_cmd settemp chase_active 1\n"); } @@ -1300,8 +1302,7 @@ void ClientDisconnect (void) bot_clientdisconnect(); - if(self.entcs) - detach_entcs(); + detach_entcs(self); if(autocvar_sv_eventlog) GameLogEcho(strcat(":part:", ftos(self.playerid))); @@ -2544,14 +2545,12 @@ void PlayerPreThink (void) FixPlayermodel(); - GrapplingHookFrame(); - // LordHavoc: allow firing on move frames (sub-ticrate), this gives better timing on slow servers //if(frametime) { self.items &= ~self.items_added; - W_WeaponFrame(); + W_WeaponFrame(self); self.items_added = 0; if(self.items & ITEM_Jetpack.m_itemid)