Jump to content

jaeden

Members
  • Posts

    304
  • Joined

  • Last visited

About jaeden

  • Rank
    is kinda sus.
    Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. In Decorate you can put a A_Jump function on start of Missile state to go to another state. Missile: TROO E 0 A_Jump(25, "Missile2") (rest of first missile code) Missile2: (code of second missile) The execution should jump to Missile2 in about 10% cases (25/256), rest will stay in Missile.
  2. What target port? What coding language?
  3. Why I think your solution does not work: You cannot have delayed states in CustomInventory. The removal is instant. Also I don't know if A_SetSpeed can work like this on players, maybe it does. Best approach I can come up with is use inventory items derived from PowerSpeed as both slower and timer. I think the A_RadiusGive part in the projectile class is probably the correct way of doing this without using ZScript (though is it intentional that it is called 3 times?).
  4. ACS_Execute function normally works in ZScript.
  5. random() without parameters should return an integer between 0 and 255. The [Heresiarch] identifier just make the RNG call independent on other RNG calls (that have different identifier or no identifier). You can simply use A_SpawnProjectile, which is customizable and well documented on wiki. (use CMF_AIMDIRECTION flag to make it behave more like SpawnMissileAngle).
  6. The sprite lump needs to be named HPLAA0 (0 here means same sprite from all directions)
  7. For (any non-actor) thinkers, I usually just make an int ctr variable and have a ctr++ on beginning of the Tick() override. Then using the ctr as GetAge() replacement.
  8. Those exist, but unfortunately, PE's soul spawning procedure does not create this relationship. There are no links from PE to LS or from LS to PE (so even with an event handler, you can't link dying LS to its originator).
  9. I agree that Event Handler is kinda overkill here. LS does not even need to be modified, everything could be done in a PE replacement class (it could have an array of references to spawned souls, and when it is about to attack, it would check if it has a free "slot", or if any of the referenced souls are dead). Most problematic thing here is, that A_PainAttack (and A_PainShootSkull) does not return any reference to the spawned LS, neither it gives the spawned LS reference to itself, so you would probably need to extract code from A_PainShootSkull and modify it so it returns reference to the LS.
  10. No, I don't think I have ever seen this game.
  11. Thanks for feedback. Tried to double length of the legs, and slightly increased size of pincers and tail. Does it look better like this?
  12. I generally use portals whenever I need to have multiple independent floors.
  13. A "scorpion queen", one of the bosses from my WIP TC project... Design still not finished, here just posting 16 rotations of a single frame:
  14. Instead of deleting the line directly, select both sectors and merge them (defaultly on Shift+J I think)
  15. In ZScript: 1) You can use AimTarget or AimLineAttack to get what the player is aiming at (or manually do a hitscan check through LineTrace). 2)3) You can use "is" keyword, but if you want to pull fields from a class, it is better to cast a pointer to the superclass and check if the casted pointer is valid. Assuming "pl" is pointer to the player, "Superclass" is class name of the superclass, this code should access fields if the aiming target is extended from the superclass (or is the superclass itself): Actor tgt = pl.AimTarget(); let casted = Superclass(tgt); if (casted) { casted.field1 = ... int result = casted.field2; } (untested)
×
×
  • Create New...