Selaa lähdekoodia

Merge remote-tracking branch 'origin/update0215'

tianhaobu 3 kuukautta sitten
vanhempi
commit
747cfd18cf

+ 8 - 3
ddmyx.yyp

@@ -45,6 +45,7 @@
     {"id":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},},
     {"id":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},},
     {"id":{"name":"oCamera","path":"objects/oCamera/oCamera.yy",},},
+    {"id":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},},
     {"id":{"name":"oDoubleJumpEffect","path":"objects/oDoubleJumpEffect/oDoubleJumpEffect.yy",},},
     {"id":{"name":"oEnemyCrawl","path":"objects/oEnemyCrawl/oEnemyCrawl.yy",},},
     {"id":{"name":"oEnemyDummy","path":"objects/oEnemyDummy/oEnemyDummy.yy",},},
@@ -61,12 +62,14 @@
     {"id":{"name":"oPlayer","path":"objects/oPlayer/oPlayer.yy",},},
     {"id":{"name":"oPlayerAfterImage","path":"objects/oPlayerAfterImage/oPlayerAfterImage.yy",},},
     {"id":{"name":"oPlayerHitboxArc","path":"objects/oPlayerHitboxArc/oPlayerHitboxArc.yy",},},
+    {"id":{"name":"oPlayerHitboxDown","path":"objects/oPlayerHitboxDown/oPlayerHitboxDown.yy",},},
     {"id":{"name":"oPlayerHitboxHor","path":"objects/oPlayerHitboxHor/oPlayerHitboxHor.yy",},},
     {"id":{"name":"oPlayerHitboxMark","path":"objects/oPlayerHitboxMark/oPlayerHitboxMark.yy",},},
-    {"id":{"name":"oPlayerHitboxVer","path":"objects/oPlayerHitboxVer/oPlayerHitboxVer.yy",},},
+    {"id":{"name":"oPlayerHitboxUp","path":"objects/oPlayerHitboxUp/oPlayerHitboxUp.yy",},},
     {"id":{"name":"oSpike","path":"objects/oSpike/oSpike.yy",},},
+    {"id":{"name":"rTest_1","path":"rooms/rTest_1/rTest_1.yy",},},
+    {"id":{"name":"rTest_2","path":"rooms/rTest_2/rTest_2.yy",},},
     {"id":{"name":"rTest_backup","path":"rooms/rTest_backup/rTest_backup.yy",},},
-    {"id":{"name":"rTest","path":"rooms/rTest/rTest.yy",},},
     {"id":{"name":"CrawlAI","path":"scripts/CrawlAI/CrawlAI.yy",},},
     {"id":{"name":"DummyAI","path":"scripts/DummyAI/DummyAI.yy",},},
     {"id":{"name":"EnemyStates","path":"scripts/EnemyStates/EnemyStates.yy",},},
@@ -77,6 +80,7 @@
     {"id":{"name":"Simplifier","path":"scripts/Simplifier/Simplifier.yy",},},
     {"id":{"name":"sBlockClimbable","path":"sprites/sBlockClimbable/sBlockClimbable.yy",},},
     {"id":{"name":"sBlockSlippery","path":"sprites/sBlockSlippery/sBlockSlippery.yy",},},
+    {"id":{"name":"sDoor","path":"sprites/sDoor/sDoor.yy",},},
     {"id":{"name":"sDoubleJumpEffect","path":"sprites/sDoubleJumpEffect/sDoubleJumpEffect.yy",},},
     {"id":{"name":"sEnemyCrawl","path":"sprites/sEnemyCrawl/sEnemyCrawl.yy",},},
     {"id":{"name":"sEnemyDummyAttack","path":"sprites/sEnemyDummyAttack/sEnemyDummyAttack.yy",},},
