isaacscript-common 6.7.0 → 6.9.0

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.
@@ -363,7 +363,7 @@ export function spawnBombPickup(
363
363
  velocity: Vector = VectorZero,
364
364
  spawner: Entity | undefined = undefined,
365
365
  seedOrRNG: Seed | RNG | undefined = undefined,
366
- ): EntityPickupBattery {
366
+ ): EntityPickupBomb {
367
367
  return spawnPickup(
368
368
  PickupVariant.BOMB,
369
369
  bombSubType,
@@ -371,7 +371,7 @@ export function spawnBombPickup(
371
371
  velocity,
372
372
  spawner,
373
373
  seedOrRNG,
374
- ) as EntityPickupBattery;
374
+ ) as EntityPickupBomb;
375
375
  }
376
376
 
377
377
  /**
@@ -384,7 +384,7 @@ export function spawnBombPickupWithSeed(
384
384
  seedOrRNG: Seed | RNG,
385
385
  velocity: Vector = VectorZero,
386
386
  spawner: Entity | undefined = undefined,
387
- ): EntityPickupBattery {
387
+ ): EntityPickupBomb {
388
388
  return spawnBombPickup(bombSubType, position, velocity, spawner, seedOrRNG);
389
389
  }
390
390
 
@@ -392,7 +392,7 @@ export function spawnBombPickupWithSeed(
392
392
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TAROT_CARD` (300).
393
393
  */
