Commit graph

226 commits

Author SHA1 Message Date
toaster
a9361020bf Re-add missing bobspeed/focusplayer initialisation 2023-06-20 21:52:50 +01:00
toaster
164f72a6cb "Bored" follower audience toggle (for Chaclon)
- If follower audience member has a certain flag, the bob/jump height is forced to zero
    - UDMF: args[2] & 2
    - Binary: The "Extra" flag
- If a follower audience member (or MT_EMBLEM with GE_FOLLOWER) has a bob/jump height of 0, use the idlestate instead of the movement state
2023-06-20 12:41:42 +01:00
James R
aa82d8da77 Instawhip Recharge VFX
- 3 splats spawn before the instawhip cooldown runs out
- Splats angle steeply outward in a triangle formation
- VFX is animated, animation runs out right when instawhip
  cooldown completely runs out
2023-06-18 01:57:03 -07:00
toaster
fa10ff629f servant-hand.c 2023-06-15 19:39:55 +01:00
Sal
7d82d8cd0c Merge branch 'spb-shrink' into 'master'
Make SPB respond to player physics scale (resolves #560)

Closes #560

See merge request KartKrew/Kart!1276
2023-06-15 05:59:38 +00:00
Oni
ce2ea138b4 Merge branch 'gacha-rebound' into 'master'
Gachabom rebound

See merge request KartKrew/Kart!1286
2023-06-14 02:31:23 +00:00
Sal
0f909bdb46 Merge branch 'gacha-prep' into 'master'
Add FF_REVERSEANIM and FF_INVERT, extern P_InstaScale

See merge request KartKrew/Kart!1285
2023-06-14 00:25:50 +00:00
Sal
7b98752b67 Merge branch 'refactor-mapthing' into 'master'
Read-only mapthing_t

See merge request KartKrew/Kart!1252
2023-06-14 00:07:42 +00:00
James R
696e9e09c9 Gachabom rebound
- Gachabom hits an object and is destroyed immediately
  (does not bounce off like Orbinauts or Jawz).
- Gachabom explosion spawns in its place.
- (New) Gachabom physically returns to the player who
  threw it.
2023-06-13 16:57:44 -07:00
James R
c50e63ccd7 p_mobj.c: add P_InstaScale function
Previously was in objects/broly.c
2023-06-13 14:42:00 -07:00
AJ Martinez
530dd293cd Tab fixes 2023-06-12 15:15:25 -07:00
AJ Martinez
2dcfd9542f Instawhip polish round bleven 2023-06-11 20:29:43 -07:00
AJ Martinez
c12ad72fff Instawhip "drop shadow" underlay 2023-06-11 18:41:32 -07:00
AJ Martinez
9be607e6e2 Make SPB respond to player physics scale 2023-06-07 00:51:06 -07:00
toaster
9e50fea2dc Now that Super Emerald minimap graphics are in the game, use them on the Sealed Star progression bar. 2023-05-30 13:30:22 +01:00
AJ Martinez
4c927b09d1 Review fixup 2023-05-28 15:12:08 -07:00
Sally Coolatta
9d80323a3a Read-only mapthing_t
Map things are writeable in Lua, which I am pretty certain is a mistake because mapthings are not sent over the network at all. I considered making them net-synced (it would be relatively easy), but it also aligns with another, more "philosophical" issue: Doom generally copies over properties from mapthing_t into mobj_t, and then only refers to it again when needing to respawn an object -- mapthing_t is not really intended to be referred to very often at runtime. At best it's slightly annoying since some objects rely on a spawnpoint for behavior changes, at worst it may make ACS more confusing in the future since Thing and Mobj tags are mixed together or less useful since they wouldn't be able to modify behaviors of objects that are based on args.

So I decided to solve these two issues at the same time; just treat mapthing_t as something to copy values from, like OG Doom does it. This basically just means that special and args are also part of the mobj now instead of the mapthing, which should fill any desire to edit this stuff from Lua, and reduces the number of instances where objects need to check for their spawnpoint to function properly.
2023-05-25 14:40:55 -04:00
AJ Martinez
d9dda87586 Hide hitbox on nocollide whip 2023-05-20 16:30:35 -07:00
AJ Martinez
85bfd5be12 Really, really drop emeralds from monitors dead center on the ground 2023-05-20 02:53:13 -07:00
AJ Martinez
cac02bb01a Emerald fixups 2023-05-19 22:51:06 -07:00
AJ Martinez
bfcc453d56 Guard Break FX 2023-05-19 21:14:47 -07:00
AJ Martinez
9aa4a459ce Guard break, UFO instawhip 2023-05-19 18:45:27 -07:00
AJ Martinez
a3d954e4ef Guard: Scale graphic to player spheres 2023-05-19 15:35:31 -07:00
AJ Martinez
dadaab1817 Add guarding while ebraking with spheres 2023-05-19 01:53:14 -07:00
AJ Martinez
466f7dece0 Instawhip twirl 2023-05-17 13:47:37 -07:00
AJ Martinez
a3cc422706 WIP: the sequel 2023-05-17 01:50:17 -07:00
AJ Martinez
18c45d8a8a WIP: Insta-"whip" 2023-05-16 23:36:38 -07:00
toaster
ac8de9a933 If a member of the Follower Audience is focused on a player that becomes invalid, immediately invalidate their attention and look for somebody new 2023-05-14 15:42:42 +01:00
James R
21703c1504 Orbinaut shield: fix dropped state
- Fixes dropped orbinauts driving in circles
- Fixes dropped orbinauts not stopping once land on ground
2023-05-10 21:53:37 -07:00
toaster
12ecb1f7a4 P_DoPlayerExit changes
- Add flag application in function signature
    - Consistent gating of extra PF_NOCONTEST application behind not already exiting
        - This should fix dying after winning in K_Cooperative gametypes breaking things
- P_DoAllPlayersExit
    - Consistent condition of playeringame, spectator, exiting, etc checks
    - Also could force-give a life (for Battle Prisons)
2023-05-02 18:16:26 +01:00
Sally Coolatta
60e80d876d Improve quake effects
- Quake epicenter + radius now work.
- Since quake epicenter works, removed the display player check on all of the quakes, so other players can feel them.
- Multiple quake effects are stored in a linked list and dynamically created/freed, so they can stack together.
- Made in china
- Made the quake effects only work on the z axis.
- Quakes now alternate their intensity and dampen it over time, instead of randomly picking values.
- Added quake effects for offroad and stair-jank
- Disabled quakes in reducevfx
- Removed actionmovie and windowquake (sorry jartha)
2023-05-01 14:24:32 -04:00
Sally Coolatta
833131b319 Make MAXRADIUS bigger
MAXRADIUS was previously an arbitrary value id Software set as whatever their biggest object would be (which they broke that rule anyway). It is now the radius of a blockmap block, which should be a large enough of a nudge value to handle all cases. (Still don't recommend making objects any bigger than a Spider Mastermind though.)
2023-04-30 10:31:26 -04:00
Sally Coolatta
d9d561ee28 Make big items look better
- Bobbing
- Scaling
- Different heights on debris

Also cap scale in full scale maps
2023-04-29 17:46:41 -04:00
toaster
3dd44961a0 Obj_AudienceInit: Improve follower name processing
- Convert underscores to spaces for string comparison
- Report typoes to the user
2023-04-21 21:07:14 +01:00
toaster
c7cc730c35 Obj_AudienceInit: Improve color handling
- Catch all invalid colors with default randomisation
- Catch invalid colors more thoroughly
- Report typos to the user
2023-04-21 21:06:21 +01:00
toaster
2f8b8cf532 Follower lists: Fix typing
Should consistently be signed INT16, not unsigned UINT16
2023-04-21 20:52:13 +01:00
toaster
98288fd289 Obj_AudienceInit: Incorporate follower scale into multipliciation 2023-04-21 20:20:51 +01:00
toaster
a4a5752df0 Obj_AudienceThink: Ease the angle change 2023-04-21 18:24:51 +01:00
toaster
91f4169212 Follower-mimicing emblems: Permit them to just sit there if their defined bobamp is 0
This is unlike audience members, which have a minimum jump height
2023-04-21 17:42:44 +01:00
toaster
945a00df6e Permit emblem pickups that take on the visage of a Follower
- If Global-type map emblem has GE_FOLLOWER, attempt to take on the appearance of the follower specified by var2.
    - Unlike MT_RANDOMAUDIENCE, this picks whether the object should be floating or hopping based on the specified mode of the source Follower.
    - Always chooses to face the nearest player.
- Rearrange some properties affected by Obj_Audience/audience.c to not conflict with MT_EMBLEM
2023-04-21 15:17:43 +01:00
toaster
1e5fadc901 Audience-related functions: Rename + adjust
- Since they're not necessarily going to be randomised, make the prefix Obj_Audience instead of Obj_RandomAudience.
- Externalise some properties that we may not want affecting all hypothetical uses.
    - Flag auto-application should be done externally, since this won't be general.
    - Focusing on player should be controlled by the function call, not an ambiguous flag.
2023-04-21 15:09:07 +01:00
toaster
178fe3052d Obj_RandomAudienceInit: Increase the scale to 3x instead of 2x 2023-04-20 23:22:03 +01:00
toaster
a74b7995c9 Implement Follower Audience object
- Replaces Chao audience entirely
    - Convenient, because one of the two default follower types used in the audience is Chao
- Can provide one follower, or a list of followers, on the stringarg1 (seperated by spaces/commas) and it'll pick randomly between them
    - If not provided, uses the mapheader follower list
- Can provide one skincolor, or a list of skincolors, on the stringarg2 (seperated by spaces/commas) and it'll pick randomly between them
    - If not provided, uses the follower's default color
    - If the follower's default color is Match/Opposite or the user provides "Random" in stringarg2, pick a random skincolor
- If arg3 is set, floats in the air
    - MTF_OBJECTSPECIAL in binary format
- If arg4 is set, faces the closest player
    - MTF_AMBUSH in binary format
    - Uses some funny mathematical tricks to avoid checking on the same frame as every other audience member at once
2023-04-20 23:15:56 +01:00
toaster
03ef0b4e75 No Ring Shooters before the start of the level in general, not just in Race/GTR_CIRCUIT 2023-04-17 00:23:14 -04:00
toaster
e7896a7118 Obj_RingShooterInput: Fix several issues with the to-spot teleport
- Fix undesired fastfall bounce
- Fix reverse gravity
2023-04-17 00:23:13 -04:00
Sally Coolatta
5917861d17 Ring Shooter: Ignore multiple uses from 1 player 2023-04-17 00:23:13 -04:00
Sally Coolatta
1c4137648b Ring Shooter: Fix sometimes invisible after use 2023-04-17 00:23:13 -04:00
toaster
c4a087790a Obj_UpdateRingShooterFace: Set threshold overlay flags (fixes scaling/alignment of face) 2023-04-17 00:23:12 -04:00
Sally Coolatta
3b7ac38d9f Ring Shooter: E-Brake + adjust distance
- Y is now additionally another macro for HOLD!
- Disable HOLD! drop from respawning when done with Ring Shooter.
- Immediate release Ring Shooter now goes back a waypoint, and does not have a minimum distance to go forward anymore.
2023-04-17 00:23:11 -04:00
Sally Coolatta
b123fd98a2 Ring Shooter: Disallow turning while in it 2023-04-17 00:23:11 -04:00