public SwordObject(byte[] data, int offset) { Data = data; Offset = offset; tree = new ScriptTree(data, offset + 108); bookmark = new ScriptTree(data, offset + 152); talk_table = new TalkOffset[6]; for (int i = 0; i < 6; i++) { talk_table[i] = new TalkOffset(data, offset + 232 + i * 8); } event_list = new OEventSlot[O_TOTAL_EVENTS]; for (int i = 0; i < O_TOTAL_EVENTS; i++) { event_list[i] = new OEventSlot(data, offset + 280 + i * 8); } route = new WalkData[O_WALKANIM_SIZE]; for (int i = 0; i < O_WALKANIM_SIZE; i++) { route[i] = new WalkData(data, offset + 340 + i * WalkData.Size); } }