@@ -107,8 +111,9 @@
   "resourceType":"GMProject",
   "resourceVersion":"2.0",
   "RoomOrderNodes":[
-    {"roomId":{"name":"rTest","path":"rooms/rTest/rTest.yy",},},
+    {"roomId":{"name":"rTest_1","path":"rooms/rTest_1/rTest_1.yy",},},
     {"roomId":{"name":"rTest_backup","path":"rooms/rTest_backup/rTest_backup.yy",},},
+    {"roomId":{"name":"rTest_2","path":"rooms/rTest_2/rTest_2.yy",},},
   ],
   "templateType":"game",
   "TextureGroups":[

+ 42 - 5
notes/必读(更新日志)/必读(更新日志).txt

@@ -60,13 +60,50 @@ gml内部会计算image_index += sprite_fps / game_fps * image_speed等等公式
 
 6. 在oGame中增加点击瞬移,方便调试
 
-7. 需要优化check_hazard逻辑,现在会重复判定!(还没写)
+7. 需要优化check_hazard逻辑,现在会重复判定!(还没写)见2/15
 
-8. 下劈落地需要销毁碰撞箱并立刻切换至state_free(还没写)
+8. 下劈落地需要回到state_free并销毁碰撞箱(还没写)见2/15
 
 9. oEnemyHitbox的重心在center/middle, 导致玩家可能被向着错误方向击退
-(试试站在oEnemyDummy正前方一点的位置攻击,不要闪躲)(还没
+(试试站在oEnemyDummy正前方一点的位置攻击,不要闪躲)(还没
 
-10. 计划明天弄一下跨房间?
+10. 计划明天弄一下跨房间?见2/15
 
-11. 有个写了一半的oEnemyFlying, 先不要动
+11. 有个写了一半的oEnemyFlying, 先不要动
+
+2026/2/15 Dr.Duck
+
+1. 优化check_hazard逻辑,功能实现没问题但不够优雅
+而且极端情况可能会出问题,仍需优化
+
+2. 统一了check_attacked与check_hazard逻辑
+都通过status_update抓取当前碰撞物体,而非在check中定义临时变量
+
+3. 下劈太简单可能是因为碰撞箱可视化
+亲测把刺和刀全部改为美术资源将难一些
+所以暂时不再改重力系数等参数
+
+4. 上下劈使用一个碰撞箱导致了击退和玩家反馈错误(未修)
+例如上劈会使玩家向上飞起
+
+5. 当state_attack被强制打断(回身/冲刺取消后摇,下劈落地)时
+需要及时销毁碰撞箱
+用current_hb动态维护当前普通攻击碰撞箱
+通过在status_update中检测state != state_attack及时销毁
+
+6. 下劈落地回到state_free并销毁碰撞箱,已解决
+
+7. 喜报!!!跨房间初步逻辑已完成!!
+通过oDoor的target_room, door_id, target_door_id,与global的同名变量,
+以及PlayerStates的check/enter/exit_room函数、内置enter room事件实现了逻辑链路闭环。
+具体参见上述代码。
+oDoor用蓝色条形sprite指示。
+
+8. 今日询问Gemini:
+类银通常直接在房间编辑器中调试房间物品位置,鉴于可视化和精度等原因。
+其他游戏通常采用的"oRoomManager"等obj在此类作品中仅用于管理维护某些特殊物品的存在性
+例如一次性收集品,剧情boss等
+其余物品/enemy直接在room editor中放置即可
+若有obj根据房间需要特定初始参数,例如oDoor, 直接在editor中选中inst, 覆盖var def即可
+
+9. 新开了一个rTest_2, 原测试房间更名为rTest_1

+ 1 - 1
objects/oCamera/oCamera.yy

@@ -13,7 +13,7 @@
     "path":"folders/CoreObjects.yy",
   },
   "parentObjectId":null,
-  "persistent":false,
+  "persistent":true,
   "physicsAngularDamping":0.1,
   "physicsDensity":0.5,
   "physicsFriction":0.2,

+ 41 - 0
objects/oDoor/oDoor.yy

@@ -0,0 +1,41 @@
+{
+  "$GMObject":"",
+  "%Name":"oDoor",
+  "eventList":[],
+  "managed":true,
+  "name":"oDoor",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"StationaryObjects",
+    "path":"folders/StationaryObjects.yy",
+  },
+  "parentObjectId":null,
+  "persistent":false,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[
+    {"$GMObjectProperty":"v2","%Name":"target_room","filters":[],"listItems":[],"multiselect":false,"name":"target_room","rangeEnabled":false,"rangeMax":10.0,"rangeMin":0.0,"resourceType":"GMObjectProperty","resourceVersion":"2.0","value":"","varType":5,},
+    {"$GMObjectProperty":"v2","%Name":"door_id","filters":[],"listItems":[],"multiselect":false,"name":"door_id","rangeEnabled":false,"rangeMax":10.0,"rangeMin":0.0,"resourceType":"GMObjectProperty","resourceVersion":"2.0","value":"-1","varType":0,},
+    {"$GMObjectProperty":"v2","%Name":"target_door_id","filters":[],"listItems":[],"multiselect":false,"name":"target_door_id","rangeEnabled":false,"rangeMax":10.0,"rangeMin":0.0,"resourceType":"GMObjectProperty","resourceVersion":"2.0","value":"-1","varType":0,},
+    {"$GMObjectProperty":"v2","%Name":"door_direction","filters":[],"listItems":[],"multiselect":false,"name":"door_direction","rangeEnabled":false,"rangeMax":10.0,"rangeMin":0.0,"resourceType":"GMObjectProperty","resourceVersion":"2.0","value":"","varDescription":"门的朝向(玩家进入新房间之后,于这个门的相对方位)","varType":2,},
+  ],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":{
+    "name":"sDoor",
+    "path":"sprites/sDoor/sDoor.yy",
+  },
+  "spriteMaskId":null,
+  "visible":true,
+}

