Assembly-CSharp.dllをildasmでil化してから、処理を書き換えます。
ildasmを使うと、dllが受け持つ処理内容が分かるようになります。これ知った時には、こんなのあるんだ!と驚きでした。
書き換える場所メモ
・HP=1
IL_0232: stfld valuetype [‘Assembly-CSharp-firstpass’]eBATTLE_INDEX workObject::battle_index
IL_0237: ldarg.0
IL_0238: ldc.i4.1
// IL_0238: ldarg.0
// IL_0239: ldfld int32 workObject::maxhp
IL_023e: stfld int32 workObject::hp
IL_0243: ldarg.0
IL_0244: ldarg.0
IL_0245: ldfld int32 workObject::maxmp
IL_024a: stfld int32 workObject::mp
・自動壷割り
IL_0030: ldloc.1
IL_0031: brtrue IL_0038
//IL_0036: ldc.i4.0
IL_0036: ldc.i4.1
IL_0037: ret
IL_0038: ldloca.s V_4
IL_003a: ldloca.s V_2
IL_003c: ldfld float32 [UnityEngine]UnityEngine.Vector2::x
IL_0041: ldloca.s V_2
IL_0043: ldfld float32 [UnityEngine]UnityEngine.Vector2::y
IL_0048: ldc.r4 0.0
IL_004d: call instance void [UnityEngine]UnityEngine.Vector3::.ctor(float32,
float32,
float32)
IL_0052: ldarg.0
IL_0053: ldfld class [UnityEngine]UnityEngine.Camera SubTreasure::battleCamera
IL_0058: ldloc.s V_4
IL_005a: callvirt instance valuetype [UnityEngine]UnityEngine.Ray [UnityEngine]UnityEngine.Camera::ScreenPointToRay(valuetype [UnityEngine]UnityEngine.Vector3)
IL_005f: stloc.s V_5
IL_0061: ldloc.s V_5
IL_0063: ldloca.s V_6
IL_0065: ldc.r4 1000.
IL_006a: ldc.i4.1
IL_006b: ldstr “sub1_scene”
IL_0070: call int32 [UnityEngine]UnityEngine.LayerMask::NameToLayer(string)
IL_0075: ldc.i4.s 31
IL_0077: and
IL_0078: shl
IL_0079: call bool [UnityEngine]UnityEngine.Physics::Raycast(valuetype [UnityEngine]UnityEngine.Ray,
valuetype [UnityEngine]UnityEngine.RaycastHit&,
float32,
int32)
IL_007e: brfalse IL_0085
IL_0083: ldc.i4.1
IL_0084: ret
//IL_0085: ldc.i4.0
IL_0085: ldc.i4.1
IL_0086: ret
} // end of method SubTreasure::CheckHitObjOnTap
速度も探してるけど、見つからにゃい。
なお、こちらではapkの公開はしません。
では、また。