Commit graph

243 commits

Author SHA1 Message Date
toaster
dbec3c7e54 Metal Sonic fixes!
* Add more context clues to his fight, including an indicator for which laser attack is being used after chargeup.
* Make missiles able to vectorise him.
* Add another laser orb attack - vertical slice - and change the laser orb sequence to accurately reflect that horizontal is the hardest of the ones in 2.1.
* Optimise TC_BLINK, and fix an issue with TC_ALLWHITE that somehow avoided coming up in testing.
* Fix colorized bosses losing their colorization when flashing, by forcing TC_ALLWHITE.
2019-06-28 20:48:14 +01:00
toaster
c9c69d805a Now it's CA_TWINSPIN's turn to get the improvements!
* Remove PF_THOKKED every time a successful damage bounce occours.
* When this happens, spawn a number of particles based on thokitem at half scale! (Optimised, again, for MT_LHRT.)
* Also spawn these particles when a successful spring boost occours, as well as playing a twisted spring sound.

Also, some other related tweaks:

* Optimisations to A_VultureBlast, which was used as a base for the particle creation.
* Make the Metal Sonic boss use P_PlayerCanDamage instead of a custom, somewhat broken player damage detection mechanism.
* P_SpawnGhostMobj takes colorized into account.
* Fold Tails propeller damage into P_PlayerCanDamage.
* When performing an Attraction Blast, place the player in roll frames.
* Update all conditions preventing SH_PINK to incorporate thokitem and spinitem as well.
* Buff MT_LHRT travel distance at slow speeds.
2019-06-26 23:26:05 +01:00
toaster
e5918d629b Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into toast_cleanup
# Conflicts:
#	src/p_mobj.c
2019-06-26 20:43:37 +01:00
toaster
6bcad784a9 PITY IN PINK!
* Smoothen Pity Shield animation to go with sphere's updates to Nev3r's sprites.
* Added LHRT object, designed to be summoned with CA2_MELEE.
    * Gives a pink Pity Shield (SH_PINK) on same-team player contact.
    * Deals damage to non-player enemies.
    * Harmlessly fades into nothing when touching an enemy player, players with SH_PINK already, and players capable of applying SH_PINK to others (through non-Lua methods).
