Commit graph

306 commits

Author SHA1 Message Date
Christoph Oelckers
c57cc91d7c - cleaned up the RipLevel logic a bit to be less confusing. 2014-12-31 10:13:15 +01:00
MajorCooke
4ddfd0f46a - Added 3 new properties and 3 functions to control them.
- Rippers will rip through anything with an equivalent ripper level, or if their level is between or on the min and max ranges.
- If no min or max is defined, it simply checks if the monster's ripper level is lower than the missiles.
- Functions: A_SetRipperLevel(int level), A_SetRipMin(int min), A_SetRipMax(int max)
- Properties: RipperLevel, RipLevelMin, and RipLevelMax.
- RipperLevel: Applicable to monsters and projectiles.
- RipLevelMin and RipLevelMax are only useful on monsters.
- By default, all are 0.
2014-12-30 19:59:31 -06:00
MajorCooke
519ff8b7d1 - HITTARGET/MASTER/TRACER now set the puff's pointer(s) within P_SpawnPuff.
- PUFFGETSOWNER, for the sake of compatibility, maintains override for target.
2014-12-27 14:15:54 -06:00
Randy Heit
e0667544d2 Clamp chase_dist and chase_height because integer overflow is a thing. 2014-12-26 15:15:42 -06:00
MajorCooke
62a4945ca4 - Fixed: CAUSEPAIN didn't work with A_Explode calls featuring no damage. 2014-12-23 23:30:00 -06:00
MajorCooke
31ad642843 - HITTARGET, HITMASTER and HITTRACER now apply to actors that bounce off of other actors. 2014-12-19 13:43:24 -06:00
MajorCooke
24f1bfae99 - Need to set it on the puff itself, not the defaults. 2014-12-16 12:48:52 -06:00
MajorCooke
fc05a3bb2f - Added HIT* flag detection for bullet and rail attacks. 2014-12-16 12:37:31 -06:00
MajorCooke
e5340ad637 - Splitting the pull request in half.
- Added THRUREFLECT, MIRRORREFLECT, and AIMREFLECT. All require REFLECTIVE to work.
- THRUREFLECT prevents missiles from changing course if reflected, and takes precedence over all reflective flags.
- MIRRORREFLECT causes missiles to perform a direct 180 turn-around.
- AIMREFLECT turns the missile back to the original shooter, and does not slow the missile down.
2014-12-09 12:09:36 -06:00
Edoardo Prezioso
629f3c1a8a - Oops comment typo. 2014-11-25 19:23:49 +01:00
Edoardo Prezioso
8fbed78c21 - Add new function for the new slope calculations.
Fixed also two MSVC warnings.
2014-11-25 19:15:25 +01:00
Edoardo Prezioso
cc4e66f976 - Fix the division by 0, improve comments.
- Avoid doing the division if the result would be outside the ]0,1<<24[ range:
-- if the numerator is nonpositive, ie <=0, truncate the result to 0,
-- if the numerator is greater or equal than the denominator, the result will be outside the allowed range, hence truncate the result to 1<<24.
-- otherwise, the result will be inside the range. Knowing that the denominator is greater than the numerator, if the numerator has the last 24 bits non zero, the denominator can't be less than 1<<24, hence the denominator won't be truncated to 0.
- Add comment details to help who doesn't know math. Big deal!
2014-11-25 17:02:22 +01:00
Edoardo Prezioso
4b2af7074e - Improve the 64 bit incompatibility patch.
- Reorder the operands. First the numerator, then the denominator :) .
- Add a comment regarding the motivations for this change.
2014-11-16 11:29:16 +01:00
Edward Richardson
9ccb839ae2 Fix slope inconsistency for 64bit
- Fixed: Slope logic would change between 32bit and 64bit due to float
math.
2014-11-16 16:23:15 +13:00
MajorCooke
b54b18c8c5 -Added: CAUSEPAIN. Actors which deal damage (even if 0) while having this flag can cause other actors to trigger pain chances.
-Fixed: ALLOWPAIN should not trigger pain states if the damage is 0, but still allow for infighting to occur.
-Fixed: an unneeded logic call was processing damage modification when it was 0 to begin with.
2014-11-12 14:08:26 -06:00
MajorCooke
71ce4bcf06 - Fixed: Rail attacks didn't properly respect FOILINVUL.
- Added: FOILBUDDHA support for rail attacks.
2014-11-05 23:16:01 -06:00
Christoph Oelckers
6073adbeef - renamed FULLMASS to DONTTHRUST. 2014-10-28 08:40:34 +01:00
MajorCooke
f802d7a44c - Added +FULLMASS.
Actors will be excluded from damage/radius thrusting of all sorts by
explosions or damage of any kind. They will also never deal impact
damage to other enemies, nor will they damage themselves from being too
close to a wall.
2014-10-27 21:35:55 -05:00
Christoph Oelckers
5ac7e4fc38 - added HARMFRIENDS flag. 2014-10-25 00:30:36 +02:00
Christoph Oelckers
e81c404b04 - fixed some bad logic operations. 2014-10-25 00:01:04 +02:00
ChillyDoom
db323643f8 - Renamed FBot to DBot and made it inherit from DThinker.
- Fixed: Bots added by players other than the net arbitrator did not have their skill set.
2014-10-14 19:57:11 +01:00
ChillyDoom
83d84eaae9 - Moved bot related variables from player_t into a new FBot class. 2014-10-13 18:40:25 +01:00
Edward Richardson
53b6e7d4d5 Added silent line teleport prediction
- Allow activation of line teleport specials during prediction
- Moved prediction functions to improve uncapped framerates
2014-09-26 15:48:45 +12:00
GitExl
313b229319 Add PickActor ACS function. 2014-09-21 16:43:17 +02:00
Randy Heit
fefe6aa2c1 Specie -> Species
- specie: money in the form of coins rather than notes
- species: a group of living organisms consisting of similar individuals
  capable of exchanging genes or interbreeding