+ 1 - 1
objects/oFade/oFade.yy

@@ -14,7 +14,7 @@
     "path":"folders/CoreObjects.yy",
   },
   "parentObjectId":null,
-  "persistent":false,
+  "persistent":true,
   "physicsAngularDamping":0.1,
   "physicsDensity":0.5,
   "physicsFriction":0.2,

+ 12 - 4
objects/oGame/Create_0.gml

@@ -1,13 +1,21 @@
 icl(oInput);
 icl(oCamera);
-icl(oPlayer, 160, 2016 - 540);
 
+// physics relevant
 global.g = 0.5;
 
+// time relevant
 global.hitstop = 0;
 global.time_scale = 1.0;
 
-global.developer_mode = true;
-
+// player status
 global.playerHP = 5;
-global.playerINK = 0;
+global.playerINK = 0;
+
+// room transiting
+global.door_direction = undefined;
+global.target_door_id = -1;
+global.target_room = noone;
+
+// debugging
+global.developer_mode = true;

+ 1 - 1
objects/oInput/oInput.yy

@@ -21,7 +21,7 @@
   "physicsGroup":1,
   "physicsKinematic":false,
   "physicsLinearDamping":0.1,
-  "physicsObject":true,
+  "physicsObject":false,
   "physicsRestitution":0.1,
   "physicsSensor":false,
   "physicsShape":1,

+ 10 - 0
objects/oParentEnemy/Draw_0.gml

@@ -0,0 +1,10 @@
+draw_self();
+
+if global.developer_mode
+{
+	draw_set_halign(fa_left);
+	draw_set_valign(fa_middle);
+	draw_set_font(fTest);
+
+	draw_text(x + 72, y, sprite_get_name(sprite_index) + " " + string(image_index));
+}

+ 1 - 0
objects/oParentEnemy/oParentEnemy.yy

@@ -5,6 +5,7 @@
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":12,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   "managed":true,
   "name":"oParentEnemy",

+ 8 - 1
objects/oPlayer/Create_0.gml

@@ -48,4 +48,11 @@ debug_hitbox_x1 = 0;
 debug_hitbox_y1 = 0;
 debug_hitbox_x2 = 0;
 debug_hitbox_y2 = 0;
