

This calculation is actually very accurate. Using this distance and its speed, a time is calculated for it to travel along this vector.

In short, a train will measure the distance between itself and the next path_corner it targets. Why? Well as it turns out, the Spikeball uses the same think function as bmodel trains. However, upon changing this, it moves at blinding speeds, constantly hopping from one path_corner to the next. To achieve proper avelocity, it needs to be a MOVETYPE_FLY and SOLID_TRIGGER. In fact, this would normally cause a game crash if the player or monster is able to contact it, if it didn't have. This is because it's movetype is set to MOVETYPE_PUSH, which is reserved for BSP bmodel entities. However, you may have noticed that it does not spin at all as it moves about the map. The original QC assigns an avelocity to the spikeball ("misc_teleporttrain"), the ball that hovers around the End map that the player must use to telefrag Shub-Niggurath.
Quake shambler yeti code#
Interesting Bug #2: Spikeball Avelocity, properties, and movement code Actually, I got one right now (see next post). But with today's RAM levels, it probably doesn't bro! I'll have a few more to post up before too long. owner field, that way I can keep lingering references to a minimum. I might see about clearing the Shambler's. Thanks for the explanation, I'm glad I was on the right track with that. That, and rocket jumping with grenades is badass. I went to this trouble because I coded teleporters to teleport rockets and grenades, and wanted them to hit the player if he was able to get in front of them after they teleported (like on the Start map). entity field, that way the projectile can still be tied to the player who launched them (for gaining frags and proper obituary messages and what not). I then store the player as the projectile's old owner via a new. I usually code a recursive think function for fired projectiles that will assign ownership to the world a small amount of time after a player fires them, to ensure that they won't explode on them upon launch. owner? I have noticed that for fired rockets and grenades to contact the player who fired them, their ownership had to be assigned to world. origin is special in that proper use of it causes projectiles to NOT hit the owning player's bbox as soon as its fired.)When you said. Maybe one of you engine guys knows the connection. Too lazy to dig through the engine source. owner is referenced somewhere in the engine C code. So instead of the bolt being the shambler's 'self.owner', it is now his 'self.bolt'. entity bolt and assigned the model to it. After a lot of testing, I discovered that this was the cause of the projectiles intermitently passing through him.


This is in the interest of tracking the bolt across the Shambler's animation frame functions and changing the bolt's frame as well. Turns out that in the shambler's QC file, the bolt of lightning model that spawns overhead when he's casting his magic attack is assigned his. I tested this on QuakeSpasm and ProQuake with the same results, so I deduced this wasn't strictly an engine thing having to do with entity size or whatever. Ever notice how every now and then, seemingly at random, a rocket (or nail) will pass right through him? I actually never noticed this till tonight. Go start up Quake (no mods, just id1), do impulse 9, equip the rocket launcher, and find a Shambler. Interesting Bug #1: Projectiles pass through Shambler This is in the interest of two things:ġ) Fully understand EVERY aspect of the gamecode in EVERY regardĢ) Provide a clean, bug-free, OCD-level organized package of source code to start projects from.Īll deviations from the original code, including improvements, alterations, and bugfixes, are being logged.Īnyways, I've found a few bugs that to my knowledge have not been documented anywhere, so I thought I'd share my findings and my method of correction. A little side project of mine right now is digging through every line of id Software's code in progs 1.06 and cleaning up, re-organizing, and fixing any bugs.
