Cube  Diff

Differences From Artifact [6689f47248]:

To Artifact [1adcd0a4ff]:


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
		if (m_noitemsrail) {
			d->health = 1;
			d->ammo[GUN_RIFLE] = 100;
		} else {
			if (gamemode == 12) {
				d->gunselect = GUN_FIST;
				return;
			}; // eihrul's secret "instafist" mode
			d->health = 256;
			if (m_tarena) {
				int gun1 = rnd(4) + 1;
				baseammo(d->gunselect = gun1);
				for (;;) {
					int gun2 = rnd(4) + 1;
					if (gun1 != gun2) {
						baseammo(gun2);
						break;
					};
				};


			} else if (m_arena) // insta arena
			{
				d->ammo[GUN_RIFLE] = 100;
			} else // efficiency
			{
				loopi(4) baseammo(i + 1);
				d->gunselect = GUN_CG;
			};

			d->ammo[GUN_CG] /= 2;
		};

	} else {
		d->ammo[GUN_SG] = 5;
	};

}

dynent *
newdynent() // create a new blank player or monster
{
	dynent *d = (dynent *)malloc(sizeof(dynent));
	d->o.x = 0;







|









<
<
>
>







<
>

<
>


<
>







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
		if (m_noitemsrail) {
			d->health = 1;
			d->ammo[GUN_RIFLE] = 100;
		} else {
			if (gamemode == 12) {
				d->gunselect = GUN_FIST;
				return;
			} // eihrul's secret "instafist" mode
			d->health = 256;
			if (m_tarena) {
				int gun1 = rnd(4) + 1;
				baseammo(d->gunselect = gun1);
				for (;;) {
					int gun2 = rnd(4) + 1;
					if (gun1 != gun2) {
						baseammo(gun2);
						break;


					}
				}
			} else if (m_arena) // insta arena
			{
				d->ammo[GUN_RIFLE] = 100;
			} else // efficiency
			{
				loopi(4) baseammo(i + 1);
				d->gunselect = GUN_CG;

			}
			d->ammo[GUN_CG] /= 2;

		}
	} else {
		d->ammo[GUN_SG] = 5;

	}
}

dynent *
newdynent() // create a new blank player or monster
{
	dynent *d = (dynent *)malloc(sizeof(dynent));
	d->o.x = 0;
140
141
142
143
144
145
146
147

148
149
150
151
152
153
154
	if (d->state != CS_DEAD) {
		alive++;
		if (lastteam && strcmp(lastteam, d->team))
			oneteam = false;
		lastteam = d->team;
	} else {
		dead++;
	};

}

int arenarespawnwait = 0;
int arenadetectwait = 0;

void
arenarespawn()







<
>







140
141
142
143
144
145
146

147
148
149
150
151
152
153
154
	if (d->state != CS_DEAD) {
		alive++;
		if (lastteam && strcmp(lastteam, d->team))
			oneteam = false;
		lastteam = d->team;
	} else {
		dead++;

	}
}

int arenarespawnwait = 0;
int arenadetectwait = 0;

void
arenarespawn()
174
175
176
177
178
179
180
181
182


183
184
185
186
187
188
189
				conoutf(
				    @"team %s is last man standing", lastteam);
			else
				conoutf(@"everyone died!");
			arenarespawnwait = lastmillis + 5000;
			arenadetectwait = lastmillis + 10000;
			player1->roll = 0;
		};
	};


}

void
zapdynent(dynent *&d)
{
	if (d)
		free(d);







<
<
>
>







174
175
176
177
178
179
180


181
182
183
184
185
186
187
188
189
				conoutf(
				    @"team %s is last man standing", lastteam);
			else
				conoutf(@"everyone died!");
			arenarespawnwait = lastmillis + 5000;
			arenadetectwait = lastmillis + 10000;
			player1->roll = 0;


		}
	}
}

void
zapdynent(dynent *&d)
{
	if (d)
		free(d);
197
198
199
200
201
202
203
204

205
206
207
208
209
210
211
{
	loopv(players) if (players[i])
	{
		const int lagtime = lastmillis - players[i]->lastupdate;
		if (lagtime > 1000 && players[i]->state == CS_ALIVE) {
			players[i]->state = CS_LAGGED;
			continue;
		};

		if (lagtime && players[i]->state != CS_DEAD &&
		    (!demoplayback || i != democlientnum))
			moveplayer(
			    players[i], 2, false); // use physics to extrapolate
			                           // player position
	}
}







<
>







197
198
199
200
201
202
203

204
205
206
207
208
209
210
211
{
	loopv(players) if (players[i])
	{
		const int lagtime = lastmillis - players[i]->lastupdate;
		if (lagtime > 1000 && players[i]->state == CS_ALIVE) {
			players[i]->state = CS_LAGGED;
			continue;

		}
		if (lagtime && players[i]->state != CS_DEAD &&
		    (!demoplayback || i != democlientnum))
			moveplayer(
			    players[i], 2, false); // use physics to extrapolate
			                           // player position
	}
}
269
270
271
272
273
274
275
276

277
278
279
280
281
282
283
					moveplayer(player1, 10, false);
				} else if (!m_arena && !m_sp &&
				    lastmillis - player1->lastaction > 10000)
					respawn();
			} else if (!intermission) {
				moveplayer(player1, 20, true);
				checkitems();
			};

			c2sinfo(player1); // do this last, to reduce the
			                  // effective frame lag
		}
	}
	lastmillis = millis;
}








<
>







269
270
271
272
273
274
275

276
277
278
279
280
281
282
283
					moveplayer(player1, 10, false);
				} else if (!m_arena && !m_sp &&
				    lastmillis - player1->lastaction > 10000)
					respawn();
			} else if (!intermission) {
				moveplayer(player1, 20, true);
				checkitems();

			}
			c2sinfo(player1); // do this last, to reduce the
			                  // effective frame lag
		}
	}
	lastmillis = millis;
}

315
316
317
318
319
320
321
322

323
324
325
326
327
328
329
		d->o.z = ents[spawncycle].z;
		d->yaw = ents[spawncycle].attr1;
		d->pitch = 0;
		d->roll = 0;
	} else {
		d->o.x = d->o.y = (float)ssize / 2;
		d->o.z = 4;
	};

	entinmap(d);
	spawnstate(d);
	d->state = CS_ALIVE;
}

// movement input code








<
>







315
316
317
318
319
320
321

322
323
324
325
326
327
328
329
		d->o.z = ents[spawncycle].z;
		d->yaw = ents[spawncycle].attr1;
		d->pitch = 0;
		d->roll = 0;
	} else {
		d->o.x = d->o.y = (float)ssize / 2;
		d->o.z = 4;

	}
	entinmap(d);
	spawnstate(d);
	d->state = CS_ALIVE;
}

// movement input code