394
394
  export function spawnCard(
395
- subType: Card,
395
+ card: Card,
396
396
  position: Vector,
397
397
  velocity: Vector = VectorZero,
398
398
  spawner: Entity | undefined = undefined,
@@ -400,7 +400,7 @@ export function spawnCard(
400
400
  ): EntityPickupCard {
401
401
  return spawnPickup(
402
402
  PickupVariant.TAROT_CARD,
403
- subType,
403
+ card,
404
404
  position,
405
405
  velocity,
406
406
  spawner,
@@ -413,18 +413,18 @@ export function spawnCard(
413
413
  * and a specific seed.
414
414
  */
415
415
  export function spawnCardWithSeed(
416
- subType: Card,
416
+ card: Card,
417
417
  position: Vector,
418
418
  seedOrRNG: Seed | RNG,
419
419
  velocity: Vector = VectorZero,
420
420
  spawner: Entity | undefined = undefined,
421
421
  ): EntityPickupCard {
422
- return spawnCard(subType, position, velocity, spawner, seedOrRNG);
422
+ return spawnCard(card, position, velocity, spawner, seedOrRNG);
423
423
  }
424
424
 
425
425
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.COIN` (20). */
426
426
  export function spawnCoin(
427
- subType: CoinSubType,
427
+ coinSubType: CoinSubType,
428
428
  position: Vector,
429
429
  velocity: Vector = VectorZero,
430
430
  spawner: Entity | undefined = undefined,
@@ -432,7 +432,7 @@ export function spawnCoin(
432
432
  ): EntityPickupCoin {
433
433
  return spawnPickup(
434
434
  PickupVariant.COIN,
435
- subType,
435
+ coinSubType,
436
436
  position,
437
437
  velocity,
438
438
  spawner,
@@ -445,18 +445,18 @@ export function spawnCoin(
445
445
  * specific seed.
446
446
  */
447
447
  export function spawnCoinWithSeed(
448
- subType: CoinSubType,
448
+ coinSubType: CoinSubType,
449
449
  position: Vector,
450
450
  seedOrRNG: Seed | RNG,
451
451
  velocity: Vector = VectorZero,
452
452
  spawner: Entity | undefined = undefined,
453
453
  ): EntityPickupCoin {
454
- return spawnCoin(subType, position, velocity, spawner, seedOrRNG);
454
+ return spawnCoin(coinSubType, position, velocity, spawner, seedOrRNG);
455
455
  }
456
456
 
457
457
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.HEART` (10). */
458
458
  export function spawnHeart(
459
- subType: HeartSubType,
459
+ heartSubType: HeartSubType,
460
460
  position: Vector,
461
461
  velocity: Vector = VectorZero,
462
462
  spawner: Entity | undefined = undefined,
@@ -464,7 +464,7 @@ export function spawnHeart(
464
464
  ): EntityPickupHeart {
465
465
  return spawnPickup(
466
466
  PickupVariant.HEART,
467
- subType,
467
+ heartSubType,
468
468
  position,
469
469
  velocity,
470
470
  spawner,
@@ -473,18 +473,18 @@ export function spawnHeart(
473
473
  }
474
474
 
475
475
  export function spawnHeartWithSeed(
476
- subType: HeartSubType,
476
+ heartSubType: HeartSubType,
477
477
  position: Vector,
478
478
  seedOrRNG: Seed | RNG,
479
479
  velocity: Vector = VectorZero,
480
480
  spawner: Entity | undefined = undefined,
481
481
  ): EntityPickupHeart {
482
- return spawnHeart(subType, position, velocity, spawner, seedOrRNG);
482
+ return spawnHeart(heartSubType, position, velocity, spawner, seedOrRNG);
483
483
  }
484
484
 
485
485
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.KEY` (30). */
486
486
  export function spawnKey(
487
- subType: KeySubType,
487
+ keySubType: KeySubType,
488
488
  position: Vector,
489
489
  velocity: Vector = VectorZero,
490
490
  spawner: Entity | undefined = undefined,
@@ -492,7 +492,7 @@ export function spawnKey(
492
492
  ): EntityPickupKey {
493
493
  return spawnPickup(
494
494
  PickupVariant.KEY,
495
- subType,
495
+ keySubType,
496
496
  position,
497
497
  velocity,
498
498
  spawner,
@@ -505,13 +505,13 @@ export function spawnKey(
505
505
  * specific seed.
506
506
  */
507
507
  export function spawnKeyWithSeed(
508
- subType: KeySubType,
508
+ keySubType: KeySubType,
509
509
  position: Vector,
510
510
  seedOrRNG: Seed | RNG,
511
511
  velocity: Vector = VectorZero,
512
512
  spawner: Entity | undefined = undefined,
513
513
  ): EntityPickupKey {
514
- return spawnKey(subType, position, velocity, spawner, seedOrRNG);
514
+ return spawnKey(keySubType, position, velocity, spawner, seedOrRNG);
515
515
  }
516
516
 
517
517
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.PILL` (70). */
@@ -537,18 +537,18 @@ export function spawnPill(
537
537
  * specific seed.
538
538
  */
539
539
  export function spawnPillWithSeed(
540
- subType: PillColor,
540
+ pillColor: PillColor,
541
541
  position: Vector,
542
542
  seedOrRNG: Seed | RNG,
543
543
  velocity: Vector = VectorZero,
544
544
  spawner: Entity | undefined = undefined,
545
545
  ): EntityPickupPill {
546
- return spawnPill(subType, position, velocity, spawner, seedOrRNG);
546
+ return spawnPill(pillColor, position, velocity, spawner, seedOrRNG);
547
547
  }
548
548
 
549
549
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.SACK` (69). */
550
550
  export function spawnSack(
551
- subType: SackSubType,
551
+ sackSubType: SackSubType,
552
552
  position: Vector,
553
553
  velocity: Vector = VectorZero,
554
554
  spawner: Entity | undefined = undefined,
@@ -556,7 +556,7 @@ export function spawnSack(
556
556
  ): EntityPickupSack {
557
557
  return spawnPickup(
558
558
  PickupVariant.SACK,
559
- subType,
559
+ sackSubType,
560
560
  position,
561
561
  velocity,
562
562
  spawner,
@@ -569,20 +569,20 @@ export function spawnSack(
569
569
  * specific seed.
570
570
  */
571
571
  export function spawnSackWithSeed(
572
- subType: SackSubType,
572
+ sackSubType: SackSubType,
573
573
  position: Vector,
574
574
  seedOrRNG: Seed | RNG,
575
575
  velocity: Vector = VectorZero,
576
576
  spawner: Entity | undefined = undefined,
577
577
  ): EntityPickupSack {
578
- return spawnSack(subType, position, velocity, spawner, seedOrRNG);
578
+ return spawnSack(sackSubType, position, velocity, spawner, seedOrRNG);
579
579
  }
580
580
 
581
581
  /**
582
582
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TRINKET` (350).
583
583
  */
584
584
  export function spawnTrinket(
585
- subType: TrinketType,
585
+ trinketType: TrinketType,
586
586
  position: Vector,
587
587
  velocity: Vector = VectorZero,
588
588
  spawner: Entity | undefined = undefined,
@@ -590,7 +590,7 @@ export function spawnTrinket(
590
590
  ): EntityPickupTrinket {
591
591
  return spawnPickup(
592
592
  PickupVariant.TRINKET,
593
- subType,
593
+ trinketType,
594
594
  position,
595
595
  velocity,
596
596
  spawner,
@@ -603,11 +603,11 @@ export function spawnTrinket(
603
603
  * a specific seed.
604
604
  */
605
605
  export function spawnTrinketWithSeed(
606
- subType: TrinketType,
606
+ trinketType: TrinketType,
607
607
  position: Vector,
608
608
  seedOrRNG: Seed | RNG,
609
609
  velocity: Vector = VectorZero,
610
610
  spawner: Entity | undefined = undefined,
611
611
  ): EntityPickupTrinket {
612
- return spawnTrinket(subType, position, velocity, spawner, seedOrRNG);
612
+ return spawnTrinket(trinketType, position, velocity, spawner, seedOrRNG);
613
613
  }
@@ -1,6 +1,7 @@
1
1
  import { Challenge, PlayerType } from "isaac-typescript-definitions";
2
2
  import { game } from "../cachedClasses";
3
3
  import { FIRST_CHARACTER } from "../constantsFirstLast";
4
+ import { runNextRenderFrame } from "../features/runInNFrames";
4
5
  import { log } from "./log";
5
6
 
6
7
  /**
@@ -42,6 +43,19 @@ export function restart(character?: PlayerType): void {
42
43
  Isaac.ExecuteCommand(command);
43
44
  }
44
45
 
46
+ /**
47
+ * Helper function to restart on the next render frame. Useful because it is impossible to restart
48
+ * the game inside of the `POST_NEW_ROOM`, `POST_NEW_LEVEL`, or `POST_GAME_STARTED` callbacks when a
49
+ * run is first starting.
50
+ *
51
+ * You can optionally specify a `PlayerType` to restart the game as that character.
52
+ */
53
+ export function restartNextRenderFrame(character?: PlayerType): void {
54
+ runNextRenderFrame(() => {
55
+ restart(character);
56
+ });
57
+ }
58
+
45
59
  /**
46
60
  * Helper function to change the run status to that of an unseeded run with a new random seed.
47
61
  *