* Basically, you-know-who is the Healer of the party whenever they're around. Fun consequences for the Co-op and CTF metas.
2019-06-19 23:20:24 +01:00
toaster
a6fd2275dd P_PlayerCanDamage(player_t*, mobj_t*), ported from the abandoned project_birthday because GOD the code looks awful with those huge monolith conditions in it. Available to Lua.
(Also, minor fixes to lib_pSpawnLockOn, and removing the SH_OP fuckery.)
2019-06-19 12:09:02 +01:00
MascaraSnake
457f1df181 Finetuned the saloon door swinging 2019-06-16 17:57:03 +02:00
MascaraSnake
852ae2d07b Many more bugfixes 2019-06-15 20:21:18 +02:00
MascaraSnake
18c0d32320 Removed an unnecessary tracer check 2019-06-15 13:52:27 +02:00
MascaraSnake
720d84f87f More incomplete minecart hardcoding 2019-06-13 21:45:30 +02:00
MascaraSnake
01adbfc495 Hardcoded the saloon door 2019-06-12 21:20:14 +02:00
MascaraSnake
a2c61983e5 Hardcoded the new BASH behavior (there's still a bug lurking somewhere) 2019-06-10 16:09:15 +02:00
MascaraSnake
4a91af1d59 Pushables that are also vulnerable no longer block crushers (because they die anyway). This allows us to make TNT barrels pushable again. 2019-06-10 14:10:37 +02:00
MascaraSnake
3653d5b46e Hardcoded the TNT barrels and proximity shell (using mazmazz's A_TNTExplode implementation from the minecart branch) 2019-06-09 10:51:33 +02:00
Monster Iestyn
0ae86e4401 Hardcode "slapstick" 2019-05-05 17:36:55 +01:00
mazmazz
81352aece1 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
Digiku
e2e0069259 Merge branch 'public-nights-invertloopfix' into 'next'
NiGHTS fix lap detection on inverted axis

See merge request STJr/SRB2!300
2018-11-26 16:08:24 -05:00
Monster Iestyn
1983f3bfde Merge branch 'last-min-cleanup' into 'master'
Last min cleanup

See merge request STJr/SRB2!342
2018-11-25 10:14:34 -05:00
mazmazz
c91b2b4456 Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Monster Iestyn
e34f2bf467 Kill CheckMissileImpact, it has been useless for probably a decade and a half 2018-11-23 23:14:49 +00:00
mazmazz
2c3ed93178 build errors 2018-11-20 20:23:48 -05:00
mazmazz
61a7e2bf2b NiGHTS drone loop: Change flyangle comparison to fix detection from vertical angles
Use > 90 && < 270 instead of >= 90 && <= 270. Fixes a bug where if you fly directly up (flyangle 90) or directly down (flyangle 270), that registers as a backwards direction, so you trigger the loop detection by flying BACKWARDS, not FORWARDS. This edge case (only possible via JUMPTOAXIS) should default to FORWARDS looping.

(cherry picked from commit ce215195f89bf52e5c2e2ddd7d5444685edf835d)
2018-09-14 08:58:19 -04:00
mazmazz
64a0f83238 Fix NiGHTS drone loop detection by using pl->flyangle
(cherry picked from commit 67e438128435aca992e2d45aa1f35603c5501984)
2018-09-14 08:57:37 -04:00
mazmazz
092b58fe39 Set mobj->floorrover and ceilingrover in appropriate places 2018-09-10 00:38:07 -04:00
mazmazz
913177ce23 Remove rovernum increment from P_CheckPosition because unused 2018-09-10 00:13:32 -04:00
mazmazz
5402e8a9a3 Replace sectornum/rovernum index vars with ffloor pointers 2018-09-09 23:12:37 -04:00
mazmazz
3f1789ad79 Apply ~FF_EXISTS moving plat fix for VERTICALFLIP 2018-09-09 21:59:41 -04:00
mazmazz
9c1fc17233 Also check for FF_SOLID 2018-09-08 01:07:08 -04:00
mazmazz
bc63a44330 Comment out tmfloorrover and tmceilingrover because unused 2018-09-08 00:36:43 -04:00
mazmazz
05ac0bb337 Fix player Z snap to floor on moving platform ~FF_EXISTS
* Track player's old floorz by mo->floor_sectornum and floor_ffloornum
* Track tmfloorz by tmfloorrover, tmfloor_sectornum, tmfloor_rovernum
* Ceiling variants of the above
2018-09-08 00:34:56 -04:00
mazmazz
5b61de544c Merge nightsplus-laplogic 2018-08-12 21:20:14 -04:00
mazmazz
9a9a2d94cc totalmarelap and totalmarebonuslap player variables 2018-08-12 19:57:33 -04:00
mazmazz
269c1a70ba Add lapbegunat and lapstartedtime player variables
There is no lapfinishedtime because [mare]finishedtime refers to when Egg Capsule is destroyed. That concept does not apply to laps.
2018-08-12 14:21:26 -04:00
mazmazz
a3946ee154 Merge branch 'nightsplus-laplogic' into nightsplus-le
# Conflicts:
#	src/p_map.c
#	src/p_setup.c
2018-08-10 17:24:12 -04:00
mazmazz
70c99ed669 Add lapbegunat and lapstartedtime player variables
There is no lapfinishedtime because [mare]finishedtime refers to when Egg Capsule is destroyed. That concept does not apply to laps.
2018-08-10 17:12:26 -04:00
mazmazz
b7f3f12dd6 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-le
# Conflicts:
#	src/p_map.c
#	src/p_setup.c
2018-08-10 15:51:20 -04:00
mazmazz
79d5c553c3 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-laplogic
# Conflicts:
#	src/p_map.c
#	src/p_setup.c
2018-08-10 15:10:26 -04:00
Digiku
e1e00ecb88 Merge branch 'nights-invertloopfix' into 'master'
NiGHTS fix lap detection on inverted axis

See merge request STJr/SRB2Internal!138
2018-08-10 13:49:42 -04:00
mazmazz
b3de1a5f6c Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-le
# Conflicts:
#	src/p_setup.c
#	src/p_user.c
2018-08-10 13:44:47 -04:00
mazmazz
052bd347bb Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-laplogic
# Conflicts:
#	src/p_setup.c
2018-08-10 13:35:59 -04:00
toaster
6203a867f6 Disable bumper score icon in NiGHTS to match enemies. 2018-06-09 19:22:28 +01:00
toasterbabe
626e36e50d * Bumpers and Balloons in a more final state.
* Blue diagonal springs, because that gap is very, very odd.
* Improved A_SpawnFreshCopy.
* Tweaked P_LookForEnemies for consistency's sake. (Previously, it was impossible to make a spring that could neither be homing-attacked or attraction-shotted.)
2018-05-20 00:04:39 +01:00
toasterbabe
29a0ce65ce The start of implementing FuriousFox's bumpers/balloons!
No hardcoding of states, but the test .wad they're stored in right now is predominantly state, object, and sprite definitions/assets right now - the only hook is for setting the colour of the balloons!!
2018-05-15 16:10:42 +01:00
toasterbabe
1ef8734d0b * Crushtacean!
* Behaves a bit differently to the one in DSZres.pk3.
   * Can now punch DSZ mines!
   * Also has mapthingnum 126 instead of 610.
* Some other mapthingnum changes.
   * DSZ2 stalagmite is now 1009, formerly 999.
   * Big DSZ gargoyle is now 1011, formerly 1009.
2018-05-14 01:19:24 +01:00
toasterbabe
838d9b8a72 * DrT's Spincushion hardcoded.
* Make the MF_PAIN stuff ONLY depend on mass, using the bottom 8 bits for the type and the custom sound in the upper ones.
* A bunch of cleanup of random other stuff, including an unused Deton state and an unused Jetty type's sprite.
2018-05-13 14:09:20 +01:00
toasterbabe
e158a405f3 * Add new damagetype flag (DMG_CANHURTSELF) that allows a player to hurt themselves indirectly.
* Add damagetype to P_RadiusAttack (optinteger in lua, A_Explode var1).
* Removed the prevention of MF_BOSS objects from getting P_RadiusAttacked. This was a holdover from DooM (I checked) - a way to prevent the Cyberdemon from gibbing itself when firing point blank into a wall, and also a way to make it and the Spider Mastermind harder.
* Enemies are solid to other enemies movement-wise now.
* (Fun little aside - if you remove MF_SOLID from a monitor, it now behaves like they did in Sonic Adventure (poppable by colliding with, not just attacking).
* Fixed Metal Sonic battle conflict in MF_PAIN/mass not picked up earlier.
* Miscellaneous tiny code tweaks.
2018-05-08 23:26:36 +01:00
toasterbabe
5b859f8a45 Remove the ugly double-hack for monitors! Doesn't QUITE do it via the return value of P_DamageMobj like MI and I theorised it should do, but it's functionally identical whilst being less code to maintain. 2018-05-02 20:55:07 +01:00
toasterbabe
316c3c5d73 Kill MF2_STANDONME (mechanically; still occupies the slot... will change that next time I have to handle the DEHACKED lists.) 2018-05-02 20:35:20 +01:00
toasterbabe
4046439230 * Springs no longer need MF_SOLID to function. (I tried to add a special Sonic 1-3 style "springs are solid from the side" thing with native support, but it turns out that requires too many hacks for an optional extra feature not used in the campaign, so No.)
* Springs no longer send you flying relative to the slope whilst you're on a slope. (I tried fixing this before, but this is a much more solid fix.)
2018-05-02 20:03:18 +01:00
toasterbabe
187642ec48 * Haunted Heights! Smashing spikeball, Cacolantern, Spinbobert and Hangster, along with the Spider and Bat flickies and general decoration/ambience stuff.
* MF_PAIN and MF_MISSILE now support setting damagetype via their Mass parameter. The two existing conflicts - the fuse setting for the grenade weapon ring and the Cybrakdemon napalm bomb - had these moved to other free parameters.
* A_ConnectToGround is EXTREMELY useful for palmtrees and stuff.
* Some other, relatively hacky A_ functions.
* (Unrelated) Remove the need for a "Mario block mode" for the token by making it natively compatible.
* Spikes and their time-offsetting via that Lua script sphere made. Also allow for wallspikes to do it via their angle/360.
2018-04-28 15:13:44 +01:00
toasterbabe
4a2701477b * Billiards mines! With support for both above and below water, replacing both the below-and-above-water old mines at once.
* Explosion executors.
* Minor refactor of P_KillMobj.
2018-04-26 20:18:51 +01:00