-*/
+*/
+current_attacker = noone;
+current_hazard = noone;
+current_door = noone;
+current_hb = noone;
+
+enter_room_timer = 0;
+enter_room_timer_max = 24;

+ 19 - 0
objects/oPlayer/Other_4.gml

@@ -0,0 +1,19 @@
+if global.target_door_id != -1
+{
+    with(oDoor)
+	{
+        if door_id == global.target_door_id
+		{
+            other.x = x;
+            other.y = y;
+			global.door_direction = door_direction;
+        }
+    }
+	state = state_exit_door;
+	enter_room_timer = enter_room_timer_max;
+	
+	if global.door_direction == "UP"
+	{
+		y_spd = jump_spd;
+	}
+}

+ 3 - 2
objects/oPlayer/Step_0.gml

@@ -3,9 +3,10 @@ if check_hitstop()
 
 player_status_update();
 
+player_check_door();
 player_check_attacked();
-if state != state_hitstun_hazard
-	player_check_hazard();
+if !(state == state_hitstun_hazard || state == state_locked)
+	player_check_hazard(); //需要优化
 
 state();
 

+ 1 - 0
objects/oPlayer/oPlayer.yy

@@ -6,6 +6,7 @@
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":8,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":1,"eventType":2,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":4,"eventType":7,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   "managed":true,
   "name":"oPlayer",

+ 1 - 1
objects/oPlayerHitboxVer/Create_0.gml → objects/oPlayerHitboxDown/Create_0.gml

@@ -6,7 +6,7 @@ kb_factor_y = -10;
 
 hit_feedback = function(_owner)
 {
-	_owner.y_spd = _owner.jump_spd * 0.64;
+	_owner.y_spd = _owner.jump_spd * 0.6;
 	_owner.jump_cnt = 1;
 	_owner.can_dash = true;
 	_owner.coyote_timer = 0;

+ 41 - 0
objects/oPlayerHitboxDown/oPlayerHitboxDown.yy

@@ -0,0 +1,41 @@
+{
+  "$GMObject":"",
+  "%Name":"oPlayerHitboxDown",
+  "eventList":[
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+  ],
+  "managed":true,
+  "name":"oPlayerHitboxDown",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"Hitbox",
+    "path":"folders/Player/Hitbox.yy",
+  },
+  "parentObjectId":{
+    "name":"oParentPlayerHitbox",
+    "path":"objects/oParentPlayerHitbox/oParentPlayerHitbox.yy",
+  },
+  "persistent":false,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":{
+    "name":"sHitboxVer",
+    "path":"sprites/sHitboxVer/sHitboxVer.yy",
+  },
+  "spriteMaskId":null,
+  "visible":true,
+}

+ 10 - 0
objects/oPlayerHitboxUp/Create_0.gml

@@ -0,0 +1,10 @@
+event_inherited();
+
+damage = 5;
+
+kb_factor_y = -10;
+
+hit_feedback = function(_owner)
+{
+	global.hitstop = 2;
+}

+ 2 - 2
objects/oPlayerHitboxVer/oPlayerHitboxVer.yy → objects/oPlayerHitboxUp/oPlayerHitboxUp.yy

