Commit Graph

540 Commits

Author SHA1 Message Date
MajorCooke 54af1e379e - Removed WARPF_MULHEIGHT. Enable its ability by default.
- WARPF_ADDHEIGHT will simply change HeightOffset from multiplying to adding by default.
2015-08-10 15:03:29 -05:00
MajorCooke ad14caa800 - Added A_Warp heightoffset property. Only has an effect by two flags.
- WARPF_ADDHEIGHT adds the pointed actor's height to heightoffset, and adds to the pointed actor's z position.
- WARPF_MULHEIGHT multiplies the pointed actor's height by heightoffset, and adds to the pointed actor's z position. Overridden by ADDHEIGHT.
2015-08-10 11:19:54 -05:00
MajorCooke e7aa5c690a Minor oversight... 2015-08-10 06:48:24 -05:00
MajorCooke fcf1d56b1a - Added SXF_IS<TARGET/MASTER/TRACER>.
- The spawned actor becomes the calling actor's specified pointers respectively.
2015-08-09 14:06:22 -05:00
Christoph Oelckers 36974431ba Merge branch 'master' into scripting
Conflicts:
	src/thingdef/thingdef_codeptr.cpp
2015-08-01 09:42:31 +02:00
Benjamin Moir efce2a200c Added WARPF_USETID to A_Warp 2015-07-31 22:24:01 +09:30
MajorCooke b4f05ee89b - Significant A_RadiusGive update.
- Added filter and species parameter.
- Added new flags: RGF_INCLUSIVE, RGF_ITEMS, RGF_KILLED, RGF_EXFILTER, RGF_EXSPECIES, and RGF_EITHER.
- RGF_ITEMS: Items can receive inventory.
- RGF_KILLED: Actors who are truly dead might not be corpses, and vice versa.
- RGF_EXFILTER: Blacklists the specified actor filter. All but the filtered actor can receive the item.
- RGF_EXSPECIES: Blacklists the specified species. All but the filtered species can receive the item.
- RGF_EITHER: The actor can receive the item if it satisfies either the filter or the species. Only useful when both are used.
- RGF_INCLUSIVE: An actor marked as more than one pointer to the calling actor can ignore the exclusion pointers, but only if at least one is missing. I.e. an actor who is a target and tracer of the calling actor can still receive the item, if the calling actor doesn't pass RGF_NOTARGET and NOTRACER at the same time. RGF_INCLUSIVE only works with the pointer filtering flags. By default, if not specified, the actor will not be loopholed the item if they are under any one of the three filters.
- Fixed discrepancies and dependencies upon several flags and actor conditions which caused the function to fail.
2015-07-22 16:46:14 -05:00
Christoph Oelckers 48ae605b7d Merge branch 'master' into scripting
Conflicts:
	src/thingdef/thingdef_codeptr.cpp
2015-05-02 22:44:31 +02:00
MajorCooke dc00d61f4d - Added TF_OVERRIDE to A_Teleport.
- Overrides the NOTELEPORT flag so actors with velocity don't need to disable it in order to perform A_Teleport, which could be screwed up by a teleporting line or sudden ACS interference.
- Ensure that the result is set to false if it fails prematurely. Wasn't sure if this was needed, but with the upcoming if/else statements, better safe than sorry.
2015-05-01 08:32:07 -05:00
Christoph Oelckers 1b29c3b6cf Merge branch 'master' into scripting
Conflicts:
	src/p_interaction.cpp
	tools/lemon/lemon.c
2015-04-30 16:13:32 +02:00
MajorCooke 1ecc048441 - Change the pointer to be at the end instead of the start. 2015-04-30 08:28:41 -05:00
MajorCooke 492ef1b716 - Added A_JumpIfHigherOrLower.
- (int ptr = AAPTR_TARGET, state high, state low, float offsethigh = 0, float offsetlow = 0, bool includeHeight = true)
- Jumps if the pointer of the calling actor is higher or lower than itself, adding offsethigh or offsetlow depending on the circumstance.
- includeHeight works twofold.
- Includes the height of the calling actor if the pointer is higher to truly determine if they are completely above them or not.
- Includes the height of the pointer if the pointer is lower.
- Disable it to only check z differences without adding height.
2015-04-30 08:15:48 -05:00
Christoph Oelckers 5f1c4d157c Merge branch 'master' into scripting
Conflicts:
	src/g_shared/a_sharedglobal.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_data.cpp
2015-04-30 12:30:36 +02:00
coelckers 691855e19b Merge pull request #304 from MajorCooke/morphundoalways
- Added MORPH_UNDOALWAYS for morph powerups.
2015-04-30 09:05:41 +02:00
coelckers c2e91293d2 Merge pull request #310 from MajorCooke/telefogfix
- Allow teleport fogs to set the teleporting actors as their targets, so...
2015-04-30 09:02:10 +02:00
Christoph Oelckers 2e0f999fea Merge branch 'master' into scripting
Conflicts:
	src/p_effect.cpp
	src/p_effect.h
	src/p_local.h
	src/p_map.cpp
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/actor.txt
	wadsrc/static/actors/shared/inventory.txt
	zdoom.vcproj
