isaacscript-common 19.0.2 → 19.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/index.d.ts +133 -47
  2. package/dist/isaacscript-common.lua +183 -51
  3. package/dist/src/callbackClasses.d.ts +4 -0
  4. package/dist/src/callbackClasses.d.ts.map +1 -1
  5. package/dist/src/callbackClasses.lua +20 -0
  6. package/dist/src/callbacks.d.ts +50 -46
  7. package/dist/src/callbacks.d.ts.map +1 -1
  8. package/dist/src/callbacks.lua +4 -0
  9. package/dist/src/classes/callbacks/PostPickupInitFilter.d.ts +9 -0
  10. package/dist/src/classes/callbacks/PostPickupInitFilter.d.ts.map +1 -0
  11. package/dist/src/classes/callbacks/PostPickupInitFilter.lua +23 -0
  12. package/dist/src/classes/callbacks/PostPickupRenderFilter.d.ts +9 -0
  13. package/dist/src/classes/callbacks/PostPickupRenderFilter.d.ts.map +1 -0
  14. package/dist/src/classes/callbacks/PostPickupRenderFilter.lua +23 -0
  15. package/dist/src/classes/callbacks/PostPickupSelectionFilter.d.ts +9 -0
  16. package/dist/src/classes/callbacks/PostPickupSelectionFilter.d.ts.map +1 -0
  17. package/dist/src/classes/callbacks/PostPickupSelectionFilter.lua +21 -0
  18. package/dist/src/classes/callbacks/PostPickupUpdateFilter.d.ts +9 -0
  19. package/dist/src/classes/callbacks/PostPickupUpdateFilter.d.ts.map +1 -0
  20. package/dist/src/classes/callbacks/PostPickupUpdateFilter.lua +23 -0
  21. package/dist/src/enums/ModCallbackCustom.d.ts +110 -46
  22. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  23. package/dist/src/enums/ModCallbackCustom.lua +54 -46
  24. package/dist/src/functions/playerCenter.d.ts +4 -1
  25. package/dist/src/functions/playerCenter.d.ts.map +1 -1
  26. package/dist/src/functions/playerCenter.lua +7 -3
  27. package/dist/src/functions/stage.d.ts.map +1 -1
  28. package/dist/src/functions/stage.lua +1 -1
  29. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts +20 -0
  30. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  31. package/dist/src/shouldFire.d.ts +1 -1
  32. package/dist/src/shouldFire.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/callbackClasses.ts +4 -0
  35. package/src/callbacks.ts +5 -0
  36. package/src/classes/callbacks/PostPickupInitFilter.ts +22 -0
  37. package/src/classes/callbacks/PostPickupRenderFilter.ts +22 -0
  38. package/src/classes/callbacks/PostPickupSelectionFilter.ts +24 -0
  39. package/src/classes/callbacks/PostPickupUpdateFilter.ts +22 -0
  40. package/src/enums/ModCallbackCustom.ts +68 -0
  41. package/src/functions/playerCenter.ts +4 -4
  42. package/src/functions/stage.ts +2 -1
  43. package/src/interfaces/private/AddCallbackParametersCustom.ts +28 -0
  44. package/src/shouldFire.ts +1 -0
@@ -8,8 +8,6 @@ import { getPlayerFamiliars } from "./familiars";
8
8
  import { getCircleDiscretizedPoints } from "./math";
9
9
  import { getAllPlayers } from "./playerIndex";
10
10
 
11
- const CIRCLE_RADIUS_BETWEEN_PLAYERS = 50;
12
-
13
11
  /**
14
12
  * Helper function to move all of the players to where they would normally go when arriving at a new
15
13
  * floor. (In normal mode, this is the center of the room. In Greed Mode, this is below the top
@@ -18,8 +16,10 @@ const CIRCLE_RADIUS_BETWEEN_PLAYERS = 50;
18
16
  * If there is more than one player, they will be distributed around the center in a circle.
19
17
  *
20
18
  * This function emulates what happens in the vanilla game when you travel to a new floor.
19
+ *
20
+ * @param radius Optional. The radius of the circle. Default is 10.
21
21
  */