2014-08-07 22:40:12 -05:00
Leonard2
8c4c011ca2 MTHRUSPECIES on puffs
You were right it's cleaner that way
2014-08-07 18:05:39 +02:00
Leonard2
5400ce1a21 +MTHRUSPECIES on puffs 2014-08-07 15:50:21 +02:00
Randy Heit
4cf468452c Remove slopetype from line_t.
- Recomputing it in the only two places where it's used is trivial, so
  it's basically a waste of space to precompute it.
2014-07-31 19:15:08 -05:00
Randy Heit
ea7ba9dba3 Add per-actor friction
- This is multiplied by the sector's friction.
- This is intentionally not serialized yet, while awaiting feedback.
2014-07-28 23:15:50 -05:00
Edward Richardson
40771d22a5 Player prediction fixes in PIT_CheckThing
Player prediction could end up executing functions for TOUCHY things or
modify velocities when BLASTED, among other things.
2014-03-15 04:15:30 +13:00
Randy Heit
e7f427aa60 Merge branch 'maint' 2014-02-24 19:26:50 -06:00
Randy Heit
a60918f601 Add NoPushWindowCheck compatibility flag
- For maps like xtheateriii that expect non-blocking push lines to
  activate when you are standing on them and run into a completely different
  line, there is now this compatiblity.txt-only flag.
2014-02-24 17:43:28 -06:00
Edward Richardson
662bc7a3ac cl_bloodtype could break playsim sync
Corrected entries were blood would spawn inconsistently because of
cl_bloodtype. Blood now always spawns but is marked invisible according
to cl_bloodtype.
2013-12-01 22:06:48 +13:00
Christoph Oelckers
9c2454eacc Merge branch 'maint' 2013-08-28 11:20:53 +02:00
Christoph Oelckers
26c381224c - removed unused constants in p_map.cpp. 2013-08-28 11:16:30 +02:00
Christoph Oelckers
7a87e08107 - added MF7_ALWAYSTELEFRAG flag that causes an actor to be telefragged by everything that teleports into the same place. 2013-08-13 21:01:14 +02:00
Christoph Oelckers
be1a00c537 Merge branch 'maint' 2013-08-12 20:42:21 +02:00
Christoph Oelckers
e14590d8ce - moved NOTELESTOMP to flags7. When committing I was accidentally on maint instead of master and in master flags6 was already full. 2013-08-12 20:41:33 +02:00
Christoph Oelckers
44a1b94ad9 - added MF6_NOTELESTOMP flag that prevents an actor from telefragging under all possible circumstances. 2013-08-12 20:23:54 +02:00
Christoph Oelckers
25ec3fb8fe - added MF6_RELATIVETOFLOOR flag. 2013-08-10 09:32:55 +02:00
Christoph Oelckers
6a07118ea4 - added ML_BLOCKHITSCAN line flag. 2013-08-09 20:35:10 +02:00
Christoph Oelckers
83bd8ba1b8 - added NeuralStunner's player.userange submission, but changed it to use the value directly from the PlayerPawn data.
- bumped savegame version for addition of APlayerPawn::userange.
2013-07-22 22:37:50 +02:00
Christoph Oelckers
394f21f71e - fixed: Draining health from a victim must check for damage reduction before awarding the health to the player. This affected Heretic's gauntlets, A_Saw and A_CustomPunch.
- added a DONTDRAIN flag that prevents the above attacks from draining any health at all.
2013-06-24 16:42:43 +02:00
Braden Obrzut
f436c02a43 - Fixed more possible NULL derefs from r4264
SVN r4290 (trunk)
2013-05-26 20:56:20 +00:00
Braden Obrzut
5007571732 - Fixed: Possible NULL deref in P_RailAttack.
SVN r4274 (trunk)
2013-05-20 20:47:55 +00:00
Randy Heit
b418f7de8d - Fixed possible NULL pointer derefs in P_LineAttack()
SVN r4264 (trunk)
2013-05-13 02:30:55 +00:00
Randy Heit
20d0cc717b - Fix previous fix: Don't zero the velocity when a missile steps up and bounces.
SVN r4262 (trunk)
2013-05-12 19:05:00 +00:00
Randy Heit
0ef00cdf6e - Fixed: Missiles with STEPMISSILE set should probably be able to bounce off the floor they step up onto.
SVN r4261 (trunk)
2013-05-12 19:02:15 +00:00
Randy Heit
2668988870 - Switched to a genericly extensible representation for userinfo.
- Fixed: The playerinfo CCMD did not range check the player number.

SVN r4253 (trunk)
2013-05-12 18:27:03 +00:00
Randy Heit
40f7abb8e9 - Added bounce states. Set the BOUNCE_UseBounceState flag to use them (+USEBOUNCESTATE via
DECORATE). Then you can use:
  * Bounce
  * Bounce.Floor
  * Bounce.Ceiling
  * Bounce.Wall
  * Bounce.Actor
  * Bounce.Actor.Creature
  Partial matches work just like Pain states, so if an actor bounces off a floor and you don't
  have a Bounce.Floor state, but you do have a Bounce state, it will use the Bounce state.
  Conversely, if you only have a Bounce.Floor state but no Bounce state, then the actor will
  only enter the Bounce.Floor state when it bounces on a floor; bouncing off anything else will
  not cause it to change state.

SVN r4250 (trunk)
2013-05-04 22:52:37 +00:00