2015-04-28 14:45:13 +02:00
Christoph Oelckers f7834061df Merge commit 'b6a4511dd1e74440fad99bc673c1f2b3680dba48' into scripting
Conflicts:
	src/dobjtype.cpp
	src/p_conversation.cpp
	src/p_local.h
	src/p_things.cpp
	src/thingdef/thingdef_properties.cpp

(This is just the conversationID to MAPINFO stuff to keep the conflicts as small as possible)
2015-04-28 13:08:18 +02:00
Christoph Oelckers 0474560ac6 Merge commit '2ec8e2c2ac61d30f7f1d666ec58ca0fd37e2e3b0' into scripting
Conflicts:
	src/d_main.cpp
	src/info.cpp
	src/p_local.h

(Had to merge this all by itself because it was creating too many merge conflicts when combined with other stuff.
2015-04-28 12:54:01 +02:00
Christoph Oelckers 065c0a79cd Merge commit '4f7ec3ad891d556c0d3f680e209a120ed38e9cdb' into scripting
Conflicts:
	src/d_main.cpp
	src/info.cpp
	src/info.h
	src/p_acs.cpp
	src/p_interaction.cpp
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_properties.cpp

(scripting branch update part 5)
2015-04-28 12:48:33 +02:00
Christoph Oelckers 792cad89b3 Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
Conflicts:
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_hexenspecialdecs.cpp
	src/p_acs.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_expression.cpp

(Scripting branch update part 4)
2015-04-28 11:59:33 +02:00
Christoph Oelckers d6e3fc0567 Merge commit 'fb9231a38db2025eb77bfd246f36d985cbbccd2e' into scripting
Conflicts:
	src/info.cpp
	src/thingdef/thingdef_expression.cpp
	wadsrc/static/actors/constants.txt

(Scripting branch update part 2)
2015-04-28 09:57:01 +02:00
Christoph Oelckers 56989d3422 Merge commit 'ec5817869592660af6837b9f4e20ed140972a2b2' into scripting
Conflicts:
	src/p_enemy.cpp
	src/p_enemy.h
	wadsrc/static/actors/constants.txt

(Scripting branch update part 1)
2015-04-28 09:34:51 +02:00
Christoph Oelckers d46ba7bfb7 - added pickup sprite for Chex Quest's Mini Zorcher (i.e. pistol replacement.) 2015-04-27 10:24:49 +02:00
Chronos Ouroboros 6a6836b1e7 Added SpiralOffset to railgun functions. 2015-04-23 15:11:54 -03:00
MajorCooke 1799ae91c9 - Allow teleport fogs to set the teleporting actors as their targets, so modders can create interactions between the two.
- Fixed: P_MoveThing had source and destination fog spawning backwards.
- Fixed a case where the NOTELEPORT flag would be ignored on A_Teleport.
- Added pointer selection to A_Teleport. Defaults to AAPTR_DEFAULT (calling actor). State jumps will only be done by the calling actor.
2015-04-07 11:14:02 -05:00
Christoph Oelckers b6a4511dd1 - move conversation ID definition to MAPINFO as well. Uses the newly added filter feature to handle the teaser differences. 2015-04-05 00:31:15 +02:00
Christoph Oelckers 2ec8e2c2ac - moved spawn ID definitions to MAPINFO as well and removed all 'Game' directives from DECORATE because editor and spawn numbers are the only thing that required them. 2015-04-04 00:39:09 +02:00
MajorCooke 087d564343 - Added MORPH_UNDOALWAYS for morph powerups. 2015-04-03 12:16:27 -05:00
Christoph Oelckers 8b06b24035 - took editor numbers out of DECORATE definitions. 2015-04-03 16:34:07 +02:00
Randy Heit d37f9cbcae Add flies (doomed #112) from the Hexen retail beta
...because it brought back memories of adding Strife support.
- The search function is radically different, but the flying mechanics are
  the same.
2015-04-02 17:52:54 -05:00
Christoph Oelckers d481ba7b5a - fixed: The replacement actors for A_SetTelefog should not require inheriting from TeleportFog. 2015-03-31 22:11:16 +02:00
Christoph Oelckers 4d59190446 - redit commit 5f56fb5a16 without altering the line endings throughout thingdef_codeptr.cpp.
* Changed the behavior of SetActorTeleFog.
- Don't force "null" to resolve to no actor since "none" is already defined as NULL (via FindClass). (This change also applies to the decorate properties.)
- Passing an empty actor name will keep the existing fog since there's otherwise no way set only one fog. Since "none" works to remove the fog, I see no reason not to have this option.
2015-03-31 09:24:16 +02:00
Randy Heit 8cb269388e Eliminate .mreg section
- Member variables are now declared all in one place: InitThingdef(). They
  are not partially defined in thingdef_expression.cpp and further refined
  in actor.txt.
- This left ParseNativeVariable() parsing only functions, so it has been
  renamed to ParseNativeFunction().
- Note that their declarations in InitThingdef() are expected to be
  temporary.
2015-03-14 22:16:05 -05:00
Randy Heit dca5f0e908 Added QF_SINE
- Squashed commit of the following:

commit bc45fe3263d34ef5f746f524687999c19bf7b779
Author: Randy Heit <rheit@users.noreply.github.com>
Date:   Sun Mar 1 18:51:05 2015 -0600

    wave scale -> wave speed

commit ff96388b128c724c1198757bfa52f1935a263356
Author: Randy Heit <rheit@users.noreply.github.com>
Date:   Sun Mar 1 18:45:32 2015 -0600

    More sine quake fixes

commit 2a89749a6fe6d271b9fbdc218779f680afcf4cb6
Merge: 719dfbe 5456074
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Sat Feb 28 20:37:22 2015 -0600

    Added QF_WAVE to A_QuakeEx.
    - Changes the random quakes into a sine wave (see Shadow Warrior/Rise of the Triad reboots, Hard Reset, etc.)
    - Added 3 properties to control waves per second along each individual axis. Only works with QF_WAVE.
    - Intensity X/Y/Z property becomes the amplitude of the wave.
    - Stacks with regular quakes, allowing shaking along the camera which must be called using A_QuakeEx WITHOUT the flag, or the other quaking functions.
    - Uses the youngest quake's time for positioning.

commit 54560741581e8d15cc7060e8e068cf85e9a4b432
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Sat Feb 28 20:21:19 2015 -0600

    Recommitted recommended changes by Randi, with some modifications. Now, we should be finished!

commit 6f4473013411686d88fc185bdc1cc58b1035b0f1
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Sat Feb 28 12:52:57 2015 -0600

    Finish this revert.

commit 467e53f9400f588a2ada9b32e7634cb1f4ad5066
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Sat Feb 28 12:46:02 2015 -0600

    Reverted back to what was working.

commit da9de56a67efda08036e481fd5fccd5392ce6810
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Thu Feb 26 18:53:20 2015 -0600

    Forgot this bit, for testing.

commit c5093d9bb97caf8478cefc32abc56a036feeea58
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Thu Feb 26 18:52:46 2015 -0600

    Some more progress, but...
    - This did not solve anything. In fact, it did the opposite -- completely broke wave quakes. Now they only happen whenever a random quake is in progress.
    - Left in the commented code on purpose so Randi can test it.

commit 7e526405d2127cbb279f66008c8f8e55a5d497f3
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Wed Feb 25 17:50:42 2015 -0600

    - Use newest waveform timer, not oldest.

commit 1356443609dbc6c7f46e081d0846816dc0836124
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Wed Feb 25 17:32:09 2015 -0600

    - Got regular quakes to multiply onto sine quakes, but the vice versa needs fixing too.

commit d95796c94c70cd0229d4a6d30f69e3a7568b9588
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Wed Feb 25 16:46:21 2015 -0600

    - Last hurdle. Now just need to figure out how to properly scale up and down.

commit 4bc3458e689155ce72c09776604d9eb4fa73d8be
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Tue Feb 24 23:18:03 2015 -0600

    - Fixed the quakes being unstackable.

commit b51012d6d4ea065bf7f6fc9c1a0472966491f7af
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Mon Feb 23 23:48:34 2015 -0600

    QF_WAVE renamed from SINE.
    - Lots of ground covered, but still more to go.
    - Still need to figure out how to make the camera properly shudder.

commit 427e4893193470bbf45415ffec70a0b69b8cccfd
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Sun Feb 22 16:52:30 2015 -0600

    - Begin the groundworks for QF_SINE.
    - Need to figure out how to rework and manipulate the sine wave to move faster, and to allow going below 0 without breaking it too much.
2015-03-01 18:53:34 -06:00
Blue-Shadow e92f2826ee Removed NOGRAVITY flag from ArtiBoostMana. 2015-02-21 21:44:59 +03:00
MajorCooke fb9231a38d - Added QF_FULLINTENSITY.
- When using both scaling flags, by default, the effect only reaches half peak going either way. This forces it to go all the way to the top (or bottom if using QF_MAX) before scaling back to its original height..
2015-02-20 11:06:41 -06:00
MajorCooke 140a650442 - Added QF_SCALEUP and QF_MAX.
- QF_SCALEUP behaves like QF_SCALEDOWN: it gradually scales the tremors, only going upwards.
- QF_SCALEUP and QF_SCALEDOWN can be combined to make an earthquake that gradually smoothes in and out.
- QF_MAX can be used to invert this behavior, where it starts at the peak of the amplitude, fades out half way, and then grows back to maximum.
2015-02-20 10:46:37 -06:00
MajorCooke 045ab9fd5b Initial groundwork for QF_SCALEDOWN. 2015-02-19 21:42:32 -06:00
Randy Heit 2d4f02c560 Merge branch 'MajorCooke-quakeex' 2015-02-18 15:01:45 -06:00
MajorCooke 0f4bca8607 - Added SXF_TRANSFERROLL. 2015-02-14 16:51:05 -06:00
MajorCooke 7050d03222 Added A_QuakeEx(intensity x, y, z, duration, damrad, tremrad, sound, flags)
- Unlocks the full potential of using quakes, including the Z axis. Each intensity applies to X/Y/Z planes whenever a player is experiencing it.
- Flags:
- QF_RELATIVE - Adjusts the quaking of the camera to go in the direction its aiming (X: forward/backward. Y: Left/right.)
- Plans for including pitch will be implemented in the future for the Z axis with relativity.
2015-02-14 15:58:39 -06:00
Christoph Oelckers 7db035abba - undid NOGRAVITY for all floatbobbing items.
I have no idea why this was ever deemed proper - but it clearly breaks some Hexen maps and it not even remotely mimics the original behavior. Even now, it's not the same but since the items fall down they at least end up where they are supposed to be.
2015-02-12 16:27:28 +01:00
MajorCooke c93f96c303 Typo in SXF_TRANSFERSPRITEFRAME fixed. 2015-02-08 08:54:55 -06:00
MajorCooke b37a98689a - Added SXF_TRANSFERSPRITEFRAME. Now it's possible to make starting frames that start with "####" "#" 0 in Spawn.
- Fixed a compile warning with FAF_NODISTFACTOR.
2015-02-07 10:04:33 -06:00
MajorCooke 53fd57d6b7 - Added ang_offset and pitch_offset to A_Face, along with 4 new flags:
- ang_offset: the extra angle to apply to the actor after calculating the maximum turn.
- pitch_offset: Just like ang_offset, with pitch instead.
- FAF_BOTTOM: Aim straight for the actor's z coordinate, not with +32 units.
- FAF_MIDDLE: Aims for the direct middle of the actor.
- FAF_TOP: Aims for the very top of the actor.
- FAF_NODISTFACTOR: Use the raw pitch offset without calculating it into the distance of the aimed actor.
2015-01-30 16:48:24 -06:00
Randy Heit 775e33ede7 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_doom/a_archvile.cpp
	src/g_shared/a_morph.cpp
	src/p_enemy.h
	src/p_local.h
	src/p_mobj.cpp
	src/sc_man_tokens.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_exp.h
	src/thingdef/thingdef_expression.cpp
	src/thingdef/thingdef_states.cpp
	wadsrc/static/actors/actor.txt
2015-01-29 20:53:08 -06:00
MajorCooke 301c061ec3 - Added pointer for A_SetRoll. 2015-01-23 10:24:23 -06:00
MajorCooke 19b43d4752 - Added A_ResetHealth(ptr). Defaults to AAPTR_DEFAULT (the action caller).
- Added pointers to the following functions, all of them set to AAPTR_DEFAULT:
- A_SetAngle
- A_SetPitch
- A_SetScale
- A_SetSpeed
- A_ScaleVelocity
2015-01-23 09:26:34 -06:00
Christoph Oelckers ae282eea53 Merge branch 'sethealthredux' of https://github.com/MajorCooke/zdoom 2015-01-22 13:59:59 +01:00
MajorCooke 4fd87a1ce9 - Redid A_SetHealth.
- This function will not take the actor's health below 1, and any attempts to do so will simply set it to 1 in its place.
2015-01-20 22:54:30 -06:00
MajorCooke 105a62cc20 - Added pointer field to A_ChangeVelocity.
- Defaults to AAPTR_DEFAULT, otherwise known as the calling actor.
2015-01-19 14:54:20 -06:00
Randy Heit f71b1a8983 Whoops. 2015-01-06 19:34:11 -06:00
Randy Heit b2abf224b5 Save function name for error message in ParseStates()
- The error "You cannot pass parameters to..." used the most recent token,
  which was always ( and not the function name. (Note that this was
  already fixed in the scripting branch, so this is probably going to be a
  conflict. Meh.)
2015-01-06 19:31:00 -06:00
MajorCooke 643d37ab7c - Added A_SetFloatBobPhase(int). Takes a number between 0 and 63. If it's outside that range, it does nothing.
- Added A_Warp flags:
- WARPF_BOB: Gets the bob offset of actor pointer with the FLOATBOB flag.
- WARPF_MOVEPTR: The function is inversed to move the pointed actor with applied flags, but only the original caller will make the success/jump.
2015-01-06 11:55:41 -06:00
nashmuhandes 2b12db153b New functions to manipulate an actor's roll.
- DECORATE functions: A_SetRoll code pointer.
- DECORATE expressions: "roll" variable.
- ACS functions: SetActorRoll, GetActorRoll.
2015-01-05 17:51:32 +08:00
Blue-Shadow ba3988290c Added an option to A_Check[SightOr]Range to be able to perform a 2D-based distance check. 2015-01-01 22:16:51 +03:00
Randy Heit 85a2042394 Reimplement CheckClass and IsPointerEqual functions
- The definition of FxGlobalFunctionCall_CheckClass was big and scary. I
  would say this is a big improvement, since now it gets to leverage the
  same framework that action functions use.
- The definition of FxGlobalFunctionCall_IsPointerEqual was not so big and
  scary, so this can't be called so much of an improvement as
  CheckClass was. (Which is not to say that it isn't better anyway.)
2014-12-30 23:36:56 -06: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 15cd0debc1 - Fixed: Species was not defined in actor.txt. 2014-12-25 09:23:59 -06:00
MajorCooke d94be8f57b - Reverted back and set filter to "None" instead. 2014-12-24 17:15:21 -06:00
rheit bfb94f13d2 Merge pull request #198 from MajorCooke/filters
- Added name filtering to all A_Damage/Kill/Remove functions.
2014-12-23 21:42:31 -06:00
Randy Heit b5e4153c78 Merge branch 'master' into gonesolong
Conflicts:
	src/CMakeLists.txt
	src/b_think.cpp
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_fighterplayer.cpp
	src/namedef.h
	src/p_enemy.cpp
	src/p_local.h
	src/p_mobj.cpp
	src/p_teleport.cpp
	src/sc_man_tokens.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_function.cpp
	src/thingdef/thingdef_parse.cpp
	wadsrc/static/actors/actor.txt
	wadsrc/static/actors/constants.txt
	wadsrc/static/actors/shared/inventory.txt

- Added register reuse to VMFunctionBuilder for FxPick's code emitter.
- Note to self: Need to reimplement IsPointerEqual and CheckClass, which
  were added to thingdef_function.cpp over the past year, as this file no
  longer exists in this branch.
2014-12-21 21:15:11 -06:00
MajorCooke 91bfe4cceb - Added pointers for A_CustomMissile and A_CustomBulletAttack. 2014-12-21 12:29:19 -06:00
MajorCooke 2c7a3f2eba - Optimized DoDamage and DoKill.
- Do a filter and species check first to save time.
- Added DMSS/KILS/RMVF_EITHER, which means if the actor is of type or species, it counts.
- A_DamageTarget(20,"Normal",DMSS_EITHER,"DoomImp","CyberdemonSpecies")
- This affects actor DoomImp, and anything that's of species CyberdemonSpecies.
- Added a little more documentation via comments.
2014-12-21 10:38:51 -06:00
MajorCooke 5a472e815b - Added species checking.
- Added two more flags for each of the functions, EXFILTER and EXSPECIES.
- Stands for "exclude filter/species" and makes the function not take them into account.
- Cleaned up the code and placed all the checking in their own subfunctions.
2014-12-21 09:31:24 -06:00
MajorCooke c168761eda - Couple additional fixes:
- The wiki said the minimum distance to teleport defaults to 0, actor.txt on the other hand said otherwise. I was wondering why it was still broken somewhat...
- Prevent stickiness from happening, a.k.a. getting stuck in ceiling or floor and letting the engine unstick the actor. This caused velocity loss.
2014-12-20 22:51:43 -06:00
Randy Heit 2d87eb0ba2 Merge branch 'master' into gonesolong
Conflicts:
	src/CMakeLists.txt
	src/actor.h
	src/g_heretic/a_hereticmisc.cpp
	src/g_heretic/a_hereticweaps.cpp
	src/g_heretic/a_ironlich.cpp
	src/info.h
	src/namedef.h
	src/p_buildmap.cpp
	src/p_enemy.cpp
	src/p_map.cpp
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	zdoom.vcproj
2014-12-20 19:13:14 -06:00
MajorCooke e5a41a1358 - Added name filtering to all A_Damage/Kill/Remove functions.
- A_DamageChildren(20,"Normal",0,"DoomImp") for example will only target actors of DoomImp specifically.
2014-12-20 16:57:00 -06:00
Christoph Oelckers a19f0219c5 Merge branch 'master' of https://github.com/Blue-Shadow/zdoom 2014-12-20 11:36:10 +01:00
MajorCooke 86b0065c0b - Added a multitude of flags for A_Teleport.
- TF_KEEPVELOCITY: Keep the velocity after teleporting.
- TF_KEEPANGLE: Don't use the special spot's angle.
- TF_USESPOTZ: Normally, this function
- TF_NOSRCFOG: Don't leave fog at the previous location.
- TF_NODESTFOG: Don't leave fog at the arriving location.
- TF_USEACTORFOG: Use the actor's TeleFogSourceType and TeleFogDestType properties.
- TF_NOJUMP: Don't require or cause a jump. In this case, put 0 (or "") in for the jump destination when using CustomInventory items to teleport actors around.
2014-12-19 12:37:02 -06:00
Blue-Shadow a150e0686c Added 'lifestealmax' parameter and STEALARMOR flag to A_Saw and A_CustomPunch. 2014-12-18 23:05:59 +03:00
MajorCooke c6fd4c5aaf - Added the two definitions to actor.txt. 2014-12-18 09:46:19 -06:00
MajorCooke a2bb673370 - I really need to stop coding so late at night. 2014-12-17 21:58:30 -06:00
MajorCooke 30acb72006 - Added per-actor teleport fog modifications.
- New properties include TeleFogSourceType and TeleFogDestType.
- TeleFogSourceType is the fog left behind where the actor teleported away from.
- TeleFogDestType is the fog the actor sees when it arrives at its destination.
- Added A_SetTeleFog(<oldpos>,<newpos>) -- oldpos sets TeleFogSourceType, newpos sets TeleFogDestType.
2014-12-17 16:11:07 -06:00
MajorCooke 465d9ab89a - Added flags for A_CheckLOF:
- CLOFF_SETTARGET | CLOFF_SETMASTER | CLOFF_SETTRACER
- An actor that causes A_CheckLOF (and only an actor) to succeed will set the intercepting actor as its target, master, and/or tracer, respectively.
2014-12-15 14:50:35 -06:00
MajorCooke 94f08aa593 - Added: Boolean to specify if A_Raise functions should perform CopyFriendliness based upon who raised it. By default, this is false. 2014-11-27 15:12:33 -06:00
MajorCooke 08570ec48e - Added flags for A_Fade functions:
- FTF_REMOVE: Removes the actor when the alpha hits a certain level.
- - A_FadeIn - 1.0
- - A_FadeOut - 0.0
- - A_FadeTo - Alpha target level reached
- FTF_CLAMP: Automatically fixes the alpha so it won't leave the range [0.0, 1.0].
2014-11-25 13:24:35 -06:00
Christoph Oelckers 6665ac5837 - fixed: With P_ExplodeMissile now working properly it is no longer valid to terminate a looping sound in a missile's death state because it now gets called after the death sound has been started. 2014-11-25 16:49:27 +01:00
Edoardo Prezioso fd354dbe9a - Added CPF_NOTURN flag for A_CustomPunch. 2014-11-14 12:18:46 +01:00
Edoardo Prezioso 8b85e6d00b - Port an empty version of 'A_FaceConsolePlayer'.
Hissies will be happy now.
2014-11-08 18:49:16 +01:00
Christoph Oelckers c28c0b8f0b Revert "Backport 'A_FaceConsolePlayer' from zandronum."
This reverts commit eab971500b.

As Edward850 pointed out, this feature is broken by design and therefore completely useless.
2014-11-08 08:53:32 +01:00
Christoph Oelckers 3976de1404 Merge branch 'faceconsoleplayer' of https://github.com/edward-san/zdoom 2014-11-08 00:48:07 +01:00
Edoardo Prezioso eab971500b Backport 'A_FaceConsolePlayer' from zandronum.
By Dusk, who authorized me to do this.
2014-11-08 00:31:16 +01:00
MajorCooke 364d9069bd In fact, let's go ahead and ensure compatibility doesn't break since it's already in there. 2014-11-07 17:20:12 -06:00
MajorCooke 848225e9ee - Fixed typo on WARPF_ABSOLUTEPOSITION 2014-11-07 17:12:03 -06:00
MajorCooke 938b54ccb5 - Added TF_FORCED for A_Teleport. Forces the actor to move to the spot. 2014-10-31 15:51:15 -05:00
MajorCooke 165d2887fd - Added: A_GiveToChildren
- Added: A_TakeFromChildren
- Added: A_GiveToSiblings
- Added: A_TakeFromSiblings
- Added the following flags for A_RadiusGive:
- RGF_NOSIGHT: Exclude sight check from distance.
- RGF_MISSILES: Missiles can take inventory items.
2014-10-29 14:01:31 -05:00
MajorCooke c01d1a8003 - Added DMSS_NOPROTECT.
Bypasses PowerProtection inventory items.
2014-10-27 22:29:10 -05:00
Christoph Oelckers 313245dd77 - added a Buddha powerup 2014-10-25 09:53:23 +02:00
MajorCooke a19620968d - Follow-up of the previous commit.
- Cleaned up the DoDamage and DoKill functionality.
- Added DMSS_FOILBUDDHA and KILS_FOILBUDDHA.
2014-10-25 09:39:10 +02:00
Christoph Oelckers 5513966165 - fixed: Strife's peasants couldn't harm the player because they were defined as friendly. 2014-10-25 01:15:39 +02:00
Christoph Oelckers 6824605154 - added pickup sprite and editor number for Heretic's gold wand. 2014-10-24 00:06:18 +02:00
Christoph Oelckers 0f19356e24 Merge branch 'master' of https://github.com/MajorCooke/zdoom
Conflicts:
	wadsrc/static/actors/constants.txt
2014-10-12 08:43:46 +02:00
MajorCooke f766a1ab38 - Added SXF_ORIGINATOR.
- Only useful for missiles.

By default, missiles cannot set themselves as the master when spawning
actors.
2014-10-11 16:15:42 -05:00
MajorCooke f54a59fdf8 - Added JLOSF_CHECKTRACER for A_JumpIfTargetInLOS.
- CHECKTRACER doesn't need to be a missile or have the SEEKERMISSILE
flag.
2014-10-02 17:00:17 -05:00
MajorCooke 5030832df0 - Added DMSS_NOFACTOR for all A_Damage functions. 2014-10-02 11:48:07 -05:00
Christoph Oelckers cfb623d517 Merge branch 'master' of https://github.com/MajorCooke/zdoom 2014-09-29 00:42:59 +02:00
MajorCooke 43b86288c7 - Added A_Remove(int pointer, int flags).
- RMVF_MISSILES removes missiles.
- RMVF_NOMONSTERS ignores monsters.
- RMVF_MISC includes non-monsters and missiles.
- RMVF_EVERYTHING disregards all checks and remove it.

These flags now apply to the following in addition to the new function:

-A_RemoveTarget
-A_RemoveMaster
-A_RemoveTracer
-A_RemoveChildren
-A_RemoveSiblings
2014-09-28 08:15:00 -05:00
fdari c4f0f95ec8 Get linetarget (aim target) from any actor (not just player): AAPTR_LINETARGET 2014-09-28 15:06:52 +02:00
MajorCooke 68a5db3c8c - Added SXF_NOPOINTERS for A_SpawnItemEx.
- Added WARPF_ABSOLUTEPOSITION for A_Warp.
2014-09-27 13:22:14 -05:00
Christoph Oelckers 68c481945a - extended parameter list of A_BFGSpray. 2014-09-27 09:36:38 +02:00
MajorCooke 0735cb9550 - Updated many functions.
- Added A_KillTarget(damagetype, int flags).
- Added A_KillTracer(damagetype, int flags).
- Added A_RemoveTarget.
- Added A_RemoveTracer.

A_Kill (Master/Target/Tracer/Children/Siblings):
- KILS_FOILINVUL: foils invulnerability.
- KILS_KILLMISSILES: destroys projectiles. Does not work on invulnerable
projectiles without KILS_FOILINVUL, and doesn't work at all on missiles
with NODAMAGE flag.
- KILS_NOMONSTERS: actors that are monsters will not be killed.

A_Damage (Self/Target/Master/Tracer/Children/Siblings):
- DMSS_FOILINVUL: foils invulnerability.
- DMSS_AFFECTARMOR: damages the actor's armor instead of bypassing it
entirely.
- DMSS_KILL: damages the actor by its remaining health (useful for
modular DECORATE programming).

- Added A_SpawnItemEx flags:
- SXF_SETTARGET: sets the calling actor as the target.
- SXF_SETTRACER: sets the calling actor as the tracer.
Both of these functions take priority similar to SXF_SETMASTER over
SXF_TRANSFERPOINTERS.
2014-09-27 00:10:31 -05:00
MajorCooke 5b71ce6dcb - Added FDARI's A_JumpIfHealthLower patch.
Now with pointer accessibility.
2014-09-26 11:48:20 -05:00
MajorCooke 422e83a1b9 - Added more A_Damage functions:
- A_DamageTarget
- A_DamageTracer
-Both take a number for how much damage to deal and the damagetype to
inflict. Negative numbers means healing.
2014-09-25 23:12:25 -05:00
MajorCooke b1f87295b8 - Added A_DamageSelf.
- A_DamageSelf(int amount, name damagetype)
2014-09-25 16:47:41 -05:00
MajorCooke 44683657f2 - Added jpalomo's A_SetSpeed patch. 2014-09-20 17:34:57 -05:00
MajorCooke 33f83cc7f9 Added Blue Shadow's A_SpawnItemEx changes: (2/2)
SXF_TRANSFERALPHA and SXF_TRANSFERRENDERSTYLE
2014-09-19 14:17:24 -05:00
Christoph Oelckers cfd24f438f - jpalomo's A_Saw flags submission. 2014-09-08 13:02:05 +02:00
Christoph Oelckers 8f238f8d32 - fixed: the Revenant's frame duration in its missile state were wrong. 2014-08-27 11:06:12 +02: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
Christoph Oelckers 6d4eb7f62d - changed handling of DF_NO_COOP_WEAPON_SPAWN dmflag so that weapons are not determined by class type but by a newly added flag WEAPONSPAWN, to allow CustomInventory replacements to act like weapons when being spawned. 2014-07-27 10:07:37 +02:00
Braden Obrzut bfbea40415 - Fixed some typos with chex quest obituaries and French translation error. 2014-07-15 21:20:05 -04:00
Christoph Oelckers e56e525d0f - A_FireCustomMissile transfer tranlsation flag, code submission by jpalomo 2014-06-22 08:55:21 +02:00
Christoph Oelckers 63a0e01c6a Merge branch 'interpview_optin' 2014-05-08 09:17:00 +02:00
Christoph Oelckers 67ebbe3ed4 made some changes to turn the CF_INTERPVIEW flag when changing angles into an op-in feature instead of making it automatic. 2014-05-08 09:15:56 +02:00
Christoph Oelckers 94c4f38c58 - added constants for sound channels 5-7. 2014-04-28 01:26:30 +02:00
Gaerzi 60fe07df74 Added slow states to relevant Strife monsters
Namely, acolyte, shadow acolyte, reaver, stalker, and turret. Info on
which states needed the slow flag was obtained with Quasar's permission
by looking at G_InitNew() in g_game.c and the info.c state tables from
Chocolate Strife.
Also added fast flag to acolyte states that needed it, based on the same
source.
2014-04-17 17:42:16 +02:00
alexey.lysiuk a97b068ed7 Enable fighting between different types of gargoyles and golems
In vanilla Heretic:
- Gargoyles are able to fight with Fire Gargoyles
- Golems are able to fight with Nitro Golems, both regular and ghosted versions
2014-03-30 13:27:27 +03:00
alexey.lysiuk 6a958b032c Add NOBLOOD flag to Heresiarch actor
Heresiarch entity in vanilla Hexen doesn't spawn blood when hit
2014-03-18 12:29:14 +02:00
Randy Heit fe67ae5e54 Merge branch 'maint' 2013-11-19 21:01:15 -06:00
Randy Heit 62ffe7e4e2 Add NOGRAVITY to every Raven actor with FLOATBOB
- Fixed: Heretic and Hexen completely skip all normal Z processing on
  mobjs with FLOATBOB set. To emulate that, we need to add NOGRAVITY to
  everything with that flag set.
2013-11-19 19:42:13 -06:00
Christoph Oelckers a144221174 - changed the invisible waiting frame of the ExplosiveBarrel to use TNTA10 instead of the real barrel frame. This is so that sprite checks do not erroneously determine that there's still something to see. GZDoom's dynamic light code has problems with this. 2013-09-20 10:43:10 +02:00
Christoph Oelckers 251cdacf26 Merge branch 'master' into scripting
Conflicts:
	src/g_shared/a_randomspawner.cpp
	src/g_strife/a_strifeweapons.cpp
	src/thingdef/thingdef_parse.cpp
	wadsrc/static/actors/constants.txt
2013-09-03 09:01:28 +02:00
Christoph Oelckers 8e8f6cf5a6 - A_AlertMonsters flags submission by NeuralStunner. 2013-08-20 20:33:03 +02:00
Christoph Oelckers 3e4678765b Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/thingdef/thingdef_codeptr.cpp
2013-08-18 12:18:59 +02:00
Christoph Oelckers 3300566493 - P_DropItem's chance parameter had an incorrect default value. 2013-08-12 01:54:45 +02:00
Christoph Oelckers c0174ea7cd - Added A_DropItem for DECORATE. 2013-08-11 20:48:08 +02:00
Christoph Oelckers d438c6c456 - fixed typo in Strife spectre's obituary message and added it to the DECORATE definition of the spectre. 2013-08-10 20:42:34 +02:00
Christoph Oelckers 1c889dc9fa - let APowerRegeneration use the Strength property to define the amount of regeneration it gives. 2013-08-10 09:51:48 +02:00
Christoph Oelckers bba092cc0b Merge branch 'master' into scripting
Conflicts:
	src/d_player.h
	src/g_doom/a_archvile.cpp
	src/thingdef/thingdef.h
	src/thingdef/thingdef_properties.cpp
2013-08-09 13:03:28 +02:00
Christoph Oelckers 5d0369d4ed - Ability to set A_VileAttack's initial attack's damage type - by BlueShadow. 2013-08-09 12:18:58 +02:00
Christoph Oelckers 34b71baad1 - added Player.Aircapacity property which is used as a multiplier for the level's air supply. 2013-08-09 11:57:14 +02:00
Christoph Oelckers 909ec2e35a Merge branch 'maint' into scripting 2013-07-28 10:47:17 +02:00
Christoph Oelckers cbc0b70e7c - TransferStencilColor A_SpawnItemEx patch / by Ryan Cordell. 2013-07-24 20:15:17 +02:00
Randy Heit 9c86f1c220 Merge branch 'master' into scripting for plugged userinfo memory leak
Conflicts:
	src/d_player.h
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
2013-07-23 21:01:13 -05: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
Randy Heit 4deeb8d8ae Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_doom/a_doomweaps.cpp
	src/p_local.h
	src/p_map.cpp
	src/sdl/i_main.cpp
	src/thingdef/thingdef_codeptr.cpp
2013-06-25 19:28:25 -05:00
Christoph Oelckers e4f78f225c Merge fix. 2013-06-24 02:26:23 +02:00
Christoph Oelckers 631fd69719 - fixed: GoldWandPuff2 requires the PUFFONACTORS flag. 2013-06-24 02:25:16 +02:00
Christoph Oelckers 7d56311152 - added Ryan Cordell's A_CheckRange submission. 2013-06-23 18:45:17 +02:00
Randy Heit 459ad5abff - Updated scripting branch to latest version in trunk.
SVN r4337 (scripting)
2013-06-07 03:31:30 +00:00
Randy Heit 2d13a45773 - Added read access to an actor's melee range from DECORATE and ACS, via Blue Shadow.
SVN r4305 (trunk)
2013-06-01 02:23:27 +00:00
Christoph Oelckers dbf68e3f2c - fixed the Peasants DECORATE definition.
SVN r4298 (trunk)
2013-05-30 21:07:29 +00:00
Christoph Oelckers a7c2346b32 - added a FloatBobPhase property for DECORATE. Now, if FloatBobPhase is anything but -1 it will be used directly as the initial phase, allowing to define actors that bob in sync. The allowed range of phases is 0 - 63. The main reason for this is that each actor spawn called the pr_spawnmobj RNG just to randomize this value which causes problems with non-interactive actors, in particular GZDoom's dynamic lights.
SVN r4296 (trunk)
2013-05-30 08:52:29 +00:00
Christoph Oelckers 567fbace22 - re-fixed r4279.
SVN r4282 (trunk)
2013-05-25 18:30:23 +00:00
Christoph Oelckers 2767f31a92 - fixed: PillarAlienPower must loop its state.
SVN r4279 (trunk)
2013-05-25 16:22:51 +00:00
Braden Obrzut 332e39d6c8 - Fixed: Typo in WaterDropOnFloor actor's active sound.
SVN r4276 (trunk)
2013-05-22 21:26:06 +00:00
Randy Heit 71f42122bc - Added a definition for OB_MPMAULER1 and removed the needless reference to OB_MPMAULER2.
SVN r4270 (trunk)
2013-05-17 01:22:19 +00:00
Randy Heit 404df07629 - Fixed: The Ironlich lost its Pain state when it was converted to DECORATE.
SVN r4252 (trunk)
2013-05-07 01:57:05 +00:00
Randy Heit 8830d3a07a - Fixed: Ever since r1078, D'Sparil has been too quiet.
SVN r4249 (trunk)
2013-05-04 19:46:38 +00:00