@@ -1,11 +1,11 @@
 {
   "$GMObject":"",
-  "%Name":"oPlayerHitboxVer",
+  "%Name":"oPlayerHitboxUp",
   "eventList":[
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   "managed":true,
-  "name":"oPlayerHitboxVer",
+  "name":"oPlayerHitboxUp",
   "overriddenProperties":[],
   "parent":{
     "name":"Hitbox",

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 525 - 469
rooms/rTest_1/rTest_1.yy


+ 100 - 0
rooms/rTest_2/rTest_2.yy

@@ -0,0 +1,100 @@
+{
+  "$GMRoom":"v1",
+  "%Name":"rTest_2",
+  "creationCodeFile":"",
+  "inheritCode":false,
+  "inheritCreationOrder":false,
+  "inheritLayers":false,
+  "instanceCreationOrder":[
+    {"name":"inst_14E7424B","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_3B693A5F","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_6A0BF02B","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_2CBA0091","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_75289A3B","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_4934F95F","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_5C063D2","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_134CBEA2","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_3823C6EE","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_4B6017D9","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_47E2CCBB","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_6AA6D3EE","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_30CE28B3","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_21DBBEE3","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_85DC118","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_35212748","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_3E35C6","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_294EFD23","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_4F3C3519","path":"rooms/rTest_2/rTest_2.yy",},
+    {"name":"inst_40E70FB2","path":"rooms/rTest_2/rTest_2.yy",},
+  ],
+  "isDnd":false,
+  "layers":[
+    {"$GMRInstanceLayer":"","%Name":"Instances","depth":0,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[
+        {"$GMRInstance":"v4","%Name":"inst_14E7424B","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_14E7424B","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3808.0,"y":32.0,},
+        {"$GMRInstance":"v4","%Name":"inst_3B693A5F","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3B693A5F","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3808.0,"y":96.0,},
+        {"$GMRInstance":"v4","%Name":"inst_6A0BF02B","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6A0BF02B","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3808.0,"y":160.0,},
+        {"$GMRInstance":"v4","%Name":"inst_2CBA0091","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2CBA0091","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest_1","path":"rooms/rTest_1/rTest_1.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest_1",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"LEFT",},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":-1.0,"scaleY":1.0,"x":3904.0,"y":320.0,},
+        {"$GMRInstance":"v4","%Name":"inst_75289A3B","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_75289A3B","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3808.0,"y":480.0,},
+        {"$GMRInstance":"v4","%Name":"inst_4934F95F","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4934F95F","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3808.0,"y":544.0,},
+        {"$GMRInstance":"v4","%Name":"inst_5C063D2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_5C063D2","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3808.0,"y":608.0,},
+        {"$GMRInstance":"v4","%Name":"inst_134CBEA2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_134CBEA2","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3744.0,"y":32.0,},
+        {"$GMRInstance":"v4","%Name":"inst_3823C6EE","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3823C6EE","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3680.0,"y":32.0,},
+        {"$GMRInstance":"v4","%Name":"inst_4B6017D9","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4B6017D9","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3744.0,"y":96.0,},
+        {"$GMRInstance":"v4","%Name":"inst_47E2CCBB","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_47E2CCBB","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3744.0,"y":480.0,},
+        {"$GMRInstance":"v4","%Name":"inst_6AA6D3EE","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6AA6D3EE","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3744.0,"y":544.0,},
+        {"$GMRInstance":"v4","%Name":"inst_30CE28B3","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_30CE28B3","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3744.0,"y":608.0,},
+        {"$GMRInstance":"v4","%Name":"inst_21DBBEE3","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_21DBBEE3","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3680.0,"y":480.0,},
+        {"$GMRInstance":"v4","%Name":"inst_85DC118","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_85DC118","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3680.0,"y":544.0,},
+        {"$GMRInstance":"v4","%Name":"inst_35212748","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_35212748","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3680.0,"y":608.0,},
+        {"$GMRInstance":"v4","%Name":"inst_3E35C6","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3E35C6","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3808.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_294EFD23","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_294EFD23","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3744.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_4F3C3519","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4F3C3519","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3424.0,"y":1600.0,},
+        {"$GMRInstance":"v4","%Name":"inst_40E70FB2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_40E70FB2","objectId":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":3360.0,"y":1600.0,},
+      ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
+    {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,},
+  ],
+  "name":"rTest_2",
+  "parent":{
+    "name":"ddmyx",
+    "path":"ddmyx.yyp",
+  },
+  "parentRoom":null,
+  "physicsSettings":{
+    "inheritPhysicsSettings":false,
+    "PhysicsWorld":false,
+    "PhysicsWorldGravityX":0.0,
+    "PhysicsWorldGravityY":10.0,
+    "PhysicsWorldPixToMetres":0.1,
+  },
+  "resourceType":"GMRoom",
+  "resourceVersion":"2.0",
+  "roomSettings":{
+    "Height":1620,
+    "inheritRoomSettings":false,
+    "persistent":false,
+    "Width":3840,
+  },
+  "sequenceId":null,
+  "views":[
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":true,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":1920,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+  ],
+  "viewSettings":{
+    "clearDisplayBuffer":true,
+    "clearViewBackground":false,
+    "enableViews":true,
+    "inheritViewSettings":false,
+  },
+  "volume":1.0,
+}

+ 1 - 1
scripts/DummyAI/DummyAI.gml

@@ -19,7 +19,7 @@ function enemy_dummy_ai()
 				enemy_create_hitbox(384, 144, facing * 192, 0, 12);
 				
 				state = "ATTACK";
-				set_sprite(sEnemyDummyCounter);
+				set_sprite(sEnemyDummyAttack);
 			}
 			break;
 			

+ 115 - 27
scripts/PlayerStates/PlayerStates.gml

@@ -1,5 +1,8 @@
 function player_move_and_collide()
 {
+	if global.hitstop > 0
+		return;
+		
 	y_spd *= global.time_scale;
 	x_spd *= global.time_scale;
 	
@@ -38,6 +41,14 @@ function player_move_and_collide()
 function player_status_update()
 {
 	current_attacker = instance_place(x, y, oEnemyHitbox);
+	current_hazard = instance_place(x, y, oParentHazard);
+	current_door = instance_place(x, y, oDoor);
+	
+	if state != state_attack && instance_exists(current_hb)
+		instance_destroy(current_hb);
+	
+	if !instance_exists(current_hb)
+		current_hb = noone;
 	
 	/**/
 	image_index += animation_spd;
@@ -82,6 +93,9 @@ function player_status_update()
 		
 	if invincible_timer > 0
 		invincible_timer -= global.time_scale;
+		
+	if enter_room_timer > 0
+		enter_room_timer -= global.time_scale;
 }
 
 function player_check_dash()
@@ -163,6 +177,80 @@ function player_check_dodge()
 	}
 }
 
+function player_check_door()
+{
+	if current_door == noone
+	|| state == state_enter_door
+	|| state == state_exit_door
+		return;
+
+	global.target_door_id = current_door.target_door_id;
+	global.target_room = current_door.target_room;
+	global.door_direction = current_door.door_direction;
+		
+	var _fade = icl(oFade);
+	_fade._callback = function()
+	{
+		room_goto(global.target_room);
+		camera_snap();
+	};
+	state = state_enter_door;
+	x_spd = 0;
+	y_spd = 0;
+}
+function state_enter_door()
+{
+	switch(global.door_direction)
+	{
+		case "UP":
+			y_spd += player_calc_gravity();
+			set_sprite(sPlayerJump);
+			image_index = 1;
+			break;
+			
+		case "DOWN":
+			y_spd = min(-3, y_spd);
+			set_sprite(sPlayerJump);
+			image_index = 0;
+			break;
+			
+		case "LEFT":
+			facing = 1;
+			x_spd = facing * walk_spd;
+			set_sprite(sPlayerWalk);
+			break;
+		case "RIGHT":
+			facing = -1;
+			x_spd = facing * walk_spd;
+			set_sprite(sPlayerWalk);
+			break;
+	}
+}
+function state_exit_door()
+{	
+	y_spd += 0.5 * player_calc_gravity();
+	
+	switch(global.door_direction)
+	{
+		case "LEFT":
+			facing = -1;
+			x_spd = facing * walk_spd;
+			set_sprite(sPlayerWalk);
+			break;
+		case "RIGHT":
+			facing = 1;
+			x_spd = facing * walk_spd;
+			set_sprite(sPlayerWalk);
+			break;
+	}
+	if enter_room_timer <= 0
+	{
+		state = state_free;
+		global.target_door_id = -1;
+		global.target_room = noone;
+		global.door_direction = undefined;
+	}
+}
 function player_check_attacked()
 {
 	if current_attacker == noone || invincible_timer > 0
@@ -188,27 +276,25 @@ function player_check_attacked()
 }
 function player_check_hazard()
 {
-	var _hazard = instance_place(x, y, oParentHazard);
+	if current_hazard == noone
+		return;
+    
+    global.playerHP -= current_hazard.damage;
 	
-	if _hazard != noone
-    {
-        global.playerHP -= _hazard.damage;
-		
-		invincible_timer = 150;
+	invincible_timer = 150;
 		
-		var _dir = sign(x - _hazard.x); 
-		if _dir == 0
-			_dir = facing;
+	var _dir = sign(x - current_hazard.x); 
+	if _dir == 0
+	_dir = facing;
 		
-		global.hitstop = 18;
+	global.hitstop = 18;
 	
-		x_spd = _dir * 10;
-		y_spd = -10;
+	x_spd = _dir * 10;
+	y_spd = -10;
 		
-		state = state_hitstun_hazard;
+	state = state_hitstun_hazard;
 	
-		set_sprite(sPlayerHitstunHazard);
-	}
+	set_sprite(sPlayerHitstunHazard);
 }
 function state_hitstun_attacked()
 {
@@ -278,6 +364,7 @@ function state_free()
 }
 function state_dash()
 {
+	
     y_spd += 0.2 * player_calc_gravity();
     icl(oPlayerAfterImage);
 	
@@ -302,32 +389,33 @@ function state_attack()
 	
     if image_index == 1
 	{
-		var _hb;
 		if oInput._down && !_on_ground
 		{
-			_hb = icl(oPlayerHitboxVer, x, y + 64);
-			_hb.y_offset = 64;
+			current_hb = icl(oPlayerHitboxDown, x, y + 64);
+			current_hb.y_offset = 64;
 		}
 		else if oInput._up
 		{
-			_hb = icl(oPlayerHitboxVer, x, y - 64);
-			_hb.y_offset = -64;
-			
-			_hb.kb_factor_y = -5;
+			current_hb = icl(oPlayerHitboxUp, x, y - 64);
+			current_hb.y_offset = -64;
 		}
 		else
 		{
-			_hb = icl(oPlayerHitboxHor, x + 72 * facing);
-			_hb.x_offset += 72 * facing;
+			current_hb = icl(oPlayerHitboxHor, x + 72 * facing);
+			current_hb.x_offset += 72 * facing;
 			
-			_hb.kb_factor_x *= facing;
+			current_hb.kb_factor_x *= facing;
 		}
-		_hb.owner = id;
+		current_hb.owner = id;
 	}
-    // 冲刺预输入
 	// 攻击后摇结束
+	if current_hb != noone
+		if _on_ground && current_hb.object_index == oPlayerHitboxDown
+			state = state_free;
+		
 	if facing = -_move_dir
 		state = state_free;
+	
     if animation_end()
         state = state_free;
 }

BIN
sprites/sDoor/ba425942-7178-4ba0-a2a5-58fef3b0d2c9.png


BIN
sprites/sDoor/layers/ba425942-7178-4ba0-a2a5-58fef3b0d2c9/1d271b61-c07c-43da-b048-45a869e94faf.png


+ 90 - 0
sprites/sDoor/sDoor.yy

@@ -0,0 +1,90 @@
+{
+  "$GMSprite":"v2",
+  "%Name":"sDoor",
+  "bboxMode":0,
+  "bbox_bottom":255,
+  "bbox_left":0,
+  "bbox_right":15,
+  "bbox_top":0,
+  "collisionKind":1,
+  "collisionTolerance":0,
+  "DynamicTexturePage":false,
+  "edgeFiltering":false,
+  "For3D":false,
+  "frames":[
+    {"$GMSpriteFrame":"v1","%Name":"ba425942-7178-4ba0-a2a5-58fef3b0d2c9","name":"ba425942-7178-4ba0-a2a5-58fef3b0d2c9","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+  ],
+  "gridX":0,
+  "gridY":0,
+  "height":256,
+  "HTile":false,
+  "layers":[
+    {"$GMImageLayer":"","%Name":"1d271b61-c07c-43da-b048-45a869e94faf","blendMode":0,"displayName":"default","isLocked":false,"name":"1d271b61-c07c-43da-b048-45a869e94faf","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
+  ],
+  "name":"sDoor",
+  "nineSlice":null,
+  "origin":4,
+  "parent":{
+    "name":"UIsprite",
+    "path":"folders/UIsprite.yy",
+  },
+  "preMultiplyAlpha":false,
+  "resourceType":"GMSprite",
+  "resourceVersion":"2.0",
+  "sequence":{
+    "$GMSequence":"v1",
+    "%Name":"sDoor",
+    "autoRecord":true,
+    "backdropHeight":768,
+    "backdropImageOpacity":0.5,
+    "backdropImagePath":"",
+    "backdropWidth":1366,
+    "backdropXOffset":0.0,
+    "backdropYOffset":0.0,
+    "events":{
+      "$KeyframeStore<MessageEventKeyframe>":"",
+      "Keyframes":[],
+      "resourceType":"KeyframeStore<MessageEventKeyframe>",
+      "resourceVersion":"2.0",
+    },
+    "eventStubScript":null,
+    "eventToFunction":{},
+    "length":1.0,
+    "lockOrigin":false,
+    "moments":{
+      "$KeyframeStore<MomentsEventKeyframe>":"",
+      "Keyframes":[],
+      "resourceType":"KeyframeStore<MomentsEventKeyframe>",
+      "resourceVersion":"2.0",
+    },
+    "name":"sDoor",
+    "playback":1,
+    "playbackSpeed":0.0,
+    "playbackSpeedType":0,
+    "resourceType":"GMSequence",
+    "resourceVersion":"2.0",
+    "showBackdrop":true,
+    "showBackdropImage":false,
+    "timeUnits":1,
+    "tracks":[
+      {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"ba425942-7178-4ba0-a2a5-58fef3b0d2c9","path":"sprites/sDoor/sDoor.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"4510b2e4-79f9-43be-b1f9-d111252c44f8","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+          ],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
+    ],
+    "visibleRange":null,
+    "volume":1.0,
+    "xorigin":8,
+    "yorigin":128,
+  },
+  "swatchColours":null,
+  "swfPrecision":0.5,
+  "textureGroupId":{
+    "name":"Default",
+    "path":"texturegroups/Default",
+  },
+  "type":0,
+  "VTile":false,
+  "width":16,
+}

+ 1 - 1
sprites/sHitboxArc/sHitboxArc.yy

@@ -59,7 +59,7 @@
     },
     "name":"sHitboxArc",
     "playback":1,
-    "playbackSpeed":30.0,
+    "playbackSpeed":0.0,
     "playbackSpeedType":0,
     "resourceType":"GMSequence",
     "resourceVersion":"2.0",

+ 1 - 1
sprites/sHitboxHor/sHitboxHor.yy

@@ -59,7 +59,7 @@
     },
     "name":"sHitboxHor",
     "playback":1,
-    "playbackSpeed":30.0,
+    "playbackSpeed":0.0,
     "playbackSpeedType":0,
     "resourceType":"GMSequence",
     "resourceVersion":"2.0",

+ 1 - 1
sprites/sHitboxMark/sHitboxMark.yy

@@ -59,7 +59,7 @@
     },
     "name":"sHitboxMark",
     "playback":1,
-    "playbackSpeed":30.0,
+    "playbackSpeed":0.0,
     "playbackSpeedType":0,
     "resourceType":"GMSequence",
     "resourceVersion":"2.0",

+ 1 - 1
sprites/sHitboxVer/sHitboxVer.yy

@@ -59,7 +59,7 @@
     },
     "name":"sHitboxVer",
     "playback":1,
-    "playbackSpeed":30.0,
+    "playbackSpeed":0.0,
     "playbackSpeedType":0,
     "resourceType":"GMSequence",
     "resourceVersion":"2.0",

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä