Skip to content

Commit 89d0128

Browse files
author
Picoseconds
committed
fix: fix items that don't collide like traps and pads
1 parent 025744d commit 89d0128

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/items/items.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,12 @@ function getGameObjID(item: ItemType) {
151151
return 0;
152152
}
153153

154+
function hasCollision(item: ItemType) {
155+
return items[item].group.layer >= 1;
156+
}
157+
154158
function getWeaponSpeedMultiplier(weapon: Weapons) {
155159
return weapons[weapon].spdMult || 1;
156160
}
157161

158-
export { PrimaryWeapons, SecondaryWeapons, getHitTime, Weapons, getWeaponAttackDetails, getWeaponDamage, getItemCost, getPlaceable, getPlaceOffset, getScale, getGameObjID, getWeaponGatherAmount, getPrerequisiteItem, getGroupID, getPrerequisiteWeapon, getWeaponSpeedMultiplier };
162+
export { PrimaryWeapons, SecondaryWeapons, getHitTime, Weapons, getWeaponAttackDetails, getWeaponDamage, getItemCost, getPlaceable, getPlaceOffset, getScale, getGameObjID, getWeaponGatherAmount, getPrerequisiteItem, getGroupID, getPrerequisiteWeapon, getWeaponSpeedMultiplier, hasCollision };

src/moomoo/Physics.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Player from "./Player";
33
import { eucDistance } from "./util";
44
import GameObject from '../gameobjects/GameObject';
55
import { gameObjectSizes } from "../gameobjects/gameobjects";
6-
import { getWeaponAttackDetails, Weapons } from "../items/items";
6+
import { getWeaponAttackDetails, Weapons, hasCollision } from "../items/items";
77
import GameState from "./GameState";
88

99
function collideCircles(pos1: Vec2, r1: number, pos2: Vec2, r2: number) {
@@ -38,6 +38,10 @@ function tryMovePlayer(player: Player, delta: number, xVel: number, yVel: number
3838
);
3939

4040
for (let gameObj of player.getNearbyGameObjects(state)) {
41+
if (!gameObj.type && typeof gameObj.data === 'number') {
42+
if (!hasCollision(gameObj.data)) continue;
43+
}
44+
4145
if (collidePlayerGameObject(player, gameObj)) {
4246
xVel *= .75;
4347
yVel *= .75;

0 commit comments

Comments
 (0)