22
- export function movePlayersToCenter(): void {
22
+ export function movePlayersToCenter(radius: float = 10): void {
23
23
  const isGreedMode = game.IsGreedMode();
24
24
  const startingPosition = isGreedMode
25
25
  ? NEW_FLOOR_STARTING_POSITION_GREED_MODE
@@ -41,7 +41,7 @@ export function movePlayersToCenter(): void {
41
41
  // (This is what happens in vanilla.)
42
42
  const circlePoints = getCircleDiscretizedPoints(
43
43
  startingPosition,
44
- CIRCLE_RADIUS_BETWEEN_PLAYERS,
44
+ radius,
45
45
  players.length,
46
46
  1,
47
47
  1,
@@ -255,7 +255,8 @@ export function onSheol(): boolean {
255
255
  export function onStageWithNaturalDevilRoom(): boolean {
256
256
  const effectiveStage = getEffectiveStage();
257
257
  return (
258
- inRange(effectiveStage, 2, 8) && effectiveStage !== LevelStage.BLUE_WOMB
258
+ inRange(effectiveStage, LevelStage.BASEMENT_2, LevelStage.WOMB_2) &&
259
+ effectiveStage !== LevelStage.BLUE_WOMB
259
260
  );
260
261
  }
261
262
 
@@ -437,6 +437,12 @@ export interface AddCallbackParametersCustom {
437
437
  subType?: int,
438
438
  ];
439
439
 
440
+ [ModCallbackCustom.POST_PICKUP_INIT_FILTER]: [
441
+ callback: (pickup: EntityPickup) => void,
442
+ pickupVariant?: PickupVariant,
443
+ subType?: int,
444
+ ];
445
+
440
446
  [ModCallbackCustom.POST_PICKUP_INIT_FIRST]: [
441
447
  callback: (pickup: EntityPickup) => void,
442
448
  pickupVariant?: PickupVariant,
@@ -449,6 +455,22 @@ export interface AddCallbackParametersCustom {
449
455
  subType?: int,
450
456
  ];
451
457
 
458
+ [ModCallbackCustom.POST_PICKUP_RENDER_FILTER]: [
459
+ callback: (pickup: EntityPickup, renderOffset: Vector) => void,
460
+ pickupVariant?: PickupVariant,
461
+ subType?: int,
462
+ ];
463
+
464
+ [ModCallbackCustom.POST_PICKUP_SELECTION_FILTER]: [
465
+ callback: (
466
+ pickup: EntityPickup,
467
+ variant: PickupVariant,
468
+ subType: int,
469
+ ) => [PickupVariant, int] | undefined,
470
+ pickupVariant?: PickupVariant,
471
+ subType?: int,
472
+ ];
473
+
452
474
  [ModCallbackCustom.POST_PICKUP_STATE_CHANGED]: [
453
475
  callback: (
454
476
  pickup: EntityPickup,
@@ -459,6 +481,12 @@ export interface AddCallbackParametersCustom {
459
481
  subType?: int,
460
482
  ];
461
483
 
484
+ [ModCallbackCustom.POST_PICKUP_UPDATE_FILTER]: [
485
+ callback: (pickup: EntityPickup) => void,
486
+ pickupVariant?: PickupVariant,
487
+ subType?: int,
488
+ ];
489
+
462
490
  [ModCallbackCustom.POST_PIT_RENDER]: [
463
491
  callback: (pit: GridEntityPit) => void,
464
492
  pitVariant?: PitVariant,
package/src/shouldFire.ts CHANGED
@@ -265,6 +265,7 @@ export function shouldFireNPC(
265
265
  export function shouldFirePickup(
266
266
  fireArgs:
267
267
  | [pickup: EntityPickup]
268
+ | [pickup: EntityPickup, renderOffset: Vector]
268
269
  | [pickup: EntityPickup, player: EntityPlayer]
269
270
  | [pickup: EntityPickup, previousState: int, currentState: int],
270
271
  optionalArgs: [pickupVariant?: PickupVariant, subType?: int],